From 62dd0b7f9c76aac7ea9ad144bec7416eb4fec4ee Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 21 Mar 2019 14:24:09 +0100 Subject: Fix processing poll Updates (#10333) ActivityPub::ProcessPollService was checking the JSON-LD context although it was passed only the `Question` object embedded in the `Update` activity. --- app/services/activitypub/fetch_remote_poll_service.rb | 1 + app/services/activitypub/process_poll_service.rb | 6 +----- 2 files changed, 2 insertions(+), 5 deletions(-) (limited to 'app') diff --git a/app/services/activitypub/fetch_remote_poll_service.rb b/app/services/activitypub/fetch_remote_poll_service.rb index 44a23712c..854a32d05 100644 --- a/app/services/activitypub/fetch_remote_poll_service.rb +++ b/app/services/activitypub/fetch_remote_poll_service.rb @@ -5,6 +5,7 @@ class ActivityPub::FetchRemotePollService < BaseService def call(poll, on_behalf_of = nil) json = fetch_resource(poll.status.uri, true, on_behalf_of) + return unless supported_context?(json) ActivityPub::ProcessPollService.new.call(poll, json) end end diff --git a/app/services/activitypub/process_poll_service.rb b/app/services/activitypub/process_poll_service.rb index ee248169d..61357abd3 100644 --- a/app/services/activitypub/process_poll_service.rb +++ b/app/services/activitypub/process_poll_service.rb @@ -5,7 +5,7 @@ class ActivityPub::ProcessPollService < BaseService def call(poll, json) @json = json - return unless supported_context? && expected_type? + return unless expected_type? previous_expires_at = poll.expires_at @@ -54,10 +54,6 @@ class ActivityPub::ProcessPollService < BaseService private - def supported_context? - super(@json) - end - def expected_type? equals_or_includes_any?(@json['type'], %w(Question)) end -- cgit From 236191794412724f865b99bf5c0bb7c33a51ae67 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 21 Mar 2019 23:33:18 +0100 Subject: Mark the 410 gone response for suspended accounts as cachable (#10339) This will help a great deal with #9377 when a caching reverse proxy is configured. --- app/controllers/concerns/account_controller_concern.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/controllers/concerns/account_controller_concern.rb b/app/controllers/concerns/account_controller_concern.rb index 8817fd7de..4f28941ae 100644 --- a/app/controllers/concerns/account_controller_concern.rb +++ b/app/controllers/concerns/account_controller_concern.rb @@ -69,6 +69,10 @@ module AccountControllerConcern end def check_account_suspension - gone if @account.suspended? + if @account.suspended? + skip_session! + expires_in(3.minutes, public: true) + gone + end end end -- cgit From 3411fbef19c71f3a60e9fbb175a0728a6cfc2ed8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 21 Mar 2019 23:33:28 +0100 Subject: Improve config serializer for Keybase (#10338) - Regex must no longer be surrounded by `/` - Description must be short and cannot contain HTML tags --- app/lib/proof_provider/keybase/config_serializer.rb | 5 +++-- app/serializers/manifest_serializer.rb | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/lib/proof_provider/keybase/config_serializer.rb b/app/lib/proof_provider/keybase/config_serializer.rb index 474ea74e2..557bafe84 100644 --- a/app/lib/proof_provider/keybase/config_serializer.rb +++ b/app/lib/proof_provider/keybase/config_serializer.rb @@ -2,6 +2,7 @@ class ProofProvider::Keybase::ConfigSerializer < ActiveModel::Serializer include RoutingHelper + include ActionView::Helpers::TextHelper attributes :version, :domain, :display_name, :username, :brand_color, :logo, :description, :prefill_url, @@ -29,11 +30,11 @@ class ProofProvider::Keybase::ConfigSerializer < ActiveModel::Serializer end def description - Setting.site_short_description.presence || Setting.site_description.presence || I18n.t('about.about_mastodon_html') + strip_tags(Setting.site_short_description.presence || I18n.t('about.about_mastodon_html')) end def username - { min: 1, max: 30, re: Account::USERNAME_RE.inspect } + { min: 1, max: 30, re: '[a-z0-9_]+([a-z0-9_\.-]+[a-z0-9_]+)?' } end def prefill_url diff --git a/app/serializers/manifest_serializer.rb b/app/serializers/manifest_serializer.rb index cc8b9a4d4..28127437d 100644 --- a/app/serializers/manifest_serializer.rb +++ b/app/serializers/manifest_serializer.rb @@ -18,7 +18,7 @@ class ManifestSerializer < ActiveModel::Serializer end def description - strip_tags(object.site_description.presence || I18n.t('about.about_mastodon_html')) + strip_tags(object.site_short_description.presence || I18n.t('about.about_mastodon_html')) end def icons -- cgit From 00d988955f63551e86dd33ca1a26f73f7d0c7b45 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 23 Mar 2019 02:23:48 +0100 Subject: If registrations have been re-opened when user confirms account, approve (#10349) --- app/models/user.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/models/user.rb b/app/models/user.rb index 9d0d49676..d703f9588 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -124,7 +124,8 @@ class User < ApplicationRecord end def confirm - new_user = !confirmed? + new_user = !confirmed? + self.approved = true if open_registrations? super @@ -136,7 +137,8 @@ class User < ApplicationRecord end def confirm! - new_user = !confirmed? + new_user = !confirmed? + self.approved = true if open_registrations? skip_confirmation! save! @@ -264,7 +266,11 @@ class User < ApplicationRecord private def set_approved - self.approved = Setting.registrations_mode == 'open' || invited? + self.approved = open_registrations? || invited? + end + + def open_registrations? + Setting.registrations_mode == 'open' end def sanitize_languages -- cgit From 55a9658ad8552804c7c585df12d46c391b84dd94 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 23 Mar 2019 02:24:01 +0100 Subject: Add custom closed registrations message to landing page when set (#10347) --- app/javascript/styles/mastodon/forms.scss | 36 +++++++++++++++++++++++++++++++ app/presenters/instance_presenter.rb | 1 + app/views/about/_registration.html.haml | 29 +++++++++++++++---------- 3 files changed, 55 insertions(+), 11 deletions(-) (limited to 'app') diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 9ef45e425..3ea104786 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -475,6 +475,42 @@ code { } } } + + &__overlay-area { + position: relative; + + &__overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + background: rgba($ui-base-color, 0.65); + backdrop-filter: blur(2px); + border-radius: 4px; + + &__content { + text-align: center; + + &.rich-formatting { + &, + p { + color: $primary-text-color; + } + } + } + } + } +} + +.block-icon { + display: block; + margin: 0 auto; + margin-bottom: 10px; + font-size: 24px; } .flash-message { diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb index 941c5e6b2..74c5ed129 100644 --- a/app/presenters/instance_presenter.rb +++ b/app/presenters/instance_presenter.rb @@ -8,6 +8,7 @@ class InstancePresenter :site_description, :site_extended_description, :site_terms, + :closed_registrations_message, to: Setting ) diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index 9cb4eb2bc..4823ff375 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -1,16 +1,23 @@ = simple_form_for(new_user, url: user_registration_path) do |f| - %p.lead= t('about.federation_hint_html', instance: content_tag(:strong, site_hostname)) + .simple_form__overlay-area + %p.lead= t('about.federation_hint_html', instance: content_tag(:strong, site_hostname)) - .fields-group - = f.simple_fields_for :account do |account_fields| - = account_fields.input :username, wrapper: :with_label, autofocus: true, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username') }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? + .fields-group + = f.simple_fields_for :account do |account_fields| + = account_fields.input :username, wrapper: :with_label, autofocus: true, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username') }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? - = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? - = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? - = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? + = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? + = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? + = f.input :password_confirmation, placeholder: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? - .fields-group - = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path), disabled: closed_registrations? + .fields-group + = f.input :agreement, as: :boolean, wrapper: :with_label, label: t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path), disabled: closed_registrations? - .actions - = f.button :button, sign_up_message, type: :submit, class: 'button button-primary', disabled: closed_registrations? + .actions + = f.button :button, sign_up_message, type: :submit, class: 'button button-primary', disabled: closed_registrations? + + - if closed_registrations? && @instance_presenter.closed_registrations_message.present? + .simple_form__overlay-area__overlay + .simple_form__overlay-area__overlay__content.rich-formatting + .block-icon= fa_icon 'warning' + = @instance_presenter.closed_registrations_message.html_safe -- cgit From 555c4e11baf58401c1bdd915e4ecef679e6ae514 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 23 Mar 2019 14:07:04 +0100 Subject: Add validations to admin settings (#10348) * Add validations to admin settings - Validate correct HTML markup - Validate presence of contact username & e-mail - Validate that all usernames are valid - Validate that enums have expected values * Fix code style issue * Fix tests --- app/controllers/admin/settings_controller.rb | 73 ++---------- app/models/form/admin_settings.rb | 131 ++++++++++++++------- app/validators/existing_username_validator.rb | 20 ++++ app/validators/html_validator.rb | 14 +++ app/views/admin/settings/edit.html.haml | 1 + config/locales/en.yml | 5 + config/navigation.rb | 2 +- spec/controllers/admin/settings_controller_spec.rb | 4 + 8 files changed, 140 insertions(+), 110 deletions(-) create mode 100644 app/validators/existing_username_validator.rb create mode 100644 app/validators/html_validator.rb (limited to 'app') diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index a763597f2..dc1c79b7f 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -2,84 +2,29 @@ module Admin class SettingsController < BaseController - ADMIN_SETTINGS = %w( - site_contact_username - site_contact_email - site_title - site_short_description - site_description - site_extended_description - site_terms - registrations_mode - closed_registrations_message - open_deletion - timeline_preview - show_staff_badge - bootstrap_timeline_accounts - theme - thumbnail - hero - mascot - min_invite_role - activity_api_enabled - peers_api_enabled - show_known_fediverse_at_about_page - preview_sensitive_media - custom_css - profile_directory - ).freeze - - BOOLEAN_SETTINGS = %w( - open_deletion - timeline_preview - show_staff_badge - activity_api_enabled - peers_api_enabled - show_known_fediverse_at_about_page - preview_sensitive_media - profile_directory - ).freeze - - UPLOAD_SETTINGS = %w( - thumbnail - hero - mascot - ).freeze - def edit authorize :settings, :show? + @admin_settings = Form::AdminSettings.new end def update authorize :settings, :update? - settings_params.each do |key, value| - if UPLOAD_SETTINGS.include?(key) - upload = SiteUpload.where(var: key).first_or_initialize(var: key) - upload.update(file: value) - else - setting = Setting.where(var: key).first_or_initialize(var: key) - setting.update(value: value_for_update(key, value)) - end - end + @admin_settings = Form::AdminSettings.new(settings_params) - flash[:notice] = I18n.t('generic.changes_saved_msg') - redirect_to edit_admin_settings_path + if @admin_settings.save + flash[:notice] = I18n.t('generic.changes_saved_msg') + redirect_to edit_admin_settings_path + else + render :edit + end end private def settings_params - params.require(:form_admin_settings).permit(ADMIN_SETTINGS) - end - - def value_for_update(key, value) - if BOOLEAN_SETTINGS.include?(key) - value == '1' - else - value - end + params.require(:form_admin_settings).permit(*Form::AdminSettings::KEYS) end end end diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index a21394a52..2d3aa726d 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -3,49 +3,90 @@ class Form::AdminSettings include ActiveModel::Model - delegate( - :site_contact_username, - :site_contact_username=, - :site_contact_email, - :site_contact_email=, - :site_title, - :site_title=, - :site_short_description, - :site_short_description=, - :site_description, - :site_description=, - :site_extended_description, - :site_extended_description=, - :site_terms, - :site_terms=, - :registrations_mode, - :registrations_mode=, - :closed_registrations_message, - :closed_registrations_message=, - :open_deletion, - :open_deletion=, - :timeline_preview, - :timeline_preview=, - :show_staff_badge, - :show_staff_badge=, - :bootstrap_timeline_accounts, - :bootstrap_timeline_accounts=, - :theme, - :theme=, - :min_invite_role, - :min_invite_role=, - :activity_api_enabled, - :activity_api_enabled=, - :peers_api_enabled, - :peers_api_enabled=, - :show_known_fediverse_at_about_page, - :show_known_fediverse_at_about_page=, - :preview_sensitive_media, - :preview_sensitive_media=, - :custom_css, - :custom_css=, - :profile_directory, - :profile_directory=, - to: Setting - ) + KEYS = %i( + site_contact_username + site_contact_email + site_title + site_short_description + site_description + site_extended_description + site_terms + registrations_mode + closed_registrations_message + open_deletion + timeline_preview + show_staff_badge + bootstrap_timeline_accounts + theme + min_invite_role + activity_api_enabled + peers_api_enabled + show_known_fediverse_at_about_page + preview_sensitive_media + custom_css + profile_directory + ).freeze + + BOOLEAN_KEYS = %i( + open_deletion + timeline_preview + show_staff_badge + activity_api_enabled + peers_api_enabled + show_known_fediverse_at_about_page + preview_sensitive_media + profile_directory + ).freeze + + UPLOAD_KEYS = %i( + thumbnail + hero + mascot + ).freeze + + attr_accessor(*KEYS) + + validates :site_short_description, :site_description, :site_extended_description, :site_terms, :closed_registrations_message, html: true + validates :registrations_mode, inclusion: { in: %w(open approved none) } + validates :min_invite_role, inclusion: { in: %w(disabled user moderator admin) } + validates :site_contact_email, :site_contact_username, presence: true + validates :site_contact_username, existing_username: true + validates :bootstrap_timeline_accounts, existing_username: { multiple: true } + + def initialize(_attributes = {}) + super + initialize_attributes + end + + def save + return false unless valid? + + KEYS.each do |key| + value = instance_variable_get("@#{key}") + + if UPLOAD_KEYS.include?(key) + upload = SiteUpload.where(var: key).first_or_initialize(var: key) + upload.update(file: value) + else + setting = Setting.where(var: key).first_or_initialize(var: key) + setting.update(value: typecast_value(key, value)) + end + end + end + + private + + def initialize_attributes + KEYS.each do |key| + instance_variable_set("@#{key}", Setting.public_send(key)) if instance_variable_get("@#{key}").nil? + end + end + + def typecast_value(key, value) + if BOOLEAN_KEYS.include?(key) + value == '1' + else + value + end + end end diff --git a/app/validators/existing_username_validator.rb b/app/validators/existing_username_validator.rb new file mode 100644 index 000000000..4388a0c98 --- /dev/null +++ b/app/validators/existing_username_validator.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +class ExistingUsernameValidator < ActiveModel::EachValidator + def validate_each(record, attribute, value) + return if value.blank? + + if options[:multiple] + missing_usernames = value.split(',').map { |username| username unless Account.find_local(username) }.compact + record.errors.add(attribute, I18n.t('existing_username_validator.not_found_multiple', usernames: missing_usernames.join(', '))) if missing_usernames.any? + else + record.errors.add(attribute, I18n.t('existing_username_validator.not_found')) unless Account.find_local(value) + end + end + + private + + def valid_html?(str) + Nokogiri::HTML.fragment(str).to_s == str + end +end diff --git a/app/validators/html_validator.rb b/app/validators/html_validator.rb new file mode 100644 index 000000000..882c35d41 --- /dev/null +++ b/app/validators/html_validator.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +class HtmlValidator < ActiveModel::EachValidator + def validate_each(record, attribute, value) + return if value.blank? + record.errors.add(attribute, I18n.t('html_validator.invalid_markup')) unless valid_html?(value) + end + + private + + def valid_html?(str) + Nokogiri::HTML.fragment(str).to_s == str + end +end diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml index d9b4bf01b..1c2c00f10 100644 --- a/app/views/admin/settings/edit.html.haml +++ b/app/views/admin/settings/edit.html.haml @@ -2,6 +2,7 @@ = t('admin.settings.title') = simple_form_for @admin_settings, url: admin_settings_path, html: { method: :patch } do |f| + = render 'shared/error_messages', object: @admin_settings .fields-group = f.input :site_title, wrapper: :with_label, label: t('admin.settings.site_title') diff --git a/config/locales/en.yml b/config/locales/en.yml index ba42e7ce1..d5ed20623 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -586,6 +586,9 @@ en: content: We're sorry, but something went wrong on our end. title: This page is not correct noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform. + existing_username_validator: + not_found: could not find a local user with that username + not_found_multiple: could not find %{usernames} exports: archive_takeout: date: Date @@ -633,6 +636,8 @@ en: validation_errors: one: Something isn't quite right yet! Please review the error below other: Something isn't quite right yet! Please review %{count} errors below + html_validator: + invalid_markup: contains invalid HTML markup identity_proofs: active: Active authorize: Yes, authorize diff --git a/config/navigation.rb b/config/navigation.rb index 07aec4b9d..f136141b3 100644 --- a/config/navigation.rb +++ b/config/navigation.rb @@ -37,7 +37,7 @@ SimpleNavigation::Configuration.run do |navigation| primary.item :admin, safe_join([fa_icon('cogs fw'), t('admin.title')]), admin_dashboard_url, if: proc { current_user.staff? } do |admin| admin.item :dashboard, safe_join([fa_icon('tachometer fw'), t('admin.dashboard.title')]), admin_dashboard_url - admin.item :settings, safe_join([fa_icon('cogs fw'), t('admin.settings.title')]), edit_admin_settings_url, if: -> { current_user.admin? } + admin.item :settings, safe_join([fa_icon('cogs fw'), t('admin.settings.title')]), edit_admin_settings_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/settings} admin.item :custom_emojis, safe_join([fa_icon('smile-o fw'), t('admin.custom_emojis.title')]), admin_custom_emojis_url, highlights_on: %r{/admin/custom_emojis} admin.item :relays, safe_join([fa_icon('exchange fw'), t('admin.relays.title')]), admin_relays_url, if: -> { current_user.admin? }, highlights_on: %r{/admin/relays} admin.item :subscriptions, safe_join([fa_icon('paper-plane-o fw'), t('admin.subscriptions.title')]), admin_subscriptions_url, if: -> { current_user.admin? } diff --git a/spec/controllers/admin/settings_controller_spec.rb b/spec/controllers/admin/settings_controller_spec.rb index 34f6bbdae..6cf0ee20a 100644 --- a/spec/controllers/admin/settings_controller_spec.rb +++ b/spec/controllers/admin/settings_controller_spec.rb @@ -19,6 +19,10 @@ RSpec.describe Admin::SettingsController, type: :controller do end describe 'PUT #update' do + before do + allow_any_instance_of(Form::AdminSettings).to receive(:valid?).and_return(true) + end + describe 'for a record that doesnt exist' do around do |example| before = Setting.site_extended_description -- cgit From 9d0573f574f1861731ebfd08bdf0ca8bbd3b4dfb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 23 Mar 2019 14:07:17 +0100 Subject: Fix vote-after-expiration not showing error, count vote as interaction (#10352) --- app/services/vote_service.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/services/vote_service.rb b/app/services/vote_service.rb index 0cace6c00..81af9ef3a 100644 --- a/app/services/vote_service.rb +++ b/app/services/vote_service.rb @@ -11,14 +11,14 @@ class VoteService < BaseService @choices = choices @votes = [] - return if @poll.expired? - ApplicationRecord.transaction do @choices.each do |choice| @votes << @poll.votes.create!(account: @account, choice: choice) end end + ActivityTracker.increment('activity:interactions') + if @poll.account.local? distribute_poll! else -- cgit From 0f9278c3d35819635504d397ce43823c0ee1125c Mon Sep 17 00:00:00 2001 From: koyu Date: Sun, 24 Mar 2019 05:00:02 +0100 Subject: Don't autofocus registration form (#10356) --- app/views/about/_registration.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index 4823ff375..09cbe2e28 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -4,7 +4,7 @@ .fields-group = f.simple_fields_for :account do |account_fields| - = account_fields.input :username, wrapper: :with_label, autofocus: true, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username') }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? + = account_fields.input :username, wrapper: :with_label, label: false, required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off', placeholder: t('simple_form.labels.defaults.username') }, append: "@#{site_hostname}", hint: false, disabled: closed_registrations? = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? = f.input :password, placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' }, hint: false, disabled: closed_registrations? -- cgit From 45b849bad98ffad9ce9ce39f1aa984ca4b7329f9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 24 Mar 2019 12:36:26 +0100 Subject: Fix MergeWorker being queued for remote users (#10355) --- app/models/follow_request.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/models/follow_request.rb b/app/models/follow_request.rb index c5451a050..96ac7eaa5 100644 --- a/app/models/follow_request.rb +++ b/app/models/follow_request.rb @@ -26,7 +26,7 @@ class FollowRequest < ApplicationRecord def authorize! account.follow!(target_account, reblogs: show_reblogs, uri: uri) - MergeWorker.perform_async(target_account.id, account.id) + MergeWorker.perform_async(target_account.id, account.id) if account.local? destroy! end -- cgit From ef8b9afd1be6abdac8cfe30507adca42c38ee7c8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 24 Mar 2019 18:44:59 +0100 Subject: Weblate translations (2019-03-24) (#10362) * Translated using Weblate (Thai) Currently translated at 23,6% (185 of 785 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Slovak) Currently translated at 96,1% (754 of 785 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Albanian) Currently translated at 98,7% (377 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sq/ * Translated using Weblate (Arabic) Currently translated at 98,4% (376 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ar/ * Translated using Weblate (Armenian) Currently translated at 64,4% (246 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/hy/ * Translated using Weblate (Thai) Currently translated at 28,5% (109 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/th/ * Translated using Weblate (Slovak) Currently translated at 99,7% (381 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Asturian) Currently translated at 65,7% (251 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ast/ * Translated using Weblate (Basque) Currently translated at 98,4% (376 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/ * Translated using Weblate (Bulgarian) Currently translated at 26,4% (101 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/bg/ * Translated using Weblate (Catalan) Currently translated at 99,0% (378 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ca/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 77,0% (294 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hans/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 87,2% (333 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Croatian) Currently translated at 44,8% (171 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/hr/ * Translated using Weblate (Danish) Currently translated at 89,8% (343 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/da/ * Translated using Weblate (Esperanto) Currently translated at 98,7% (377 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/ * Translated using Weblate (Finnish) Currently translated at 88,2% (337 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/ * Translated using Weblate (Galician) Currently translated at 98,7% (377 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/ * Translated using Weblate (Georgian) Currently translated at 79,8% (305 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ka/ * Translated using Weblate (German) Currently translated at 98,4% (376 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/ * Translated using Weblate (Hebrew) Currently translated at 62,0% (237 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/he/ * Translated using Weblate (Hungarian) Currently translated at 63,9% (244 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/hu/ * Translated using Weblate (Ido) Currently translated at 39,3% (150 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/io/ * Translated using Weblate (Indonesian) Currently translated at 56,8% (217 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/id/ * Translated using Weblate (Japanese) Currently translated at 95,5% (365 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/ * Translated using Weblate (Kazakh) Currently translated at 98,4% (376 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/kk/ * Translated using Weblate (Latvian) Currently translated at 50,3% (192 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/lv/ * Translated using Weblate (Malay) Currently translated at 19,4% (74 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ms/ * Translated using Weblate (Norwegian (old code)) Currently translated at 66,0% (252 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/no/ * Translated using Weblate (Portuguese) Currently translated at 99,0% (378 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt/ * Translated using Weblate (Romanian) Currently translated at 97,1% (371 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ro/ * Translated using Weblate (Russian) Currently translated at 84,3% (322 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ru/ * Translated using Weblate (Serbian (latin)) Currently translated at 65,2% (249 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sr_Latn/ * Translated using Weblate (Serbian) Currently translated at 87,2% (333 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sr/ * Translated using Weblate (Slovenian) Currently translated at 47,1% (180 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sl/ * Translated using Weblate (Spanish) Currently translated at 85,6% (327 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/ * Translated using Weblate (Swedish) Currently translated at 78,5% (300 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sv/ * Translated using Weblate (Tamil) Currently translated at 19,4% (74 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ta/ * Translated using Weblate (Telugu) Currently translated at 97,9% (374 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/te/ * Translated using Weblate (Turkish) Currently translated at 65,2% (249 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/tr/ * Translated using Weblate (Ukrainian) Currently translated at 73,3% (280 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/uk/ * Translated using Weblate (Welsh) Currently translated at 96,1% (367 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cy/ * Translated using Weblate (Persian) Currently translated at 99,2% (379 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/ * Translated using Weblate (Italian) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/it/ * Translated using Weblate (Greek) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/el/ * Translated using Weblate (Dutch) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/ * Translated using Weblate (Occitan) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/oc/ * Translated using Weblate (Occitan) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/oc/ * Translated using Weblate (French) Currently translated at 99,5% (380 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (Slovak) Currently translated at 97,0% (64 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/sk/ * Translated using Weblate (French) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (Spanish) Currently translated at 84.1% (660 of 785 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/ * Translated using Weblate (French) Currently translated at 99.9% (784 of 785 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (Spanish) Currently translated at 86.1% (329 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/ * Translated using Weblate (French) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (Korean) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/ * Translated using Weblate (Korean) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/ * Translated using Weblate (Korean) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/ * Translated using Weblate (Greek) Currently translated at 99.9% (786 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/el/ * Translated using Weblate (Occitan) Currently translated at 95.6% (752 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/oc/ * Translated using Weblate (Persian) Currently translated at 99.7% (785 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fa/ * Translated using Weblate (Persian) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/ * Translated using Weblate (Persian) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/ * Translated using Weblate (Persian) Currently translated at 100.0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/fa/ * Translated using Weblate (Czech) Currently translated at 99.9% (786 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Persian) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/fa/ * Translated using Weblate (Catalan) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/ca/ * Translated using Weblate (Catalan) Currently translated at 100,0% (787 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ca/ * Translated using Weblate (Persian) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/ * Translated using Weblate (Spanish) Currently translated at 91.4% (349 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/ * Translated using Weblate (Catalan) Currently translated at 100,0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/ca/ * Translated using Weblate (Catalan) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ca/ * Translated using Weblate (Spanish) Currently translated at 100,0% (787 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/ * Translated using Weblate (Welsh) Currently translated at 93.6% (737 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cy/ * Translated using Weblate (French) Currently translated at 99.4% (782 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (Spanish) Currently translated at 100,0% (787 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/ * Translated using Weblate (German) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/de/ * Translated using Weblate (German) Currently translated at 100,0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/de/ * Translated using Weblate (German) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/ * Translated using Weblate (German) Currently translated at 99.9% (786 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/ * Translated using Weblate (Danish) Currently translated at 80.1% (630 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/da/ * Translated using Weblate (Corsican) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/co/ * Translated using Weblate (Danish) Currently translated at 82,8% (652 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/da/ * Translated using Weblate (Danish) Currently translated at 100.0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/da/ * Translated using Weblate (Thai) Currently translated at 27,1% (213 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Danish) Currently translated at 92,7% (354 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/da/ * Translated using Weblate (Spanish) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/ * Translated using Weblate (Galician) Currently translated at 100,0% (787 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/ * Translated using Weblate (Galician) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/ * Translated using Weblate (Thai) Currently translated at 29,3% (112 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/th/ * Translated using Weblate (French) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (Thai) Currently translated at 30,4% (239 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Galician) Currently translated at 100,0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/gl/ * Translated using Weblate (Galician) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/gl/ * Translated using Weblate (Russian) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/ru/ * Translated using Weblate (Russian) Currently translated at 99,9% (786 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ru/ * Translated using Weblate (Russian) Currently translated at 100,0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ru/ * Translated using Weblate (Russian) Currently translated at 100,0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ru/ * Translated using Weblate (French) Currently translated at 99,9% (786 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (Telugu) Currently translated at 99,7% (381 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/te/ * Translated using Weblate (Corsican) Currently translated at 99,9% (786 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/co/ * Translated using Weblate (French) Currently translated at 99,9% (786 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (French) Currently translated at 99,9% (786 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (Russian) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ru/ * Translated using Weblate (Russian) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ru/ * Translated using Weblate (Japanese) Currently translated at 95,3% (364 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/ * Translated using Weblate (English (United Kingdom)) Currently translated at 54,8% (431 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/en_GB/ * Translated using Weblate (English (United Kingdom)) Currently translated at 53,2% (59 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/en_GB/ * Translated using Weblate (Dutch) Currently translated at 98,9% (778 of 787 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/ * Translated using Weblate (Russian) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ru/ * Translated using Weblate (Russian) Currently translated at 100,0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/ru/ * Translated using Weblate (English (United Kingdom)) Currently translated at 88,5% (708 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/en_GB/ * Translated using Weblate (Dutch) Currently translated at 98,9% (791 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/ * Translated using Weblate (Occitan) Currently translated at 97,0% (64 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/oc/ * Translated using Weblate (German) Currently translated at 99,1% (793 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/ * Translated using Weblate (Spanish) Currently translated at 100,0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/es/ * Translated using Weblate (German) Currently translated at 99,9% (799 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/ * Translated using Weblate (English (United Kingdom)) Currently translated at 99,9% (799 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/en_GB/ * Translated using Weblate (Spanish) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/es/ * Translated using Weblate (Esperanto) Currently translated at 99,2% (379 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/ * Translated using Weblate (English (United Kingdom)) Currently translated at 100,0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/en_GB/ * Translated using Weblate (French) Currently translated at 99,9% (799 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (Spanish) Currently translated at 100,0% (800 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/es/ * Translated using Weblate (Welsh) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/cy/ * Translated using Weblate (Irish) Currently translated at 0,2% (2 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ga/ * Translated using Weblate (Esperanto) Currently translated at 93,8% (750 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eo/ * Translated using Weblate (Persian) Currently translated at 99,8% (798 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fa/ * Translated using Weblate (Galician) Currently translated at 100,0% (800 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/ * Translated using Weblate (Spanish) Currently translated at 100,0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/es/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/pt_BR/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100,0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/pt_BR/ * Translated using Weblate (Korean) Currently translated at 100.0% (800 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/ * Translated using Weblate (Korean) Currently translated at 100.0% (800 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/ * Translated using Weblate (Korean) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/ * Translated using Weblate (Japanese) Currently translated at 96.3% (368 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/ * Translated using Weblate (Japanese) Currently translated at 96.3% (368 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/ * Translated using Weblate (Japanese) Currently translated at 96.3% (368 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/ * Translated using Weblate (Polish) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/pl/ * Translated using Weblate (Portuguese) Currently translated at 100,0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/pt/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 92.0% (736 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/ * Translated using Weblate (Japanese) Currently translated at 95.4% (763 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/ * Translated using Weblate (Czech) Currently translated at 99.9% (799 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Japanese) Currently translated at 95.4% (763 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/ * Translated using Weblate (Polish) Currently translated at 93.6% (749 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pl/ * Translated using Weblate (Slovak) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/sk/ * Translated using Weblate (Thai) Currently translated at 35.0% (280 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Greek) Currently translated at 99.9% (799 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/el/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 92.0% (736 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt_BR/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 78.0% (624 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hans/ * Translated using Weblate (Portuguese) Currently translated at 100,0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/pt/ * Translated using Weblate (Polish) Currently translated at 99,0% (792 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pl/ * Translated using Weblate (Polish) Currently translated at 100,0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/pl/ * Translated using Weblate (Portuguese) Currently translated at 99,9% (799 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/pt/ * Translated using Weblate (Italian) Currently translated at 99,6% (797 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/it/ * Translated using Weblate (Welsh) Currently translated at 93,6% (749 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cy/ * Translated using Weblate (Portuguese) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt/ * Translated using Weblate (Portuguese) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt/ * Translated using Weblate (Polish) Currently translated at 100,0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pl/ * Translated using Weblate (Dutch) Currently translated at 100,0% (800 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/ * Translated using Weblate (Thai) Currently translated at 36,8% (294 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Thai) Currently translated at 47,6% (182 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/th/ * Translated using Weblate (Occitan) Currently translated at 97,4% (779 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/oc/ * Translated using Weblate (Occitan) Currently translated at 100,0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/oc/ * Translated using Weblate (Czech) Currently translated at 99.9% (799 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Slovak) Currently translated at 98.5% (65 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/sk/ * Translated using Weblate (Persian) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/ * Translated using Weblate (Thai) Currently translated at 66.5% (254 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/th/ * Translated using Weblate (Thai) Currently translated at 39.2% (314 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Slovak) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Slovak) Currently translated at 96.0% (768 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 92.7% (354 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Czech) Currently translated at 99.9% (799 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Occitan) Currently translated at 97.5% (780 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/oc/ * Translated using Weblate (Japanese) Currently translated at 95.1% (761 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/ * Translated using Weblate (Thai) Currently translated at 53.1% (425 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hant/ * Translated using Weblate (Czech) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/cs/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 78.4% (87 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Thai) Currently translated at 57.2% (458 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Added translation using Weblate (Chinese (Traditional)) * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 72.8% (582 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant/ * Translated using Weblate (Thai) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/th/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 74.0% (592 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 75.9% (607 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 75.9% (607 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant/ * Translated using Weblate (Kazakh) Currently translated at 98.4% (376 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/kk/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 76.8% (614 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Kazakh) Currently translated at 98.4% (376 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/kk/ * Translated using Weblate (Thai) Currently translated at 13.6% (9 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/th/ * Translated using Weblate (Thai) Currently translated at 66.7% (2 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/th/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 76.8% (614 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Thai) Currently translated at 61.9% (495 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Thai) Currently translated at 73.8% (282 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/th/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (66 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hant/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 87.9% (58 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/zh_Hans/ * Translated using Weblate (Thai) Currently translated at 62.1% (497 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Thai) Currently translated at 62.8% (502 of 800 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/th/ * Translated using Weblate (French) Currently translated at 99.9% (802 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (Thai) Currently translated at 73.8% (282 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/th/ * Translated using Weblate (Thai) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/th/ * Translated using Weblate (Esperanto) Currently translated at 94.0% (755 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eo/ * Translated using Weblate (Czech) Currently translated at 99.9% (802 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Czech) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/cs/ * Translated using Weblate (Slovenian) Currently translated at 56.1% (37 of 66 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/sl/ * Translated using Weblate (Slovenian) Currently translated at 36.4% (292 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sl/ * Translated using Weblate (Greek) Currently translated at 99.9% (802 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/el/ * Translated using Weblate (Persian) Currently translated at 99.8% (801 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fa/ * Translated using Weblate (German) Currently translated at 99.9% (802 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/ * Translated using Weblate (Korean) Currently translated at 100.0% (803 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/ * Translated using Weblate (Korean) Currently translated at 100.0% (803 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ko/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Persian) Currently translated at 99.8% (801 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fa/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 76.3% (613 of 803 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (3 of 3 strings) Translation: Mastodon/Activerecord Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/activerecord/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (111 of 111 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (382 of 382 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant/ * i18n-tasks normalize * yarn manage:translations * Remove unused keys * Fix inconsistent interpolations * Fix missing plural keys --- app/javascript/mastodon/locales/ar.json | 5 +- app/javascript/mastodon/locales/ast.json | 5 +- app/javascript/mastodon/locales/bg.json | 5 +- app/javascript/mastodon/locales/bn.json | 384 ++++++++ app/javascript/mastodon/locales/ca.json | 7 +- app/javascript/mastodon/locales/co.json | 25 +- app/javascript/mastodon/locales/cs.json | 13 +- app/javascript/mastodon/locales/cy.json | 5 +- app/javascript/mastodon/locales/da.json | 29 +- app/javascript/mastodon/locales/de.json | 51 +- app/javascript/mastodon/locales/el.json | 7 +- app/javascript/mastodon/locales/eo.json | 9 +- app/javascript/mastodon/locales/es.json | 149 +-- app/javascript/mastodon/locales/eu.json | 5 +- app/javascript/mastodon/locales/fa.json | 35 +- app/javascript/mastodon/locales/fi.json | 5 +- app/javascript/mastodon/locales/fr.json | 51 +- app/javascript/mastodon/locales/gl.json | 9 +- app/javascript/mastodon/locales/he.json | 5 +- app/javascript/mastodon/locales/hr.json | 5 +- app/javascript/mastodon/locales/hu.json | 5 +- app/javascript/mastodon/locales/hy.json | 5 +- app/javascript/mastodon/locales/id.json | 5 +- app/javascript/mastodon/locales/io.json | 5 +- app/javascript/mastodon/locales/it.json | 27 +- app/javascript/mastodon/locales/ja.json | 23 +- app/javascript/mastodon/locales/ka.json | 5 +- app/javascript/mastodon/locales/kk.json | 27 +- app/javascript/mastodon/locales/ko.json | 45 +- app/javascript/mastodon/locales/lv.json | 5 +- app/javascript/mastodon/locales/ms.json | 5 +- app/javascript/mastodon/locales/nl.json | 25 +- app/javascript/mastodon/locales/no.json | 5 +- app/javascript/mastodon/locales/oc.json | 25 +- app/javascript/mastodon/locales/pl.json | 7 +- app/javascript/mastodon/locales/pt-BR.json | 51 +- app/javascript/mastodon/locales/pt.json | 25 +- app/javascript/mastodon/locales/ro.json | 5 +- app/javascript/mastodon/locales/ru.json | 167 ++-- app/javascript/mastodon/locales/sk.json | 27 +- app/javascript/mastodon/locales/sl.json | 5 +- app/javascript/mastodon/locales/sq.json | 5 +- app/javascript/mastodon/locales/sr-Latn.json | 5 +- app/javascript/mastodon/locales/sr.json | 5 +- app/javascript/mastodon/locales/sv.json | 5 +- app/javascript/mastodon/locales/ta.json | 5 +- app/javascript/mastodon/locales/te.json | 35 +- app/javascript/mastodon/locales/th.json | 513 +++++----- app/javascript/mastodon/locales/tr.json | 5 +- app/javascript/mastodon/locales/uk.json | 5 +- app/javascript/mastodon/locales/whitelist_bn.json | 2 + app/javascript/mastodon/locales/zh-CN.json | 5 +- app/javascript/mastodon/locales/zh-HK.json | 5 +- app/javascript/mastodon/locales/zh-TW.json | 393 ++++---- config/locales/activerecord.ca.yml | 3 + config/locales/activerecord.co.yml | 3 + config/locales/activerecord.cs.yml | 3 + config/locales/activerecord.cy.yml | 3 + config/locales/activerecord.da.yml | 3 + config/locales/activerecord.de.yml | 3 + config/locales/activerecord.el.yml | 3 + config/locales/activerecord.es.yml | 3 + config/locales/activerecord.fa.yml | 3 + config/locales/activerecord.fr.yml | 3 + config/locales/activerecord.gl.yml | 3 + config/locales/activerecord.it.yml | 3 + config/locales/activerecord.nl.yml | 3 + config/locales/activerecord.oc.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/activerecord.sk.yml | 3 + config/locales/activerecord.th.yml | 4 +- config/locales/activerecord.zh_Hant.yml | 15 + config/locales/bn.yml | 125 +++ config/locales/ca.yml | 41 + config/locales/co.yml | 41 + config/locales/cs.yml | 84 +- config/locales/cy.yml | 52 + config/locales/da.yml | 45 +- config/locales/de.yml | 84 +- config/locales/devise.ca.yml | 3 + config/locales/devise.co.yml | 3 + config/locales/devise.cs.yml | 2 +- config/locales/devise.de.yml | 3 + config/locales/devise.el.yml | 3 + config/locales/devise.es.yml | 10 +- config/locales/devise.fa.yml | 3 + config/locales/devise.fr.yml | 3 + config/locales/devise.gl.yml | 3 + config/locales/devise.it.yml | 5 +- config/locales/devise.ja.yml | 2 +- config/locales/devise.nl.yml | 3 + config/locales/devise.oc.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/devise.sk.yml | 6 +- config/locales/devise.sl.yml | 17 + config/locales/devise.th.yml | 2 +- config/locales/devise.zh-CN.yml | 2 +- config/locales/devise.zh-TW.yml | 110 +-- config/locales/el.yml | 62 ++ config/locales/en_GB.yml | 1056 ++++++++++++++++++++- config/locales/eo.yml | 6 + config/locales/es.yml | 312 +++++- config/locales/fa.yml | 66 +- config/locales/fr.yml | 82 +- config/locales/ga.yml | 1 + config/locales/gl.yml | 57 ++ config/locales/it.yml | 128 ++- config/locales/ja.yml | 10 +- config/locales/ko.yml | 74 +- config/locales/nl.yml | 57 ++ config/locales/oc.yml | 38 +- config/locales/pl.yml | 67 +- config/locales/pt-BR.yml | 91 +- config/locales/pt.yml | 57 ++ config/locales/ru.yml | 339 +++++-- config/locales/simple_form.cs.yml | 4 +- config/locales/simple_form.en_GB.yml | 133 ++- config/locales/simple_form.es.yml | 42 +- config/locales/simple_form.fa.yml | 27 + config/locales/simple_form.ko.yml | 10 +- config/locales/simple_form.pt-BR.yml | 8 +- config/locales/simple_form.ru.yml | 42 +- config/locales/simple_form.th.yml | 150 ++- config/locales/simple_form.zh-TW.yml | 136 ++- config/locales/sk.yml | 23 + config/locales/sl.yml | 6 +- config/locales/th.yml | 680 ++++++++++--- config/locales/zh-CN.yml | 2 + config/locales/zh-TW.yml | 251 +++-- 135 files changed, 5544 insertions(+), 1514 deletions(-) create mode 100644 app/javascript/mastodon/locales/bn.json create mode 100644 app/javascript/mastodon/locales/whitelist_bn.json create mode 100644 config/locales/activerecord.zh_Hant.yml (limited to 'app') diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 0acc7aedb..c1e59ffa4 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -133,7 +133,6 @@ "empty_column.mutes": "لم تقم بكتم أي مستخدم بعد.", "empty_column.notifications": "لم تتلق أي إشعار بعدُ. تفاعل مع المستخدمين الآخرين لإنشاء محادثة.", "empty_column.public": "لا يوجد أي شيء هنا ! قم بنشر شيء ما للعامة، أو إتبع المستخدمين الآخرين المتواجدين على الخوادم الأخرى لملء خيط المحادثات", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "ترخيص", "follow_request.reject": "رفض", "getting_started.developers": "المُطوِّرون", @@ -248,6 +247,7 @@ "notification.favourite": "أُعجِب {name} بمنشورك", "notification.follow": "{name} يتابعك", "notification.mention": "{name} ذكرك", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} قام بترقية تبويقك", "notifications.clear": "إمسح الإخطارات", "notifications.clear_confirmation": "أمتأكد من أنك تود مسح جل الإخطارات الخاصة بك و المتلقاة إلى حد الآن ؟", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "عرض", "notifications.column_settings.follow": "متابعُون جُدُد :", "notifications.column_settings.mention": "الإشارات :", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "الإخطارات المدفوعة", "notifications.column_settings.reblog": "الترقيّات:", "notifications.column_settings.show": "إعرِضها في عمود", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "المفضلة", "notifications.filter.follows": "يتابِع", "notifications.filter.mentions": "الإشارات", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} إشعارات", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "الوُسوم", "search_results.statuses": "التبويقات", "search_results.total": "{count, number} {count, plural, one {result} و {results}}", - "standalone.public_title": "نظرة على ...", "status.admin_account": "افتح الواجهة الإدارية لـ @{name}", "status.admin_status": "افتح هذا المنشور على واجهة الإشراف", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index 86454c2d3..88a1377eb 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Entá nun silenciesti a dengún usuariu.", "empty_column.notifications": "Entá nun tienes dengún avisu. Interactua con otros p'aniciar la conversación.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizar", "follow_request.reject": "Refugar", "getting_started.developers": "Desendolcadores", @@ -248,6 +247,7 @@ "notification.favourite": "{name} favourited your status", "notification.follow": "{name} siguióte", "notification.mention": "{name} mentóte", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} compartió'l to estáu", "notifications.clear": "Llimpiar avisos", "notifications.clear_confirmation": "¿De xuru que quies llimpiar dafechu tolos avisos?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Siguidores nuevos:", "notifications.column_settings.mention": "Menciones:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Toots compartíos:", "notifications.column_settings.show": "Amosar en columna", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} avisos", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Etiquetes", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Bloquiar a @{name}", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index ef9c34cac..528cdf8a6 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Authorize", "follow_request.reject": "Reject", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} хареса твоята публикация", "notification.follow": "{name} те последва", "notification.mention": "{name} те спомена", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} сподели твоята публикация", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Нови последователи:", "notifications.column_settings.mention": "Споменавания:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Споделяния:", "notifications.column_settings.show": "Покажи в колона", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json new file mode 100644 index 000000000..001758c4c --- /dev/null +++ b/app/javascript/mastodon/locales/bn.json @@ -0,0 +1,384 @@ +{ + "account.add_or_remove_from_list": "লিস্টে আরো যুক্ত বা মুছে ফেলুন", + "account.badges.bot": "রোবট", + "account.block": "@{name} কে বন্ধ করুন", + "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", + "account.follow": "Follow", + "account.followers": "Followers", + "account.followers.empty": "No one follows this user yet.", + "account.follows": "Follows", + "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows_you": "Follows you", + "account.hide_reblogs": "Hide boosts from @{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": "Media", + "account.mention": "Mention @{name}", + "account.moved_to": "{name} has moved to:", + "account.mute": "Mute @{name}", + "account.mute_notifications": "Mute notifications from @{name}", + "account.muted": "Muted", + "account.posts": "Toots", + "account.posts_with_replies": "Toots and replies", + "account.report": "Report @{name}", + "account.requested": "Awaiting approval. Click to cancel follow request", + "account.share": "Share @{name}'s profile", + "account.show_reblogs": "Show boosts from @{name}", + "account.unblock": "Unblock @{name}", + "account.unblock_domain": "Unhide {domain}", + "account.unendorse": "Don't feature on profile", + "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", + "bundle_column_error.body": "Something went wrong while loading this component.", + "bundle_column_error.retry": "Try again", + "bundle_column_error.title": "Network error", + "bundle_modal_error.close": "Close", + "bundle_modal_error.message": "Something went wrong while loading this component.", + "bundle_modal_error.retry": "Try again", + "column.blocks": "Blocked users", + "column.community": "Local timeline", + "column.direct": "Direct messages", + "column.domain_blocks": "Hidden domains", + "column.favourites": "Favourites", + "column.follow_requests": "Follow requests", + "column.home": "Home", + "column.lists": "Lists", + "column.mutes": "Muted users", + "column.notifications": "Notifications", + "column.pins": "Pinned toot", + "column.public": "Federated timeline", + "column_back_button.label": "Back", + "column_header.hide_settings": "Hide settings", + "column_header.moveLeft_settings": "Move column to the left", + "column_header.moveRight_settings": "Move column to the right", + "column_header.pin": "Pin", + "column_header.show_settings": "Show settings", + "column_header.unpin": "Unpin", + "column_subheading.settings": "Settings", + "community.column_settings.media_only": "Media Only", + "compose_form.direct_message_warning": "This toot will only be sent to all the mentioned users.", + "compose_form.direct_message_warning_learn_more": "Learn more", + "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", + "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", + "compose_form.lock_disclaimer.lock": "locked", + "compose_form.placeholder": "What is on your mind?", + "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 marked as sensitive", + "compose_form.sensitive.unmarked": "Media is not marked as sensitive", + "compose_form.spoiler.marked": "Text is hidden behind warning", + "compose_form.spoiler.unmarked": "Text is not hidden", + "compose_form.spoiler_placeholder": "Write your warning here", + "confirmation_modal.cancel": "Cancel", + "confirmations.block.confirm": "Block", + "confirmations.block.message": "Are you sure you want to block {name}?", + "confirmations.delete.confirm": "Delete", + "confirmations.delete.message": "Are you sure you want to delete this status?", + "confirmations.delete_list.confirm": "Delete", + "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", + "confirmations.domain_block.confirm": "Hide entire domain", + "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.", + "confirmations.mute.confirm": "Mute", + "confirmations.mute.message": "Are you sure you want to mute {name}?", + "confirmations.redraft.confirm": "Delete & redraft", + "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.", + "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": "Unfollow", + "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", + "embed.instructions": "Embed this status on your website by copying the code below.", + "embed.preview": "Here is what it will look like:", + "emoji_button.activity": "Activity", + "emoji_button.custom": "Custom", + "emoji_button.flags": "Flags", + "emoji_button.food": "Food & Drink", + "emoji_button.label": "Insert emoji", + "emoji_button.nature": "Nature", + "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", + "emoji_button.objects": "Objects", + "emoji_button.people": "People", + "emoji_button.recent": "Frequently used", + "emoji_button.search": "Search...", + "emoji_button.search_results": "Search results", + "emoji_button.symbols": "Symbols", + "emoji_button.travel": "Travel & Places", + "empty_column.account_timeline": "No toots here!", + "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", + "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", + "empty_column.domain_blocks": "There are no hidden domains yet.", + "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", + "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", + "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.hashtag": "There is nothing in this hashtag yet.", + "empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.", + "empty_column.home.public_timeline": "the public timeline", + "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", + "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", + "empty_column.mutes": "You haven't muted any users yet.", + "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", + "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up", + "follow_request.authorize": "Authorize", + "follow_request.reject": "Reject", + "getting_started.developers": "Developers", + "getting_started.directory": "Profile directory", + "getting_started.documentation": "Documentation", + "getting_started.heading": "Getting started", + "getting_started.invite": "Invite people", + "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.", + "getting_started.security": "Security", + "getting_started.terms": "Terms of service", + "hashtag.column_header.tag_mode.all": "and {additional}", + "hashtag.column_header.tag_mode.any": "or {additional}", + "hashtag.column_header.tag_mode.none": "without {additional}", + "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": "Basic", + "home.column_settings.show_reblogs": "Show boosts", + "home.column_settings.show_replies": "Show replies", + "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": "Public posts from other servers of the fediverse will appear in the federated timeline.", + "introduction.federation.home.headline": "Home", + "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": "Public posts from people on the same server as you will appear in the local timeline.", + "introduction.interactions.action": "Finish toot-orial!", + "introduction.interactions.favourite.headline": "Favourite", + "introduction.interactions.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": "to navigate back", + "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.boost": "to boost", + "keyboard_shortcuts.column": "to focus a status in one of the columns", + "keyboard_shortcuts.compose": "to focus the compose textarea", + "keyboard_shortcuts.description": "Description", + "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.down": "to move down in the list", + "keyboard_shortcuts.enter": "to open status", + "keyboard_shortcuts.favourite": "to favourite", + "keyboard_shortcuts.favourites": "to open favourites list", + "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.heading": "Keyboard Shortcuts", + "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.hotkey": "Hotkey", + "keyboard_shortcuts.legend": "to display this legend", + "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.mention": "to mention author", + "keyboard_shortcuts.muted": "to open muted users list", + "keyboard_shortcuts.my_profile": "to open your profile", + "keyboard_shortcuts.notifications": "to open notifications column", + "keyboard_shortcuts.pinned": "to open pinned toots list", + "keyboard_shortcuts.profile": "to open author's profile", + "keyboard_shortcuts.reply": "to reply", + "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.search": "to focus search", + "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", + "keyboard_shortcuts.toot": "to start a brand new toot", + "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", + "keyboard_shortcuts.up": "to move up in the list", + "lightbox.close": "Close", + "lightbox.next": "Next", + "lightbox.previous": "Previous", + "lists.account.add": "Add to list", + "lists.account.remove": "Remove from list", + "lists.delete": "Delete list", + "lists.edit": "Edit list", + "lists.edit.submit": "Change title", + "lists.new.create": "Add list", + "lists.new.title_placeholder": "New list title", + "lists.search": "Search among people you follow", + "lists.subheading": "Your lists", + "loading_indicator.label": "Loading...", + "media_gallery.toggle_visible": "Toggle visibility", + "missing_indicator.label": "Not found", + "missing_indicator.sublabel": "This resource could not be found", + "mute_modal.hide_notifications": "Hide notifications from this user?", + "navigation_bar.apps": "Mobile apps", + "navigation_bar.blocks": "Blocked users", + "navigation_bar.community_timeline": "Local timeline", + "navigation_bar.compose": "Compose new toot", + "navigation_bar.direct": "Direct messages", + "navigation_bar.discover": "Discover", + "navigation_bar.domain_blocks": "Hidden domains", + "navigation_bar.edit_profile": "Edit profile", + "navigation_bar.favourites": "Favourites", + "navigation_bar.filters": "Muted words", + "navigation_bar.follow_requests": "Follow requests", + "navigation_bar.info": "About this server", + "navigation_bar.keyboard_shortcuts": "Hotkeys", + "navigation_bar.lists": "Lists", + "navigation_bar.logout": "Logout", + "navigation_bar.mutes": "Muted users", + "navigation_bar.personal": "Personal", + "navigation_bar.pins": "Pinned toots", + "navigation_bar.preferences": "Preferences", + "navigation_bar.public_timeline": "Federated timeline", + "navigation_bar.security": "Security", + "notification.favourite": "{name} favourited your status", + "notification.follow": "{name} followed you", + "notification.mention": "{name} mentioned you", + "notification.poll": "A poll you have voted in has ended", + "notification.reblog": "{name} boosted your status", + "notifications.clear": "Clear notifications", + "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "notifications.column_settings.alert": "Desktop notifications", + "notifications.column_settings.favourite": "Favourites:", + "notifications.column_settings.filter_bar.advanced": "Display all categories", + "notifications.column_settings.filter_bar.category": "Quick filter bar", + "notifications.column_settings.filter_bar.show": "Show", + "notifications.column_settings.follow": "New followers:", + "notifications.column_settings.mention": "Mentions:", + "notifications.column_settings.poll": "Poll results:", + "notifications.column_settings.push": "Push notifications", + "notifications.column_settings.reblog": "Boosts:", + "notifications.column_settings.show": "Show in column", + "notifications.column_settings.sound": "Play sound", + "notifications.filter.all": "All", + "notifications.filter.boosts": "Boosts", + "notifications.filter.favourites": "Favourites", + "notifications.filter.follows": "Follows", + "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", + "notifications.group": "{count} notifications", + "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": "Adjust status privacy", + "privacy.direct.long": "Post to mentioned users only", + "privacy.direct.short": "Direct", + "privacy.private.long": "Post to followers only", + "privacy.private.short": "Followers-only", + "privacy.public.long": "Post to public timelines", + "privacy.public.short": "Public", + "privacy.unlisted.long": "Do not show in public timelines", + "privacy.unlisted.short": "Unlisted", + "regeneration_indicator.label": "Loading…", + "regeneration_indicator.sublabel": "Your home feed is being prepared!", + "relative_time.days": "{number}d", + "relative_time.hours": "{number}h", + "relative_time.just_now": "now", + "relative_time.minutes": "{number}m", + "relative_time.seconds": "{number}s", + "reply_indicator.cancel": "Cancel", + "report.forward": "Forward to {target}", + "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", + "report.hint": "The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:", + "report.placeholder": "Additional comments", + "report.submit": "Submit", + "report.target": "Report {target}", + "search.placeholder": "Search", + "search_popout.search_format": "Advanced search format", + "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", + "search_popout.tips.hashtag": "hashtag", + "search_popout.tips.status": "status", + "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", + "search_popout.tips.user": "user", + "search_results.accounts": "People", + "search_results.hashtags": "Hashtags", + "search_results.statuses": "Toots", + "search_results.total": "{count, number} {count, plural, one {result} other {results}}", + "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": "Unboost", + "status.cannot_reblog": "This post cannot be boosted", + "status.copy": "Copy link to status", + "status.delete": "Delete", + "status.detailed_status": "Detailed conversation view", + "status.direct": "Direct message @{name}", + "status.embed": "Embed", + "status.favourite": "Favourite", + "status.filtered": "Filtered", + "status.load_more": "Load more", + "status.media_hidden": "Media hidden", + "status.mention": "Mention @{name}", + "status.more": "More", + "status.mute": "Mute @{name}", + "status.mute_conversation": "Mute conversation", + "status.open": "Expand this status", + "status.pin": "Pin on profile", + "status.pinned": "Pinned toot", + "status.read_more": "Read more", + "status.reblog": "Boost", + "status.reblog_private": "Boost to original audience", + "status.reblogged_by": "{name} boosted", + "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.redraft": "Delete & re-draft", + "status.reply": "Reply", + "status.replyAll": "Reply to thread", + "status.report": "Report @{name}", + "status.sensitive_toggle": "Click to view", + "status.sensitive_warning": "Sensitive content", + "status.share": "Share", + "status.show_less": "Show less", + "status.show_less_all": "Show less for all", + "status.show_more": "Show more", + "status.show_more_all": "Show more for all", + "status.show_thread": "Show thread", + "status.unmute_conversation": "Unmute conversation", + "status.unpin": "Unpin from profile", + "suggestions.dismiss": "Dismiss suggestion", + "suggestions.header": "You might be interested in…", + "tabs_bar.federated_timeline": "Federated", + "tabs_bar.home": "Home", + "tabs_bar.local_timeline": "Local", + "tabs_bar.notifications": "Notifications", + "tabs_bar.search": "Search", + "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": "Your draft will be lost if you leave Mastodon.", + "upload_area.title": "Drag & drop to upload", + "upload_button.label": "Add media (JPEG, PNG, GIF, WebM, MP4, MOV)", + "upload_error.limit": "File upload limit exceeded.", + "upload_error.poll": "File upload not allowed with polls.", + "upload_form.description": "Describe for the visually impaired", + "upload_form.focus": "Crop", + "upload_form.undo": "Delete", + "upload_progress.label": "Uploading...", + "video.close": "Close video", + "video.exit_fullscreen": "Exit full screen", + "video.expand": "Expand video", + "video.fullscreen": "Full screen", + "video.hide": "Hide video", + "video.mute": "Mute sound", + "video.pause": "Pause", + "video.play": "Play", + "video.unmute": "Unmute sound" +} diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index e7333f6fe..92cd7b61f 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Encara no has silenciat cap usuari.", "empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.", "empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per omplir-ho", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autoritzar", "follow_request.reject": "Rebutjar", "getting_started.developers": "Desenvolupadors", @@ -158,7 +157,7 @@ "home.column_settings.show_replies": "Mostrar respostes", "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}}", + "intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}", "introduction.federation.action": "Següent", "introduction.federation.federated.headline": "Federada", "introduction.federation.federated.text": "Les publicacions públiques d'altres servidors del fedivers apareixeran a la línia de temps federada.", @@ -248,6 +247,7 @@ "notification.favourite": "{name} ha afavorit el teu estat", "notification.follow": "{name} et segueix", "notification.mention": "{name} t'ha esmentat", + "notification.poll": "Ha finalitzat una enquesta en la que has votat", "notification.reblog": "{name} ha retootejat el teu estat", "notifications.clear": "Netejar notificacions", "notifications.clear_confirmation": "Estàs segur que vols esborrar permanenment totes les teves notificacions?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Mostra", "notifications.column_settings.follow": "Nous seguidors:", "notifications.column_settings.mention": "Mencions:", + "notifications.column_settings.poll": "Resultats de l’enquesta:", "notifications.column_settings.push": "Push notificacions", "notifications.column_settings.reblog": "Impulsos:", "notifications.column_settings.show": "Mostrar en la columna", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favorits", "notifications.filter.follows": "Seguiments", "notifications.filter.mentions": "Mencions", + "notifications.filter.polls": "Resultats de l'enquesta", "notifications.group": "{count} notificacions", "poll.closed": "Finalitzada", "poll.refresh": "Actualitza", @@ -308,7 +310,6 @@ "search_results.hashtags": "Etiquetes", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, un {result} altres {results}}", - "standalone.public_title": "Una mirada a l'interior ...", "status.admin_account": "Obre l'interfície de moderació per a @{name}", "status.admin_status": "Obre aquest estat a la interfície de moderació", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 5f4d520d6..53873dd14 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -73,10 +73,10 @@ "compose_form.lock_disclaimer": "U vostru contu ùn hè micca {locked}. Tuttu u mondu pò seguitavi è vede i vostri statuti privati.", "compose_form.lock_disclaimer.lock": "privatu", "compose_form.placeholder": "À chè pensate?", - "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.poll.add_option": "Aghjustà una scelta", + "compose_form.poll.duration": "Durata di u scandagliu", + "compose_form.poll.option_placeholder": "Scelta {number}", + "compose_form.poll.remove_option": "Toglie sta scelta", "compose_form.publish": "Toot", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Media indicatu cum'è sensibile", @@ -133,7 +133,6 @@ "empty_column.mutes": "Per avà ùn avete manc'un utilizatore piattatu.", "empty_column.notifications": "Ùn avete ancu nisuna nutificazione. Interact with others to start the conversation.", "empty_column.public": "Ùn c'hè nunda quì! Scrivete qualcosa in pubblicu o seguitate utilizatori d'altri servori per empie a linea pubblica", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Auturizà", "follow_request.reject": "Righjittà", "getting_started.developers": "Sviluppatori", @@ -156,9 +155,9 @@ "home.column_settings.basic": "Bàsichi", "home.column_settings.show_reblogs": "Vede e spartere", "home.column_settings.show_replies": "Vede e risposte", - "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}}", + "intervals.full.days": "{number, plural, one {# ghjornu} other {# ghjorni}}", + "intervals.full.hours": "{number, plural, one {# ora} other {# ore}}", + "intervals.full.minutes": "{number, plural, one {# minuta} other {# minute}}", "introduction.federation.action": "Cuntinuà", "introduction.federation.federated.headline": "Federata", "introduction.federation.federated.text": "I statuti pubblichi da l'altri servori di u fediverse saranu mustrati nant'à a linea pubblica federata.", @@ -248,6 +247,7 @@ "notification.favourite": "{name} hà aghjuntu u vostru statutu à i so favuriti", "notification.follow": "{name} v'hà seguitatu", "notification.mention": "{name} v'hà mintuvatu", + "notification.poll": "Un scandagliu induve avete vutatu hè finitu", "notification.reblog": "{name} hà spartutu u vostru statutu", "notifications.clear": "Purgà e nutificazione", "notifications.clear_confirmation": "Site sicuru·a che vulete toglie tutte ste nutificazione?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Mustrà", "notifications.column_settings.follow": "Abbunati novi:", "notifications.column_settings.mention": "Minzione:", + "notifications.column_settings.poll": "Risultati:", "notifications.column_settings.push": "Nutificazione Push", "notifications.column_settings.reblog": "Spartere:", "notifications.column_settings.show": "Mustrà indè a colonna", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Favuriti", "notifications.filter.follows": "Abbunamenti", "notifications.filter.mentions": "Minzione", + "notifications.filter.polls": "Risultati di u scandagliu", "notifications.group": "{count} nutificazione", "poll.closed": "Chjosu", "poll.refresh": "Attualizà", "poll.total_votes": "{count, plural, one {# votu} other {# voti}}", "poll.vote": "Vutà", - "poll_button.add_poll": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Aghjustà un scandagliu", + "poll_button.remove_poll": "Toglie u scandagliu", "privacy.change": "Mudificà a cunfidenzialità di u statutu", "privacy.direct.long": "Mandà solu à quelli chì so mintuvati", "privacy.direct.short": "Direttu", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtag", "search_results.statuses": "Statuti", "search_results.total": "{count, number} {count, plural, one {risultatu} other {risultati}}", - "standalone.public_title": "Una vista à l'internu...", "status.admin_account": "Apre l'interfaccia di muderazione per @{name}", "status.admin_status": "Apre stu statutu in l'interfaccia di muderazione", "status.block": "Bluccà @{name}", @@ -366,7 +367,7 @@ "upload_area.title": "Drag & drop per caricà un fugliale", "upload_button.label": "Aghjunghje un media (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "Limita di caricamentu di fugliali trapassata.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.poll": "Ùn si pò micca caricà fugliali cù i scandagli.", "upload_form.description": "Discrive per i malvistosi", "upload_form.focus": "Cambià a vista", "upload_form.undo": "Sguassà", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 7ccbdef00..52823658b 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Ještě jste neskryl/a žádné uživatele.", "empty_column.notifications": "Ještě nemáte žádná oznámení. Začněte konverzaci komunikováním s ostatními.", "empty_column.public": "Tady nic není! Napište něco veřejně, nebo začněte ručně sledovat uživatele z jiných serverů, aby tu něco přibylo", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizovat", "follow_request.reject": "Odmítnout", "getting_started.developers": "Vývojáři", @@ -161,7 +160,7 @@ "intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minuty} other {# minut}}", "introduction.federation.action": "Další", "introduction.federation.federated.headline": "Federovaná", - "introduction.federation.federated.text": "Veřejné příspěvky z jiných serverů na fediverse se zobrazí na federované časové ose.", + "introduction.federation.federated.text": "Veřejné příspěvky z jiných serverů ve fedivesmíru se zobrazí na federované časové ose.", "introduction.federation.home.headline": "Domů", "introduction.federation.home.text": "Příspěvky od lidí, které sledujete, se objeví ve vašem domovském proudu. Můžete sledovat kohokoliv na jakémkoliv serveru!", "introduction.federation.local.headline": "Místní", @@ -175,7 +174,7 @@ "introduction.interactions.reply.text": "Můžete odpovídat na tooty jiných lidí i vaše vlastní, což je propojí do konverzace.", "introduction.welcome.action": "Jdeme na to!", "introduction.welcome.headline": "První kroky", - "introduction.welcome.text": "Vítejte na fediverse! Za malou chvíli budete moci posílat zprávy a povídat si se svými přátely přes širokou škálu serverů. Tento server, {domain}, je však speciální—je na něm váš profil, proto si zapamatujte jeho jméno.", + "introduction.welcome.text": "Vítejte ve fedivesmíru! Za malou chvíli budete moci posílat zprávy a povídat si se svými přátely přes širokou škálu serverů. Tento server, {domain}, je však speciální—je na něm váš profil, proto si zapamatujte jeho jméno.", "keyboard_shortcuts.back": "k návratu zpět", "keyboard_shortcuts.blocked": "k otevření seznamu blokovaných uživatelů", "keyboard_shortcuts.boost": "k boostnutí", @@ -248,6 +247,7 @@ "notification.favourite": "{name} si oblíbil/a váš toot", "notification.follow": "{name} vás začal/a sledovat", "notification.mention": "{name} vás zmínil/a", + "notification.poll": "Anketa, ve které jste hlasoval/a, skončila", "notification.reblog": "{name} boostnul/a váš toot", "notifications.clear": "Vymazat oznámení", "notifications.clear_confirmation": "Jste si jistý/á, že chcete trvale vymazat všechna vaše oznámení?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Zobrazit", "notifications.column_settings.follow": "Noví sledující:", "notifications.column_settings.mention": "Zmínky:", + "notifications.column_settings.poll": "Výsledky anket:", "notifications.column_settings.push": "Push oznámení", "notifications.column_settings.reblog": "Boosty:", "notifications.column_settings.show": "Zobrazit ve sloupci", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Oblíbení", "notifications.filter.follows": "Sledování", "notifications.filter.mentions": "Zmínky", + "notifications.filter.polls": "Výsledky anket", "notifications.group": "{count} oznámení", "poll.closed": "Uzavřena", "poll.refresh": "Obnovit", @@ -308,9 +310,8 @@ "search_results.hashtags": "Hashtagy", "search_results.statuses": "Tooty", "search_results.total": "{count, number} {count, plural, one {výsledek} few {výsledky} many {výsledku} other {výsledků}}", - "standalone.public_title": "Nahlédněte dovnitř...", - "status.admin_account": "Otevřít moderační rozhraní pro uživatele @{name}", - "status.admin_status": "Otevřít tento toot v moderačním rozhraní", + "status.admin_account": "Otevřít moderátorské rozhraní pro uživatele @{name}", + "status.admin_status": "Otevřít tento toot v moderátorském rozhraní", "status.block": "Zablokovat uživatele @{name}", "status.cancel_reblog_private": "Zrušit boost", "status.cannot_reblog": "Tento příspěvek nemůže být boostnutý", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 635226d7b..f153474a2 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Nid ydych wedi tawelu unrhyw ddefnyddwyr eto.", "empty_column.notifications": "Nid oes gennych unrhyw hysbysiadau eto. Rhyngweithiwch ac eraill i ddechrau'r sgwrs.", "empty_column.public": "Does dim byd yma! Ysgrifennwch rhywbeth yn gyhoeddus, neu dilynwch ddefnyddwyr o achosion eraill i'w lenwi", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Caniatau", "follow_request.reject": "Gwrthod", "getting_started.developers": "Datblygwyr", @@ -248,6 +247,7 @@ "notification.favourite": "hoffodd {name} eich tŵt", "notification.follow": "dilynodd {name} chi", "notification.mention": "Soniodd {name} amdanoch chi", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "Hysbysebodd {name} eich tŵt", "notifications.clear": "Clirio hysbysiadau", "notifications.clear_confirmation": "Ydych chi'n sicr eich bod am glirio'ch holl hysbysiadau am byth?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Dangos", "notifications.column_settings.follow": "Dilynwyr newydd:", "notifications.column_settings.mention": "Crybwylliadau:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Hysbysiadau push", "notifications.column_settings.reblog": "Hybiadau:", "notifications.column_settings.show": "Dangos yn y golofn", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Ffefrynnau", "notifications.filter.follows": "Yn dilyn", "notifications.filter.mentions": "Crybwylliadau", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} o hysbysiadau", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hanshnodau", "search_results.statuses": "Tŵtiau", "search_results.total": "{count, number} {count, plural, one {result} arall {results}}", - "standalone.public_title": "Golwg tu fewn...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this tŵt in the moderation interface", "status.block": "Blocio @{name}", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 86df1447e..7cb61b48c 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -117,7 +117,7 @@ "emoji_button.search_results": "Søgeresultater", "emoji_button.symbols": "Symboler", "emoji_button.travel": "Rejser & steder", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Ingen bidrag her!", "empty_column.blocks": "Du har ikke blokeret nogen endnu.", "empty_column.community": "Den lokale tidslinje er tom. Skriv noget offentligt for at starte lavinen!", "empty_column.direct": "Du har endnu ingen direkte beskeder. Når du sender eller modtager en, vil den vises her.", @@ -132,8 +132,7 @@ "empty_column.lists": "Du har endnu ingen lister. Når du opretter en, vil den blive vist her.", "empty_column.mutes": "Du har endnu ikke dæmpet nogen som helst bruger.", "empty_column.notifications": "Du har endnu ingen notifikationer. Tag ud og bland dig med folkemængden for at starte samtalen.", - "empty_column.public": "Der er ikke noget at se her! Skriv noget offentligt eller start ud med manuelt at følge brugere fra andre instanser for st udfylde tomrummet", - "error_boundary.it_crashed": "It crashed!", + "empty_column.public": "Der er ikke noget at se her! Skriv noget offentligt eller start ud med manuelt at følge brugere fra andre server for at udfylde tomrummet", "follow_request.authorize": "Godkend", "follow_request.reject": "Afvis", "getting_started.developers": "Udviklere", @@ -144,9 +143,9 @@ "getting_started.open_source_notice": "Mastodon er et open source software. Du kan bidrage eller rapporterer fejl på GitHub {github}.", "getting_started.security": "Sikkerhed", "getting_started.terms": "Vilkår", - "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_header.tag_mode.all": "og {additional}", + "hashtag.column_header.tag_mode.any": "eller {additional}", + "hashtag.column_header.tag_mode.none": "uden {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", @@ -161,20 +160,20 @@ "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Næste", "introduction.federation.federated.headline": "Federated", - "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.", + "introduction.federation.federated.text": "Offentlige bidrag fra andre servere af fediversen vil komme til syne i den federated timeline.", "introduction.federation.home.headline": "Home", "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": "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.action": "Slut tutorial!", + "introduction.interactions.favourite.headline": "Favorisere", "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.interactions.reply.headline": "Svar", + "introduction.interactions.reply.text": "Du kan svare andres og din egen bidrag, hvilke vil kæde dem sammen i en konversation.", + "introduction.welcome.action": "Læd os gå!", + "introduction.welcome.headline": "Første skridt", "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": "for at navigere dig tilbage", "keyboard_shortcuts.blocked": "for at åbne listen over blokerede brugere", @@ -248,6 +247,7 @@ "notification.favourite": "{name} favoriserede din status", "notification.follow": "{name} fulgte dig", "notification.mention": "{name} nævnte dig", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} fremhævede din status", "notifications.clear": "Ryd notifikationer", "notifications.clear_confirmation": "Er du sikker på, du vil rydde alle dine notifikationer permanent?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Nye følgere:", "notifications.column_settings.mention": "Omtale:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifikationer", "notifications.column_settings.reblog": "Fremhævelser:", "notifications.column_settings.show": "Vis i kolonne", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favoritter", "notifications.filter.follows": "Følger", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifikationer", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Emnetags", "search_results.statuses": "Trut", "search_results.total": "{count, number} {count, plural, et {result} andre {results}}", - "standalone.public_title": "Et kig indenfor...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Bloker @{name}", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 734737c55..1b122fc3b 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -73,10 +73,10 @@ "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.", "compose_form.lock_disclaimer.lock": "gesperrt", "compose_form.placeholder": "Was gibt's Neues?", - "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.poll.add_option": "Eine Auswahl hinzufügen", + "compose_form.poll.duration": "Umfragedauer", + "compose_form.poll.option_placeholder": "Auswahl {number}", + "compose_form.poll.remove_option": "Auswahl entfernen", "compose_form.publish": "Tröt", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Medien sind als heikel markiert", @@ -133,7 +133,6 @@ "empty_column.mutes": "Du hast keine Profile stummgeschaltet.", "empty_column.notifications": "Du hast noch keine Mitteilungen. Interagiere mit anderen, um ins Gespräch zu kommen.", "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Servern, um die Zeitleiste aufzufüllen", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Erlauben", "follow_request.reject": "Ablehnen", "getting_started.developers": "Entwickler", @@ -147,18 +146,18 @@ "hashtag.column_header.tag_mode.all": "und {additional}", "hashtag.column_header.tag_mode.any": "oder {additional}", "hashtag.column_header.tag_mode.none": "ohne {additional}", - "hashtag.column_settings.select.no_options_message": "No suggestions found", - "hashtag.column_settings.select.placeholder": "Enter hashtags…", + "hashtag.column_settings.select.no_options_message": "Keine Vorschläge gefunden", + "hashtag.column_settings.select.placeholder": "Hashtags eintragen…", "hashtag.column_settings.tag_mode.all": "All diese", "hashtag.column_settings.tag_mode.any": "Eine von diesen", "hashtag.column_settings.tag_mode.none": "Keine von diesen", - "hashtag.column_settings.tag_toggle": "Include additional tags in this column", + "hashtag.column_settings.tag_toggle": "Zusätzliche Tags für diese Spalte einfügen", "home.column_settings.basic": "Einfach", "home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen", "home.column_settings.show_replies": "Antworten anzeigen", - "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}}", + "intervals.full.days": "{number, plural, one {# Tag} other {# Tage}}", + "intervals.full.hours": "{number, plural, one {# Stunde} other {# Stunden}}", + "intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}", "introduction.federation.action": "Weiter", "introduction.federation.federated.headline": "Föderiert", "introduction.federation.federated.text": "Öffentliche Beiträge von anderen Servern im Fediverse erscheinen in der föderierten Zeitleiste.", @@ -214,7 +213,7 @@ "lists.account.remove": "Von der Liste entfernen", "lists.delete": "Delete list", "lists.edit": "Liste bearbeiten", - "lists.edit.submit": "Change title", + "lists.edit.submit": "Titel ändern", "lists.new.create": "Liste hinzufügen", "lists.new.title_placeholder": "Neuer Titel der Liste", "lists.search": "Suche nach Leuten denen du folgst", @@ -248,6 +247,7 @@ "notification.favourite": "{name} hat deinen Beitrag favorisiert", "notification.follow": "{name} folgt dir", "notification.mention": "{name} hat dich erwähnt", + "notification.poll": "Eine Umfrage in der du abgestimmt hast ist vorbei", "notification.reblog": "{name} hat deinen Beitrag geteilt", "notifications.clear": "Mitteilungen löschen", "notifications.clear_confirmation": "Bist du dir sicher, dass du alle Mitteilungen löschen möchtest?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Anzeigen", "notifications.column_settings.follow": "Neue Folgende:", "notifications.column_settings.mention": "Erwähnungen:", + "notifications.column_settings.poll": "Ergebnisse der Umfrage:", "notifications.column_settings.push": "Push-Benachrichtigungen", "notifications.column_settings.reblog": "Geteilte Beiträge:", "notifications.column_settings.show": "In der Spalte anzeigen", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Favoriten", "notifications.filter.follows": "Folgende", "notifications.filter.mentions": "Erwähnungen", + "notifications.filter.polls": "Ergebnisse der Umfrage", "notifications.group": "{count} Benachrichtigungen", - "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", + "poll.closed": "Geschlossen", + "poll.refresh": "Aktualisieren", + "poll.total_votes": "{count, plural, one {# Stimme} other {# Stimmen}}", + "poll.vote": "Abstimmen", + "poll_button.add_poll": "Eine Umfrage erstellen", + "poll_button.remove_poll": "Umfrage entfernen", "privacy.change": "Sichtbarkeit des Beitrags anpassen", "privacy.direct.long": "Beitrag nur an erwähnte Profile", "privacy.direct.short": "Direkt", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Beiträge", "search_results.total": "{count, number} {count, plural, one {Ergebnis} other {Ergebnisse}}", - "standalone.public_title": "Ein kleiner Einblick …", "status.admin_account": "Öffne Moderationsoberfläche für @{name}", "status.admin_status": "Öffne diesen Status in der Moderationsoberfläche", "status.block": "Blockiere @{name}", @@ -356,17 +357,17 @@ "tabs_bar.local_timeline": "Lokal", "tabs_bar.notifications": "Mitteilungen", "tabs_bar.search": "Suchen", - "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", + "time_remaining.days": "{number, plural, one {# Tag} other {# Tage}} verbleibend", + "time_remaining.hours": "{number, plural, one {# Stunde} other {# Stunden}} verbleibend", + "time_remaining.minutes": "{number, plural, one {# Minute} other {# Minuten}} verbleibend", + "time_remaining.moments": "Momente verbleibend", + "time_remaining.seconds": "{number, plural, one {# Sekunde} other {# Sekunden}} verbleibend", "trends.count_by_accounts": "{count} {rawCount, plural, eine {Person} other {Personen}} reden darüber", "ui.beforeunload": "Dein Entwurf geht verloren, wenn du Mastodon verlässt.", "upload_area.title": "Zum Hochladen hereinziehen", "upload_button.label": "Mediendatei hinzufügen (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "Dateiupload-Limit erreicht.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.poll": "Dateiuploads sind in Kombination mit Umfragen nicht erlaubt.", "upload_form.description": "Für Menschen mit Sehbehinderung beschreiben", "upload_form.focus": "Thumbnail bearbeiten", "upload_form.undo": "Löschen", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index d0bbc830b..44ad0add2 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Δεν έχεις αποσιωπήσει κανένα χρήστη ακόμα.", "empty_column.notifications": "Δεν έχεις ειδοποιήσεις ακόμα. Αλληλεπίδρασε με άλλους χρήστες για να ξεκινήσεις την κουβέντα.", "empty_column.public": "Δεν υπάρχει τίποτα εδώ! Γράψε κάτι δημόσιο, ή ακολούθησε χειροκίνητα χρήστες από άλλους κόμβους για να τη γεμίσεις", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Ενέκρινε", "follow_request.reject": "Απέρριψε", "getting_started.developers": "Ανάπτυξη", @@ -158,7 +157,7 @@ "home.column_settings.show_replies": "Εμφάνιση απαντήσεων", "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}}", + "intervals.full.minutes": "{number, plural, one {# λεπτό} other {# λεπτά}}", "introduction.federation.action": "Επόμενο", "introduction.federation.federated.headline": "Ομοσπονδιακή", "introduction.federation.federated.text": "Οι δημόσιες αναρτήσεις από άλλους κόμβους του fediverse θα εμφανίζονται στην ομοσπονδιακή ροή.", @@ -248,6 +247,7 @@ "notification.favourite": "Ο/Η {name} σημείωσε ως αγαπημένη την κατάστασή σου", "notification.follow": "Ο/Η {name} σε ακολούθησε", "notification.mention": "Ο/Η {name} σε ανέφερε", + "notification.poll": "Έλαβε τέλος μια από τις ψηφοφορίες που συμμετείχες", "notification.reblog": "Ο/Η {name} προώθησε την κατάστασή σου", "notifications.clear": "Καθαρισμός ειδοποιήσεων", "notifications.clear_confirmation": "Σίγουρα θέλεις να καθαρίσεις όλες τις ειδοποιήσεις σου;", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Εμφάνιση", "notifications.column_settings.follow": "Νέοι ακόλουθοι:", "notifications.column_settings.mention": "Αναφορές:", + "notifications.column_settings.poll": "Αποτελέσματα ψηφοφορίας:", "notifications.column_settings.push": "Άμεσες ειδοποιήσεις", "notifications.column_settings.reblog": "Προωθήσεις:", "notifications.column_settings.show": "Εμφάνισε σε στήλη", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Αγαπημένα", "notifications.filter.follows": "Ακόλουθοι", "notifications.filter.mentions": "Αναφορές", + "notifications.filter.polls": "Αποτελέσματα ψηφοφορίας", "notifications.group": "{count} ειδοποιήσεις", "poll.closed": "Κλειστή", "poll.refresh": "Ανανέωση", @@ -308,7 +310,6 @@ "search_results.hashtags": "Ταμπέλες", "search_results.statuses": "Τουτ", "search_results.total": "{count, number} {count, plural, zero {αποτελέσματα} one {αποτέλεσμα} other {αποτελέσματα}}", - "standalone.public_title": "Μια πρώτη γεύση...", "status.admin_account": "Άνοιγμα λειτουργίας διαμεσολάβησης για τον/την @{name}", "status.admin_status": "Άνοιγμα αυτής της δημοσίευσης στη λειτουργία διαμεσολάβησης", "status.block": "Αποκλεισμός @{name}", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 05e7e12d8..ab5512683 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Vi ne ankoraŭ silentigis iun uzanton.", "empty_column.notifications": "Vi ankoraŭ ne havas sciigojn. Interagu kun aliaj por komenci konversacion.", "empty_column.public": "Estas nenio ĉi tie! Publike skribu ion, aŭ mane sekvu uzantojn de aliaj serviloj por plenigi la publikan tempolinion", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Rajtigi", "follow_request.reject": "Rifuzi", "getting_started.developers": "Programistoj", @@ -152,13 +151,13 @@ "hashtag.column_settings.tag_mode.all": "Ĉiuj", "hashtag.column_settings.tag_mode.any": "Iu ajn", "hashtag.column_settings.tag_mode.none": "Neniu", - "hashtag.column_settings.tag_toggle": "Include additional tags in this column", + "hashtag.column_settings.tag_toggle": "Inkluzivi pluajn etikedojn por ĉi tiu kolumno", "home.column_settings.basic": "Bazaj agordoj", "home.column_settings.show_reblogs": "Montri diskonigojn", "home.column_settings.show_replies": "Montri respondojn", "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}}", + "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}", "introduction.federation.action": "Sekva", "introduction.federation.federated.headline": "Federated", "introduction.federation.federated.text": "Publikaj mesaĝoj el aliaj serviloj de la Fediverse aperos en la fratara tempolinio.", @@ -248,6 +247,7 @@ "notification.favourite": "{name} stelumis vian mesaĝon", "notification.follow": "{name} eksekvis vin", "notification.mention": "{name} menciis vin", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} diskonigis vian mesaĝon", "notifications.clear": "Forviŝi sciigojn", "notifications.clear_confirmation": "Ĉu vi certas, ke vi volas porĉiame forviŝi ĉiujn viajn sciigojn?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Montri", "notifications.column_settings.follow": "Novaj sekvantoj:", "notifications.column_settings.mention": "Mencioj:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Puŝsciigoj", "notifications.column_settings.reblog": "Diskonigoj:", "notifications.column_settings.show": "Montri en kolumno", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Stelumoj", "notifications.filter.follows": "Sekvoj", "notifications.filter.mentions": "Mencioj", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} sciigoj", "poll.closed": "Finita", "poll.refresh": "Aktualigi", @@ -308,7 +310,6 @@ "search_results.hashtags": "Kradvortoj", "search_results.statuses": "Mesaĝoj", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezultoj}}", - "standalone.public_title": "Enrigardo…", "status.admin_account": "Malfermi la kontrolan interfacon por @{name}", "status.admin_status": "Malfermi ĉi tiun mesaĝon en la kontrola interfaco", "status.block": "Bloki @{name}", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index bf20e5f9d..82cb1a00a 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -1,6 +1,6 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", - "account.badges.bot": "Bot", + "account.add_or_remove_from_list": "Agregar o Quitar listas", + "account.badges.bot": "Robot", "account.block": "Bloquear", "account.block_domain": "Ocultar todo de {domain}", "account.blocked": "Bloqueado", @@ -16,8 +16,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": "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.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.media": "Media", "account.mention": "Mencionar a @{name}", "account.moved_to": "{name} se ha mudado a:", @@ -38,7 +38,7 @@ "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": "Oops!", + "alert.unexpected.title": "¡Oups!", "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 +73,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": "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.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.publish": "Tootear", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Material marcado como sensible", @@ -97,8 +97,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": "Reply", - "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", + "confirmations.reply.confirm": "Responder", + "confirmations.reply.message": "Responder ahora sobrescribirá el mensaje que está escribiendo. ¿Realmente quieres continuar?", "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 +117,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 toots here!", + "empty_column.account_timeline": "¡No hay toot aquí!", "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,50 +132,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í! Escribe algo públicamente, o sigue usuarios de otras instancias manualmente para llenarlo", - "error_boundary.it_crashed": "It crashed!", + "empty_column.public": "¡No hay nada aquí! Escribir algo públicamente, o seguir manualmente a personas de otras instancias para rellenarlo", "follow_request.authorize": "Autorizar", "follow_request.reject": "Rechazar", "getting_started.developers": "Desarrolladores", - "getting_started.directory": "Profile directory", + "getting_started.directory": "Directorio de perfiles", "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": "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", + "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", "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 {# 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", + "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", "introduction.federation.federated.headline": "Federated", - "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.", + "introduction.federation.federated.text": "Los mensajes públicos de otras instancias del fediverso aparecerán en la historia pública global.", "introduction.federation.home.headline": "Home", - "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!", + "introduction.federation.home.text": "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.local.headline": "Local", - "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.", + "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.", "keyboard_shortcuts.back": "volver atrás", "keyboard_shortcuts.blocked": "abrir una lista de usuarios bloqueados", "keyboard_shortcuts.boost": "retootear", @@ -214,7 +213,7 @@ "lists.account.remove": "Quitar de lista", "lists.delete": "Delete list", "lists.edit": "Editar lista", - "lists.edit.submit": "Change title", + "lists.edit.submit": "Cambiar el título", "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", @@ -248,32 +247,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.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": "Display all categories", - "notifications.column_settings.filter_bar.category": "Quick filter bar", - "notifications.column_settings.filter_bar.show": "Show", + "notifications.column_settings.filter_bar.advanced": "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.follow": "Nuevos seguidores:", "notifications.column_settings.mention": "Menciones:", + "notifications.column_settings.poll": "Resultados de la encuesta:", "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": "All", - "notifications.filter.boosts": "Boosts", - "notifications.filter.favourites": "Favourites", - "notifications.filter.follows": "Follows", - "notifications.filter.mentions": "Mentions", + "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.group": "{count} notificaciones", - "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", + "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", "privacy.change": "Ajustar privacidad", "privacy.direct.long": "Sólo mostrar a los usuarios mencionados", "privacy.direct.short": "Directo", @@ -293,7 +295,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 se enviará a los moderadores de tu instancia. Puedes proporcionar una explicación de por qué informas sobre esta cuenta a continuació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.placeholder": "Comentarios adicionales", "report.submit": "Publicar", "report.target": "Reportando", @@ -308,13 +310,12 @@ "search_results.hashtags": "Etiquetas", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", - "standalone.public_title": "Un pequeño vistazo...", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Abrir la interfaz de moderación para @{name}", + "status.admin_status": "Abrir este estatuto en la interfaz de moderación", "status.block": "Block @{name}", "status.cancel_reblog_private": "Des-impulsar", "status.cannot_reblog": "Este toot no puede retootearse", - "status.copy": "Copy link to status", + "status.copy": "Copiar el enlace al piojo", "status.delete": "Borrar", "status.detailed_status": "Vista de conversación detallada", "status.direct": "Mensaje directo a @{name}", @@ -330,7 +331,7 @@ "status.open": "Expandir estado", "status.pin": "Fijar", "status.pinned": "Toot fijado", - "status.read_more": "Read more", + "status.read_more": "Para saber más", "status.reblog": "Retootear", "status.reblog_private": "Implusar a la audiencia original", "status.reblogged_by": "Retooteado por {name}", @@ -346,29 +347,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": "Show thread", + "status.show_thread": "Mostrar la conversación", "status.unmute_conversation": "Dejar de silenciar conversación", "status.unpin": "Dejar de fijar", - "suggestions.dismiss": "Dismiss suggestion", - "suggestions.header": "You might be interested in…", + "suggestions.dismiss": "Rechazar la sugerencia", + "suggestions.header": "Usted puede estar interesado en…", "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 {# 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", + "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", "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": "File upload limit exceeded.", - "upload_error.poll": "File upload not allowed with polls.", + "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_form.description": "Describir para los usuarios con dificultad visual", - "upload_form.focus": "Recortar", + "upload_form.focus": "Modificar la vista previa", "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 0915ee6cc..089f7e9ca 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Ez duzu erabiltzailerik mututu oraindik.", "empty_column.notifications": "Ez duzu jakinarazpenik oraindik. Jarri besteekin harremanetan elkarrizketa abiatzeko.", "empty_column.public": "Ez dago ezer hemen! Idatzi zerbait publikoki edo jarraitu eskuz beste zerbitzari batzuetako erabiltzaileak hau betetzen joateko", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Baimendu", "follow_request.reject": "Ukatu", "getting_started.developers": "Garatzaileak", @@ -248,6 +247,7 @@ "notification.favourite": "{name}(e)k zure mezua gogoko du", "notification.follow": "{name}(e)k jarraitzen zaitu", "notification.mention": "{name}(e)k aipatu zaitu", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name}(e)k bultzada eman dio zure mezuari", "notifications.clear": "Garbitu jakinarazpenak", "notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Erakutsi", "notifications.column_settings.follow": "Jarraitzaile berriak:", "notifications.column_settings.mention": "Aipamenak:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push jakinarazpenak", "notifications.column_settings.reblog": "Bultzadak:", "notifications.column_settings.show": "Erakutsi zutabean", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Gogokoak", "notifications.filter.follows": "Jarraipenak", "notifications.filter.mentions": "Aipamenak", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} jakinarazpen", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Traolak", "search_results.statuses": "Toot-ak", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "Begiradatxo bat...", "status.admin_account": "Ireki @{name} erabiltzailearen moderazio interfazea", "status.admin_status": "Ireki mezu hau moderazio interfazean", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index e4003d6a0..f1458ae48 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -73,10 +73,10 @@ "compose_form.lock_disclaimer": "حساب شما {locked} نیست. هر کسی می‌تواند پیگیر شما شود و نوشته‌های ویژهٔ پیگیران شما را ببیند.", "compose_form.lock_disclaimer.lock": "قفل", "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.poll.add_option": "افزودن گزینه", + "compose_form.poll.duration": "مدت نظرسنجی", + "compose_form.poll.option_placeholder": "گزینهٔ {number}", + "compose_form.poll.remove_option": "حذف این گزینه", "compose_form.publish": "بوق", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "این تصویر به عنوان حساس علامت‌گذاری شده", @@ -133,7 +133,6 @@ "empty_column.mutes": "شما هنوز هیچ کاربری را بی‌صدا نکرده‌اید.", "empty_column.notifications": "هنوز هیچ اعلانی ندارید. به نوشته‌های دیگران واکنش نشان دهید تا گفتگو آغاز شود.", "empty_column.public": "این‌جا هنوز چیزی نیست! خودتان چیزی بنویسید یا کاربران سرورهای دیگر را پی بگیرید تا این‌جا پر شود", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "اجازه دهید", "follow_request.reject": "اجازه ندهید", "getting_started.developers": "برای برنامه‌نویسان", @@ -156,9 +155,9 @@ "home.column_settings.basic": "اصلی", "home.column_settings.show_reblogs": "نمایش بازبوق‌ها", "home.column_settings.show_replies": "نمایش پاسخ‌ها", - "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}}", + "intervals.full.days": "{number, plural, one {# روز} other {# روز}}", + "intervals.full.hours": "{number, plural, one {# ساعت} other {# ساعت}}", + "intervals.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}}", "introduction.federation.action": "بعدی", "introduction.federation.federated.headline": "فهرست همهٔ سرورها", "introduction.federation.federated.text": "نوشته‌های عمومی سرورهای دیگر در این فهرست نمایش می‌یابند.", @@ -248,6 +247,7 @@ "notification.favourite": "‫{name}‬ نوشتهٔ شما را پسندید", "notification.follow": "‫{name}‬ پیگیر شما شد", "notification.mention": "‫{name}‬ از شما نام برد", + "notification.poll": "نظرسنجی‌ای که در آن رأی دادید به پایان رسیده است", "notification.reblog": "‫{name}‬ نوشتهٔ شما را بازبوقید", "notifications.clear": "پاک‌کردن اعلان‌ها", "notifications.clear_confirmation": "واقعاً می‌خواهید همهٔ اعلان‌هایتان را برای همیشه پاک کنید؟", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "نمایش", "notifications.column_settings.follow": "پیگیران تازه:", "notifications.column_settings.mention": "نام‌بردن‌ها:", + "notifications.column_settings.poll": "نتایج نظرسنجی:", "notifications.column_settings.push": "اعلان‌ها از سمت سرور", "notifications.column_settings.reblog": "بازبوق‌ها:", "notifications.column_settings.show": "نمایش در ستون", @@ -267,13 +268,14 @@ "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": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "افزودن نظرسنجی", + "poll_button.remove_poll": "حذف نظرسنجی", "privacy.change": "تنظیم حریم خصوصی نوشته‌ها", "privacy.direct.long": "تنها به کاربران نام‌برده‌شده نشان بده", "privacy.direct.short": "مستقیم", @@ -308,7 +310,6 @@ "search_results.hashtags": "هشتگ‌ها", "search_results.statuses": "بوق‌ها", "search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}", - "standalone.public_title": "نگاهی به کاربران این سرور...", "status.admin_account": "محیط مدیریت مربوط به @{name} را باز کن", "status.admin_status": "این نوشته را در محیط مدیریت باز کن", "status.block": "مسدودسازی @{name}", @@ -356,19 +357,19 @@ "tabs_bar.local_timeline": "محلی", "tabs_bar.notifications": "اعلان‌ها", "tabs_bar.search": "جستجو", - "time_remaining.days": "{number, plural, one {# روز} other {# روز}} left", - "time_remaining.hours": "{number, plural, one {# ساعت} other {# ساعت}} left", - "time_remaining.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}} left", + "time_remaining.days": "{number, plural, one {# روز} other {# روز}} باقی مانده", + "time_remaining.hours": "{number, plural, one {# ساعت} other {# ساعت}} باقی مانده", + "time_remaining.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}} باقی مانده", "time_remaining.moments": "زمان باقی‌مانده", - "time_remaining.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} left", + "time_remaining.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} باقی مانده", "trends.count_by_accounts": "{count} {rawCount, plural, one {نفر نوشته است} other {نفر نوشته‌اند}}", "ui.beforeunload": "اگر از ماستدون خارج شوید پیش‌نویس شما پاک خواهد شد.", "upload_area.title": "برای بارگذاری به این‌جا بکشید", "upload_button.label": "افزودن عکس و ویدیو (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "از حد مجاز باگذاری فراتر رفتید.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.poll": "باگذاری پرونده در نظرسنجی‌ها ممکن نیست.", "upload_form.description": "نوشتهٔ توضیحی برای کم‌بینایان و نابینایان", - "upload_form.focus": "بریدن لبه‌ها", + "upload_form.focus": "تغییر پیش‌نمایش", "upload_form.undo": "حذف", "upload_progress.label": "بارگذاری...", "video.close": "بستن ویدیو", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 9949d741e..764bcf979 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Et ole mykistänyt vielä yhtään käyttäjää.", "empty_column.notifications": "Sinulle ei ole vielä ilmoituksia. Aloita keskustelu juttelemalla muille.", "empty_column.public": "Täällä ei ole mitään! Saat sisältöä, kun kirjoitat jotain julkisesti tai käyt seuraamassa muiden instanssien käyttäjiä", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Valtuuta", "follow_request.reject": "Hylkää", "getting_started.developers": "Kehittäjille", @@ -248,6 +247,7 @@ "notification.favourite": "{name} tykkäsi tilastasi", "notification.follow": "{name} seurasi sinua", "notification.mention": "{name} mainitsi sinut", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} buustasi tilaasi", "notifications.clear": "Tyhjennä ilmoitukset", "notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Uudet seuraajat:", "notifications.column_settings.mention": "Maininnat:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push-ilmoitukset", "notifications.column_settings.reblog": "Buustit:", "notifications.column_settings.show": "Näytä sarakkeessa", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtagit", "search_results.statuses": "Tuuttaukset", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "Kurkistus sisälle...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Estä @{name}", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index b257a16b9..f97073967 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -1,5 +1,5 @@ { - "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}", @@ -8,7 +8,7 @@ "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": "Figure sur le profil", + "account.endorse": "Épingler 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 +16,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 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.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.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": "Silencé", + "account.muted": "En sourdine", "account.posts": "Pouets", "account.posts_with_replies": "Pouets et réponses", "account.report": "Signaler @{name}", @@ -39,7 +39,7 @@ "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 +67,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. Cependant, l’administration de votre instance et des instances réceptrices pourront inspecter ce message.", + "compose_form.direct_message_warning": "Ce pouet sera uniquement envoyé aux personnes mentionnées.", "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": "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.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.publish": "Pouet", "compose_form.publish_loud": "{publish} !", "compose_form.sensitive.marked": "Média marqué comme sensible", @@ -90,9 +90,9 @@ "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 supprimer définitivement cette liste ?", + "confirmations.delete_list.message": "Êtes-vous sûr·e de vouloir définitivement supprimer 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 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 vos 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 +103,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és", - "emoji_button.custom": "Personnalisés", + "emoji_button.activity": "Activité", + "emoji_button.custom": "Personnalisé", "emoji_button.flags": "Drapeaux", "emoji_button.food": "Nourriture & Boisson", "emoji_button.label": "Insérer un émoji", "emoji_button.nature": "Nature", "emoji_button.not_found": "Pas d’émoji !! (╯°□°)╯︵ ┻━┻", "emoji_button.objects": "Objets", - "emoji_button.people": "Personnages", + "emoji_button.people": "Personnes", "emoji_button.recent": "Fréquemment utilisés", "emoji_button.search": "Recherche…", "emoji_button.search_results": "Résultats de la recherche", @@ -122,7 +122,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 favoris pour le moment. Lorsque vous en mettrez un en favori, il apparaîtra ici.", + "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.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.", @@ -133,7 +133,6 @@ "empty_column.mutes": "Vous n’avez pas encore mis d'utilisateur·rice·s en silence.", "empty_column.notifications": "Vous n’avez pas encore de notification. Interagissez avec d’autres personnes pour débuter la conversation.", "empty_column.public": "Il n’y a rien ici ! Écrivez quelque chose publiquement, ou bien suivez manuellement des personnes d’autres instances pour remplir le fil public", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Accepter", "follow_request.reject": "Rejeter", "getting_started.developers": "Développeur·euse·s", @@ -156,8 +155,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 {# day} other {# days}}", - "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", + "intervals.full.days": "{number, plural, one {# jour} other {# jours}}", + "intervals.full.hours": "{number, plural, one {# heure} other {# heures}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Suivant", "introduction.federation.federated.headline": "Fil public global", @@ -175,7 +174,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é de serveurs. Mais ce serveur, {domain}, est spécial - il 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é d'instances. Mais cette instance, {domain}, est spécial - elle 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", @@ -248,6 +247,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.reblog": "{name} a partagé votre statut :", "notifications.clear": "Nettoyer les notifications", "notifications.clear_confirmation": "Voulez-vous vraiment supprimer toutes vos notifications ?", @@ -258,6 +258,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.push": "Notifications", "notifications.column_settings.reblog": "Partages :", "notifications.column_settings.show": "Afficher dans la colonne", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Favoris", "notifications.filter.follows": "Abonné·e·s", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Résultats du sondage", "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": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Créer un sondage", + "poll_button.remove_poll": "Retirer le sondage", "privacy.change": "Ajuster la confidentialité du message", "privacy.direct.long": "N’envoyer qu’aux personnes mentionnées", "privacy.direct.short": "Direct", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Pouets", "search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}", - "standalone.public_title": "Un aperçu…", "status.admin_account": "Ouvrir l'interface de modération pour @{name}", "status.admin_status": "Ouvrir ce statut dans l'interface de modération", "status.block": "Bloquer @{name}", @@ -366,7 +367,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": "File upload not allowed with polls.", + "upload_error.poll": "L'envoi de fichiers n'est pas autorisé avec les sondages.", "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 83adc563f..768cb7a5c 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Non acalou ningunha usuaria polo de agora.", "empty_column.notifications": "Aínda non ten notificacións. Interactúe con outras para iniciar unha conversa.", "empty_column.public": "Nada por aquí! Escriba algo de xeito público, ou siga manualmente usuarias de outros servidores para ir enchéndoa", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizar", "follow_request.reject": "Rexeitar", "getting_started.developers": "Desenvolvedoras", @@ -152,13 +151,13 @@ "hashtag.column_settings.tag_mode.all": "Todos estos", "hashtag.column_settings.tag_mode.any": "Calquera de estos", "hashtag.column_settings.tag_mode.none": "Ningún de estos", - "hashtag.column_settings.tag_toggle": "Include additional tags in this column", + "hashtag.column_settings.tag_toggle": "Incluír etiquetas adicionais para esta columna", "home.column_settings.basic": "Básico", "home.column_settings.show_reblogs": "Mostrar repeticións", "home.column_settings.show_replies": "Mostrar respostas", "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}}", + "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutos}}", "introduction.federation.action": "Seguinte", "introduction.federation.federated.headline": "Federated", "introduction.federation.federated.text": "Publicacións públicas desde outros servidores do fediverso aparecerán na liña temporal federada.", @@ -248,6 +247,7 @@ "notification.favourite": "{name} marcou como favorito o seu estado", "notification.follow": "{name} está a seguila", "notification.mention": "{name} mencionoute", + "notification.poll": "Unha sondaxe na que votou xa rematou", "notification.reblog": "{name} promoveu o seu estado", "notifications.clear": "Limpar notificacións", "notifications.clear_confirmation": "Estás seguro de que queres limpar permanentemente todas as túas notificacións?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Mostrar", "notifications.column_settings.follow": "Novos seguidores:", "notifications.column_settings.mention": "Mencións:", + "notifications.column_settings.poll": "Resultados da sondaxe:", "notifications.column_settings.push": "Enviar notificacións", "notifications.column_settings.reblog": "Promocións:", "notifications.column_settings.show": "Mostrar en columna", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favoritos", "notifications.filter.follows": "Seguimentos", "notifications.filter.mentions": "Mencións", + "notifications.filter.polls": "Resultados da sondaxe", "notifications.group": "{count} notificacións", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Etiquetas", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count,plural,one {result} outros {results}}", - "standalone.public_title": "Ollada dentro...", "status.admin_account": "Abrir interface de moderación para @{name}", "status.admin_status": "Abrir este estado na interface de moderación", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 07d2a9c34..9e5cf84b1 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב.", "empty_column.public": "אין פה כלום! כדי למלא את הטור הזה אפשר לכתוב משהו, או להתחיל לעקוב אחרי אנשים מקהילות אחרות", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "קבלה", "follow_request.reject": "דחיה", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "חצרוצך חובב על ידי {name}", "notification.follow": "{name} במעקב אחרייך", "notification.mention": "אוזכרת על ידי {name}", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "חצרוצך הודהד על ידי {name}", "notifications.clear": "הסרת התראות", "notifications.clear_confirmation": "להסיר את כל ההתראות? בטוח?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "עוקבים חדשים:", "notifications.column_settings.mention": "פניות:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "הודעות בדחיפה", "notifications.column_settings.reblog": "הדהודים:", "notifications.column_settings.show": "הצגה בטור", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {תוצאה} other {תוצאות}}", - "standalone.public_title": "הצצה פנימה...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index 0312da592..fce6c7158 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Još nemaš notifikacija. Komuniciraj sa drugima kako bi započeo razgovor.", "empty_column.public": "Ovdje nema ništa! Napiši nešto javno, ili ručno slijedi korisnike sa drugih instanci kako bi popunio", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autoriziraj", "follow_request.reject": "Odbij", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} je lajkao tvoj status", "notification.follow": "{name} te sada slijedi", "notification.mention": "{name} te je spomenuo", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} je podigao tvoj status", "notifications.clear": "Očisti notifikacije", "notifications.clear_confirmation": "Želiš li zaista obrisati sve svoje notifikacije?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Novi sljedbenici:", "notifications.column_settings.mention": "Spominjanja:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Boostovi:", "notifications.column_settings.show": "Prikaži u stupcu", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 20b21be73..73c7af2b5 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Jelenleg nincsenek értesítései. Lépj kapcsolatba másokkal, hogy indítsd el a beszélgetést.", "empty_column.public": "Jelenleg semmi nincs itt! Írj valamit publikusan vagy kövess más szervereken levő felhasználókat, hogy megtöltsd", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Engedélyez", "follow_request.reject": "Visszautasít", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} kedvencnek jelölte az állapotod", "notification.follow": "{name} követ téged", "notification.mention": "{name} megemlített", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} rebloggolta az állapotod", "notifications.clear": "Értesítések törlése", "notifications.clear_confirmation": "Biztos benne, hogy véglegesen törölni akarja az összes értesítését?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Új követők:", "notifications.column_settings.mention": "Megemítéseim:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push értesítések", "notifications.column_settings.reblog": "Rebloggolások:", "notifications.column_settings.show": "Oszlopban mutatás", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "Betekintés...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index b96d9499e..12a987b3f 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Ոչ մի ծանուցում դեռ չունես։ Բզիր մյուսներին՝ խոսակցությունը սկսելու համար։", "empty_column.public": "Այստեղ բան չկա՛։ Հրապարակային մի բան գրիր կամ հետեւիր այլ հանգույցներից էակների՝ այն լցնելու համար։", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Վավերացնել", "follow_request.reject": "Մերժել", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} հավանեց թութդ", "notification.follow": "{name} սկսեց հետեւել քեզ", "notification.mention": "{name} նշեց քեզ", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} տարածեց թութդ", "notifications.clear": "Մաքրել ծանուցումները", "notifications.clear_confirmation": "Վստա՞հ ես, որ ուզում ես մշտապես մաքրել քո բոլոր ծանուցումները։", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Նոր հետեւողներ՝", "notifications.column_settings.mention": "Նշումներ՝", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Հրելու ծանուցումներ", "notifications.column_settings.reblog": "Տարածածներից՝", "notifications.column_settings.show": "Ցուցադրել սյունում", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "Այս պահին…", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Արգելափակել @{name}֊ին", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index 2b00ece08..d6311be80 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Anda tidak memiliki notifikasi apapun. Berinteraksi dengan orang lain untuk memulai percakapan.", "empty_column.public": "Tidak ada apapun disini! Tulis sesuatu, atau ikuti pengguna lain dari server lain untuk mengisi ini", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Izinkan", "follow_request.reject": "Tolak", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} menyukai status anda", "notification.follow": "{name} mengikuti anda", "notification.mention": "{name} mentioned you", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} mem-boost status anda", "notifications.clear": "Hapus notifikasi", "notifications.clear_confirmation": "Apa anda yakin hendak menghapus semua notifikasi anda?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Pengikut baru:", "notifications.column_settings.mention": "Balasan:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Boost:", "notifications.column_settings.show": "Tampilkan dalam kolom", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {hasil} other {hasil}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 7e0e5563c..a35c929e6 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Tu havas ankore nula savigo. Komunikez kun altri por debutar la konverso.", "empty_column.public": "Esas nulo hike! Skribez ulo publike, o manuale sequez uzeri de altra instaluri por plenigar ol.", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Yurizar", "follow_request.reject": "Refuzar", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} favorizis tua mesajo", "notification.follow": "{name} sequeskis tu", "notification.mention": "{name} mencionis tu", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} repetis tua mesajo", "notifications.clear": "Efacar savigi", "notifications.clear_confirmation": "Ka tu esas certa, ke tu volas efacar omna tua savigi?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Nova sequanti:", "notifications.column_settings.mention": "Mencioni:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Repeti:", "notifications.column_settings.show": "Montrar en kolumno", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezulti}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index e4cd96475..1f6af0574 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -73,10 +73,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": "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.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.publish": "Toot", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Questo media è contrassegnato come sensibile", @@ -133,7 +133,6 @@ "empty_column.mutes": "Non hai ancora silenziato nessun utente.", "empty_column.notifications": "Non hai ancora nessuna notifica. Interagisci con altri per iniziare conversazioni.", "empty_column.public": "Qui non c'è nulla! Scrivi qualcosa pubblicamente, o aggiungi utenti da altri server per riempire questo spazio", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizza", "follow_request.reject": "Rifiuta", "getting_started.developers": "Sviluppatori", @@ -152,13 +151,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": "Include additional tags in this column", + "hashtag.column_settings.tag_toggle": "Includi tag aggiuntivi in questa colonna", "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 {# day} other {# days}}", - "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", - "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", + "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}}", "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.", @@ -248,6 +247,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.reblog": "{name} ha condiviso il tuo post", "notifications.clear": "Cancella notifiche", "notifications.clear_confirmation": "Vuoi davvero cancellare tutte le notifiche?", @@ -258,6 +258,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.push": "Notifiche push", "notifications.column_settings.reblog": "Post condivisi:", "notifications.column_settings.show": "Mostra in colonna", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Apprezzati", "notifications.filter.follows": "Seguaci", "notifications.filter.mentions": "Menzioni", + "notifications.filter.polls": "Risultati di sondaggi", "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": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Crea un sondaggio", + "poll_button.remove_poll": "Elimina sondaggio", "privacy.change": "Modifica privacy del post", "privacy.direct.long": "Invia solo a utenti menzionati", "privacy.direct.short": "Diretto", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtag", "search_results.statuses": "Toot", "search_results.total": "{count} {count, plural, one {risultato} other {risultati}}", - "standalone.public_title": "Un'occhiata all'interno...", "status.admin_account": "Apri interfaccia di moderazione per @{name}", "status.admin_status": "Apri questo status nell'interfaccia di moderazione", "status.block": "Blocca @{name}", @@ -366,7 +367,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": "File upload not allowed with polls.", + "upload_error.poll": "Nei sondaggi non è permesso il caricamento di file.", "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 117ec6332..085c3d72f 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -74,7 +74,7 @@ "compose_form.lock_disclaimer.lock": "承認制", "compose_form.placeholder": "今なにしてる?", "compose_form.poll.add_option": "Add a choice", - "compose_form.poll.duration": "Poll duration", + "compose_form.poll.duration": "投票期間", "compose_form.poll.option_placeholder": "Choice {number}", "compose_form.poll.remove_option": "Remove this choice", "compose_form.publish": "トゥート", @@ -157,7 +157,7 @@ "home.column_settings.show_replies": "返信表示", "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}}", + "intervals.full.minutes": "{number}分", "introduction.federation.action": "次へ", "introduction.federation.federated.headline": "連合タイムライン", "introduction.federation.federated.text": "Fediverseの他のサーバーからの公開投稿は連合タイムラインに表示されます。", @@ -247,6 +247,7 @@ "notification.favourite": "{name}さんがあなたのトゥートをお気に入りに登録しました", "notification.follow": "{name}さんにフォローされました", "notification.mention": "{name}さんがあなたに返信しました", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name}さんがあなたのトゥートをブーストしました", "notifications.clear": "通知を消去", "notifications.clear_confirmation": "本当に通知を消去しますか?", @@ -257,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "表示", "notifications.column_settings.follow": "新しいフォロワー:", "notifications.column_settings.mention": "返信:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "プッシュ通知", "notifications.column_settings.reblog": "ブースト:", "notifications.column_settings.show": "カラムに表示", @@ -266,13 +268,14 @@ "notifications.filter.favourites": "お気に入り", "notifications.filter.follows": "フォロー", "notifications.filter.mentions": "返信", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} 件の通知", "poll.closed": "終了", "poll.refresh": "更新", - "poll.total_votes": "{count, plural, one {# 票} other {# 票}}", + "poll.total_votes": "{count}票", "poll.vote": "Vote", "poll_button.add_poll": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.remove_poll": "投票を削除", "privacy.change": "公開範囲を変更", "privacy.direct.long": "メンションしたユーザーだけに公開", "privacy.direct.short": "ダイレクト", @@ -354,19 +357,19 @@ "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 {# 分}}", + "time_remaining.days": "残り{number}日", + "time_remaining.hours": "残り{number}時間", + "time_remaining.minutes": "残り{number}分", "time_remaining.moments": "まもなく終了", - "time_remaining.seconds": "残り {number, plural, one {# 秒} other {# 秒}}", - "trends.count_by_accounts": "{count} {rawCount, plural, one {人} other {人}} がトゥート", + "time_remaining.seconds": "残り{number}秒", + "trends.count_by_accounts": "{count}人がトゥート", "ui.beforeunload": "Mastodonから離れると送信前の投稿は失われます。", "upload_area.title": "ドラッグ&ドロップでアップロード", "upload_button.label": "メディアを追加 (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "アップロードできる上限を超えています。", "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "視覚障害者のための説明", - "upload_form.focus": "焦点", + "upload_form.focus": "プレビューを変更", "upload_form.undo": "削除", "upload_progress.label": "アップロード中...", "video.close": "動画を閉じる", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index 21afe8df3..eeb7adc9b 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "ჯერ შეტყობინებები არ გაქვთ. საუბრის დასაწყებად იურთიერთქმედეთ სხვებთან.", "empty_column.public": "აქ არაფერია! შესავსებად, დაწერეთ რაიმე ღიად ან ხელით გაჰყევით მომხმარებლებს სხვა ინსტანციებისგან", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "ავტორიზაცია", "follow_request.reject": "უარყოფა", "getting_started.developers": "დეველოპერები", @@ -248,6 +247,7 @@ "notification.favourite": "{name}-მა თქვენი სტატუსი აქცია ფავორიტად", "notification.follow": "{name} გამოგყვათ", "notification.mention": "{name}-მა გასახელათ", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name}-მა დაბუსტა თქვენი სტატუსი", "notifications.clear": "შეტყობინებების გასუფთავება", "notifications.clear_confirmation": "დარწმუნებული ხართ, გსურთ სამუდამოდ წაშალოთ ყველა თქვენი შეტყობინება?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "ახალი მიმდევრები:", "notifications.column_settings.mention": "ხსენებები:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "ფუშ შეტყობინებები", "notifications.column_settings.reblog": "ბუსტები:", "notifications.column_settings.show": "გამოჩნდეს სვეტში", @@ -267,6 +268,7 @@ "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", @@ -308,7 +310,6 @@ "search_results.hashtags": "ჰეშტეგები", "search_results.statuses": "ტუტები", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "შიდა ხედი...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "დაბლოკე @{name}", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index 034810fdd..f250812c7 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -55,7 +55,7 @@ "column.home": "Басты бет", "column.lists": "Тізімдер", "column.mutes": "Үнсіз қолданушылар", - "column.notifications": "Notifications", + "column.notifications": "Ескертпелер", "column.pins": "Жабыстырылған жазбалар", "column.public": "Жаһандық желі", "column_back_button.label": "Артқа", @@ -73,10 +73,10 @@ "compose_form.lock_disclaimer": "Аккаунтыңыз {locked} емес. Кез келген адам жазылып, сізді оқи алады.", "compose_form.lock_disclaimer.lock": "жабық", "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.poll.add_option": "Жауап қос", + "compose_form.poll.duration": "Сауалнама мерзімі", + "compose_form.poll.option_placeholder": "Жауап {number}", + "compose_form.poll.remove_option": "Бұл жауапты өшір", "compose_form.publish": "Түрт", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Медиа нәзік деп белгіленген", @@ -133,7 +133,6 @@ "empty_column.mutes": "Әзірше ешқандай үнсізге қойылған қолданушы жоқ.", "empty_column.notifications": "Әзірше ешқандай ескертпе жоқ. Басқалармен араласуды бастаңыз және пікірталастарға қатысыңыз.", "empty_column.public": "Ештеңе жоқ бұл жерде! Өзіңіз бастап жазып көріңіз немесе басқаларға жазылыңыз", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Авторизация", "follow_request.reject": "Қабылдамау", "getting_started.developers": "Жасаушылар тобы", @@ -156,8 +155,8 @@ "home.column_settings.basic": "Негізгі", "home.column_settings.show_reblogs": "Бөлісулерді көрсету", "home.column_settings.show_replies": "Жауаптарды көрсету", - "intervals.full.days": "{number, plural, one {# day} other {# days}}", - "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", + "intervals.full.days": "{number, plural, one {# күн} other {# күн}}", + "intervals.full.hours": "{number, plural, one {# сағат} other {# сағат}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Келесі", "introduction.federation.federated.headline": "Жаһандық", @@ -224,7 +223,7 @@ "missing_indicator.label": "Табылмады", "missing_indicator.sublabel": "Бұл ресурс табылмады", "mute_modal.hide_notifications": "Бұл қолданушы ескертпелерін жасырамыз ба?", - "navigation_bar.apps": "Мобиль қосымшаларMobile apps", + "navigation_bar.apps": "Мобиль қосымшалар", "navigation_bar.blocks": "Бұғатталғандар", "navigation_bar.community_timeline": "Жергілікті желі", "navigation_bar.compose": "Жаңа жазба бастау", @@ -248,6 +247,7 @@ "notification.favourite": "{name} жазбаңызды таңдаулыға қосты", "notification.follow": "{name} сізге жазылды", "notification.mention": "{name} сізді атап өтті", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} жазбаңызды бөлісті", "notifications.clear": "Ескертпелерді тазарт", "notifications.clear_confirmation": "Шынымен барлық ескертпелерді өшіресіз бе?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Көрсету", "notifications.column_settings.follow": "Жаңа оқырмандар:", "notifications.column_settings.mention": "Аталымдар:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push ескертпелер", "notifications.column_settings.reblog": "Бөлісулер:", "notifications.column_settings.show": "Бағанда көрсет", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Таңдаулылар", "notifications.filter.follows": "Жазылулар", "notifications.filter.mentions": "Аталымдар", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} ескертпе", "poll.closed": "Жабық", "poll.refresh": "Жаңарту", "poll.total_votes": "{count, plural, one {# дауыс} other {# дауыс}}", "poll.vote": "Дауыс беру", - "poll_button.add_poll": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Сауалнама қосу", + "poll_button.remove_poll": "Сауалнаманы өшіру", "privacy.change": "Құпиялылықты реттеу", "privacy.direct.long": "Аталған адамдарға ғана көрінетін жазба", "privacy.direct.short": "Тікелей", @@ -308,7 +310,6 @@ "search_results.hashtags": "Хэштегтер", "search_results.statuses": "Жазбалар", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "Ішкі көрініс...", "status.admin_account": "@{name} үшін модерация интерфейсін аш", "status.admin_status": "Бұл жазбаны модерация интерфейсінде аш", "status.block": "Бұғаттау @{name}", @@ -366,7 +367,7 @@ "upload_area.title": "Жүктеу үшін сүйреп әкеліңіз", "upload_button.label": "Медиа қосу (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "Файл жүктеу лимитінен асып кеттіңіз.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.poll": "Сауалнамамен бірге файл жүктеуге болмайды", "upload_form.description": "Көру қабілеті нашар адамдар үшін сипаттаңыз", "upload_form.focus": "Превьюді өзгерту", "upload_form.undo": "Өшіру", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index cbd68d195..6a6e21e9f 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -73,10 +73,10 @@ "compose_form.lock_disclaimer": "이 계정은 {locked}로 설정 되어 있지 않습니다. 누구나 이 계정을 팔로우 할 수 있으며, 팔로워 공개의 포스팅을 볼 수 있습니다.", "compose_form.lock_disclaimer.lock": "비공개", "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.poll.add_option": "항목 추가", + "compose_form.poll.duration": "투표 기간", + "compose_form.poll.option_placeholder": "{number}번 항목", + "compose_form.poll.remove_option": "이 항목 삭제", "compose_form.publish": "툿", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "미디어가 열람주의로 설정되어 있습니다", @@ -133,7 +133,6 @@ "empty_column.mutes": "아직 아무도 뮤트하지 않았습니다.", "empty_column.notifications": "아직 알림이 없습니다. 다른 사람과 대화를 시작해 보세요.", "empty_column.public": "여기엔 아직 아무 것도 없습니다! 공개적으로 무언가 포스팅하거나, 다른 서버의 유저를 팔로우 해서 채워보세요", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "허가", "follow_request.reject": "거부", "getting_started.developers": "개발자", @@ -152,19 +151,19 @@ "hashtag.column_settings.tag_mode.all": "모두", "hashtag.column_settings.tag_mode.any": "아무것이든", "hashtag.column_settings.tag_mode.none": "이것들을 제외하고", - "hashtag.column_settings.tag_toggle": "Include additional tags in this column", + "hashtag.column_settings.tag_toggle": "추가 해시태그를 이 컬럼에 추가합니다", "home.column_settings.basic": "기본 설정", "home.column_settings.show_reblogs": "부스트 표시", "home.column_settings.show_replies": "답글 표시", - "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}}", + "intervals.full.days": "{number} 일", + "intervals.full.hours": "{number} 시간", + "intervals.full.minutes": "{number} 분", "introduction.federation.action": "다음", - "introduction.federation.federated.headline": "Federated", + "introduction.federation.federated.headline": "연합", "introduction.federation.federated.text": "페디버스의 다른 서버의 공개 게시물이 연합 타임라인에 나타납니다.", - "introduction.federation.home.headline": "Home", + "introduction.federation.home.headline": "홈", "introduction.federation.home.text": "당신이 팔로우 하고 있는 사람의 게시물이 홈 타임라인에 나타납니다. 어느 서버에 있는 사람이라도 팔로우가 가능합니다!", - "introduction.federation.local.headline": "Local", + "introduction.federation.local.headline": "로컬", "introduction.federation.local.text": "같은 서버에 있는 공개 게시물은 로컬 타임라인에 나타납니다.", "introduction.interactions.action": "튜토리얼 마치기!", "introduction.interactions.favourite.headline": "즐겨찾기", @@ -248,6 +247,7 @@ "notification.favourite": "{name}님이 즐겨찾기 했습니다", "notification.follow": "{name}님이 나를 팔로우 했습니다", "notification.mention": "{name}님이 답글을 보냈습니다", + "notification.poll": "당신이 참여 한 투표가 종료되었습니다", "notification.reblog": "{name}님이 부스트 했습니다", "notifications.clear": "알림 지우기", "notifications.clear_confirmation": "정말로 알림을 삭제하시겠습니까?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "표시", "notifications.column_settings.follow": "새 팔로워:", "notifications.column_settings.mention": "답글:", + "notifications.column_settings.poll": "투표 결과:", "notifications.column_settings.push": "푸시 알림", "notifications.column_settings.reblog": "부스트:", "notifications.column_settings.show": "컬럼에 표시", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "즐겨찾기", "notifications.filter.follows": "팔로우", "notifications.filter.mentions": "멘션", + "notifications.filter.polls": "투표 결과", "notifications.group": "{count} 개의 알림", "poll.closed": "마감됨", "poll.refresh": "새로고침", - "poll.total_votes": "명 참여", + "poll.total_votes": "{count} 명 참여", "poll.vote": "투표", - "poll_button.add_poll": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "투표 추가", + "poll_button.remove_poll": "투표 삭제", "privacy.change": "포스트의 프라이버시 설정을 변경", "privacy.direct.long": "멘션한 사용자에게만 공개", "privacy.direct.short": "다이렉트", @@ -308,7 +310,6 @@ "search_results.hashtags": "해시태그", "search_results.statuses": "툿", "search_results.total": "{count, number}건의 결과", - "standalone.public_title": "지금 이런 이야기를 하고 있습니다…", "status.admin_account": "@{name}에 대한 모더레이션 인터페이스 열기", "status.admin_status": "모더레이션 인터페이스에서 이 게시물 열기", "status.block": "@{name} 차단", @@ -356,17 +357,17 @@ "tabs_bar.local_timeline": "로컬", "tabs_bar.notifications": "알림", "tabs_bar.search": "검색", - "time_remaining.days": "일 남음", - "time_remaining.hours": "시간 남음", - "time_remaining.minutes": "분 남음", + "time_remaining.days": "{number} 일 남음", + "time_remaining.hours": "{number} 시간 남음", + "time_remaining.minutes": "{number} 분 남음", "time_remaining.moments": "남은 시간", - "time_remaining.seconds": "초 남음", - "trends.count_by_accounts": "{count} {rawCount, plural, one {명} other {명}} 의 사람들이 말하고 있습니다", + "time_remaining.seconds": "{number} 초 남음", + "trends.count_by_accounts": "{count} 명의 사람들이 말하고 있습니다", "ui.beforeunload": "지금 나가면 저장되지 않은 항목을 잃게 됩니다.", "upload_area.title": "드래그 & 드롭으로 업로드", "upload_button.label": "미디어 추가 (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "파일 업로드 제한에 도달했습니다.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.poll": "파일 업로드는 투표와 함께 첨부할 수 없습니다.", "upload_form.description": "시각장애인을 위한 설명", "upload_form.focus": "미리보기 변경", "upload_form.undo": "삭제", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index ab784d1b4..364d3efbf 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Tu neesi nevienu apklusinājis.", "empty_column.notifications": "Tev nav paziņojumu. Iesaisties sarunās ar citiem.", "empty_column.public": "Šeit nekā nav, tukšums! Ieraksti kaut ko publiski, vai uzmeklē un seko kādam no citas instances", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizēt", "follow_request.reject": "Noraidīt", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.mention": "{name} mentioned you", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} boosted your status", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "New followers:", "notifications.column_settings.mention": "Mentions:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "Show in column", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index 9f8f797c8..d6016249d 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Authorize", "follow_request.reject": "Reject", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.mention": "{name} mentioned you", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} boosted your status", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "New followers:", "notifications.column_settings.mention": "Mentions:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "Show in column", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 84ae28037..c0724fbe6 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -73,10 +73,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": "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.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.publish": "Toot", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Media is als gevoelig gemarkeerd", @@ -133,7 +133,6 @@ "empty_column.mutes": "Jij hebt nog geen gebruikers genegeerd.", "empty_column.notifications": "Je hebt nog geen meldingen. Begin met iemand een gesprek.", "empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere servers om het te vullen", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Goedkeuren", "follow_request.reject": "Afkeuren", "getting_started.developers": "Ontwikkelaars", @@ -156,9 +155,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 {# day} other {# days}}", - "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", - "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", + "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}}", "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.", @@ -248,6 +247,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.reblog": "{name} boostte jouw toot", "notifications.clear": "Meldingen verwijderen", "notifications.clear_confirmation": "Weet je het zeker dat je al jouw meldingen wilt verwijderen?", @@ -258,6 +258,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.push": "Pushmeldingen", "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "In kolom tonen", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Favorieten", "notifications.filter.follows": "Die jij volgt", "notifications.filter.mentions": "Vermeldingen", + "notifications.filter.polls": "Pollresultaten", "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": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Poll toevoegen", + "poll_button.remove_poll": "Poll verwijderen", "privacy.change": "Zichtbaarheid toot aanpassen", "privacy.direct.long": "Alleen aan vermelde gebruikers tonen", "privacy.direct.short": "Direct", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}", - "standalone.public_title": "Een kijkje binnenin...", "status.admin_account": "Moderatie-omgeving van @{name} openen", "status.admin_status": "Deze toot in de moderatie-omgeving openen", "status.block": "Blokkeer @{name}", @@ -366,7 +367,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": "File upload not allowed with polls.", + "upload_error.poll": "Bestanden uploaden is met polls niet toegestaan.", "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 45a3d500f..8b6fbd018 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Du har ingen varsler ennå. Kommuniser med andre for å begynne samtalen.", "empty_column.public": "Det er ingenting her! Skriv noe offentlig, eller følg brukere manuelt fra andre instanser for å fylle den opp", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorisér", "follow_request.reject": "Avvis", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} likte din status", "notification.follow": "{name} fulgte deg", "notification.mention": "{name} nevnte deg", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} fremhevde din status", "notifications.clear": "Fjern varsler", "notifications.clear_confirmation": "Er du sikker på at du vil fjerne alle dine varsler permanent?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Nye følgere:", "notifications.column_settings.mention": "Nevnt:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push varsler", "notifications.column_settings.reblog": "Fremhevet:", "notifications.column_settings.show": "Vis i kolonne", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}", - "standalone.public_title": "En titt inni...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index 625cd49f0..3dc502f9a 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -73,10 +73,10 @@ "compose_form.lock_disclaimer": "Vòstre compte es pas {locked}. Tot lo monde pòt vos sègre e veire los estatuts reservats als seguidors.", "compose_form.lock_disclaimer.lock": "clavat", "compose_form.placeholder": "A de qué pensatz ?", - "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.poll.add_option": "Ajustar una causida", + "compose_form.poll.duration": "Durada del sondatge", + "compose_form.poll.option_placeholder": "Opcion {number}", + "compose_form.poll.remove_option": "Levar aquesta opcion", "compose_form.publish": "Tut", "compose_form.publish_loud": "{publish} !", "compose_form.sensitive.marked": "Lo mèdia es marcat coma sensible", @@ -133,7 +133,6 @@ "empty_column.mutes": "Encara avètz pas mes en silenci degun.", "empty_column.notifications": "Avètz pas encara de notificacions. Respondètz a qualqu’un per començar una conversacion.", "empty_column.public": "I a pas res aquí ! Escrivètz quicòm de public, o seguètz de personas d’autres servidors per garnir lo flux public", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Acceptar", "follow_request.reject": "Regetar", "getting_started.developers": "Desvelopaires", @@ -156,9 +155,9 @@ "home.column_settings.basic": "Basic", "home.column_settings.show_reblogs": "Mostrar los partatges", "home.column_settings.show_replies": "Mostrar las responsas", - "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}}", + "intervals.full.days": "{number, plural, one {# jorn} other {# jorns}}", + "intervals.full.hours": "{number, plural, one {# ora} other {# oras}}", + "intervals.full.minutes": "{number, plural, one {# minuta} other {# minutas}}", "introduction.federation.action": "Seguent", "introduction.federation.federated.headline": "Federat", "introduction.federation.federated.text": "Los tuts publics d’autres servidors del fediverse apareisseràn dins lo flux d’actualitats.", @@ -248,6 +247,7 @@ "notification.favourite": "{name} a ajustat a sos favorits", "notification.follow": "{name} vos sèc", "notification.mention": "{name} vos a mencionat", + "notification.poll": "Avètz participat a un sondatge que ven de s’acabar", "notification.reblog": "{name} a partejat vòstre estatut", "notifications.clear": "Escafar", "notifications.clear_confirmation": "Volètz vertadièrament escafar totas vòstras las notificacions ?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Mostrar", "notifications.column_settings.follow": "Nòus seguidors :", "notifications.column_settings.mention": "Mencions :", + "notifications.column_settings.poll": "Resultats del sondatge :", "notifications.column_settings.push": "Notificacions", "notifications.column_settings.reblog": "Partatges :", "notifications.column_settings.show": "Mostrar dins la colomna", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Favorits", "notifications.filter.follows": "Seguiments", "notifications.filter.mentions": "Mencions", + "notifications.filter.polls": "Resultats del sondatge", "notifications.group": "{count} notificacions", "poll.closed": "Tampat", "poll.refresh": "Actualizar", "poll.total_votes": "{count, plural, one {# vòte} other {# vòtes}}", "poll.vote": "Votar", - "poll_button.add_poll": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Ajustar un sondatge", + "poll_button.remove_poll": "Levar lo sondatge", "privacy.change": "Ajustar la confidencialitat del messatge", "privacy.direct.long": "Mostrar pas qu’a las personas mencionadas", "privacy.direct.short": "Dirècte", @@ -308,7 +310,6 @@ "search_results.hashtags": "Etiquetas", "search_results.statuses": "Tuts", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", - "standalone.public_title": "Una ulhada dedins…", "status.admin_account": "Dobrir l’interfàcia de moderacion per @{name}", "status.admin_status": "Dobrir aqueste estatut dins l’interfàcia de moderacion", "status.block": "Blocar @{name}", @@ -366,7 +367,7 @@ "upload_area.title": "Lisatz e depausatz per mandar", "upload_button.label": "Ajustar un mèdia (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "Talha maximum pels mandadís subrepassada.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.poll": "Lo mandadís de fichièr es pas autorizat pels sondatges.", "upload_form.description": "Descripcion pels mal vesents", "upload_form.focus": "Modificar l’apercebut", "upload_form.undo": "Suprimir", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 3b2015353..186884fee 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Nie wyciszyłeś(-aś) jeszcze żadnego użytkownika.", "empty_column.notifications": "Nie masz żadnych powiadomień. Rozpocznij interakcje z innymi użytkownikami.", "empty_column.public": "Tu nic nie ma! Napisz coś publicznie, lub dodaj ludzi z innych serwerów, aby to wyświetlić", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autoryzuj", "follow_request.reject": "Odrzuć", "getting_started.developers": "Dla programistów", @@ -152,7 +151,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": "Include additional tags in this column", + "hashtag.column_settings.tag_toggle": "Dołącz dodatkowe znaczniki dla tej kolumny", "home.column_settings.basic": "Podstawowe", "home.column_settings.show_reblogs": "Pokazuj podbicia", "home.column_settings.show_replies": "Pokazuj odpowiedzi", @@ -248,6 +247,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.reblog": "{name} podbił(a) Twój wpis", "notifications.clear": "Wyczyść powiadomienia", "notifications.clear_confirmation": "Czy na pewno chcesz bezpowrotnie usunąć wszystkie powiadomienia?", @@ -258,6 +258,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.push": "Powiadomienia push", "notifications.column_settings.reblog": "Podbicia:", "notifications.column_settings.show": "Pokaż w kolumnie", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Ulubione", "notifications.filter.follows": "Śledzenia", "notifications.filter.mentions": "Wspomienia", + "notifications.filter.polls": "Wyniki badania", "notifications.group": "{count, number} {count, plural, one {powiadomienie} few {powiadomienia} many {powiadomień} more {powiadomień}}", "poll.closed": "Zamknięte", "poll.refresh": "Odśwież", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtagi", "search_results.statuses": "Wpisy", "search_results.total": "{count, number} {count, plural, one {wynik} few {wyniki} many {wyników} more {wyników}}", - "standalone.public_title": "Spojrzenie w głąb…", "status.admin_account": "Otwórz interfejs moderacyjny dla @{name}", "status.admin_status": "Otwórz ten wpis w interfejsie moderacyjnym", "status.block": "Zablokuj @{name}", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 9562ce648..e3d04537f 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -73,10 +73,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": "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.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.publish": "Publicar", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Mídia está marcada como sensível", @@ -133,7 +133,6 @@ "empty_column.mutes": "Você ainda não silenciou nenhum usuário.", "empty_column.notifications": "Você ainda não possui notificações. Interaja com outros usuários para começar a conversar.", "empty_column.public": "Não há nada aqui! Escreva algo publicamente ou siga manualmente usuários de outras instâncias", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizar", "follow_request.reject": "Rejeitar", "getting_started.developers": "Desenvolvedores", @@ -147,17 +146,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": "No suggestions found", - "hashtag.column_settings.select.placeholder": "Enter hashtags…", + "hashtag.column_settings.select.no_options_message": "Nenhuma sugestão encontrada", + "hashtag.column_settings.select.placeholder": "Adicione as 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": "Include additional tags in this column", + "hashtag.column_settings.tag_toggle": "Incluir outras hashtags nessa coluna", "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 {# day} other {# days}}", - "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", + "intervals.full.days": "{number, plural, one {# dia} other {# dias}}", + "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "introduction.federation.action": "Próximo", "introduction.federation.federated.headline": "Federated", @@ -214,7 +213,7 @@ "lists.account.remove": "Remover da lista", "lists.delete": "Delete list", "lists.edit": "Editar lista", - "lists.edit.submit": "Change title", + "lists.edit.submit": "Mudar o título", "lists.new.create": "Adicionar lista", "lists.new.title_placeholder": "Novo título da lista", "lists.search": "Procurar entre as pessoas que você segue", @@ -248,6 +247,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.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,6 +258,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.push": "Enviar notificações", "notifications.column_settings.reblog": "Compartilhamento:", "notifications.column_settings.show": "Mostrar nas colunas", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Favoritos", "notifications.filter.follows": "Seguidores", "notifications.filter.mentions": "Menções", + "notifications.filter.polls": "Resultados da enquete", "notifications.group": "{count} notificações", - "poll.closed": "Closed", - "poll.refresh": "Refresh", - "poll.total_votes": "{count, plural, one {# vote} other {# votes}}", + "poll.closed": "Fechada", + "poll.refresh": "Atualizar", + "poll.total_votes": "{count, plural, one {# voto} other {# votos}}", "poll.vote": "Votar", - "poll_button.add_poll": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Adicionar uma enquete", + "poll_button.remove_poll": "Remover enquete", "privacy.change": "Ajustar a privacidade da mensagem", "privacy.direct.long": "Apenas para usuários mencionados", "privacy.direct.short": "Direta", @@ -308,13 +310,12 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", - "standalone.public_title": "Dê uma espiada...", "status.admin_account": "Abrir interface de moderação para @{name}", "status.admin_status": "Abrir esse status na interface de moderação", "status.block": "Block @{name}", "status.cancel_reblog_private": "Desfazer compartilhamento", "status.cannot_reblog": "Esta postagem não pode ser compartilhada", - "status.copy": "Copy link to status", + "status.copy": "Copiar o link para o status", "status.delete": "Excluir", "status.detailed_status": "Visão detalhada da conversa", "status.direct": "Enviar mensagem direta a @{name}", @@ -356,17 +357,17 @@ "tabs_bar.local_timeline": "Local", "tabs_bar.notifications": "Notificações", "tabs_bar.search": "Buscar", - "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", + "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", "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": "File upload limit exceeded.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.limit": "Limite de envio de arquivos excedido.", + "upload_error.poll": "Envio de arquivos não é permitido com enquetes.", "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 fa2ade697..baa12b1d1 100644 --- a/app/javascript/mastodon/locales/pt.json +++ b/app/javascript/mastodon/locales/pt.json @@ -73,10 +73,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": "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.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.publish": "Publicar", "compose_form.publish_loud": "{publicar}!", "compose_form.sensitive.marked": "Media marcado como sensível", @@ -133,7 +133,6 @@ "empty_column.mutes": "Ainda não silenciaste qualquer utilizador.", "empty_column.notifications": "Não tens notificações. Interage com outros utilizadores para iniciar uma conversa.", "empty_column.public": "Não há nada aqui! Escreve algo publicamente ou segue outros utilizadores para veres aqui os conteúdos públicos", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizar", "follow_request.reject": "Rejeitar", "getting_started.developers": "Responsáveis pelo desenvolvimento", @@ -156,9 +155,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 {# day} other {# days}}", - "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", - "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", + "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}}", "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.", @@ -248,6 +247,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.reblog": "{name} partilhou o teu post", "notifications.clear": "Limpar notificações", "notifications.clear_confirmation": "Queres mesmo limpar todas as notificações?", @@ -258,6 +258,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.push": "Notificações Push", "notifications.column_settings.reblog": "Partilhas:", "notifications.column_settings.show": "Mostrar nas colunas", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Favoritas", "notifications.filter.follows": "Seguimento", "notifications.filter.mentions": "Referências", + "notifications.filter.polls": "Resultados do inquérito", "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": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Criar um questionário", + "poll_button.remove_poll": "Excluir o questionário", "privacy.change": "Ajustar a privacidade da mensagem", "privacy.direct.long": "Apenas para utilizadores mencionados", "privacy.direct.short": "Directo", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Publicações", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", - "standalone.public_title": "Espreitar lá dentro...", "status.admin_account": "Abrir a interface de moderação para @{name}", "status.admin_status": "Abrir esta publicação na interface de moderação", "status.block": "Block @{name}", @@ -366,7 +367,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": "File upload not allowed with polls.", + "upload_error.poll": "Não se permite enviar arquivos com as pesquisas.", "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 071fbb507..add90e9d8 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Nu ai oprit nici un utilizator incă.", "empty_column.notifications": "Nu ai nici o notificare încă. Interacționează cu alții pentru a începe o conversație.", "empty_column.public": "Nu este nimci aici încă! Scrie ceva public, sau urmărește alți utilizatori din alte instanțe pentru a porni fluxul", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizează", "follow_request.reject": "Respinge", "getting_started.developers": "Dezvoltatori", @@ -248,6 +247,7 @@ "notification.favourite": "{name} a adăugat statusul tău la favorite", "notification.follow": "{name} te urmărește", "notification.mention": "{name} te-a menționat", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} a redistribuit postarea ta", "notifications.clear": "Șterge notificările", "notifications.clear_confirmation": "Ești sigur că vrei să ștergi toate notificările?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Arată", "notifications.column_settings.follow": "Noi urmăritori:", "notifications.column_settings.mention": "Mențiuni:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Notificări push", "notifications.column_settings.reblog": "Redistribuite:", "notifications.column_settings.show": "Arată în coloană", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favorite", "notifications.filter.follows": "Urmărește", "notifications.filter.mentions": "Menționări", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notificări", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtaguri", "search_results.statuses": "Postări", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "Se întâmplă acum...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Blochează @{name}", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 1e149c470..6e8d8aa8e 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Добавить или удалить из списков", "account.badges.bot": "Бот", "account.block": "Блокировать", "account.block_domain": "Блокировать все с {domain}", @@ -15,16 +15,16 @@ "account.follows": "Подписки", "account.follows.empty": "Этот пользователь ни на кого не подписан.", "account.follows_you": "Подписан(а) на Вас", - "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.hide_reblogs": "Скрыть продвижения", + "account.link_verified_on": "Владелец данной ссылки был проверен {date}", + "account.locked_info": "Статус конфиденциальности этой учетной записи заблокирован. Владелец вручную проверяет, кто может следить за ними.", "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,7 +34,7 @@ "account.unblock_domain": "Разблокировать {domain}", "account.unendorse": "Не рекомендовать в профиле", "account.unfollow": "Отписаться", - "account.unmute": "Снять глушение", + "account.unmute": "Показывать @{name}", "account.unmute_notifications": "Показывать уведомления от @{name}", "account.view_full_profile": "Показать полный профиль", "alert.unexpected.message": "Что-то пошло не так.", @@ -67,16 +67,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": "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.placeholder": "Что у тебя на уме?", + "compose_form.poll.add_option": "Добавить выбор", + "compose_form.poll.duration": "Продолжительность опроса", + "compose_form.poll.option_placeholder": "Выбор {number}", + "compose_form.poll.remove_option": "Удалить этот выбор", "compose_form.publish": "Трубить", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Медиафайлы не отмечены как чувствительные", @@ -92,13 +92,13 @@ "confirmations.delete_list.confirm": "Удалить", "confirmations.delete_list.message": "Вы действительно хотите навсегда удалить этот список?", "confirmations.domain_block.confirm": "Блокировать весь домен", - "confirmations.domain_block.message": "Вы на самом деле уверены, что хотите блокировать весь {domain}? В большинстве случаев нескольких отдельных блокировок или глушений достаточно.", + "confirmations.domain_block.message": "Ты действительно, действительно уверен, что хочешь заблокировать весь домен? В большинстве случаев достаточно и предпочтительно несколько направленных блоков или глушителей. Вы не увидите содержимое этого домена ни в каких публичных временных рамках, ни в ваших уведомлениях. Ваши последователи из этого домена будут удалены.", "confirmations.mute.confirm": "Заглушить", "confirmations.mute.message": "Вы уверены, что хотите заглушить {name}?", "confirmations.redraft.confirm": "Удалить и исправить", "confirmations.redraft.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.reply.confirm": "Ответить", + "confirmations.reply.message": "Ответ сейчас перезапишет сообщение, которое вы в данный момент создаете. Ты уверен, что хочешь продолжить?", "confirmations.unfollow.confirm": "Отписаться", "confirmations.unfollow.message": "Вы уверены, что хотите отписаться от {name}?", "embed.instructions": "Встройте этот статус на Вашем сайте, скопировав код внизу.", @@ -117,7 +117,7 @@ "emoji_button.search_results": "Результаты поиска", "emoji_button.symbols": "Символы", "emoji_button.travel": "Путешествия", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Никаких сапогов!", "empty_column.blocks": "Вы ещё никого не заблокировали.", "empty_column.community": "Локальная лента пуста. Напишите что-нибудь, чтобы разогреть народ!", "empty_column.direct": "У Вас пока нет личных сообщений. Когда Вы начнёте их отправлять или получать, они появятся здесь.", @@ -132,50 +132,49 @@ "empty_column.lists": "У Вас ещё нет списков. Все созданные Вами списки будут показаны здесь.", "empty_column.mutes": "Вы ещё никого не заглушили.", "empty_column.notifications": "У Вас еще нет уведомлений. Заведите знакомство с другими пользователями, чтобы начать разговор.", - "empty_column.public": "Здесь ничего нет! Опубликуйте что-нибудь или подпишитесь на пользователей с других узлов, чтобы заполнить ленту.", - "error_boundary.it_crashed": "It crashed!", + "empty_column.public": "Здесь ничего нет! Напишите что-нибудь публично или вручную следите за пользователями с других серверов, чтобы заполнить его", "follow_request.authorize": "Авторизовать", "follow_request.reject": "Отказать", "getting_started.developers": "Для разработчиков", - "getting_started.directory": "Profile directory", + "getting_started.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": "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", + "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": "Включить дополнительные теги для этого столбца", "home.column_settings.basic": "Основные", "home.column_settings.show_reblogs": "Показывать продвижения", "home.column_settings.show_replies": "Показывать ответы", - "intervals.full.days": "{number, plural, one {# day} other {# days}}", - "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", + "intervals.full.days": "{number, plural, one {# дни} other {# день}}", + "intervals.full.hours": "{number, plural, one {# час} other {# часы}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", - "introduction.federation.action": "Next", + "introduction.federation.action": "Следующий", "introduction.federation.federated.headline": "Federated", - "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.", + "introduction.federation.federated.text": "Публичные посты с других серверов федерации будут отображаться на шкале времени федерации.", "introduction.federation.home.headline": "Home", - "introduction.federation.home.text": "Posts from people you follow will appear in your home feed. You can follow anyone on any server!", + "introduction.federation.home.text": "Сообщения от людей, за которыми вы следите, будут появляться в вашем домашнем корме. Вы можете следовать за любым на любом сервере!", "introduction.federation.local.headline": "Local", - "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.", + "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": "Добро пожаловать во вселенную! Через несколько минут вы сможете транслировать сообщения и общаться со своими друзьями на различных серверах. Но этот сервер, {домен}, является специальным - он содержит ваш профиль, так что запомните его имя.", "keyboard_shortcuts.back": "перейти назад", "keyboard_shortcuts.blocked": "чтобы открыть список заблокированных", "keyboard_shortcuts.boost": "продвинуть пост", @@ -214,17 +213,17 @@ "lists.account.remove": "Убрать из списка", "lists.delete": "Удалить список", "lists.edit": "Изменить список", - "lists.edit.submit": "Change title", + "lists.edit.submit": "Изменить название", "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": "Mobile apps", + "navigation_bar.apps": "Мобильные приложения", "navigation_bar.blocks": "Список блокировки", "navigation_bar.community_timeline": "Локальная лента", "navigation_bar.compose": "Создать новый статус", @@ -235,8 +234,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": "Список глушения", @@ -248,32 +247,35 @@ "notification.favourite": "{name} понравился Ваш статус", "notification.follow": "{name} подписался(-лась) на Вас", "notification.mention": "{name} упомянул(а) Вас", + "notification.poll": "Опрос, за который вы проголосовали, закончился", "notification.reblog": "{name} продвинул(а) Ваш статус", "notifications.clear": "Очистить уведомления", "notifications.clear_confirmation": "Вы уверены, что хотите очистить все уведомления?", "notifications.column_settings.alert": "Десктопные уведомления", "notifications.column_settings.favourite": "Нравится:", - "notifications.column_settings.filter_bar.advanced": "Display all categories", - "notifications.column_settings.filter_bar.category": "Quick filter bar", - "notifications.column_settings.filter_bar.show": "Show", + "notifications.column_settings.filter_bar.advanced": "Показать все категории", + "notifications.column_settings.filter_bar.category": "Быстрая панель фильтрации", + "notifications.column_settings.filter_bar.show": "Показать", "notifications.column_settings.follow": "Новые подписчики:", "notifications.column_settings.mention": "Упоминания:", + "notifications.column_settings.poll": "Результаты опроса:", "notifications.column_settings.push": "Push-уведомления", "notifications.column_settings.reblog": "Продвижения:", "notifications.column_settings.show": "Показывать в колонке", "notifications.column_settings.sound": "Проигрывать звук", - "notifications.filter.all": "All", - "notifications.filter.boosts": "Boosts", - "notifications.filter.favourites": "Favourites", - "notifications.filter.follows": "Follows", - "notifications.filter.mentions": "Mentions", - "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", + "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": "Удалить опрос", "privacy.change": "Изменить видимость статуса", "privacy.direct.long": "Показать только упомянутым", "privacy.direct.short": "Направленный", @@ -293,7 +295,7 @@ "reply_indicator.cancel": "Отмена", "report.forward": "Переслать для {target}", "report.forward_hint": "Этот аккаунт расположен на другом сервере. Отправить туда анонимную копию Вашей жалобы?", - "report.hint": "Жалоба будет отправлена модераторам Вашего сервера. Вы также можете указать подробную причину жалобы ниже:", + "report.hint": "Отчет будет отправлен модераторам вашего сервера. Ниже вы можете объяснить, почему вы сообщаете об этой учетной записи:", "report.placeholder": "Комментарий", "report.submit": "Отправить", "report.target": "Жалуемся на {target}", @@ -308,13 +310,12 @@ "search_results.hashtags": "Хэштеги", "search_results.statuses": "Посты", "search_results.total": "{count, number} {count, plural, one {результат} few {результата} many {результатов} other {результатов}}", - "standalone.public_title": "Прямо сейчас", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "Откройте интерфейс модерации для @{name}", + "status.admin_status": "Откройте этот статус в интерфейсе модерации", "status.block": "Заблокировать @{name}", "status.cancel_reblog_private": "Не продвигать", "status.cannot_reblog": "Этот статус не может быть продвинут", - "status.copy": "Copy link to status", + "status.copy": "Скопировать ссылку на статус", "status.delete": "Удалить", "status.detailed_status": "Подробный просмотр обсуждения", "status.direct": "Написать @{name}", @@ -330,7 +331,7 @@ "status.open": "Развернуть статус", "status.pin": "Закрепить в профиле", "status.pinned": "Закреплённый статус", - "status.read_more": "Read more", + "status.read_more": "Подробнее", "status.reblog": "Продвинуть", "status.reblog_private": "Продвинуть для своей аудитории", "status.reblogged_by": "{name} продвинул(а)", @@ -346,30 +347,30 @@ "status.show_less_all": "Свернуть для всех", "status.show_more": "Развернуть", "status.show_more_all": "Развернуть для всех", - "status.show_thread": "Show thread", + "status.show_thread": "Показать нить", "status.unmute_conversation": "Снять глушение с треда", "status.unpin": "Открепить от профиля", - "suggestions.dismiss": "Dismiss suggestion", - "suggestions.header": "You might be interested in…", + "suggestions.dismiss": "Отказаться от предложения", + "suggestions.header": "Вам может быть интересно…", "tabs_bar.federated_timeline": "Глобальная", "tabs_bar.home": "Главная", "tabs_bar.local_timeline": "Локальная", "tabs_bar.notifications": "Уведомления", "tabs_bar.search": "Поиск", - "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", + "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сталось", "trends.count_by_accounts": "Популярно у {count} {rawCount, plural, one {человека} few {человек} many {человек} other {человек}}", "ui.beforeunload": "Ваш черновик будет утерян, если вы покинете Mastodon.", "upload_area.title": "Перетащите сюда, чтобы загрузить", - "upload_button.label": "Добавить медиаконтент", - "upload_error.limit": "File upload limit exceeded.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_button.label": "Добавить медиа (JPEG, PNG, GIF, WebM, MP4, MOV)", + "upload_error.limit": "Превышение лимита загрузки файлов.", + "upload_error.poll": "Загрузка файлов с опросами не разрешена.", "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 17b50522f..c73aed643 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -73,10 +73,10 @@ "compose_form.lock_disclaimer": "Váš účet nie je {locked}. Ktokoľvek ťa môže nasledovať a vidieť tvoje správy pre sledujúcich.", "compose_form.lock_disclaimer.lock": "zamknutý", "compose_form.placeholder": "Čo máš na mysli?", - "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.poll.add_option": "Pridaj voľbu", + "compose_form.poll.duration": "Trvanie ankety", + "compose_form.poll.option_placeholder": "Voľba {number}", + "compose_form.poll.remove_option": "Odstráň túto voľbu", "compose_form.publish": "Pošli", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Médiálny obsah je označený ako chúlostivý", @@ -133,7 +133,6 @@ "empty_column.mutes": "Ešte si nestĺmil žiadných užívateľov.", "empty_column.notifications": "Ešte nemáš žiadne oznámenia. Začni komunikovať s ostatnými, aby diskusia mohla začať.", "empty_column.public": "Ešte tu nič nie je. Napíš niečo verejne, alebo začni sledovať užívateľov z iných serverov, aby tu niečo pribudlo", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Povoľ prístup", "follow_request.reject": "Odmietni", "getting_started.developers": "Vývojári", @@ -156,9 +155,9 @@ "home.column_settings.basic": "Základné", "home.column_settings.show_reblogs": "Zobraziť povýšené", "home.column_settings.show_replies": "Ukázať odpovede", - "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}}", + "intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dni}}", + "intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodiny}}", + "intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minúty}}", "introduction.federation.action": "Ďalej", "introduction.federation.federated.headline": "Federated", "introduction.federation.federated.text": "Verejné príspevky z ostatných serverov vo fediverse budú zobrazenie vo federovanej časovej osi.", @@ -245,9 +244,10 @@ "navigation_bar.preferences": "Voľby", "navigation_bar.public_timeline": "Federovaná časová os", "navigation_bar.security": "Zabezbečenie", - "notification.favourite": "{name} sa páči tvoj status", + "notification.favourite": "{name} si obľúbil/a tvoj príspevok", "notification.follow": "{name} ťa začal/a následovať", "notification.mention": "{name} ťa spomenul/a", + "notification.poll": "Anketa v ktorej si hlasoval/a sa skončila", "notification.reblog": "{name} zdieľal/a tvoj status", "notifications.clear": "Vyčistiť zoznam notifikácii", "notifications.clear_confirmation": "Naozaj chcete nenávratne prečistiť všetky vaše notifikácie?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Ukáž", "notifications.column_settings.follow": "Noví následujúci:", "notifications.column_settings.mention": "Zmienenia:", + "notifications.column_settings.poll": "Výsledky ankiet:", "notifications.column_settings.push": "Push notifikácie", "notifications.column_settings.reblog": "Boosty:", "notifications.column_settings.show": "Zobraziť v stĺpci", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "Obľúbené", "notifications.filter.follows": "Sledovania", "notifications.filter.mentions": "Iba spomenutia", + "notifications.filter.polls": "Výsledky ankiet", "notifications.group": "{count} oboznámení", "poll.closed": "Uzatvorená", "poll.refresh": "Aktualizuj", "poll.total_votes": "{count, plural, one {# hlas} few {# hlasov} many {# hlasov} other {# hlasy}}", "poll.vote": "Hlasuj", - "poll_button.add_poll": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Pridaj anketu", + "poll_button.remove_poll": "Odstráň anketu", "privacy.change": "Uprav súkromie príspevku", "privacy.direct.long": "Pošli iba spomenutým používateľom", "privacy.direct.short": "Súkromne", @@ -308,7 +310,6 @@ "search_results.hashtags": "Haštagy", "search_results.statuses": "Príspevky", "search_results.total": "{count, number} {count, plural, one {výsledok} many {výsledkov} other {výsledky}}", - "standalone.public_title": "Náhľad dovnútra...", "status.admin_account": "Otvor moderovacie rozhranie užívateľa @{name}", "status.admin_status": "Otvor tento príspevok v moderovacom rozhraní", "status.block": "Blokovať @{name}", @@ -366,7 +367,7 @@ "upload_area.title": "Pretiahni a pusť pre nahratie", "upload_button.label": "Pridať médiálny súbor (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_error.limit": "Limit pre nahrávanie súborov bol prekročený.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.poll": "Nahrávanie súborov pri anketách nieje dovolené.", "upload_form.description": "Opis pre slabo vidiacich", "upload_form.focus": "Pozmeň náhľad", "upload_form.undo": "Vymaž", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 9ee2e5b52..a99d9d437 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Nimate še nobenih obvestil. Poveži se z drugimi, da začnete pogovor.", "empty_column.public": "Tukaj ni ničesar! Da ga napolnite, napišite nekaj javnega ali pa ročno sledite uporabnikom iz drugih vozlišč", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Odobri", "follow_request.reject": "Zavrni", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.mention": "{name} mentioned you", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} boosted your status", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "New followers:", "notifications.column_settings.mention": "Mentions:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "Show in column", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Tuti", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 498b1bdd6..8beaf1323 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -133,7 +133,6 @@ "empty_column.mutes": "S’keni heshtuar ende ndonjë përdorues.", "empty_column.notifications": "Ende s’keni ndonjë njoftim. Ndërveproni me të tjerët që të nisë biseda.", "empty_column.public": "S’ka gjë këtu! Shkruani diçka publikisht, ose ndiqni dorazi përdorues prej instancash të tjera, që ta mbushni këtë zonë", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Autorizoje", "follow_request.reject": "Hidhe tej", "getting_started.developers": "Zhvillues", @@ -248,6 +247,7 @@ "notification.favourite": "{name} parapëlqeu gjendjen tuaj", "notification.follow": "{name} zuri t’ju ndjekë", "notification.mention": "{name} ju ka përmendur", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "përforcoi gjendjen tuaj", "notifications.clear": "Pastroji njoftimet", "notifications.clear_confirmation": "Jeni i sigurt se doni të pastrohen përgjithmonë krejt njoftimet tuaja?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Shfaq", "notifications.column_settings.follow": "Ndjekës të rinj:", "notifications.column_settings.mention": "Përmendje:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Njoftime Push", "notifications.column_settings.reblog": "Përforcime:", "notifications.column_settings.show": "Shfaq në shtylla", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Të parapëlqyer", "notifications.filter.follows": "Ndjekje", "notifications.filter.mentions": "Përmendje", + "notifications.filter.polls": "Poll results", "notifications.group": "%(count)s njoftime", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtagë", "search_results.statuses": "Mesazhe", "search_results.total": "{count, number} {count, plural, një {result} {results} të tjera}", - "standalone.public_title": "Një pamje brenda…", "status.admin_account": "Hap ndërfaqe moderimi për @{name}", "status.admin_status": "Hape këtë gjendje te ndërfaqja e moderimit", "status.block": "Blloko @{name}", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index abc1df5de..ba238d83d 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Trenutno nemate obaveštenja. Družite se malo da započnete razgovore.", "empty_column.public": "Ovde nema ničega! Napišite nešto javno, ili nađite korisnike sa drugih instanci koje ćete zapratiti da popunite ovu prazninu", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Odobri", "follow_request.reject": "Odbij", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} je stavio Vaš status kao omiljeni", "notification.follow": "{name} Vas je zapratio", "notification.mention": "{name} Vas je pomenuo", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} je podržao(la) Vaš status", "notifications.clear": "Očisti obaveštenja", "notifications.clear_confirmation": "Da li ste sigurno da trajno želite da očistite Vaša obaveštenja?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Novi pratioci:", "notifications.column_settings.mention": "Pominjanja:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Guraj obaveštenja", "notifications.column_settings.reblog": "Podrški:", "notifications.column_settings.show": "Prikaži u koloni", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {rezultat} few {rezultata} other {rezultata}}", - "standalone.public_title": "Pogled iznutra...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index ac7f97c6d..4a6f992bb 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Још увек немате ућутканих корисника.", "empty_column.notifications": "Тренутно немате обавештења. Дружите се мало да започнете разговор.", "empty_column.public": "Овде нема ничега! Напишите нешто јавно, или нађите кориснике са других инстанци које ћете запратити да попуните ову празнину", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Одобри", "follow_request.reject": "Одбиј", "getting_started.developers": "Програмери", @@ -248,6 +247,7 @@ "notification.favourite": "{name} је ставио/ла Ваш статус као омиљени", "notification.follow": "{name} Вас је запратио/ла", "notification.mention": "{name} Вас је поменуо/ла", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} је подржао/ла Ваш статус", "notifications.clear": "Очисти обавештења", "notifications.clear_confirmation": "Да ли сте сигурно да трајно желите да очистите Ваша обавештења?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Нови пратиоци:", "notifications.column_settings.mention": "Помињања:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Гурај обавештења", "notifications.column_settings.reblog": "Подршки:", "notifications.column_settings.show": "Прикажи у колони", @@ -267,6 +268,7 @@ "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", @@ -308,7 +310,6 @@ "search_results.hashtags": "Тарабе", "search_results.statuses": "Трубе", "search_results.total": "{count, number} {count, plural, one {резултат} few {резултата} other {резултата}}", - "standalone.public_title": "Поглед изнутра...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Блокирај @{name}", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index cd002ee02..b00dda362 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "Du har inga meddelanden än. Interagera med andra för att starta konversationen.", "empty_column.public": "Det finns inget här! Skriv något offentligt, eller följ manuellt användarna från andra instanser för att fylla på det", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Godkänn", "follow_request.reject": "Avvisa", "getting_started.developers": "Utvecklare", @@ -248,6 +247,7 @@ "notification.favourite": "{name} favoriserade din status", "notification.follow": "{name} följer dig", "notification.mention": "{name} nämnde dig", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} knuffade din status", "notifications.clear": "Rensa meddelanden", "notifications.clear_confirmation": "Är du säker på att du vill radera alla dina meddelanden permanent?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Nya följare:", "notifications.column_settings.mention": "Omnämningar:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push meddelanden", "notifications.column_settings.reblog": "Knuffar:", "notifications.column_settings.show": "Visa i kolumnen", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} aviseringar", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, ett {result} andra {results}}", - "standalone.public_title": "En titt inuti...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index 9f8f797c8..d6016249d 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Authorize", "follow_request.reject": "Reject", "getting_started.developers": "Developers", @@ -248,6 +247,7 @@ "notification.favourite": "{name} favourited your status", "notification.follow": "{name} followed you", "notification.mention": "{name} mentioned you", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} boosted your status", "notifications.clear": "Clear notifications", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "New followers:", "notifications.column_settings.mention": "Mentions:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "Show in column", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index 02896333e..d1c77d371 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -73,10 +73,10 @@ "compose_form.lock_disclaimer": "మీ ఖాతా {locked} చేయబడలేదు. ఎవరైనా మిమ్మల్ని అనుసరించి మీ అనుచరులకు-మాత్రమే పోస్ట్లను వీక్షించవచ్చు.", "compose_form.lock_disclaimer.lock": "బిగించబడినది", "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.poll.add_option": "ఒక ఎంపికను చేర్చండి", + "compose_form.poll.duration": "ఎన్నిక వ్యవధి", + "compose_form.poll.option_placeholder": "ఎంపిక {number}", + "compose_form.poll.remove_option": "ఈ ఎంపికను తొలగించు", "compose_form.publish": "టూట్", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "మీడియా సున్నితమైనదిగా గుర్తించబడింది", @@ -132,8 +132,7 @@ "empty_column.lists": "మీకు ఇంకా జాబితాలు ఏమీ లేవు. మీరు ఒకటి సృష్టించగానే, అది ఇక్కడ కనబడుతుంది.", "empty_column.mutes": "మీరు ఇంకా ఏ వినియోగదారులనూ మ్యూట్ చేయలేదు.", "empty_column.notifications": "మీకు ఇంకా ఏ నోటిఫికేషన్లు లేవు. సంభాషణను ప్రారంభించడానికి ఇతరులతో ప్రతిస్పందించండి.", - "empty_column.public": "ఇక్కడ ఏమీ లేదు! దీన్ని నింపడానికి బహిరంగంగా ఏదైనా వ్రాయండి, లేదా ఇతర దృష్టాంతాల్లోని వినియోగదారులను అనుసరించండి", - "error_boundary.it_crashed": "It crashed!", + "empty_column.public": "ఇక్కడ ఏమీ లేదు! దీన్ని నింపడానికి బహిరంగంగా ఏదైనా వ్రాయండి, లేదా ఇతర సేవికల నుండి వినియోగదారులను అనుసరించండి", "follow_request.authorize": "అనుమతించు", "follow_request.reject": "తిరస్కరించు", "getting_started.developers": "డెవలపర్లు", @@ -152,7 +151,7 @@ "hashtag.column_settings.tag_mode.all": "ఇవన్నీ", "hashtag.column_settings.tag_mode.any": "వీటిలో ఏవైనా", "hashtag.column_settings.tag_mode.none": "ఇవేవీ కావు", - "hashtag.column_settings.tag_toggle": "Include additional tags in this column", + "hashtag.column_settings.tag_toggle": "ఈ నిలువు వరుసలో మరికొన్ని ట్యాగులను చేర్చండి", "home.column_settings.basic": "ప్రాథమిక", "home.column_settings.show_reblogs": "బూస్ట్ లను చూపించు", "home.column_settings.show_replies": "ప్రత్యుత్తరాలను చూపించు", @@ -214,7 +213,7 @@ "lists.account.remove": "జాబితా నుండి తొలగించు", "lists.delete": "జాబితాను తొలగించు", "lists.edit": "జాబితాను సవరించు", - "lists.edit.submit": "Change title", + "lists.edit.submit": "శీర్షిక మార్చు", "lists.new.create": "జాబితాను జోడించు", "lists.new.title_placeholder": "కొత్త జాబితా శీర్షిక", "lists.search": "మీరు అనుసరించే వ్యక్తులలో శోధించండి", @@ -248,6 +247,7 @@ "notification.favourite": "{name} మీ స్టేటస్ ను ఇష్టపడ్డారు", "notification.follow": "{name} మిమ్మల్ని అనుసరిస్తున్నారు", "notification.mention": "{name} మిమ్మల్ని ప్రస్తావించారు", + "notification.poll": "మీరు పాల్గొనిన ఎన్సిక ముగిసినది", "notification.reblog": "{name} మీ స్టేటస్ ను బూస్ట్ చేసారు", "notifications.clear": "ప్రకటనలను తుడిచివేయు", "notifications.clear_confirmation": "మీరు మీ అన్ని నోటిఫికేషన్లను శాశ్వతంగా తొలగించాలనుకుంటున్నారా?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "చూపించు", "notifications.column_settings.follow": "క్రొత్త అనుచరులు:", "notifications.column_settings.mention": "ప్రస్తావనలు:", + "notifications.column_settings.poll": "ఎన్నిక ఫలితాలు:", "notifications.column_settings.push": "పుష్ ప్రకటనలు", "notifications.column_settings.reblog": "బూస్ట్ లు:", "notifications.column_settings.show": "నిలువు వరుసలో చూపు", @@ -267,13 +268,14 @@ "notifications.filter.favourites": "ఇష్టాలు", "notifications.filter.follows": "అనుసరిస్తున్నవి", "notifications.filter.mentions": "పేర్కొన్నవి", + "notifications.filter.polls": "ఎన్నిక ఫలితాలు", "notifications.group": "{count} ప్రకటనలు", - "poll.closed": "Closed", - "poll.refresh": "Refresh", + "poll.closed": "మూసివేయబడినవి", + "poll.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", + "poll.vote": "ఎన్నుకోండి", + "poll_button.add_poll": "ఒక ఎన్నికను చేర్చు", + "poll_button.remove_poll": "ఎన్నికను తొలగించు", "privacy.change": "స్టేటస్ గోప్యతను సర్దుబాటు చేయండి", "privacy.direct.long": "పేర్కొన్న వినియోగదారులకు మాత్రమే పోస్ట్ చేయి", "privacy.direct.short": "ప్రత్యక్ష", @@ -293,7 +295,7 @@ "reply_indicator.cancel": "రద్దు చెయ్యి", "report.forward": "{target}కి ఫార్వార్డ్ చేయండి", "report.forward_hint": "ఖాతా మరొక సర్వర్లో ఉంది. నివేదిక యొక్క ఒక అనామకంగా ఉన్న కాపీని అక్కడికి కూడా పంపించమంటారా?", - "report.hint": "మీ దుష్టాంత మోడరేటర్లకు నివేదిక పంపబడుతుంది. దిగువ ఈ ఖాతాను ఎందుకు నివేదిస్తున్నారనేదాని వివరణను మీరు అందించవచ్చు:", + "report.hint": "మీ సేవిక మోడరేటర్లకు నివేదిక పంపబడుతుంది. ఈ ఖాతాను ఎందుకు నివేదిస్తున్నారనేదాని వివరణను మీరు దిగువన అందించవచ్చు:", "report.placeholder": "అదనపు వ్యాఖ్యలు", "report.submit": "సమర్పించండి", "report.target": "{target}పై ఫిర్యాదు చేయండి", @@ -308,13 +310,12 @@ "search_results.hashtags": "హాష్ ట్యాగ్లు", "search_results.statuses": "టూట్లు", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "లోపలికి ఒక చూపు...", "status.admin_account": "@{name} కొరకు సమన్వయ వినిమయసీమను తెరువు", "status.admin_status": "సమన్వయ వినిమయసీమలో ఈ స్టేటస్ ను తెరవండి", "status.block": "@{name} ను బ్లాక్ చేయి", "status.cancel_reblog_private": "బూస్ట్ను తొలగించు", "status.cannot_reblog": "ఈ పోస్ట్ను బూస్ట్ చేయడం సాధ్యం కాదు", - "status.copy": "Copy link to status", + "status.copy": "లంకెను స్టేటస్కు కాపీ చేయి", "status.delete": "తొలగించు", "status.detailed_status": "వివరణాత్మక సంభాషణ వీక్షణ", "status.direct": "@{name}కు నేరుగా సందేశం పంపు", @@ -359,7 +360,7 @@ "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.moments": "కొన్ని క్షణాలు మాత్రమే మిగిలి ఉన్నాయి", "time_remaining.seconds": "{number, plural, one {# second} other {# seconds}} left", "trends.count_by_accounts": "{count} {rawCount, plural, one {person} other {people}} మాట్లాడుతున్నారు", "ui.beforeunload": "మీరు మాస్టొడొన్ను వదిలివేస్తే మీ డ్రాఫ్ట్లు పోతాయి.", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 6d120ac76..35cca32f9 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -1,74 +1,74 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "เพิ่มหรือเอาออกจากรายการ", "account.badges.bot": "บอต", - "account.block": "บล็อค @{name}", + "account.block": "ปิดกั้น @{name}", "account.block_domain": "ซ่อนทุกอย่างจาก {domain}", - "account.blocked": "ถูกบล็อค", - "account.direct": "Direct Message @{name}", + "account.blocked": "ปิดกั้นอยู่", + "account.direct": "ส่งข้อความโดยตรงถึง @{name}", "account.disclaimer_full": "Information below may reflect the user's profile incompletely.", - "account.domain_blocked": "Domain hidden", - "account.edit_profile": "Edit profile", + "account.domain_blocked": "ซ่อนโดเมนอยู่", + "account.edit_profile": "แก้ไขโปรไฟล์", "account.endorse": "Feature on profile", "account.follow": "ติดตาม", "account.followers": "ผู้ติดตาม", - "account.followers.empty": "ยังไม่มีใครติดตาม", + "account.followers.empty": "ยังไม่มีใครติดตามผู้ใช้นี้", "account.follows": "ติดตาม", - "account.follows.empty": "ยังไม่ได้ติดตามใคร", + "account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร", "account.follows_you": "ติดตามคุณ", - "account.hide_reblogs": "Hide boosts from @{name}", + "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": "Media", - "account.mention": "Mention @{name}", - "account.moved_to": "{name} has moved to:", - "account.mute": "Mute @{name}", - "account.mute_notifications": "Mute notifications from @{name}", - "account.muted": "Muted", - "account.posts": "Posts", - "account.posts_with_replies": "Toots with replies", - "account.report": "Report @{name}", - "account.requested": "Awaiting approval", - "account.share": "Share @{name}'s profile", - "account.show_reblogs": "Show boosts from @{name}", - "account.unblock": "Unblock @{name}", - "account.unblock_domain": "Unhide {domain}", + "account.media": "สื่อ", + "account.mention": "กล่าวถึง @{name}", + "account.moved_to": "{name} ได้ย้ายไปยัง:", + "account.mute": "ปิดเสียง @{name}", + "account.mute_notifications": "ปิดเสียงการแจ้งเตือนจาก @{name}", + "account.muted": "ปิดเสียงอยู่", + "account.posts": "โพสต์", + "account.posts_with_replies": "โพสต์และการตอบกลับ", + "account.report": "รายงาน @{name}", + "account.requested": "กำลังรอการอนุมัติ คลิกเพื่อยกเลิกคำขอติดตาม", + "account.share": "แบ่งปันโปรไฟล์ของ @{name}", + "account.show_reblogs": "แสดงการดันจาก @{name}", + "account.unblock": "เลิกปิดกั้น @{name}", + "account.unblock_domain": "เลิกซ่อน {domain}", "account.unendorse": "Don't feature on profile", - "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!", + "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", "bundle_column_error.body": "Something went wrong while loading this component.", - "bundle_column_error.retry": "Try again", - "bundle_column_error.title": "Network error", - "bundle_modal_error.close": "Close", + "bundle_column_error.retry": "ลองอีกครั้ง", + "bundle_column_error.title": "ข้อผิดพลาดเครือข่าย", + "bundle_modal_error.close": "ปิด", "bundle_modal_error.message": "Something went wrong while loading this component.", - "bundle_modal_error.retry": "Try again", - "column.blocks": "Blocked users", - "column.community": "Local timeline", - "column.direct": "Direct messages", - "column.domain_blocks": "Hidden domains", - "column.favourites": "Favourites", - "column.follow_requests": "Follow requests", - "column.home": "Home", - "column.lists": "Lists", - "column.mutes": "Muted users", - "column.notifications": "Notifications", - "column.pins": "Pinned toot", - "column.public": "Federated timeline", - "column_back_button.label": "Back", - "column_header.hide_settings": "Hide settings", - "column_header.moveLeft_settings": "Move column to the left", - "column_header.moveRight_settings": "Move column to the right", - "column_header.pin": "Pin", - "column_header.show_settings": "Show settings", - "column_header.unpin": "Unpin", - "column_subheading.settings": "Settings", - "community.column_settings.media_only": "Media Only", + "bundle_modal_error.retry": "ลองอีกครั้ง", + "column.blocks": "ผู้ใช้ที่ปิดกั้นอยู่", + "column.community": "เส้นเวลาในเว็บ", + "column.direct": "ข้อความโดยตรง", + "column.domain_blocks": "โดเมนที่ซ่อนอยู่", + "column.favourites": "รายการโปรด", + "column.follow_requests": "คำขอติดตาม", + "column.home": "หน้าแรก", + "column.lists": "รายการ", + "column.mutes": "ผู้ใช้ที่ปิดเสียงอยู่", + "column.notifications": "การแจ้งเตือน", + "column.pins": "โพสต์ที่ปักหมุด", + "column.public": "เส้นเวลาที่ติดต่อกับภายนอก", + "column_back_button.label": "ย้อนกลับ", + "column_header.hide_settings": "ซ่อนการตั้งค่า", + "column_header.moveLeft_settings": "ย้ายคอลัมน์ไปทางซ้าย", + "column_header.moveRight_settings": "ย้ายคอลัมน์ไปทางขวา", + "column_header.pin": "ปักหมุด", + "column_header.show_settings": "แสดงการตั้งค่า", + "column_header.unpin": "ถอนหมุด", + "column_subheading.settings": "การตั้งค่า", + "community.column_settings.media_only": "สื่อเท่านั้น", "compose_form.direct_message_warning": "This toot will only be visible to all the mentioned users.", - "compose_form.direct_message_warning_learn_more": "Learn more", + "compose_form.direct_message_warning_learn_more": "เรียนรู้เพิ่มเติม", "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", @@ -77,89 +77,88 @@ "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": "โพสต์", "compose_form.publish_loud": "{publish}!", "compose_form.sensitive.marked": "Media is marked as sensitive", "compose_form.sensitive.unmarked": "Media is not marked as sensitive", "compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.unmarked": "Text is not hidden", - "compose_form.spoiler_placeholder": "Content warning", - "confirmation_modal.cancel": "Cancel", - "confirmations.block.confirm": "Block", - "confirmations.block.message": "Are you sure you want to block {name}?", - "confirmations.delete.confirm": "Delete", - "confirmations.delete.message": "Are you sure you want to delete this status?", - "confirmations.delete_list.confirm": "Delete", - "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", + "compose_form.spoiler_placeholder": "เขียนคำเตือนของคุณที่นี่", + "confirmation_modal.cancel": "ยกเลิก", + "confirmations.block.confirm": "ปิดกั้น", + "confirmations.block.message": "คุณแน่ใจหรือไม่ว่าต้องการปิดกั้น {name}?", + "confirmations.delete.confirm": "ลบ", + "confirmations.delete.message": "คุณแน่ใจหรือไม่ว่าต้องการลบสถานะนี้?", + "confirmations.delete_list.confirm": "ลบ", + "confirmations.delete_list.message": "คุณแน่ใจหรือไม่ว่าต้องการลบรายการนี้อย่างถาวร?", "confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.", - "confirmations.mute.confirm": "Mute", - "confirmations.mute.message": "Are you sure you want to mute {name}?", - "confirmations.redraft.confirm": "Delete & redraft", + "confirmations.mute.confirm": "ปิดเสียง", + "confirmations.mute.message": "คุณแน่ใจหรือไม่ว่าต้องการปิดเสียง {name}?", + "confirmations.redraft.confirm": "ลบแล้วร่างใหม่", "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.", - "confirmations.reply.confirm": "Reply", + "confirmations.reply.confirm": "ตอบกลับ", "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", - "confirmations.unfollow.confirm": "Unfollow", - "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", + "confirmations.unfollow.confirm": "เลิกติดตาม", + "confirmations.unfollow.message": "คุณแน่ใจหรือไม่ว่าต้องการเลิกติดตาม {name}?", "embed.instructions": "Embed this status on your website by copying the code below.", "embed.preview": "Here is what it will look like:", - "emoji_button.activity": "Activity", - "emoji_button.custom": "Custom", - "emoji_button.flags": "Flags", - "emoji_button.food": "Food & Drink", - "emoji_button.label": "Insert emoji", - "emoji_button.nature": "Nature", + "emoji_button.activity": "กิจกรรม", + "emoji_button.custom": "กำหนดเอง", + "emoji_button.flags": "ธง", + "emoji_button.food": "อาหารและเครื่องดื่ม", + "emoji_button.label": "แทรกอีโมจิ", + "emoji_button.nature": "ธรรมชาติ", "emoji_button.not_found": "No emojos!! (╯°□°)╯︵ ┻━┻", - "emoji_button.objects": "Objects", - "emoji_button.people": "People", - "emoji_button.recent": "Frequently used", - "emoji_button.search": "Search...", - "emoji_button.search_results": "Search results", - "emoji_button.symbols": "Symbols", - "emoji_button.travel": "Travel & Places", - "empty_column.account_timeline": "No toots here!", + "emoji_button.objects": "วัตถุ", + "emoji_button.people": "ผู้คน", + "emoji_button.recent": "ที่ใช้บ่อย", + "emoji_button.search": "ค้นหา...", + "emoji_button.search_results": "ผลลัพธ์การค้นหา", + "emoji_button.symbols": "สัญลักษณ์", + "emoji_button.travel": "การเดินทางและสถานที่", + "empty_column.account_timeline": "ไม่มีโพสต์ที่นี่!", "empty_column.blocks": "You haven't blocked any users yet.", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", - "empty_column.domain_blocks": "There are no hidden domains yet.", + "empty_column.domain_blocks": "ยังไม่มีโดเมนที่ซ่อนอยู่", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", "empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.home": "Your home timeline is empty! Visit {public} or use search to get started and meet other users.", - "empty_column.home.public_timeline": "the public timeline", + "empty_column.home.public_timeline": "เส้นเวลาสาธารณะ", "empty_column.list": "There is nothing in this list yet.", "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", - "error_boundary.it_crashed": "It crashed!", - "follow_request.authorize": "Authorize", - "follow_request.reject": "Reject", - "getting_started.developers": "Developers", - "getting_started.directory": "Profile directory", - "getting_started.documentation": "Documentation", - "getting_started.heading": "Getting started", - "getting_started.invite": "Invite people", + "follow_request.authorize": "อนุญาต", + "follow_request.reject": "ปฏิเสธ", + "getting_started.developers": "นักพัฒนา", + "getting_started.directory": "ไดเรกทอรีโปรไฟล์", + "getting_started.documentation": "เอกสารประกอบ", + "getting_started.heading": "เริ่มต้นใช้งาน", + "getting_started.invite": "เชิญผู้คน", "getting_started.open_source_notice": "Mastodon is open source software. You can contribute or report issues on GitHub at {github}.", - "getting_started.security": "Security", + "getting_started.security": "ความปลอดภัย", "getting_started.terms": "Terms of service", - "hashtag.column_header.tag_mode.all": "and {additional}", - "hashtag.column_header.tag_mode.any": "or {additional}", - "hashtag.column_header.tag_mode.none": "without {additional}", - "hashtag.column_settings.select.no_options_message": "No suggestions found", - "hashtag.column_settings.select.placeholder": "Enter hashtags…", + "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": "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": "Basic", - "home.column_settings.show_reblogs": "Show boosts", - "home.column_settings.show_replies": "Show replies", + "home.column_settings.basic": "พื้นฐาน", + "home.column_settings.show_reblogs": "แสดงการดัน", + "home.column_settings.show_replies": "แสดงการตอบกลับ", "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.action": "ถัดไป", "introduction.federation.federated.headline": "Federated", "introduction.federation.federated.text": "Public posts from other servers of the fediverse will appear in the federated timeline.", "introduction.federation.home.headline": "Home", @@ -181,7 +180,7 @@ "keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", - "keyboard_shortcuts.description": "Description", + "keyboard_shortcuts.description": "คำอธิบาย", "keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.enter": "to open status", @@ -190,7 +189,7 @@ "keyboard_shortcuts.federated": "to open federated timeline", "keyboard_shortcuts.heading": "Keyboard Shortcuts", "keyboard_shortcuts.home": "to open home timeline", - "keyboard_shortcuts.hotkey": "Hotkey", + "keyboard_shortcuts.hotkey": "ปุ่มลัด", "keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.local": "to open local timeline", "keyboard_shortcuts.mention": "to mention author", @@ -207,177 +206,179 @@ "keyboard_shortcuts.toot": "to start a brand new toot", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.up": "to move up in the list", - "lightbox.close": "Close", - "lightbox.next": "Next", - "lightbox.previous": "Previous", - "lists.account.add": "Add to list", - "lists.account.remove": "Remove from list", - "lists.delete": "Delete list", - "lists.edit": "Edit list", - "lists.edit.submit": "Change title", - "lists.new.create": "Add list", - "lists.new.title_placeholder": "New list title", - "lists.search": "Search among people you follow", - "lists.subheading": "Your lists", - "loading_indicator.label": "Loading...", - "media_gallery.toggle_visible": "Toggle visibility", - "missing_indicator.label": "Not found", - "missing_indicator.sublabel": "This resource could not be found", - "mute_modal.hide_notifications": "Hide notifications from this user?", - "navigation_bar.apps": "Mobile apps", - "navigation_bar.blocks": "Blocked users", - "navigation_bar.community_timeline": "Local timeline", - "navigation_bar.compose": "Compose new toot", - "navigation_bar.direct": "Direct messages", - "navigation_bar.discover": "Discover", - "navigation_bar.domain_blocks": "Hidden domains", - "navigation_bar.edit_profile": "Edit profile", - "navigation_bar.favourites": "Favourites", - "navigation_bar.filters": "Muted words", - "navigation_bar.follow_requests": "Follow requests", - "navigation_bar.info": "About this instance", - "navigation_bar.keyboard_shortcuts": "Keyboard shortcuts", - "navigation_bar.lists": "Lists", - "navigation_bar.logout": "Logout", - "navigation_bar.mutes": "Muted users", - "navigation_bar.personal": "Personal", - "navigation_bar.pins": "Pinned toots", - "navigation_bar.preferences": "Preferences", - "navigation_bar.public_timeline": "Federated timeline", - "navigation_bar.security": "Security", - "notification.favourite": "{name} favourited your status", - "notification.follow": "{name} followed you", - "notification.mention": "{name} mentioned you", - "notification.reblog": "{name} boosted your status", - "notifications.clear": "Clear notifications", - "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", + "lightbox.close": "ปิด", + "lightbox.next": "ถัดไป", + "lightbox.previous": "ก่อนหน้า", + "lists.account.add": "เพิ่มไปยังรายการ", + "lists.account.remove": "เอาออกจากรายการ", + "lists.delete": "ลบรายการ", + "lists.edit": "แก้ไขรายการ", + "lists.edit.submit": "เปลี่ยนชื่อเรื่อง", + "lists.new.create": "เพิ่มรายการ", + "lists.new.title_placeholder": "ชื่อเรื่องรายการใหม่", + "lists.search": "ค้นหาในหมู่ผู้คนที่คุณติดตาม", + "lists.subheading": "รายการของคุณ", + "loading_indicator.label": "กำลังโหลด...", + "media_gallery.toggle_visible": "เปิด/ปิดการมองเห็น", + "missing_indicator.label": "ไม่พบ", + "missing_indicator.sublabel": "ไม่พบทรัพยากรนี้", + "mute_modal.hide_notifications": "ซ่อนการแจ้งเตือนจากผู้ใช้นี้?", + "navigation_bar.apps": "แอปสำหรับมือถือ", + "navigation_bar.blocks": "ผู้ใช้ที่ปิดกั้นอยู่", + "navigation_bar.community_timeline": "เส้นเวลาในเว็บ", + "navigation_bar.compose": "เขียนโพสต์ใหม่", + "navigation_bar.direct": "ข้อความโดยตรง", + "navigation_bar.discover": "ค้นพบ", + "navigation_bar.domain_blocks": "โดเมนที่ซ่อนอยู่", + "navigation_bar.edit_profile": "แก้ไขโปรไฟล์", + "navigation_bar.favourites": "รายการโปรด", + "navigation_bar.filters": "คำที่ปิดเสียงอยู่", + "navigation_bar.follow_requests": "คำขอติดตาม", + "navigation_bar.info": "เกี่ยวกับเซิร์ฟเวอร์นี้", + "navigation_bar.keyboard_shortcuts": "ปุ่มลัด", + "navigation_bar.lists": "รายการ", + "navigation_bar.logout": "ออกจากระบบ", + "navigation_bar.mutes": "ผู้ใช้ที่ปิดเสียงอยู่", + "navigation_bar.personal": "ส่วนบุคคล", + "navigation_bar.pins": "โพสต์ที่ปักหมุด", + "navigation_bar.preferences": "การกำหนดลักษณะ", + "navigation_bar.public_timeline": "เส้นเวลาที่ติดต่อกับภายนอก", + "navigation_bar.security": "ความปลอดภัย", + "notification.favourite": "{name} ได้ชื่นชอบสถานะของคุณ", + "notification.follow": "{name} ได้ติดตามคุณ", + "notification.mention": "{name} ได้กล่าวถึงคุณ", + "notification.poll": "A poll you have voted in has ended", + "notification.reblog": "{name} ได้ดันสถานะของคุณ", + "notifications.clear": "ล้างการแจ้งเตือน", + "notifications.clear_confirmation": "คุณแน่ใจหรือไม่ว่าต้องการล้างการแจ้งเตือนทั้งหมดของคุณอย่างถาวร?", "notifications.column_settings.alert": "Desktop notifications", - "notifications.column_settings.favourite": "Favourites:", - "notifications.column_settings.filter_bar.advanced": "Display all categories", - "notifications.column_settings.filter_bar.category": "Quick filter bar", - "notifications.column_settings.filter_bar.show": "Show", - "notifications.column_settings.follow": "New followers:", - "notifications.column_settings.mention": "Mentions:", - "notifications.column_settings.push": "Push notifications", - "notifications.column_settings.reblog": "Boosts:", - "notifications.column_settings.show": "Show in column", - "notifications.column_settings.sound": "Play sound", - "notifications.filter.all": "All", - "notifications.filter.boosts": "Boosts", - "notifications.filter.favourites": "Favourites", - "notifications.filter.follows": "Follows", - "notifications.filter.mentions": "Mentions", - "notifications.group": "{count} notifications", - "poll.closed": "Closed", + "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.follow": "ผู้ติดตามใหม่:", + "notifications.column_settings.mention": "การกล่าวถึง:", + "notifications.column_settings.poll": "Poll results:", + "notifications.column_settings.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": "Poll results", + "notifications.group": "{count} การแจ้งเตือน", + "poll.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": "Adjust status privacy", - "privacy.direct.long": "Post to mentioned users only", - "privacy.direct.short": "Direct", - "privacy.private.long": "Post to followers only", - "privacy.private.short": "Followers-only", - "privacy.public.long": "Post to public timelines", - "privacy.public.short": "Public", - "privacy.unlisted.long": "Do not post to public timelines", - "privacy.unlisted.short": "Unlisted", - "regeneration_indicator.label": "Loading…", + "privacy.direct.long": "โพสต์ไปยังผู้ใช้ที่กล่าวถึงเท่านั้น", + "privacy.direct.short": "โดยตรง", + "privacy.private.long": "โพสต์ไปยังผู้ติดตามเท่านั้น", + "privacy.private.short": "ผู้ติดตามเท่านั้น", + "privacy.public.long": "โพสต์ไปยังเส้นเวลาสาธารณะ", + "privacy.public.short": "สาธารณะ", + "privacy.unlisted.long": "ไม่โพสต์ไปยังเส้นเวลาสาธารณะ", + "privacy.unlisted.short": "ไม่อยู่ในรายการ", + "regeneration_indicator.label": "กำลังโหลด…", "regeneration_indicator.sublabel": "Your home feed is being prepared!", - "relative_time.days": "{number}d", - "relative_time.hours": "{number}h", - "relative_time.just_now": "now", - "relative_time.minutes": "{number}m", - "relative_time.seconds": "{number}s", - "reply_indicator.cancel": "Cancel", - "report.forward": "Forward to {target}", + "relative_time.days": "{number} วัน", + "relative_time.hours": "{number} ชั่วโมง", + "relative_time.just_now": "ตอนนี้", + "relative_time.minutes": "{number} นาที", + "relative_time.seconds": "{number} วินาที", + "reply_indicator.cancel": "ยกเลิก", + "report.forward": "ส่งต่อไปยัง {target}", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.hint": "The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:", - "report.placeholder": "Additional comments", - "report.submit": "Submit", - "report.target": "Reporting", - "search.placeholder": "Search", - "search_popout.search_format": "Advanced search format", + "report.placeholder": "ความคิดเห็นเพิ่มเติม", + "report.submit": "ส่ง", + "report.target": "กำลังรายงาน {target}", + "search.placeholder": "ค้นหา", + "search_popout.search_format": "รูปแบบการค้นหาขั้นสูง", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", - "search_popout.tips.hashtag": "hashtag", - "search_popout.tips.status": "status", + "search_popout.tips.hashtag": "แฮชแท็ก", + "search_popout.tips.status": "สถานะ", "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", - "search_popout.tips.user": "user", - "search_results.accounts": "People", - "search_results.hashtags": "Hashtags", - "search_results.statuses": "Toots", + "search_popout.tips.user": "ผู้ใช้", + "search_results.accounts": "ผู้คน", + "search_results.hashtags": "แฮชแท็ก", + "search_results.statuses": "โพสต์", "search_results.total": "{count, number} {count, plural, one {result} other {results}}", - "standalone.public_title": "A look inside...", - "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": "Unboost", - "status.cannot_reblog": "This post cannot be boosted", - "status.copy": "Copy link to status", - "status.delete": "Delete", - "status.detailed_status": "Detailed conversation view", - "status.direct": "Direct message @{name}", + "status.admin_account": "เปิดส่วนติดต่อการควบคุมสำหรับ @{name}", + "status.admin_status": "เปิดสถานะนี้ในส่วนติดต่อการควบคุม", + "status.block": "ปิดกั้น @{name}", + "status.cancel_reblog_private": "เลิกดัน", + "status.cannot_reblog": "ไม่สามารถดันโพสต์นี้", + "status.copy": "คัดลอกลิงก์ไปยังสถานะ", + "status.delete": "ลบ", + "status.detailed_status": "มุมมองการสนทนาโดยละเอียด", + "status.direct": "ส่งข้อความโดยตรงถึง @{name}", "status.embed": "Embed", - "status.favourite": "Favourite", - "status.filtered": "Filtered", - "status.load_more": "Load more", - "status.media_hidden": "Media hidden", - "status.mention": "Mention @{name}", - "status.more": "More", - "status.mute": "Mute @{name}", - "status.mute_conversation": "Mute conversation", - "status.open": "Expand this status", - "status.pin": "Pin on profile", - "status.pinned": "Pinned toot", - "status.read_more": "Read more", - "status.reblog": "Boost", - "status.reblog_private": "Boost to original audience", - "status.reblogged_by": "{name} boosted", + "status.favourite": "ชื่นชอบ", + "status.filtered": "กรองอยู่", + "status.load_more": "โหลดเพิ่มเติม", + "status.media_hidden": "ซ่อนสื่ออยู่", + "status.mention": "กล่าวถึง @{name}", + "status.more": "เพิ่มเติม", + "status.mute": "ปิดเสียง @{name}", + "status.mute_conversation": "ปิดเสียงการสนทนา", + "status.open": "ขยายสถานะนี้", + "status.pin": "ปักหมุดในโปรไฟล์", + "status.pinned": "โพสต์ที่ปักหมุด", + "status.read_more": "อ่านเพิ่มเติม", + "status.reblog": "ดัน", + "status.reblog_private": "ดันไปยังผู้ชมดั้งเดิม", + "status.reblogged_by": "{name} ได้ดัน", "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", - "status.redraft": "Delete & re-draft", - "status.reply": "Reply", - "status.replyAll": "Reply to thread", - "status.report": "Report @{name}", - "status.sensitive_toggle": "Click to view", - "status.sensitive_warning": "Sensitive content", - "status.share": "Share", - "status.show_less": "Show less", - "status.show_less_all": "Show less for all", - "status.show_more": "Show more", - "status.show_more_all": "Show more for all", - "status.show_thread": "Show thread", - "status.unmute_conversation": "Unmute conversation", - "status.unpin": "Unpin from profile", - "suggestions.dismiss": "Dismiss suggestion", - "suggestions.header": "You might be interested in…", - "tabs_bar.federated_timeline": "Federated", - "tabs_bar.home": "Home", - "tabs_bar.local_timeline": "Local", - "tabs_bar.notifications": "Notifications", - "tabs_bar.search": "Search", + "status.redraft": "ลบแล้วร่างใหม่", + "status.reply": "ตอบกลับ", + "status.replyAll": "ตอบกลับกระทู้", + "status.report": "รายงาน @{name}", + "status.sensitive_toggle": "คลิกเพื่อดู", + "status.sensitive_warning": "เนื้อหาที่ละเอียดอ่อน", + "status.share": "แบ่งปัน", + "status.show_less": "แสดงน้อยลง", + "status.show_less_all": "แสดงน้อยลงทั้งหมด", + "status.show_more": "แสดงเพิ่มเติม", + "status.show_more_all": "แสดงเพิ่มเติมทั้งหมด", + "status.show_thread": "แสดงกระทู้", + "status.unmute_conversation": "เลิกปิดเสียงการสนทนา", + "status.unpin": "ถอนหมุดจากโปรไฟล์", + "suggestions.dismiss": "ยกเลิกข้อเสนอแนะ", + "suggestions.header": "คุณอาจสนใจ…", + "tabs_bar.federated_timeline": "ที่ติดต่อกับภายนอก", + "tabs_bar.home": "หน้าแรก", + "tabs_bar.local_timeline": "ในเว็บ", + "tabs_bar.notifications": "การแจ้งเตือน", + "tabs_bar.search": "ค้นหา", "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": "Your draft will be lost if you leave Mastodon.", - "upload_area.title": "Drag & drop to upload", - "upload_button.label": "Add media", - "upload_error.limit": "File upload limit exceeded.", + "ui.beforeunload": "แบบร่างของคุณจะหายไปหากคุณออกจาก Mastodon", + "upload_area.title": "ลากแล้วปล่อยเพื่ออัปโหลด", + "upload_button.label": "เพิ่มสื่อ (JPEG, PNG, GIF, WebM, MP4, MOV)", + "upload_error.limit": "เกินขีดจำกัดการอัปโหลดไฟล์", "upload_error.poll": "File upload not allowed with polls.", "upload_form.description": "Describe for the visually impaired", - "upload_form.focus": "Crop", - "upload_form.undo": "Undo", - "upload_progress.label": "Uploading...", - "video.close": "Close video", - "video.exit_fullscreen": "Exit full screen", - "video.expand": "Expand video", - "video.fullscreen": "Full screen", - "video.hide": "Hide video", - "video.mute": "Mute sound", - "video.pause": "Pause", - "video.play": "Play", - "video.unmute": "Unmute sound" + "upload_form.focus": "ตัวอย่างการเปลี่ยนแปลง", + "upload_form.undo": "ลบ", + "upload_progress.label": "กำลังอัปโหลด...", + "video.close": "ปิดวิดีโอ", + "video.exit_fullscreen": "ออกจากเต็มหน้าจอ", + "video.expand": "ขยายวิดีโอ", + "video.fullscreen": "เต็มหน้าจอ", + "video.hide": "ซ่อนวิดีโอ", + "video.mute": "ปิดเสียง", + "video.pause": "หยุดชั่วคราว", + "video.play": "เล่น", + "video.unmute": "เลิกปิดเสียง" } diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 28b34fa04..e277416fd 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -133,7 +133,6 @@ "empty_column.mutes": "Henüz hiçbir kullanıcıyı sessize almadınız.", "empty_column.notifications": "Henüz hiçbir bildiriminiz yok. Diğer insanlarla sobhet edebilmek için etkileşime geçebilirsiniz.", "empty_column.public": "Burada hiçbir şey yok! Herkese açık bir şeyler yazın veya burayı doldurmak için diğer sunuculardaki kullanıcıları takip edin", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Yetkilendir", "follow_request.reject": "Reddet", "getting_started.developers": "Geliştiriciler", @@ -248,6 +247,7 @@ "notification.favourite": "{name} senin durumunu favorilere ekledi", "notification.follow": "{name} seni takip ediyor", "notification.mention": "{name} mentioned you", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} senin durumunu boost etti", "notifications.clear": "Bildirimleri temizle", "notifications.clear_confirmation": "Tüm bildirimlerinizi kalıcı olarak temizlemek ister misiniz?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Yeni takipçiler:", "notifications.column_settings.mention": "Bahsedilenler:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push notifications", "notifications.column_settings.reblog": "Boost’lar:", "notifications.column_settings.show": "Bildirimlerde göster", @@ -267,6 +268,7 @@ "notifications.filter.favourites": "Favourites", "notifications.filter.follows": "Follows", "notifications.filter.mentions": "Mentions", + "notifications.filter.polls": "Poll results", "notifications.group": "{count} notifications", "poll.closed": "Closed", "poll.refresh": "Refresh", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {sonuç} other {sonuçlar}}", - "standalone.public_title": "A look inside...", "status.admin_account": "@{name} için denetim arayüzünü açın", "status.admin_status": "Denetim arayüzünde bu durumu açın", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index bd492e9e9..3f02f887c 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "У вас ще немає сповіщень. Переписуйтесь з іншими користувачами, щоб почати розмову.", "empty_column.public": "Тут поки нічого немає! Опублікуйте щось, або вручну підпишіться на користувачів інших інстанцій, щоб заповнити стрічку", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "Авторизувати", "follow_request.reject": "Відмовити", "getting_started.developers": "Розробникам", @@ -248,6 +247,7 @@ "notification.favourite": "{name} вподобав(-ла) ваш допис", "notification.follow": "{name} підписався(-лась) на Вас", "notification.mention": "{name} згадав(-ла) Вас", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} передмухнув(-ла) Ваш допис", "notifications.clear": "Очистити сповіщення", "notifications.clear_confirmation": "Ви впевнені, що хочете назавжди видалити всі сповіщеня?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "Нові підписники:", "notifications.column_settings.mention": "Згадки:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "Push-сповіщення", "notifications.column_settings.reblog": "Передмухи:", "notifications.column_settings.show": "Показати в колонці", @@ -267,6 +268,7 @@ "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", @@ -308,7 +310,6 @@ "search_results.hashtags": "Hashtags", "search_results.statuses": "Toots", "search_results.total": "{count, number} {count, plural, one {результат} few {результати} many {результатів} other {результатів}}", - "standalone.public_title": "A look inside...", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Block @{name}", diff --git a/app/javascript/mastodon/locales/whitelist_bn.json b/app/javascript/mastodon/locales/whitelist_bn.json new file mode 100644 index 000000000..0d4f101c7 --- /dev/null +++ b/app/javascript/mastodon/locales/whitelist_bn.json @@ -0,0 +1,2 @@ +[ +] diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index ae319d232..f17274e69 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "你还没有收到过任何通知,快向其他用户搭讪吧。", "empty_column.public": "这里神马都没有!写一些公开的嘟文,或者关注其他实例的用户后,这里就会有嘟文出现了哦!", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "同意", "follow_request.reject": "拒绝", "getting_started.developers": "开发", @@ -248,6 +247,7 @@ "notification.favourite": "{name} 收藏了你的嘟文", "notification.follow": "{name} 开始关注你", "notification.mention": "{name} 提及你", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} 转嘟了你的嘟文", "notifications.clear": "清空通知列表", "notifications.clear_confirmation": "你确定要永久清空通知列表吗?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "当有人关注你时:", "notifications.column_settings.mention": "当有人在嘟文中提及你时:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "推送通知", "notifications.column_settings.reblog": "当有人转嘟了你的嘟文时:", "notifications.column_settings.show": "在通知栏显示", @@ -267,6 +268,7 @@ "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", @@ -308,7 +310,6 @@ "search_results.hashtags": "话题标签", "search_results.statuses": "嘟文", "search_results.total": "共 {count, number} 个结果", - "standalone.public_title": "大家都在干啥?", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "屏蔽 @{name}", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 4fde7ef45..54b8ab498 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -133,7 +133,6 @@ "empty_column.mutes": "You haven't muted any users yet.", "empty_column.notifications": "你沒有任何通知紀錄,快向其他用戶搭訕吧。", "empty_column.public": "跨站時間軸暫時沒有內容!快寫一些公共的文章,或者關注另一些服務站的用戶吧!你和本站、友站的交流,將決定這裏出現的內容。", - "error_boundary.it_crashed": "It crashed!", "follow_request.authorize": "批准", "follow_request.reject": "拒絕", "getting_started.developers": "開發者", @@ -248,6 +247,7 @@ "notification.favourite": "{name} 收藏了你的文章", "notification.follow": "{name} 開始關注你", "notification.mention": "{name} 提及你", + "notification.poll": "A poll you have voted in has ended", "notification.reblog": "{name} 轉推你的文章", "notifications.clear": "清空通知紀錄", "notifications.clear_confirmation": "你確定要清空通知紀錄嗎?", @@ -258,6 +258,7 @@ "notifications.column_settings.filter_bar.show": "Show", "notifications.column_settings.follow": "關注你:", "notifications.column_settings.mention": "提及你:", + "notifications.column_settings.poll": "Poll results:", "notifications.column_settings.push": "推送通知", "notifications.column_settings.reblog": "轉推你的文章:", "notifications.column_settings.show": "在通知欄顯示", @@ -267,6 +268,7 @@ "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", @@ -308,7 +310,6 @@ "search_results.hashtags": "標籤", "search_results.statuses": "文章", "search_results.total": "{count, number} 項結果", - "standalone.public_title": "站點一瞥…", "status.admin_account": "Open moderation interface for @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "封鎖 @{name}", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 9a116a702..a44a1d90e 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -1,222 +1,221 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "從名單中新增或移除", "account.badges.bot": "機器人", "account.block": "封鎖 @{name}", - "account.block_domain": "隱藏來自 {domain} 的一切嘟文", - "account.blocked": "已被封鎖的", - "account.direct": "發送私訊給 @{name}", - "account.disclaimer_full": "下列資料不一定完整。", - "account.domain_blocked": "站點被隱藏", - "account.edit_profile": "編輯使用者資訊", - "account.endorse": "在個人資訊頁面上推薦對方", + "account.block_domain": "隱藏來自 {domain} 的所有嘟文", + "account.blocked": "已封鎖", + "account.direct": "傳私訊給 @{name}", + "account.disclaimer_full": "下方的使用者個人資料不一定完整。", + "account.domain_blocked": "已隱藏網域", + "account.edit_profile": "編輯個人資料", + "account.endorse": "在個人資料推薦對方", "account.follow": "關注", "account.followers": "關注者", - "account.followers.empty": "還沒有人關注這個使用者。", + "account.followers.empty": "還沒有人關注這位使用者。", "account.follows": "正在關注", - "account.follows.empty": "這個使用者還沒有關注任何人。", - "account.follows_you": "關注你", + "account.follows.empty": "這個使用者尚未關注任何使用者。", + "account.follows_you": "關注了你", "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.link_verified_on": "此連結的所有權已在 {date} 檢查", + "account.locked_info": "此帳號的隱私狀態被設為鎖定,擁有者將手動審核可關注此帳號的人。", "account.media": "媒體", - "account.mention": "提到 @{name}", - "account.moved_to": "{name} 已經移至:", + "account.mention": "提及 @{name}", + "account.moved_to": "{name} 已遷移至:", "account.mute": "靜音 @{name}", "account.mute_notifications": "靜音來自 @{name} 的通知", - "account.muted": "靜音", + "account.muted": "已靜音", "account.posts": "嘟文", "account.posts_with_replies": "嘟文與回覆", "account.report": "檢舉 @{name}", - "account.requested": "正在等待對方同意。點擊以取消發送關注請求", - "account.share": "分享 @{name} 的使用者資訊", + "account.requested": "正在等待核准。按一下取消關注請求", + "account.share": "分享 @{name} 的個人資料", "account.show_reblogs": "顯示來自 @{name} 的嘟文", "account.unblock": "取消封鎖 @{name}", - "account.unblock_domain": "不再隱藏 {domain}", - "account.unendorse": "不再於個人資訊頁面上推薦對方", + "account.unblock_domain": "取消隱藏 {domain}", + "account.unendorse": "不再於個人資料頁面推薦對方", "account.unfollow": "取消關注", "account.unmute": "不再靜音 @{name}", - "account.unmute_notifications": "不再對來自 @{name} 的通知靜音", - "account.view_full_profile": "查看完整資訊", - "alert.unexpected.message": "發生非預期的錯誤。", + "account.unmute_notifications": "不再靜音來自 @{name} 的通知", + "account.view_full_profile": "查看完整資料", + "alert.unexpected.message": "發生了非預期的錯誤。", "alert.unexpected.title": "哎呀!", - "boost_modal.combo": "下次你可以按 {combo} 來跳過", - "bundle_column_error.body": "加載本組件出錯。", + "boost_modal.combo": "下次您可以按 {combo} 跳過", + "bundle_column_error.body": "載入此組件時發生錯誤。", "bundle_column_error.retry": "重試", "bundle_column_error.title": "網路錯誤", "bundle_modal_error.close": "關閉", - "bundle_modal_error.message": "加載本組件出錯。", + "bundle_modal_error.message": "載入此組件時發生錯誤。", "bundle_modal_error.retry": "重試", "column.blocks": "封鎖的使用者", "column.community": "本地時間軸", "column.direct": "私訊", - "column.domain_blocks": "隱藏的站點", + "column.domain_blocks": "隱藏的網域", "column.favourites": "最愛", "column.follow_requests": "關注請求", "column.home": "主頁", "column.lists": "名單", - "column.mutes": "靜音的使用者", + "column.mutes": "被靜音的使用者", "column.notifications": "通知", - "column.pins": "置頂嘟文", - "column.public": "其他站點時間軸", + "column.pins": "釘選的嘟文", + "column.public": "聯邦時間軸", "column_back_button.label": "上一頁", "column_header.hide_settings": "隱藏設定", - "column_header.moveLeft_settings": "將欄左移", - "column_header.moveRight_settings": "將欄右移", - "column_header.pin": "固定", + "column_header.moveLeft_settings": "將欄位向左移動", + "column_header.moveRight_settings": "將欄位向右移動", + "column_header.pin": "釘選", "column_header.show_settings": "顯示設定", - "column_header.unpin": "取下", + "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.hashtag_warning": "因這則嘟文設成「不公開」,因此它不會列在任何「#」標籤下。只有公開嘟文才能用「#」標籤找到。", + "compose_form.lock_disclaimer": "您的帳戶尚未{locked}。任何人都能關注您並看到您設定成僅關注者能看的嘟文。", "compose_form.lock_disclaimer.lock": "上鎖", - "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.placeholder": "您正在想些什麼?", + "compose_form.poll.add_option": "新增選擇", + "compose_form.poll.duration": "投票期限", + "compose_form.poll.option_placeholder": "第 {number} 個選擇", + "compose_form.poll.remove_option": "移除此選擇", "compose_form.publish": "嘟掉", "compose_form.publish_loud": "{publish}!", - "compose_form.sensitive.marked": "此媒體已被標註為敏感的", - "compose_form.sensitive.unmarked": "此媒體未被標註為敏感的", - "compose_form.spoiler.marked": "文字隱藏在警告後", - "compose_form.spoiler.unmarked": "文字不是隱藏的", - "compose_form.spoiler_placeholder": "內容警告", + "compose_form.sensitive.marked": "此媒體被標記為敏感內容", + "compose_form.sensitive.unmarked": "此媒體未被標記為敏感內容", + "compose_form.spoiler.marked": "正文已隱藏在警告之後", + "compose_form.spoiler.unmarked": "正文未被隱藏", + "compose_form.spoiler_placeholder": "請在此處寫入警告訊息", "confirmation_modal.cancel": "取消", "confirmations.block.confirm": "封鎖", "confirmations.block.message": "你確定要封鎖 {name} ?", "confirmations.delete.confirm": "刪除", - "confirmations.delete.message": "你確定要刪除這個狀態?", + "confirmations.delete.message": "你確定要刪除這條嘟文?", "confirmations.delete_list.confirm": "刪除", - "confirmations.delete_list.message": "確定要永久性地刪除這個名單嗎?", + "confirmations.delete_list.message": "確定要永久刪除此名單?", "confirmations.domain_block.confirm": "隱藏整個網域", - "confirmations.domain_block.message": "你真的確定要靜音所有來自 {domain} 的內容嗎? 多數情況下,封鎖或靜音幾個特定用戶應該就能滿足你的需求了。來自該站點的內容將不再出現在你的公共時間軸或通知裡。來自該站點的關注者將會被移除。", - "confirmations.mute.confirm": "消音", - "confirmations.mute.message": "你確定要消音 {name} ?", - "confirmations.redraft.confirm": "刪除 & 編輯", - "confirmations.redraft.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.domain_block.message": "確定封鎖整個 {domain} 嗎?多數情況下,封鎖或靜音幾個特定使用者應該就能滿足你的需求了。您將不能在任何公開時間軸或通知中看到來自該網域的內容。來自該網域的關注者將被移除。", + "confirmations.mute.confirm": "靜音", + "confirmations.mute.message": "確定靜音 {name} ?", + "confirmations.redraft.confirm": "刪除並重新編輯", + "confirmations.redraft.message": "你確定要刪除這條嘟文並重新編輯它嗎?這麼做將失去轉嘟和最愛,而對原始嘟文的回覆將被孤立。", + "confirmations.reply.confirm": "回覆", + "confirmations.reply.message": "現在回覆將蓋掉您目前正在撰寫的訊息。是否仍要回覆?", "confirmations.unfollow.confirm": "取消關注", - "confirmations.unfollow.message": "真的不要繼續關注 {name} 了嗎?", - "embed.instructions": "要內嵌此嘟文,請將以下代碼貼進你的網站。", - "embed.preview": "看上去會變成這樣:", + "confirmations.unfollow.message": "真的要取消關注 {name} 嗎?", + "embed.instructions": "要嵌入此嘟文,請將以下代碼貼進你的網站。", + "embed.preview": "他會顯示成這樣:", "emoji_button.activity": "活動", "emoji_button.custom": "自訂", - "emoji_button.flags": "旗幟", + "emoji_button.flags": "旗標", "emoji_button.food": "飲食", "emoji_button.label": "插入表情符號", - "emoji_button.nature": "自然", - "emoji_button.not_found": "沒有表情符號吼!! (╯°□°)╯︵ ┻━┻", + "emoji_button.nature": "大自然", + "emoji_button.not_found": "就沒這表情符號吼!! (╯°□°)╯︵ ┻━┻", "emoji_button.objects": "物件", "emoji_button.people": "使用者", - "emoji_button.recent": "常用", + "emoji_button.recent": "最常使用", "emoji_button.search": "搜尋…", "emoji_button.search_results": "搜尋結果", "emoji_button.symbols": "符號", "emoji_button.travel": "旅遊與地點", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "這裡還沒有嘟文!", "empty_column.blocks": "你還沒有封鎖任何使用者。", - "empty_column.community": "本地時間軸是空的。公開寫點什麼吧!", - "empty_column.direct": "你還沒有使用過私訊。當你發出或著收到私訊時,它會在這裡顯示。", - "empty_column.domain_blocks": "還沒有隱藏任何網域。", - "empty_column.favourited_statuses": "你還沒有收藏任何嘟文。收藏後的嘟文會顯示在這裡。", - "empty_column.favourites": "還沒有人收藏此嘟文。如果有人收藏,會顯示在這裡。", - "empty_column.follow_requests": "還沒有人請求關注你。如果收到關注請求,會顯示在這裡。", - "empty_column.hashtag": "這個主題標籤下什麼都沒有。", - "empty_column.home": "你還沒關注任何人。造訪{public}或利用搜尋功能找到其他用者。", + "empty_column.community": "本地時間軸是空的。快公開嘟些文搶頭香啊!", + "empty_column.direct": "您還沒有任何私訊。當您私訊別人或收到私訊時,它將於此顯示。", + "empty_column.domain_blocks": "尚未隱藏任何網域。", + "empty_column.favourited_statuses": "你還沒有將任何嘟文標為最愛。最愛的嘟文將顯示於此。", + "empty_column.favourites": "還沒有人將此嘟文標為最愛。如果有人標成最愛,則會顯示在這裡。", + "empty_column.follow_requests": "您尚未收到任何關注請求。收到時會顯示於此。", + "empty_column.hashtag": "這個「#」標籤下什麼都沒有。", + "empty_column.home": "您的首頁時間軸是空的!前往 {public} 或使用搜尋功能來認識其他人。", "empty_column.home.public_timeline": "公開時間軸", - "empty_column.list": "此份名單尚未有東西。當此名單的成員嘟出了新的狀態時,它們就會出現在這裡。", + "empty_column.list": "此份名單還沒有東西。當此名單的成員嘟出了新的嘟文時,它們就會出現在這裡。", "empty_column.lists": "你還沒有建立任何名單。你建立的名單將會顯示在這裡。", "empty_column.mutes": "你還沒有靜音任何使用者。", - "empty_column.notifications": "還沒有任何通知。和別的使用者互動來開始對話。", - "empty_column.public": "這裡什麼都沒有! 寫一些公開的嘟文,或著關注其他站點的使用者後,這裡就會有嘟文出現了", - "error_boundary.it_crashed": "It crashed!", + "empty_column.notifications": "您尚未收到任何通知,和別人互動開啟對話吧。", + "empty_column.public": "這裡什麼都沒有!嘗試寫些公開的嘟文,或著自己關注其他伺服器的使用者後就會有嘟文出現了", "follow_request.authorize": "授權", "follow_request.reject": "拒絕", - "getting_started.developers": "開發", - "getting_started.directory": "Profile directory", + "getting_started.developers": "開發者", + "getting_started.directory": "個人資料目錄", "getting_started.documentation": "文件", - "getting_started.heading": "馬上開始", + "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": "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", + "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": "對此欄位加入額外標籤", "home.column_settings.basic": "基本", "home.column_settings.show_reblogs": "顯示轉推", - "home.column_settings.show_replies": "顯示回應", - "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": "Public posts from other servers of the fediverse will appear in the federated timeline.", - "introduction.federation.home.headline": "Home", - "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": "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": "到轉推", - "keyboard_shortcuts.column": "選擇第 X 欄中的嘟文", - "keyboard_shortcuts.compose": "焦點移至撰寫文字區塊", + "home.column_settings.show_replies": "顯示回覆", + "intervals.full.days": "{number, plural, one {# 天} other {# 天}}", + "intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}", + "intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}", + "introduction.federation.action": "下一步", + "introduction.federation.federated.headline": "聯邦", + "introduction.federation.federated.text": "來自聯邦網路中其他伺服器的公開嘟文將會在聯邦網路時間軸中顯示。", + "introduction.federation.home.headline": "首頁", + "introduction.federation.home.text": "您所關注使用者所發的嘟文將顯示在首頁的訊息來源。您能關注任何伺服器上的任何人!", + "introduction.federation.local.headline": "本地", + "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": "歡迎來到聯邦!稍候您將可以廣播訊息並跨各種各式各樣的伺服器與朋友聊天。但這台伺服器,{domain},十分特殊 -- 它寄管了您的個人資料,所以請記住這台伺服器的名稱。", + "keyboard_shortcuts.back": "返回上一頁", + "keyboard_shortcuts.blocked": "開啟「封鎖的使用者」名單", + "keyboard_shortcuts.boost": "轉嘟", + "keyboard_shortcuts.column": "將焦點放在其中一欄的嘟文", + "keyboard_shortcuts.compose": "將焦點移至撰寫文字區塊", "keyboard_shortcuts.description": "描述", - "keyboard_shortcuts.direct": "到私訊欄", - "keyboard_shortcuts.down": "在列表往下移動", - "keyboard_shortcuts.enter": "看嘟文", - "keyboard_shortcuts.favourite": "收藏", - "keyboard_shortcuts.favourites": "到收藏名單", - "keyboard_shortcuts.federated": "到其他站點時間軸", + "keyboard_shortcuts.direct": "開啟私訊欄", + "keyboard_shortcuts.down": "在名單中往下移動", + "keyboard_shortcuts.enter": "檢視嘟文", + "keyboard_shortcuts.favourite": "加入最愛", + "keyboard_shortcuts.favourites": "開啟最愛名單", + "keyboard_shortcuts.federated": "開啟聯邦時間軸", "keyboard_shortcuts.heading": "鍵盤快速鍵", - "keyboard_shortcuts.home": "到主頁時間軸", + "keyboard_shortcuts.home": "開啟首頁時間軸", "keyboard_shortcuts.hotkey": "快速鍵", - "keyboard_shortcuts.legend": "顯示這個說明", - "keyboard_shortcuts.local": "到本地時間軸", - "keyboard_shortcuts.mention": "到提到的作者", - "keyboard_shortcuts.muted": "到靜音的使用者列表", - "keyboard_shortcuts.my_profile": "到你的個人資訊頁", - "keyboard_shortcuts.notifications": "打開通知欄", - "keyboard_shortcuts.pinned": "到收藏的嘟文名單", - "keyboard_shortcuts.profile": "到嘟文作者的個人資訊頁", - "keyboard_shortcuts.reply": "到回應", - "keyboard_shortcuts.requests": "打開關注請求名單", - "keyboard_shortcuts.search": "把滑鼠移動到搜尋", - "keyboard_shortcuts.start": "到「馬上開始」", - "keyboard_shortcuts.toggle_hidden": "顯示或隱藏被標為敏感的嘟文", - "keyboard_shortcuts.toot": "新的嘟文", - "keyboard_shortcuts.unfocus": "取消輸入", - "keyboard_shortcuts.up": "在列表往上移動", + "keyboard_shortcuts.legend": "顯示此說明", + "keyboard_shortcuts.local": "開啟本地時間軸", + "keyboard_shortcuts.mention": "提及作者", + "keyboard_shortcuts.muted": "開啟靜音使用者名單", + "keyboard_shortcuts.my_profile": "開啟個人資料頁面", + "keyboard_shortcuts.notifications": "開啟通知欄", + "keyboard_shortcuts.pinned": "開啟釘選的嘟文名單", + "keyboard_shortcuts.profile": "開啟作者的個人資料頁", + "keyboard_shortcuts.reply": "回應嘟文", + "keyboard_shortcuts.requests": "開啟關注請求名單", + "keyboard_shortcuts.search": "將焦點移至搜尋框", + "keyboard_shortcuts.start": "開啟「開始使用」欄位", + "keyboard_shortcuts.toggle_hidden": "顯示/隱藏在內容警告之後的正文", + "keyboard_shortcuts.toot": "開始發出新嘟文", + "keyboard_shortcuts.unfocus": "取消輸入文字區塊 / 搜尋的焦點", + "keyboard_shortcuts.up": "在名單中往上移動", "lightbox.close": "關閉", - "lightbox.next": "繼續", - "lightbox.previous": "回退", - "lists.account.add": "加到名單裡", + "lightbox.next": "下一步", + "lightbox.previous": "上一步", + "lists.account.add": "新增至名單", "lists.account.remove": "從名單中移除", "lists.delete": "刪除名單", - "lists.edit": "修改名單", - "lists.edit.submit": "Change title", + "lists.edit": "編輯名單", + "lists.edit.submit": "變更標題", "lists.new.create": "新增名單", - "lists.new.title_placeholder": "名單名稱", + "lists.new.title_placeholder": "新名單標題", "lists.search": "搜尋您關注的使用者", "lists.subheading": "您的名單", "loading_indicator.label": "讀取中...", @@ -227,53 +226,56 @@ "navigation_bar.apps": "行動應用程式", "navigation_bar.blocks": "封鎖的使用者", "navigation_bar.community_timeline": "本地時間軸", - "navigation_bar.compose": "寫新的嘟文", + "navigation_bar.compose": "撰寫新嘟文", "navigation_bar.direct": "私訊", "navigation_bar.discover": "探索", - "navigation_bar.domain_blocks": "隱藏的站點", - "navigation_bar.edit_profile": "編輯使用者資訊", - "navigation_bar.favourites": "最愛", - "navigation_bar.filters": "消音的詞", + "navigation_bar.domain_blocks": "隱藏的網域", + "navigation_bar.edit_profile": "編輯個人資料", + "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": "靜音的使用者", "navigation_bar.personal": "個人", - "navigation_bar.pins": "置頂嘟文", + "navigation_bar.pins": "釘選的嘟文", "navigation_bar.preferences": "偏好設定", - "navigation_bar.public_timeline": "其他站點時間軸", - "navigation_bar.security": "登入資訊", - "notification.favourite": "{name}把你的嘟文加入了最愛", - "notification.follow": "{name}關注了你", - "notification.mention": "{name}提到了你", + "navigation_bar.public_timeline": "聯邦時間軸", + "navigation_bar.security": "安全性", + "notification.favourite": "{name} 把你的嘟文加入了最愛", + "notification.follow": "{name} 關注了你", + "notification.mention": "{name} 提到了你", + "notification.poll": "您投過的投票已經結束", "notification.reblog": "{name}轉嘟了你的嘟文", "notifications.clear": "清除通知", "notifications.clear_confirmation": "確定要永久清除你的通知嗎?", "notifications.column_settings.alert": "桌面通知", "notifications.column_settings.favourite": "最愛:", - "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.filter_bar.advanced": "顯示所有分類", + "notifications.column_settings.filter_bar.category": "快速過濾欄", + "notifications.column_settings.filter_bar.show": "顯示", + "notifications.column_settings.follow": "新關注者:", + "notifications.column_settings.mention": "提及:", + "notifications.column_settings.poll": "投票結果:", "notifications.column_settings.push": "推送通知", "notifications.column_settings.reblog": "轉嘟:", - "notifications.column_settings.show": "顯示在欄位中", + "notifications.column_settings.show": "在欄位中顯示", "notifications.column_settings.sound": "播放音效", - "notifications.filter.all": "All", - "notifications.filter.boosts": "Boosts", - "notifications.filter.favourites": "Favourites", - "notifications.filter.follows": "Follows", - "notifications.filter.mentions": "Mentions", + "notifications.filter.all": "全部", + "notifications.filter.boosts": "轉嘟", + "notifications.filter.favourites": "最愛", + "notifications.filter.follows": "關注的使用者", + "notifications.filter.mentions": "提及", + "notifications.filter.polls": "投票結果", "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", + "poll.closed": "已關閉", + "poll.refresh": "重新整理", + "poll.total_votes": "{count, plural, one {# 個投票} other {# 個投票}}", + "poll.vote": "投票", + "poll_button.add_poll": "建立投票", + "poll_button.remove_poll": "移除投票", "privacy.change": "調整隱私狀態", "privacy.direct.long": "只有被提到的使用者能看到", "privacy.direct.short": "私訊", @@ -293,7 +295,7 @@ "reply_indicator.cancel": "取消", "report.forward": "轉寄到 {target}", "report.forward_hint": "這個帳戶屬於其他站點。要像該站點發送匿名的檢舉訊息嗎?", - "report.hint": "這項訊息會發送到你該站點的管理員。你可以提供檢舉這個帳戶的理由:", + "report.hint": "這項訊息會發送到您伺服器的管理員。你可以提供檢舉這個帳戶的理由:", "report.placeholder": "更多訊息", "report.submit": "送出", "report.target": "檢舉 {target}", @@ -301,20 +303,19 @@ "search_popout.search_format": "進階搜尋格式", "search_popout.tips.full_text": "輸入簡單的文字,搜尋由你撰寫、最愛、轉嘟或提你的嘟文,以及符合使用者名稱、帳戶名稱和標籤。", "search_popout.tips.hashtag": "主題標籤", - "search_popout.tips.status": "狀態", + "search_popout.tips.status": "嘟文", "search_popout.tips.text": "輸入簡單的文字,搜尋符合的使用者名稱,帳戶名稱與標籤", "search_popout.tips.user": "使用者", "search_results.accounts": "使用者", "search_results.hashtags": "主題標籤", "search_results.statuses": "嘟文", "search_results.total": "{count, number} 項結果", - "standalone.public_title": "站點一瞥…", - "status.admin_account": "Open moderation interface for @{name}", - "status.admin_status": "Open this status in the moderation interface", + "status.admin_account": "開啟 @{name} 的管理介面", + "status.admin_status": "在管理介面開啟此嘟文", "status.block": "封鎖 @{name}", "status.cancel_reblog_private": "取消轉嘟", "status.cannot_reblog": "這篇嘟文無法被轉嘟", - "status.copy": "Copy link to status", + "status.copy": "將連結複製到嘟文中", "status.delete": "刪除", "status.detailed_status": "對話的詳細內容", "status.direct": "發送私訊給 @{name}", @@ -328,9 +329,9 @@ "status.mute": "靜音 @{name}", "status.mute_conversation": "靜音對話", "status.open": "展開嘟文", - "status.pin": "置頂到個人資訊頁", - "status.pinned": "置頂嘟文", - "status.read_more": "Read more", + "status.pin": "釘選到個人資料頁", + "status.pinned": "釘選的嘟文", + "status.read_more": "閱讀更多", "status.reblog": "轉嘟", "status.reblog_private": "轉嘟給原有關注者", "status.reblogged_by": "{name} 轉嘟了", @@ -346,29 +347,29 @@ "status.show_less_all": "減少顯示這類嘟文", "status.show_more": "顯示更多", "status.show_more_all": "顯示更多這類嘟文", - "status.show_thread": "Show thread", + "status.show_thread": "顯示討論串", "status.unmute_conversation": "解除此對話的靜音", "status.unpin": "解除置頂", - "suggestions.dismiss": "Dismiss suggestion", - "suggestions.header": "You might be interested in…", + "suggestions.dismiss": "關閉建議", + "suggestions.header": "您可能對這些東西有興趣…", "tabs_bar.federated_timeline": "其他站點", "tabs_bar.home": "主頁", "tabs_bar.local_timeline": "本站", "tabs_bar.notifications": "通知", "tabs_bar.search": "搜尋", - "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", + "time_remaining.days": "剩餘{number, plural, one {# 天數} other {# 天數}}", + "time_remaining.hours": "剩餘{number, plural, one {# 小時} other {# 小時}}", + "time_remaining.minutes": "剩餘{number, plural, one {# 分鐘} other {# 分鐘}}", + "time_remaining.moments": "剩餘時間", + "time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}", "trends.count_by_accounts": "{count} 位使用者在討論", "ui.beforeunload": "如果離開 Mastodon,你的草稿將會不見。", "upload_area.title": "拖放來上傳", "upload_button.label": "上傳媒體檔案 (JPEG, PNG, GIF, WebM, MP4, MOV)", - "upload_error.limit": "File upload limit exceeded.", - "upload_error.poll": "File upload not allowed with polls.", + "upload_error.limit": "已達到檔案上傳限制。", + "upload_error.poll": "不允許在投票上傳檔案。", "upload_form.description": "為視障人士增加文字說明", - "upload_form.focus": "裁切", + "upload_form.focus": "變更預覽", "upload_form.undo": "刪除", "upload_progress.label": "上傳中...", "video.close": "關閉影片", diff --git a/config/locales/activerecord.ca.yml b/config/locales/activerecord.ca.yml index 39f6839aa..19e39b5e7 100644 --- a/config/locales/activerecord.ca.yml +++ b/config/locales/activerecord.ca.yml @@ -1,6 +1,9 @@ --- ca: activerecord: + attributes: + status: + owned_poll: Enquesta errors: models: account: diff --git a/config/locales/activerecord.co.yml b/config/locales/activerecord.co.yml index af28d108f..20c35b67f 100644 --- a/config/locales/activerecord.co.yml +++ b/config/locales/activerecord.co.yml @@ -1,6 +1,9 @@ --- co: activerecord: + attributes: + status: + owned_poll: Scandagliu errors: models: account: diff --git a/config/locales/activerecord.cs.yml b/config/locales/activerecord.cs.yml index 838dee15f..e9465228d 100644 --- a/config/locales/activerecord.cs.yml +++ b/config/locales/activerecord.cs.yml @@ -1,6 +1,9 @@ --- cs: activerecord: + attributes: + status: + owned_poll: Anketa errors: models: account: diff --git a/config/locales/activerecord.cy.yml b/config/locales/activerecord.cy.yml index 265530124..60eeea22d 100644 --- a/config/locales/activerecord.cy.yml +++ b/config/locales/activerecord.cy.yml @@ -1,6 +1,9 @@ --- cy: activerecord: + attributes: + status: + owned_poll: Poll errors: models: account: diff --git a/config/locales/activerecord.da.yml b/config/locales/activerecord.da.yml index 5e7266ef1..8e9db715b 100644 --- a/config/locales/activerecord.da.yml +++ b/config/locales/activerecord.da.yml @@ -1,6 +1,9 @@ --- da: activerecord: + attributes: + status: + owned_poll: Afstemning errors: models: account: diff --git a/config/locales/activerecord.de.yml b/config/locales/activerecord.de.yml index 7d09856d7..19267cc4c 100644 --- a/config/locales/activerecord.de.yml +++ b/config/locales/activerecord.de.yml @@ -1,6 +1,9 @@ --- de: activerecord: + attributes: + status: + owned_poll: Umfrage errors: models: account: diff --git a/config/locales/activerecord.el.yml b/config/locales/activerecord.el.yml index 86672b21d..e396860ea 100644 --- a/config/locales/activerecord.el.yml +++ b/config/locales/activerecord.el.yml @@ -1,6 +1,9 @@ --- el: activerecord: + attributes: + status: + owned_poll: Ψηφοφορία errors: models: account: diff --git a/config/locales/activerecord.es.yml b/config/locales/activerecord.es.yml index d18b16834..aee946bb7 100644 --- a/config/locales/activerecord.es.yml +++ b/config/locales/activerecord.es.yml @@ -1,6 +1,9 @@ --- es: activerecord: + attributes: + status: + owned_poll: Encuesta errors: models: account: diff --git a/config/locales/activerecord.fa.yml b/config/locales/activerecord.fa.yml index 1cd50eec7..0cc6c12d7 100644 --- a/config/locales/activerecord.fa.yml +++ b/config/locales/activerecord.fa.yml @@ -1,6 +1,9 @@ --- fa: activerecord: + attributes: + status: + owned_poll: رأی‌گیری errors: models: account: diff --git a/config/locales/activerecord.fr.yml b/config/locales/activerecord.fr.yml index c4b04c73a..7d5952f3a 100644 --- a/config/locales/activerecord.fr.yml +++ b/config/locales/activerecord.fr.yml @@ -1,6 +1,9 @@ --- fr: activerecord: + attributes: + status: + owned_poll: Sondage errors: models: account: diff --git a/config/locales/activerecord.gl.yml b/config/locales/activerecord.gl.yml index e38131454..65a83fbee 100644 --- a/config/locales/activerecord.gl.yml +++ b/config/locales/activerecord.gl.yml @@ -1,6 +1,9 @@ --- gl: activerecord: + attributes: + status: + owned_poll: Sondaxe errors: models: account: diff --git a/config/locales/activerecord.it.yml b/config/locales/activerecord.it.yml index 4cec9fb63..51280eb32 100644 --- a/config/locales/activerecord.it.yml +++ b/config/locales/activerecord.it.yml @@ -1,6 +1,9 @@ --- 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 eeabab34a..bdb87e8e5 100644 --- a/config/locales/activerecord.nl.yml +++ b/config/locales/activerecord.nl.yml @@ -1,6 +1,9 @@ --- nl: activerecord: + attributes: + status: + owned_poll: Poll errors: models: account: diff --git a/config/locales/activerecord.oc.yml b/config/locales/activerecord.oc.yml index cdf0fa0ac..e664bd409 100644 --- a/config/locales/activerecord.oc.yml +++ b/config/locales/activerecord.oc.yml @@ -1,6 +1,9 @@ --- oc: activerecord: + attributes: + status: + owned_poll: Sondatge errors: models: account: diff --git a/config/locales/activerecord.pl.yml b/config/locales/activerecord.pl.yml index bd8e40a6a..d0c86a11e 100644 --- a/config/locales/activerecord.pl.yml +++ b/config/locales/activerecord.pl.yml @@ -2,6 +2,8 @@ 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 d2519fe90..eb0fb6785 100644 --- a/config/locales/activerecord.pt-BR.yml +++ b/config/locales/activerecord.pt-BR.yml @@ -1,6 +1,9 @@ --- 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 556fcfc4f..9ef0e5f9f 100644 --- a/config/locales/activerecord.pt.yml +++ b/config/locales/activerecord.pt.yml @@ -1,6 +1,9 @@ --- 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 2a2d62a7e..945668f30 100644 --- a/config/locales/activerecord.ru.yml +++ b/config/locales/activerecord.ru.yml @@ -1,6 +1,9 @@ --- ru: activerecord: + attributes: + status: + owned_poll: опрос errors: models: account: diff --git a/config/locales/activerecord.sk.yml b/config/locales/activerecord.sk.yml index 9ae71fa9a..bba7c66f2 100644 --- a/config/locales/activerecord.sk.yml +++ b/config/locales/activerecord.sk.yml @@ -1,6 +1,9 @@ --- sk: activerecord: + attributes: + status: + owned_poll: Anketa errors: models: account: diff --git a/config/locales/activerecord.th.yml b/config/locales/activerecord.th.yml index 2a41f4bce..7890ed80c 100644 --- a/config/locales/activerecord.th.yml +++ b/config/locales/activerecord.th.yml @@ -6,8 +6,8 @@ th: account: attributes: username: - invalid: only letters, numbers and underscores + invalid: ตัวอักษร, ตัวเลข และขีดล่างเท่านั้น status: attributes: reblog: - taken: of status already exists + taken: มีสถานะอยู่แล้ว diff --git a/config/locales/activerecord.zh_Hant.yml b/config/locales/activerecord.zh_Hant.yml new file mode 100644 index 000000000..730ab3a51 --- /dev/null +++ b/config/locales/activerecord.zh_Hant.yml @@ -0,0 +1,15 @@ +zh_Hant: + activerecord: + attributes: + status: + owned_poll: 投票 + errors: + models: + account: + attributes: + username: + invalid: 只允許使用字母、數字和底線 + status: + attributes: + reblog: + taken: 的嘟文已經存在 diff --git a/config/locales/bn.yml b/config/locales/bn.yml index e76c7ba21..b4eb012f5 100644 --- a/config/locales/bn.yml +++ b/config/locales/bn.yml @@ -4,13 +4,138 @@ bn: about_hashtag_html: এগুলো প্রকাশ্য লেখা যার হ্যাশট্যাগ #%{hashtag}। আপনি এগুলোর ব্যবহার বা সাথে যুক্ত হতে পারবেন যদি আপনার যুক্তবিশ্বের কোথাও নিবন্ধন থেকে থাকে। about_mastodon_html: মাস্টাডন উন্মুক্ত ইন্টারনেটজালের নিয়ম এবং স্বাধীন ও মুক্ত উৎসের সফটওয়্যারের ভিত্তিতে তৈরী একটি সামাজিক যোগাযোগ মাধ্যম। এটি ইমেইলের মত বিকেন্দ্রীভূত। about_this: কি + active_count_after: চালু + active_footnote: মাসিক সক্রিয় ব্যবহারকারী administered_by: 'পরিচালনা করছেন:' api: সফটওয়্যার তৈরীর নিয়ম (API) apps: মোবাইল অ্যাপ + apps_platforms: মাস্টাডন আইওএস, এন্ড্রোইড বা অন্য মাধ্যমে ব্যবহার করুন + browse_directory: একটি ব্যবহারকারীদের তালিকা দেখুন এবং পছন্দ অনুসারে খুজুন + browse_public_posts: মাস্টাডনে নতুন প্রকাশ্য লেখাগুলো সরাসরি দেখুন contact: যোগাযোগ contact_missing: নেই contact_unavailable: প্রযোজ্য নয় + discover_users: ব্যবহারকারীদের দেখুন documentation: ব্যবহারবিলি extended_description_html: |

নিয়মের জন্য উপযুক্ত জায়গা

বিস্তারিত বিবরণ এখনো যুক্ত করা হয়নি

+ federation_hint_html: "%{instance}তে একটা নিবন্ধন থাকলে আপনি যেকোনো মাস্টাডন বা এধরণের অন্যান্য সার্ভারের মানুষের সাথে যুক্ত হতে পারবেন ।" + generic_description: নেটওয়ার্কের ভেতরে %{domain} একটি সার্ভার + get_apps: মোবাইল এপ্প একটা ব্যবহার করতে পারেন + hosted_on: এই মাস্টাডনটি আছে %{domain} এ + learn_more: বিস্তারিত জানুন + privacy_policy: গোপনীয়তা নীতি + see_whats_happening: কী কী হচ্ছে দেখুন + server_stats: 'সার্ভারের অবস্থা:' + source_code: আসল তৈরীপত্র + status_count_after: + one: অবস্থা + other: স্থিতিগুলি + status_count_before: কে লিখেছে + tagline: পরিচিতজনদের সাথে যুক্ত হন এবং নতুনদের সাথে পরিচিত হন + terms: ব্যবহারের শর্তাবলী + user_count_after: + one: ব্যবহারকারী + other: জনের + user_count_before: বাসা + what_is_mastodon: মাস্টাডনটি কি ? + accounts: + choices_html: "%{name} বাছাই:" + follow: যুক্ত + followers: + one: যুক্ত আছে + other: যারা যুক্ত হয়েছে + following: যুক্ত করা + joined: যোগদান হয় %{date} + last_active: শেষ সক্রিয় ছিল + link_verified_on: এই লিংকের মালিকানা শেষ চেক করা হয় %{date} তারিখে + media: ছবি বা ভিডিও + moved_html: "%{name} চলে গেছে %{new_profile_link} তে:" + network_hidden: এই তথ্যটি নেই + nothing_here: এখানে কিছুই নেই! + people_followed_by: "%{name} যাদেরকে অনুসরণ করে" + people_who_follow: যারা %{name} কে অনুসরণ করে + pin_errors: + following: সমর্থন করতে অনুসরণ থাকা লাগবে + posts: + one: লেখা + other: লেখাগুলো + posts_tab_heading: লেখাগুলো + posts_with_replies: লেখা এবং মতামত + reserved_username: নামটি সংরক্ষিত + roles: + admin: পরিচালক + bot: রোবট + 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: নিবন্ধনের ইমেইল সঠিকভাবে পরিবর্তন হয়েছে! + current_email: এখনকার ইমেইল + label: ইমেইল পরিবর্তন + new_email: নতুন ইমেইল + submit: ইমেইল পরিবর্তন + title: "%{username} এর ইমেইল পরিবর্তন" + confirm: নিশ্চিত করুন + confirmed: নিশ্চিত হয়েছে + confirming: নিশ্চিত করা হচ্ছে + deleted: মুছে ফেলা হয়েছে + demote: নিচের পদে দিন + disable: বন্ধ করুন + disable_two_factor_authentication: দুই পদ্ধতির প্রমাণীকরণ(2FA) বন্ধ করুন + disabled: বন্ধ করা হয়েছে + display_name: দেখানোর জন্য নাম + domain: ওয়েবসাইট/কার্যক্ষেত্র + edit: বদলান + email: ইমেইল + email_status: ইমেইলের অবস্থা + enable: চালু করুন + enabled: চালু করুন + feed_url: সম্মিলিত(feed) লিংক + followers: অনুসরকারীরা + followers_url: অনুসরণকারীদের লিংক + follows: অনুসরণ করে + header: শিরোলেখা + inbox_url: চিঠি পাওয়ার বক্স লিংক + invited_by: আমন্ত্রণ করেছে + ip: আইপি(IP) + joined: যোগ দিয়েছে + location: + all: সব + local: স্থানীয় + remote: দূরবর্তী + title: জায়গা + login_status: নিবন্ধনধারীভাবে প্রবেশের অবস্থা + 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: চিঠি পাঠানোর বাক্স লিংক + pending: পয্র্যবেক্ষণের অপেক্ষায় আছে + perform_full_suspension: বাতিল করা + verification: + verification: সত্যতা নির্ধারণ diff --git a/config/locales/ca.yml b/config/locales/ca.yml index b17af3169..c9e0e092a 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -4,25 +4,36 @@ ca: about_hashtag_html: Aquests són toots públics etiquetats amb #%{hashtag}. Pots interactuar amb ells si tens un compte a qualsevol lloc del fediverse. about_mastodon_html: Mastodon és una xarxa social basada en protocols web oberts i en programari lliure i de codi obert. Està descentralitzat com el correu electrònic. about_this: Quant a + active_count_after: actiu + active_footnote: Usuaris actius mensuals (UAM) administered_by: 'Administrat per:' api: API apps: Apps mòbil + apps_platforms: Utilitza Mastodon des de iOS, Android i altres plataformes + browse_directory: Navega per el directori de perfils i filtra segons interessos + browse_public_posts: Navega per una transmissió en directe de publicacions públiques a Mastodon contact: Contacte contact_missing: No configurat contact_unavailable: N/D + discover_users: Descobreix usuaris documentation: Documentació extended_description_html: |

Un bon lloc per les regles

Encara no s'ha configurat la descripció ampliada.

+ federation_hint_html: Amb un compte de %{instance} podràs seguir persones de qualsevol servidor Mastodon i altres. generic_description: "%{domain} és un servidor a la xarxa" + get_apps: Prova una aplicació mòbil hosted_on: Mastodon allotjat a %{domain} learn_more: Més informació privacy_policy: Política de privacitat + see_whats_happening: Mira què està passant + server_stats: 'Estadístiques del servidor:' source_code: Codi font status_count_after: one: estat other: estats status_count_before: Que han escrit + tagline: Segueix els teus amics i descobreix-ne de nous terms: Termes del servei user_count_after: one: usuari @@ -68,6 +79,7 @@ ca: delete: Suprimeix destroyed_msg: Nota de moderació destruïda amb èxit! accounts: + approve: Aprova are_you_sure: N'estàs segur? avatar: Avatar by_domain: Domini @@ -113,6 +125,7 @@ ca: moderation: active: Actiu all: Tot + pending: Pendent silenced: Silenciat suspended: Suspès title: Moderació @@ -122,6 +135,7 @@ ca: no_limits_imposed: Sense límits imposats not_subscribed: No subscrit outbox_url: URL de la bústia de sortida + pending: Revisió pendent perform_full_suspension: Suspèn profile_url: URL del perfil promote: Promociona @@ -129,6 +143,7 @@ ca: public: Públic push_subscription_expires: La subscripció PuSH expira redownload: Actualitza el perfil + reject: Rebutja remove_avatar: Eliminar avatar remove_header: Treu la capçalera resend_confirmation: @@ -400,6 +415,12 @@ ca: min_invite_role: disabled: Ningú title: Permet les invitacions de + registrations_mode: + modes: + approved: Es requereix l’aprovació per registrar-se + none: Ningú no pot registrar-se + open: Qualsevol pot registrar-se + title: Mode de registres show_known_fediverse_at_about_page: desc_html: Quan s'activa, mostrarà tots els toots de tot el fedivers conegut en vista prèvia. En cas contrari, només es mostraran toots locals. title: Mostra el fedivers conegut en vista prèvia de la línia de temps @@ -462,6 +483,9 @@ ca: edit_preset: Edita l'avís predeterminat title: Gestiona les configuracions predefinides dels avisos admin_mailer: + new_pending_account: + body: A continuació trobaràs els detalls del compte nou. Pots aprovar o rebutjar aquest registre. + subject: Nou compte per a revisar a %{instance} (%{username}) new_report: body: "%{reporter} ha informat de %{target}" body_remote: Algú des de el domini %{domain} ha informat sobre %{target} @@ -483,7 +507,9 @@ ca: your_token: El teu identificador d'accés auth: agreement_html: Al fer clic en "Registre" acceptes respectar les normes del servidor i els nostres termes del servei. + apply_for_account: Demana una invitació change_password: Contrasenya + checkbox_agreement_html: Estic d'acord amb les normes del servidor i els termes del servei confirm_email: Confirmar correu electrònic delete_account: Suprimeix el compte delete_account_html: Si vols suprimir el compte pots fer-ho aquí. Se't demanarà confirmació. @@ -499,10 +525,12 @@ ca: cas: CAS saml: SAML register: Registre + registration_closed: "%{instance} no accepta nous membres" resend_confirmation: Torna a enviar el correu de confirmació reset_password: Restableix la contrasenya security: Seguretat set_new_password: Estableix una contrasenya nova + trouble_logging_in: Problemes per iniciar la sessió? authorize_follow: already_following: Ja estàs seguint aquest compte error: Malauradament, ha ocorregut un error cercant el compte remot @@ -598,6 +626,7 @@ ca: more: Més… resources: Recursos generic: + all: Tot changes_saved_msg: Els canvis s'han desat correctament! copy: Copia save_changes: Desa els canvis @@ -721,6 +750,17 @@ ca: other: Altre publishing: Publicació web: Web + relationships: + activity: Activitat del compte + dormant: Inactiu + moved: Mogut + mutual: Mútua + primary: Primari + relationship: Relació + remove_selected_domains: Elimina tots els seguidors dels dominis seleccionats + remove_selected_followers: Elimina els seguidors seleccionats + remove_selected_follows: Deixa de seguir als usuaris seleccionats + status: Estat del compte remote_follow: acct: Escriu el teu usuari@domini des del qual vols seguir missing_resource: No s'ha pogut trobar la URL de redirecció necessaria per al compte @@ -799,6 +839,7 @@ ca: migrate: Migració del compte notifications: Notificacions preferences: Preferències + relationships: Seguits i seguidors settings: Configuració two_factor_authentication: Autenticació de dos factors your_apps: Les teves aplicacions diff --git a/config/locales/co.yml b/config/locales/co.yml index 651d29781..71882b7cb 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -4,25 +4,36 @@ co: about_hashtag_html: Quessi sò statuti pubblichi taggati cù #%{hashtag}. Pudete interagisce cù elli sì voi avete un contu in qualche parte di u fediverse. about_mastodon_html: Mastodon ghjè una rete suciale custruita incù prutucolli web aperti è lugiziali liberi. Hè decentralizatu cumu l’e-mail. about_this: À prupositu + active_count_after: attivi + active_footnote: Utilizatori Attivi Mensili (UAM) administered_by: 'Amministratu da:' api: API apps: Applicazione per u telefuninu + apps_platforms: Utilizà Mastodon dapoi à iOS, Android è altre piattaforme + browse_directory: Navigà un'annuariu di i prufili è filtra per interessi + browse_public_posts: Navigà un flussu di i statuti publichi nant'à Mastodon contact: Cuntattu contact_missing: Mancante contact_unavailable: Micca dispunibule + discover_users: Scopre utilizatori documentation: Ducumentazione extended_description_html: |

Una bona piazza per e regule

A descrizzione stesa ùn hè micca stata riempiuta.

+ federation_hint_html: Cù un contu nant'à %{instance} puderete siguità ghjente da tutti i servori Mastodon è ancu più d'altri. generic_description: "%{domain} hè un servore di a rete" + get_apps: Pruvà un'applicazione di telefuninu hosted_on: Mastodon allughjatu nant’à %{domain} learn_more: Amparà di più privacy_policy: Pulitica di vita privata + see_whats_happening: Vede cio chì si passa + server_stats: 'Statistiche di u servore:' source_code: Codice di fonte status_count_after: one: statutu other: statuti status_count_before: chì anu pubblicatu + tagline: Siguità amichi è scopre ancu di più altri terms: Cundizione di u serviziu user_count_after: one: utilizatore @@ -68,6 +79,7 @@ co: delete: Toglie destroyed_msg: Nota di muderazione sguassata! accounts: + approve: Appruvà are_you_sure: Site sicuru·a? avatar: Ritrattu di prufile by_domain: Duminiu @@ -113,6 +125,7 @@ co: moderation: active: Attivu all: Tutti + pending: In attesa silenced: Silenzati suspended: Suspesi title: Muderazione @@ -122,6 +135,7 @@ co: no_limits_imposed: Nisuna limita imposta not_subscribed: Micca abbunatu outbox_url: URL di l’outbox + pending: In attesa di rivista perform_full_suspension: Suspende profile_url: URL di u prufile promote: Prumove @@ -129,6 +143,7 @@ co: public: Pubblicu push_subscription_expires: Spirata di l’abbunamentu PuSH redownload: Mette à ghjornu u prufile + reject: Righjittà remove_avatar: Toglie l’avatar remove_header: Toglie l'intistatura resend_confirmation: @@ -400,6 +415,12 @@ co: min_invite_role: disabled: Nisunu title: Auturizà l’invitazione da + registrations_mode: + modes: + approved: Apprubazione necessaria per arregistrassi + none: Nimu ùn pò arregistrassi + open: Tutt'ognunu pò arregistrassi + title: Modu d'arregistramenti show_known_fediverse_at_about_page: desc_html: Quandu ghjè selezziunatu, statuti di tuttu l’istanze cunnisciute saranu affissati indè a vista di e linee. Altrimente soli i statuti lucali saranu mustrati. title: Vedde tuttu u fediverse cunnisciutu nant’a vista di e linee @@ -462,6 +483,9 @@ co: edit_preset: Cambià a preselezzione d'avertimentu title: Amministrà e preselezzione d'avertimentu admin_mailer: + new_pending_account: + body: I ditagli di u novu contu sò quì sottu. Pudete appruvà o righjittà a dumanda. + subject: Novu contu in attesa di rivista nant'à %{instance} (%{username}) new_report: body: "%{reporter} hà palisatu %{target}" body_remote: Qualch’unu da %{domain} hà palisatu %{target} @@ -483,7 +507,9 @@ co: your_token: Rigenerà a fiscia d’accessu auth: agreement_html: Cliccà "Arregistrassi" quì sottu vole dì chì site d’accunsentu per siguità e regule di u servore è e cundizione d’usu. + apply_for_account: Dumandà un'invitazione change_password: Chjave d’accessu + checkbox_agreement_html: Sò d'accunsentu cù e regule di u servore è i termini di u serviziu confirm_email: Cunfirmà l’e-mail delete_account: Sguassà u contu delete_account_html: S’è voi vulete toglie u vostru contu ghjè quì. Duverete cunfirmà a vostra scelta. @@ -499,10 +525,12 @@ co: cas: CAS saml: SAML register: Arregistrassi + registration_closed: "%{instance} ùn accetta micca novi socii" resend_confirmation: Rimandà l’istruzzioni di cunfirmazione reset_password: Cambià a chjave d’accessu security: Sicurità set_new_password: Creà una nova chjave d’accessu + trouble_logging_in: Difficultà per cunnettavi? authorize_follow: already_following: Site digià abbunatu·a à stu contu error: Peccatu, c’hè statu un prublemu ricercandu u contu @@ -598,6 +626,7 @@ co: more: Di più… resources: Risorze generic: + all: Tuttu changes_saved_msg: Cambiamenti salvati! copy: Cupià save_changes: Salvà e mudificazione @@ -721,6 +750,17 @@ co: other: Altre publishing: Pubblicazione web: Web + relationships: + activity: Attività di u contu + dormant: Inattivu + moved: Spiazzatu + mutual: Mutuale + primary: Primariu + relationship: Rilazione + remove_selected_domains: Toglie tutti l'abbunati da i dumini selezziunati + remove_selected_followers: Toglie l'abbunati selezziunati + remove_selected_follows: Ùn siguità più l'utilizatori selezziunati + status: Statutu di u contu remote_follow: acct: Entrate u vostru cugnome@istanza da induve vulete siguità stu contu missing_resource: Ùn avemu pussutu à truvà l’indirizzu di ridirezzione @@ -799,6 +839,7 @@ co: migrate: Migrazione di u contu notifications: Nutificazione preferences: Priferenze + relationships: Abbunamenti è abbunati settings: Parametri two_factor_authentication: Identificazione à dui fattori your_apps: E vostre applicazione diff --git a/config/locales/cs.yml b/config/locales/cs.yml index e455a27fd..386398421 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -1,7 +1,7 @@ --- cs: about: - about_hashtag_html: Tohle jsou veřejné tooty označené hashtagem #%{hashtag}. Pokud máte účet kdekoliv na fediverse, můžete s nimi interagovat. + about_hashtag_html: Tohle jsou veřejné tooty označené hashtagem #%{hashtag}. Pokud máte účet kdekoliv ve fedivesmíru, můžete s nimi interagovat. about_mastodon_html: Mastodon je sociální síť založená na otevřených webových protokolech a svobodném, otevřeném softwaru. Je decentralizovaná jako e-mail. about_this: O tomto serveru active_count_after: aktivních @@ -76,12 +76,12 @@ cs: admin: account_actions: action: Vykonat akci - title: Vykonat moderační akci pro účet %{acct} + title: Vykonat moderátorskou akci pro účet %{acct} account_moderation_notes: create: Zanechat poznámku - created_msg: Poznámka moderátora byla úspěšně vytvořena! + created_msg: Moderátorská poznámka byla úspěšně vytvořena! delete: Smazat - destroyed_msg: Poznámka moderátora byla úspěšně zničena! + destroyed_msg: Moderátorská poznámka byla úspěšně zničena! accounts: approve: Schválit are_you_sure: Jste si jistý/á? @@ -114,7 +114,7 @@ cs: followers_url: URL sledujících follows: Sledovaní header: Záhlaví - inbox_url: URL přijatých zpráv + inbox_url: URL příchozí schránky invited_by: Pozván/a uživatelem ip: IP joined: Připojil/a se @@ -132,13 +132,13 @@ cs: pending: Čekající silenced: Utišen/a suspended: Pozastaven/a - title: Moderace - moderation_notes: Moderační poznámky + title: Moderování + moderation_notes: Moderátorské poznámky most_recent_activity: Nejnovější aktivita most_recent_ip: Nejnovější IP no_limits_imposed: Nejsou nastavena žádná omezení not_subscribed: Neodebírá - outbox_url: URL odchozích zpráv + outbox_url: URL odchozí schránky pending: Čeká na posouzení perform_full_suspension: Pozastavit profile_url: URL profilu @@ -165,7 +165,7 @@ cs: user: Uživatel salmon_url: URL Salmon search: Hledat - shared_inbox_url: URL sdílených přijatých zpráv + shared_inbox_url: URL sdílené příchozí schránky show: created_reports: Vytvořená nahlášení targeted_reports: Nahlášeni ostatními @@ -270,7 +270,7 @@ cs: domain: Doména new: create: Vytvořit blokaci - hint: Blokace domény nezakáže vytváření účtových záznamů v databázi, ale bude na tyto účty zpětně a automaticky aplikovat specifické metody moderace. + hint: Blokace domény nezakáže vytváření záznamů účtů v databázi, ale bude na tyto účty zpětně a automaticky aplikovat specifické metody moderování. severity: desc_html: Funkce Utišit zneviditelní příspěvky z účtu komukoliv, kdo jej nesleduje. Funkce Pozastavit odstraní všechen obsah, média a profilová data účtu. Pro pouhé odmítnutí mediálních souborů použijte funkci Žádné. noop: Žádné @@ -284,8 +284,8 @@ cs: rejecting_media: odmítají se mediální soubory rejecting_reports: odmítají se nahlášení severity: - silence: utišené - suspend: pozastavené + silence: utišeno + suspend: pozastaveno show: affected_accounts: few: "%{count} účty v databázi byly ovlivněny" @@ -305,7 +305,7 @@ cs: domain: Doména new: create: Přidat doménu - title: Nový e-mail pro zablokování + title: Nová položka pro černou listinu e-mailů title: Černá listina e-mailů followers: back_to_account: Zpět na účet @@ -320,7 +320,7 @@ cs: moderation: all: Všechny limited: Omezené - title: Moderace + title: Moderování title: Federace total_blocked_by_us: Blokované námi total_followed_by_them: Sledované jimi @@ -338,7 +338,7 @@ cs: relays: add_new: Přidat nový most delete: Smazat - description_html: "Federovací most je přechodný server, který vyměňuje velká množství veřejných tootů mezi servery, které z něj odebírají a poblikují na něj. Může pomoci malým a středně velkým serverům objevovat obsah z fediverse, což by jinak vyžadovalo, aby místní uživatelé manuálně sledovali jiné lidi na vzdálených serverech." + description_html: "Federovací most je přechodný server, který vyměňuje velká množství veřejných tootů mezi servery, které z něj odebírají a publikují na něj. Může pomoci malým a středně velkým serverům objevovat obsah z fedivesmíru, což by jinak vyžadovalo, aby místní uživatelé manuálně sledovali jiné lidi na vzdálených serverech." disable: Zakázat disabled: Zakázáno enable: Povolit @@ -403,7 +403,7 @@ cs: desc_html: Zobrazuje se na hlavní stránce. Doporučuje se rozlišení alespoň 293x205 px. Pokud toto není nastaveno, bude zobrazen výchozí maskot title: Obrázek maskota peers_api_enabled: - desc_html: Domény, na které tento server narazil ve fediverse + desc_html: Domény, na které tento server narazil ve fedivesmíru title: Zveřejnit seznam objevených serverů preview_sensitive_media: desc_html: Náhledy odkazů na jiných stránkách budou zobrazeny i pokud jsou media označena jako citlivá @@ -425,22 +425,22 @@ cs: modes: approved: Pro registraci je vyžadováno schválení none: Nikdo se nemůže registrovat - open: Všichni se mohou registrovat + open: Kdokoliv se může registrovat title: Režim registrací show_known_fediverse_at_about_page: - desc_html: Je-li toto zapnuto, zobrazí se v náhledu tooty ze všech známých serverů na fediverse. Jinak budou zobrazeny pouze místní tooty. - title: Zobrazit na náhledu časové osy celé známé fediverse + desc_html: Je-li tohle zapnuto, zobrazí se v náhledu tooty z celého známého fedivesmíru. Jinak budou zobrazeny pouze místní tooty. + title: Zobrazit na náhledu časové osy celý známý fedivesmír show_staff_badge: desc_html: Zobrazit na stránce uživatele odznak člena personálu title: Zobrazit odznak personálu site_description: - desc_html: Úvodní odstavec na hlavní straně. Popište, díky čemu je tento server Mastodon zvláštní, a cokoliv jiného, co je důležité. Můžete zde používat HTML značky, hlavně <a> a <em>. + desc_html: Úvodní odstavec v API. Popište, díky čemu je tento server Mastodon zvláštní, a cokoliv jiného, co je důležité. Můžete zde používat HTML značky, hlavně <a> a <em>. title: Popis serveru site_description_extended: desc_html: Dobré místo pro vaše pravidla, pokyny a jiné věci, které váš server odlišují od ostatních. Lze použít HTML značky - title: Vlastní doplňující informace + title: Vlastní rozšířené informace site_short_description: - desc_html: Zobrazen v postranním panelu a meta značkách. Popište, co je Mastodon a díky čemu je tento server zvláštní v jediném odstavci. Je-li tohle prázdné, zobrazí se popis serveru. + desc_html: Zobrazen v postranním panelu a meta značkách. Popište, co je Mastodon a díky čemu je tento server zvláštní v jediném odstavci. title: Krátký popis serveru site_terms: desc_html: Můžete si napsat vlastní zásady soukromí, podmínky používání či jiné legality. Můžete použít HTML značky @@ -593,6 +593,9 @@ cs: content: Omlouváme se, ale něco se u nás pokazilo. title: Tato stránka není správná noscript_html: Pro použití webové aplikace Mastodon prosím povolte JavaScript. Nebo zkuste jednu z nativních aplikací pro Mastodon pro vaši platformu. + existing_username_validator: + not_found: nelze najít místního uživatele s tímto uživatelským jménem + not_found_multiple: nelze najít %{usernames} exports: archive_takeout: date: Datum @@ -633,6 +636,7 @@ cs: more: Více… resources: Zdroje generic: + all: Všechny changes_saved_msg: Změny byly úspěšně uloženy! copy: Kopírovat save_changes: Uložit změny @@ -640,6 +644,23 @@ cs: few: Něco ještě není úplně v pořádku! Prosím zkontrolujte %{count} chyby níže 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í + identity_proofs: + active: Aktivní + authorize: Ano, autorizovat + authorize_connection_prompt: Autorizovat tohle kryptografické spojení? + errors: + failed: Kryptografické spojení selhalo. Prosím zkuste to znovu z %{provider}. + keybase: + invalid_token: Tokeny Keybase jsou hashe podpisů a musí být 66 znaků dlouhé + verification_failed: Keybase nerozpoznává tento token jako podpis uživatele %{kb_username} na Keybase. Prosím zkuste to znovu z Keybase. + explanation_html: Zde můžete kryptograficky připojit vaše ostatní identity, například profil Keybase. To dovolí jiným lidem vám posílat šifrované zprávy a důvěřovat obsahu, který jim pošlete. + i_am_html: Na %{service} jsem %{username}. + identity: Identita + inactive: Neaktivní + status: Stav ověření + view_proof: Zobrazit důkaz imports: modes: merge: Sloučit @@ -689,9 +710,9 @@ cs: acct: přezdívka@doména nového účtu currently_redirecting: 'Váš profil má nastaveno přesměrování na:' proceed: Uložit - updated_msg: Vaše nastavení migrace účtu bylo úspěšně aktualizováno! + updated_msg: Vaše nastavení přesunutí účtu bylo úspěšně aktualizováno! moderation: - title: Moderace + title: Moderování notification_mailer: digest: action: Zobrazit všechna oznámení @@ -759,6 +780,17 @@ cs: other: Ostatní publishing: Publikování web: Web + relationships: + activity: Aktivita účtu + dormant: Nečinné + moved: Přesunuté + mutual: Vzájemné + primary: Primární + relationship: Vztah + remove_selected_domains: Odstranit všechny sledující ze zvolených domén + remove_selected_followers: Odstranit zvolené sledující + remove_selected_follows: Přestat sledovat zvolené uživatele + status: Stav účtu remote_follow: acct: Napište svou přezdívku@doménu, ze které chcete jednat missing_resource: Nemůžeme najít požadované přesměrovací URL pro váš účet @@ -833,10 +865,12 @@ cs: edit_profile: Upravit profil export: Export dat featured_tags: Zvýrazněné hashtagy + identity_proofs: Důkazy identity import: Import migrate: Přesunutí účtu notifications: Oznámení preferences: Předvolby + relationships: Sledovaní a sledující settings: Nastavení two_factor_authentication: Dvoufaktorové ověřování your_apps: Vaše aplikace @@ -905,7 +939,7 @@ cs:
  • K poskytnutí základních funkcí Mastodonu. Interagovat s obsahem od jiných lidí a přispívat svým vlastním obsahem můžete pouze, pokud jste přihlášeni. Můžete například sledovat jiné lidi a zobrazit si jejich kombinované příspěvky ve vaší vlastní personalizované časové ose.
  • -
  • Pro pomoc moderaci komunity, například porovnáním vaší IP adresy s dalšími známými adresami pro určení vyhýbání se zákazům či jiných přestupků.
  • +
  • Pro pomoc moderování komunity, například porovnáním vaší IP adresy s dalšími známými adresami pro určení vyhýbání se zákazům či jiných přestupků.
  • E-mailová adresa, kterou nám poskytnete, může být použita pro zasílání informací, oznámení o interakcích jiných uživatelů s vaším obsahem nebo přijatých zprávách a k odpovědím na dotazy a/nebo další požadavky či otázky.
diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 68a445e4c..fe00c9ffc 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -4,20 +4,30 @@ 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 @@ -27,6 +37,7 @@ 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 @@ -84,6 +95,7 @@ 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 @@ -129,6 +141,7 @@ cy: moderation: active: Yn weithredol all: Popeth + pending: Yn yr arfaeth silenced: Wedi ei dawelu suspended: Wedi ei atal title: Cymedroli @@ -138,6 +151,7 @@ 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 @@ -145,6 +159,7 @@ 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: @@ -424,6 +439,12 @@ 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 @@ -486,6 +507,9 @@ 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} @@ -507,7 +531,9 @@ 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. @@ -523,10 +549,12 @@ 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 @@ -640,10 +668,13 @@ 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 @@ -746,17 +777,38 @@ 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/da.yml b/config/locales/da.yml index 625cead43..88bf05d17 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -7,6 +7,7 @@ da: administered_by: 'Administreret af:' api: API apps: Apps til mobilen + apps_platforms: Brug Mastodon på iOS, Android og andre platformer contact: Kontakt contact_missing: Ikke sat contact_unavailable: Ikke tilgængeligt @@ -139,8 +140,8 @@ da: search: Søg shared_inbox_url: Link til delt indbakke show: - created_reports: Anmeldelser oprettet af denne konto - targeted_reports: Anmeldelser fra denne konto + created_reports: Anmeldelser oprettet + targeted_reports: Anmeldelser fra andre silence: Dæmp silenced: Dæmpet statuses: Statusser @@ -232,7 +233,7 @@ da: week_users_active: aktive denne uge week_users_new: brugere denne uge domain_blocks: - add_new: Tilføj ny + add_new: Tilføj ny domain block created_msg: Domæne blokade bliver nu behandlet destroyed_msg: Domæne blokade er blevet annulleret domain: Domæne @@ -257,7 +258,7 @@ da: suspend: Fjern udelukkelsen af alle eksisterende konti fra dette domæne title: Annuller domæne blokeringen for domænet %{domain} undo: Fortryd - undo: Fortryd + undo: Fortryd domain block email_domain_blocks: add_new: Tilføj ny created_msg: Tilføjede succesfuldt email domænet til sortliste @@ -271,7 +272,7 @@ da: followers: back_to_account: Tilbage til konto instances: - title: Kendte instanser + title: Førderation invites: deactivate_all: Deaktiver alle filter: @@ -342,11 +343,11 @@ da: desc_html: Ændre udseendet med CSS indlæst på hver side title: Brugerdefineret CSS hero: - desc_html: Vist på forsiden. Mindst 600x100px anbefales. Hvis ikke sat, vil dette falde tilbage til billedet for instansen + desc_html: Vist på forsiden. Mindst 600x100px anbefales. Hvis ikke sat, vil dette falde tilbage til billedet fra serveren title: Billede af helt peers_api_enabled: - desc_html: Domæne navne denne instans er stødt på i fediverset - title: Udgiv liste over opdagede instanser + desc_html: Domæne navne denne server er stødt på i fediverset + title: Udgiv liste over opdagede server preview_sensitive_media: desc_html: Forhåndsvisninger af links på andre websider vil vise et miniaturebillede selv hvis mediet er markeret som følsomt title: Vis følsomt medie i OpenGraph forhåndsvisninger @@ -368,20 +369,20 @@ da: title: Vis personale emblem site_description: desc_html: Introduktions afsnit på forsiden. Beskriv hvad der gør denne Mastodon server speciel og alt andet vigtigt. Du kan bruge HTML tags, især <a> og <em>. - title: Beskrivelse af instans + title: Beskrivelse af serveren site_description_extended: - desc_html: Et godt sted for placering af adfærdskodes, regler, retningslinjer og andre ting der gør din instans unik. Du kan bruge HTML tags + desc_html: Et godt sted for placering af adfærdskodes, regler, retningslinjer og andre ting der gør din server unik. Du kan bruge HTML tags title: Brugerdefineret udvidet information site_short_description: - desc_html: Vist på sidelinjen og meta tags. Beskriv hvad Mastodon er og hvad der gør denne server speciel i et enkelt afsnit. Hvis tomt, vil standard være beskrivelsen af instansen. - title: Kort beskrivelse af instans + desc_html: Vist på sidelinjen og meta tags. Beskriv hvad Mastodon er og hvad der gør denne server speciel i et enkelt afsnit. Hvis tomt, vil standard være beskrivelsen af serveren. + title: Kort beskrivelse af serveren site_terms: desc_html: Du kan skrive din egen privatlivpolitik, servicevilkår, eller lignende. Du kan bruge HTML tags title: Brugerdefineret servicevilkår - site_title: Navn på instans + site_title: Navn af serveren thumbnail: desc_html: Brugt til forhåndsvisninger via OpenGraph og API. 1200x630px anbefales - title: Miniaturebillede for instans + title: Miniaturebillede for serveren timeline_preview: desc_html: Vis offentlig tidslinje på landingssiden title: Tidslinje forhåndsvisning @@ -431,7 +432,7 @@ da: warning: Vær meget forsigtig med disse data. Del dem aldrig med nogen! your_token: Din adgangs token auth: - agreement_html: Ved at oprette dig erklærer du dig enig i at følge instanses regler og vores servicevilkår. + agreement_html: Ved at oprette dig erklærer du dig enig i at følge serverens regler og vores servicevilkår. change_password: Kodeord confirm_email: Bekræft email delete_account: Slet konto @@ -483,7 +484,7 @@ da: description_html: Dette vil permanent, uigenkaldeligt fjerne indhold fra din konto samt deaktivere den. Dit brugernavn vil forblive reserveret for at forhindre fremtidige efterligninger. proceed: Slet konto success_msg: Din konto er nu blevet slettet - warning_html: Kun sletning af indhold fra denne specifikke instans er garanteret. Indhold der er blevet delt rundt omkring vil sandsynligvis efterlade spor. Offline servere og servere der ikke længere abonnerer på dine opdateringer vil ikke opdatere deres databaser. + warning_html: Kun sletning af indhold fra denne specifikke server er garanteret. Indhold der er blevet delt rundt omkring vil sandsynligvis efterlade spor. Offline servere og servere der ikke længere abonnerer på dine opdateringer vil ikke opdatere deres databaser. warning_title: Tilgængelighed af delt indhold errors: '403': Du har ikke tilladelse til at se denne side. @@ -538,7 +539,7 @@ da: one: Der er noget der ikke er helt som det bør være! Tag lige et kig på følgende fejl forneden other: Der er noget der ikke er helt som det bør være! Tag lige et kig på følgende %{count} fejl forneden imports: - preface: Du kan importere data du har eksporteret fra en anden instans, så som en liste over folk du følger eller blokerer. + preface: Du kan importere data du har eksporteret fra en anden server, så som en liste over folk du følger eller blokerer. success: Dine data blev succesfuldt uploaded og vil nu blive behandlet hurtigst muligt types: blocking: Blokeringsliste @@ -563,7 +564,7 @@ da: one: 1 benyttelse other: "%{count} benyttelser" max_uses_prompt: Ubegrænset - prompt: Generer og del links med andre for at give dem adgang til denne instans + prompt: Generer og del links med andre for at give dem adgang til denne server table: expires_at: Udløber uses: Benyttelser @@ -743,9 +744,9 @@ da: body_html: "

Privatlivspolitik

\n

Hvilke information indsamler vi?

\n\n
    \n  
  • Grundlæggende kontoinformation : Hvis du registrerer dig på denne server, bliver du måske bedt om at indtaste et brugernavn, en e-mail-adresse og et kodeord. Du kan også indtaste yderligere profiloplysninger, såsom et visningsnavn og biografi, og uploade et profilbillede og headerbillede. Brugernavnet, visningsnavnet, biografien, profilbilledet og hovedbilledet vises altid offentligt.
  • \n  
  • Stillinger, følgende og andre offentlige oplysninger : Listen over personer du følger er offentliggjort, det samme gælder for dine tilhængere. Når du sender en besked, gemmes datoen og klokkeslættet såvel som det program, du sendte beskeden fra. Meddelelser kan indeholde medievedhæftninger, som f.eks. Billeder og videoer. Offentlige og unoterede indlæg er offentligt tilgængelige. Når du har et indlæg på din profil, er det også offentligt tilgængelig information. Dine indlæg leveres til dine tilhængere, i nogle tilfælde betyder det, at de leveres til forskellige servere, og der gemmes kopier der. Når du sletter indlæg, leveres det også til dine tilhængere. Handlingen med reblogging eller favorisering af et andet indlæg er altid offentligt.
  • \n  
  • Direkte og efterfølger-kun indlæg : Alle indlæg gemmes og behandles på serveren. Følgere-kun indlæg leveres til dine tilhængere og brugere, der er nævnt i dem, og direkte indlæg leveres kun til brugere nævnt i dem. I nogle tilfælde betyder det, at de leveres til forskellige servere, og der gemmes kopier der. Vi gør en god tro for at begrænse adgangen til disse stillinger kun til autoriserede personer, men andre servere kan undlade at gøre det. Derfor er det vigtigt at gennemgå de servere, dine tilhængere tilhører. Du kan skifte en mulighed for at godkende og afvise nye følgere manuelt i indstillingerne. Vær opmærksom på, at operatørerne af serveren og enhver modtagende server muligvis kan se sådanne meddelelser , og at modtagere muligvis skærmbilleder, kopierer eller på anden vis deler dem igen. Del ikke nogen farlig information over Mastodon.
  • \n  
  • IP'er og andre metadata : Når du logger ind, registrerer vi den IP-adresse, du logger ind fra, samt navnet på din browser-applikation. Alle indloggede sessioner er tilgængelige til din anmeldelse og tilbagekaldelse i indstillingerne. Den seneste anvendte IP-adresse gemmes i op til 12 måneder. Vi kan også beholde serverlogfiler, som indeholder IP-adressen til hver anmodning til vores server.
  • \n
\n\n
\n\n

Hvad bruger vi dine oplysninger til?

\n\n

Enhver af de oplysninger, vi indsamler fra dig, kan bruges på følgende måder:

\n\n
    \n  
  • At levere kernen funktionalitet Mastodon. Du kan kun interagere med andres indhold og indsende dit eget indhold, når du er logget ind. Du kan f.eks. Følge andre personer for at se deres kombinerede indlæg på din egen personlige tidslinje.
  • \n  
  • For at hjælpe moderering af samfundet, f.eks. sammenligning af din IP-adresse med andre kendte, for at bestemme forbud mod unddragelse eller andre overtrædelser.
  • \n  
  • Den e-mail-adresse, du angiver, kan bruges til at sende dig oplysninger, meddelelser om andre personer, der interagerer med dit indhold eller sender dig beskeder, og for at svare på henvendelser og / eller andre forespørgsler eller spørgsmål.
  • \n
\n\n
\n\n

Hvordan beskytter vi dine oplysninger?

\n\n

Vi implementerer en række sikkerhedsforanstaltninger for at opretholde sikkerheden for dine personlige oplysninger, når du indtaster, indsender eller har adgang til dine personlige oplysninger. Bl.a. er din browsersession samt trafikken mellem dine applikationer og API'en sikret med SSL, og din adgangskode er hashed ved hjælp af en stærk envejsalgoritme. Du kan muligvis aktivere tofaktors godkendelse for yderligere at sikre adgang til din konto.

\n\n
\n\n

Hvad er vores data retention politik?

\n\n

Vi vil gøre en god tro indsats for at:

\n\n
    \n  
  • Behold serverlogfiler, der indeholder IP-adressen på alle anmodninger til denne server, for så vidt som sådanne logfiler holdes, ikke mere end 90 dage.
  • \n  
  • Behold de IP-adresser, der er forbundet med registrerede brugere, ikke mere end 12 måneder.
  • \n
\n\n

Du kan anmode om og downloade et arkiv af dit indhold, herunder dine indlæg, medievedhæftninger, profilbillede og headerbillede.

\n\n

Du kan til enhver tid slette din konto.

\n\n
\n\n

Bruger vi cookies?

\n\n

Ja. Cookies er små filer, som et websted eller dets tjenesteudbyder overfører til din computers harddisk via din webbrowser (hvis du tillader det). Disse cookies gør det muligt for webstedet at genkende din browser og, hvis du har en registreret konto, associerer den med din registrerede konto.

\n\n

Vi bruger cookies til at forstå og gemme dine præferencer til fremtidige besøg.

\n\n
\n\n

Viser vi nogen information til eksterne parter?

\n\n

Vi sælger ikke, handler eller på anden måde overfører dine personlige identificerbare oplysninger til eksterne parter. Dette omfatter ikke tillid til tredjeparter, der hjælper os med at drive vores hjemmeside, udføre vores forretning eller servicere dig, så længe parterne er enige om at holde disse oplysninger fortrolige. Vi kan også frigive dine oplysninger, når vi mener, at udgivelsen er hensigtsmæssig for at overholde loven, håndhæve vores webstedspolitikker eller beskytte vores eller andre rettigheder, ejendom eller sikkerhed.

\n\n

Dit offentlige indhold kan downloades af andre servere i netværket. Dine offentlige og efterfølger-kun indlæg leveres til de servere, hvor dine tilhængere er bosat, og direkte meddelelser leveres til modtagerens servere, for så vidt som disse tilhængere eller modtagere opholder sig på en anden server end dette.

\n\n

Når du autoriserer et program til at bruge din konto, afhænger det af omfanget af tilladelser, du godkender, det kan få adgang til dine offentlige profiloplysninger, din følgende liste, dine tilhængere, dine lister, alle dine indlæg og dine favoritter. Applikationer kan aldrig få adgang til din e-mail-adresse eller adgangskode.

\n\n
\n\n

Bebyggelse af børn

\n\n

Hvis denne server er i EU eller EØS: Vores websted, produkter og tjenester er alle rettet mod personer, der er mindst 16 år gamle. Hvis du er under 16 år, skal du ikke bruge dette websted efter kravene i GDPR ( Generel databeskyttelsesforordning ). .

\n\n

Hvis denne server er i USA: Vores websted, produkter og tjenester er alle rettet mod personer, der er mindst 13 år. Hvis du er under 13 år, skal du ikke bruge kravene i COPPA ( Børns online beskyttelse af personlige oplysninger ) dette websted.

\n\n

Lovkrav kan være anderledes, hvis denne server er i en anden jurisdiktion.

\n\n
\n\n

Ændringer i vores privatlivspolitik

\n\n

Hvis vi beslutter os for at ændre vores privatlivspolitik, vil vi sende disse ændringer på denne side.

\n\n

Dette dokument er CC-BY-SA. Det blev senest opdateret 7. marts 2018.

\n\n

Oprindelig tilpasset fra Discourse privacy policy .

\n" title: Vilkår og privatlivpolitik for %{instance} themes: - contrast: Høj kontrast - default: Mastodont - mastodon-light: Mastodon (lys) + contrast: Mastodon (Høj kontrast) + default: Mastodont (Mørk) + mastodon-light: Mastodon (Lys) time: formats: default: "%b %d, %Y, %H:%M" @@ -778,7 +779,7 @@ da: final_action: Kom igang med at poste final_step: 'Start med at skrive opslag! Selv uden følgere vil dine offentlige beskeder kunne ses af andre, foreksempel på den lokale tidslinje og i hashtags. Måske kunne du tænke dig at introducere dig selv på #introductions hashtagget.' full_handle: Dit fulde brugernavn - full_handle_hint: Dette er hvad du vil fortælle dine venner så de kan sende dig beskeder eller følge dig fra andre instanser. + full_handle_hint: Dette er hvad du vil fortælle dine venner så de kan sende dig beskeder eller følge dig fra andre server. review_preferences_action: Ændre præferencer review_preferences_step: Vær sikker på at sætte dine præferencer, så som hvilke emails du kunne tænke dig at modtage, eller hvilket niveau af privatliv der skal være standard for dine opslag. Hvis du kunne tænke dig ikke at blive køresyg, kan du vælge at aktivere automatisk afspilning af GIFfer. subject: Velkommen til Mastodon diff --git a/config/locales/de.yml b/config/locales/de.yml index 5c095c58a..e22198687 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -4,25 +4,36 @@ de: about_hashtag_html: Dies sind öffentliche Beiträge, die mit #%{hashtag} getaggt wurden. Wenn du irgendwo im Fediversum ein Konto besitzt, kannst du mit ihnen interagieren. about_mastodon_html: Mastodon ist ein soziales Netzwerk. Es basiert auf offenen Web-Protokollen und freier, quelloffener Software. Es ist dezentral (so wie E-Mail!). about_this: Über diese Instanz + active_count_after: aktiv + active_footnote: Monatlich Aktive User (MAU) administered_by: 'Administriert von:' api: API apps: Mobile Apps + apps_platforms: Benutze Mastodon auf iOS, Android und anderen Plattformen + browse_directory: Durchsuche ein Profilverzeichnis und filtere nach Interessen + browse_public_posts: Durchsuche einen Zeitleiste an öffentlichen Beiträgen auf Mastodon contact: Kontakt contact_missing: Nicht angegeben contact_unavailable: N/A + discover_users: Benutzer entdecken documentation: Dokumentation extended_description_html: |

Ein guter Platz für Regeln

Die erweiterte Beschreibung wurde noch nicht aufgesetzt.

+ federation_hint_html: Mit einem Account auf %{instance} wirst du in der Lage sein Nutzern auf irgendeinem Mastodon-Server und darüber hinaus zu folgen. generic_description: "%{domain} ist ein Server im Netzwerk" + get_apps: Versuche eine mobile App hosted_on: Mastodon, beherbergt auf %{domain} learn_more: Mehr erfahren privacy_policy: Datenschutzerklärung + see_whats_happening: Finde heraus, was gerade in der Welt los ist + server_stats: 'Serverstatistiken:' source_code: Quellcode status_count_after: one: Statusmeldung other: Statusmeldungen status_count_before: mit + tagline: Finde Freunde und entdecke neue terms: Nutzungsbedingungen user_count_after: one: Benutzer:in @@ -68,6 +79,7 @@ de: delete: Löschen destroyed_msg: Moderationsnotiz erfolgreich gelöscht! accounts: + approve: Aktzeptieren are_you_sure: Bist du sicher? avatar: Profilbild by_domain: Domain @@ -113,6 +125,7 @@ de: moderation: active: Aktiv all: Alle + pending: Ausstehend silenced: Stummgeschaltet suspended: Gesperrt title: Moderation @@ -122,6 +135,7 @@ de: no_limits_imposed: Keine Limits eingesetzt not_subscribed: Nicht abonniert outbox_url: Postausgangs-URL + pending: Ausstehender Review perform_full_suspension: Sperren profile_url: Profil-URL promote: Befördern @@ -129,6 +143,7 @@ de: public: Öffentlich push_subscription_expires: PuSH-Abonnement läuft aus redownload: Profil neu laden + reject: Ablehnen remove_avatar: Profilbild entfernen remove_header: Header entfernen resend_confirmation: @@ -291,6 +306,7 @@ de: back_to_account: Zurück zum Konto title: "%{acct}'s Follower" instances: + by_domain: Domain delivery_available: Zustellung ist verfügbar known_accounts: one: "%{count} bekanntes Konto" @@ -399,6 +415,12 @@ de: min_invite_role: disabled: Niemand title: Einladungen erlauben von + registrations_mode: + modes: + approved: Zustimmung benötigt zur Registrierung + none: Niemand kann sich registrieren + open: Jeder kann sich registrieren + title: Registrierungsmodus show_known_fediverse_at_about_page: desc_html: Wenn aktiviert, wird es alle Beiträge aus dem bereits bekannten Teil des Fediversums auf der Startseite anzeigen. Andernfalls werden lokale Beitrage der Instanz angezeigt. title: Verwende öffentliche Zeitleiste für die Vorschau @@ -461,6 +483,9 @@ de: edit_preset: Warnungsvorlage bearbeiten title: Warnungsvorlagen verwalten admin_mailer: + new_pending_account: + body: Die Details von diesem neuem Konto sind unten. Du kannst die Anfrage akzeptieren oder ablehnen. + subject: Neues Konto zur Überprüfung auf %{instance} verfügbar (%{username}) new_report: body: "%{reporter} hat %{target} gemeldet" body_remote: Jemand von %{domain} hat %{target} gemeldet @@ -482,7 +507,9 @@ de: your_token: Dein Zugangs-Token auth: agreement_html: Indem du dich registrierst, erklärst du dich mit den untenstehenden Regeln des Servers und der Datenschutzerklärung einverstanden. + apply_for_account: Eine Einladung anfragen change_password: Passwort + checkbox_agreement_html: Ich akzeptiere die Server-Regeln und die Nutzungsbedingungen confirm_email: E-Mail bestätigen delete_account: Konto löschen delete_account_html: Falls du dein Konto löschen willst, kannst du hier damit fortfahren. Du wirst um Bestätigung gebeten werden. @@ -498,10 +525,12 @@ de: cas: CAS saml: SAML register: Registrieren + registration_closed: "%{instance} akzeptiert keine neuen Mitglieder" resend_confirmation: Bestätigungs-Mail erneut versenden reset_password: Passwort zurücksetzen security: Sicherheit set_new_password: Neues Passwort setzen + trouble_logging_in: Schwierigkeiten beim anmelden? authorize_follow: already_following: Du folgst diesem Konto bereits error: Das Remote-Konto konnte nicht geladen werden @@ -557,6 +586,9 @@ de: content: Bitte verzeih, etwas ist bei uns schief gegangen. title: Diese Seite ist kaputt noscript_html: Bitte aktiviere JavaScript, um die Mastodon-Web-Anwendung zu verwenden. Alternativ kannst du auch eine der nativen Mastodon-Anwendungen für deine Plattform probieren. + existing_username_validator: + not_found: kann lokalen Benutzer nicht mit diesem Nuternamen finden + not_found_multiple: kann %{usernames} nicht finden exports: archive_takeout: date: Datum @@ -597,12 +629,30 @@ de: more: Mehr… resources: Ressourcen generic: + all: Alle changes_saved_msg: Änderungen gespeichert! copy: Kopieren save_changes: Änderungen speichern validation_errors: 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 + identity_proofs: + active: Aktiv + authorize: Ja, autorisieren + authorize_connection_prompt: Diese kryptographische Verbindung autorisieren? + errors: + failed: Die kryptographische Verbindung ist fehlgeschlagen. Bitte versuche es nochmal von %{provider}. + keybase: + invalid_token: Keybase-Tokens sind Hashsignaturen und müssen 66 Hexadezimalzeichen lang sein + verification_failed: Keybase nimmt dieses Token nicht als Signatur für Keybase-Benutzer %{kb_username} an. Bitte versuche es nochmal über Keybase. + explanation_html: Hier kannst du kryptographisch deine anderen Identitäten wie dein Keybase-Profil verbinden. Dadurch können andere Leute dir verschlüsselte Nachrichten senden und dem Inhalt, den sie dir senden, vertrauen. + i_am_html: Ich bin %{username} auf %{service}. + identity: Identität + inactive: Inaktiv + status: Verifizierungsstatus + view_proof: Zeige Nachweis imports: modes: merge: Zusammenführen @@ -705,11 +755,32 @@ de: older: Älter prev: Zurück truncate: "…" + polls: + errors: + already_voted: Du hast bereits für diese Umfrage abgestimmt + duplicate_options: enthält doppelte Einträge + duration_too_long: ist zu weit in der Zukunft + duration_too_short: ist zu früh + expired: Die Umfrage ist bereits vorbei + over_character_limit: kann nicht länger als jeweils %{max} Zeichen sein + too_few_options: muss mindestens einen Eintrag haben + too_many_options: kann nicht mehr als %{max} Einträge beinhalten preferences: languages: Sprachen other: Weiteres publishing: Beiträge web: Web + relationships: + activity: Kontoaktivität + dormant: Inaktiv + moved: Umgezogen + mutual: Bekannt + primary: Primär + relationship: Beziehung + remove_selected_domains: Entferne alle Follower von den ausgewählten Domains + remove_selected_followers: Entferne ausgewählte Follower + remove_selected_follows: Entfolge ausgewählte Benutzer + status: Kontostatus remote_follow: acct: Profilname@Domain, von wo aus du dieser Person folgen möchtest missing_resource: Die erforderliche Weiterleitungs-URL für dein Konto konnte nicht gefunden werden @@ -784,10 +855,12 @@ de: edit_profile: Profil bearbeiten export: Datenexport featured_tags: Empfohlene Hashtags + identity_proofs: Identitätsnachweise import: Datenimport migrate: Konto-Umzug notifications: Benachrichtigungen preferences: Einstellungen + relationships: Folgende und Follower settings: Einstellungen two_factor_authentication: Zwei-Faktor-Auth your_apps: Deine Anwendungen @@ -813,6 +886,11 @@ de: ownership: Du kannst nur eigene Beiträge anheften private: Du kannst nur öffentliche Beiträge anheften reblog: Du kannst keine geteilten Beiträge anheften + poll: + total_votes: + one: "%{count} Stimme" + other: "%{count} Stimmen" + vote: Abstimmen show_more: Mehr anzeigen sign_in_to_participate: Melde dich an, um an der Konversation teilzuhaben title: '%{name}: "%{quote}"' @@ -834,7 +912,7 @@ de:
  • Grundlegende Kontoinformationen: Wenn du dich auf diesem Server registrierst, wirst du darum gebeten, einen Benutzer:innen-Namen, eine E-Mail-Adresse und ein Passwort einzugeben. Du kannst auch zusätzliche Profilinformationen wie etwa einen Anzeigenamen oder eine Biografie eingeben und ein Profilbild oder ein Headerbild hochladen. Der Benutzer:innen-Name, der Anzeigename, die Biografie, das Profilbild und das Headerbild werden immer öffentlich angezeigt.
  • -
  • Beiträge, Folge- und andere öffentliche Informationen: Die Liste der Leute, denen du folgst, wird öffentlich gezeigt, das gleiche gilt für deine Folgenden (Follower). Sobald du eine Nachricht übermittelst, wird das Datum und die Uhrzeit gemeinsam mit der Information, welche Anwendung du dafür verwendet hast, gespeichert. Nachricht können Medienanhänge enthalten, etwa Bilder und Videos. Öffentliche und ungelistete Beiträge sind öffentlich verfügbar. Sobald du einen Beitrag auf deinem Profil featurest, sind dies auch öffentlich verfügbare Informationen. Deine Beiträge werden an deine Folgenden ausgeliefert, was in manchen Fällen bedeutet, dass sie an andere Server ausgeliefert werden und dort Kopien gespeichert werden. Sobald du Beiträge löschst, wird dies ebenso an deine Follower ausgeliefert. Die Handlungen des Teilens und Favorisieren eines anderen Beitrages ist immer öffentlich.
  • +
  • Beiträge, Folge- und andere öffentliche Informationen: Die Liste der Leute, denen du folgst, wird öffentlich gezeigt, das gleiche gilt für deine Folgenden (Follower). Sobald du eine Nachricht übermittelst, wird das Datum und die Uhrzeit gemeinsam mit der Information, welche Anwendung du dafür verwendet hast, gespeichert. Nachricht können Medienanhänge enthalten, etwa Bilder und Videos. Öffentliche und ungelistete Beiträge sind öffentlich verfügbar. Sobald du einen Beitrag auf deinem Profil anpinnst, sind dies auch öffentlich verfügbare Informationen. Deine Beiträge werden an deine Folgenden ausgeliefert, was in manchen Fällen bedeutet, dass sie an andere Server ausgeliefert werden und dort Kopien gespeichert werden. Sobald du Beiträge löschst, wird dies ebenso an deine Follower ausgeliefert. Die Handlungen des Teilens und Favorisieren eines anderen Beitrages ist immer öffentlich.
  • Direkte und "Nur Folgende"-Beiträge: Alle Beiträge werden auf dem Server gespeichert und verarbeitet. "Nur Folgende"-Beiträge werden an deine Folgenden und an Benutzer:innen, die du in ihnen erwähnst, ausgeliefert, direkte Beiträge nur an in ihnen erwähnte Benutzer:innen. In manchen Fällen bedeutet dass, dass sie an andere Server ausgeliefert werden und dort Kopien gespeichert werden. Wir bemühen uns nach bestem Wissen und Gewissen, den Zugriff auf diese Beiträge auf nur autorisierte Personen einzuschränken, jedoch könnten andere Server dabei scheitern. Deswegen ist es wichtig, die Server, zu denen deine Folgenden gehören, zu überprüfen. Du kannst eine Option in den Einstellungen umschalten, um neue Folgenden manuell anzunehmen oder abzuweisen. Bitte beachte, dass die Betreiber des Server und jedes empfangenden Servers solche Nachrichten anschauen könnten und dass Empfänger von diesen eine Bildschirmkopie erstellen könnten, sie kopieren oder anderweitig weiterverteilen könnten. Teile nicht irgendwelche gefährlichen Informationen über Mastodon.
  • Internet Protocol-Adressen (IP-Adressen) und andere Metadaten: Sobald du dich anmeldest, erfassen wir sowohl die IP-Adresse, von der aus du dich anmeldest, als auch den Namen deine Browseranwendung. Alle angemeldeten Sitzungen (Sessions) sind für deine Überprüfung und Widerruf in den Einstellungen verfügbar. Die letzte verwendete IP-Adresse wird bis zu 12 Monate lang gespeichert. Wir könnten auch Serverprotokoll behalten, welche die IP-Adresse von jeder Anfrage an unseren Server enthalten.
@@ -870,7 +948,7 @@ de:

Du kannst ein Archiv deines Inhalts anfordern und herunterladen, inkludierend deiner Beiträge, Medienanhänge, Profilbilder und Headerbilder.

-

Du kannst dein Konto jederzeit unwiderruflich löschen.

+

Es ist in den meisten Fällen möglich dein Konto jederzeit eigenmächtig unwiderruflich zu löschen.


@@ -894,7 +972,7 @@ de:

Webseitenbenutzung durch Kinder

-

Wenn sich dieser Server in der EU oder im Europäischen Wirtschaftsraum befinden: Unsere Website, Produkte und Dienstleistungen sind alle an Leute gerichtet, die mindestens 16 Jahre als sind. Wenn du unter 16 bist, darfst du nach den Bestimmungen der DSGVO (Datenschutz-Grundverordnung) diese Webseite nicht benutzen.

+

Wenn sich dieser Server in der EU oder im Europäischen Wirtschaftsraum befindet: Unsere Website, Produkte und Dienstleistungen sind alle an Leute gerichtet, die mindestens 16 Jahre als sind. Wenn du unter 16 bist, darfst du nach den Bestimmungen der DSGVO (Datenschutz-Grundverordnung) diese Webseite nicht benutzen.

Wenn sich dieser Server in den USA befindet: Unsere Webseite, Produkte und Dienstleistungen sind alle an Leute gerichtet, die mindestens 13 Jahre alt sind. Wenn du unter 13 bist, darfst du nach den Bestimmungen des COPPA (Children's Online Privacy Protection Act, dt. "Gesetz zum Schutz der Privatsphäre von Kindern im Internet") diese Webseite nicht benutzen.

diff --git a/config/locales/devise.ca.yml b/config/locales/devise.ca.yml index 89d837571..aea361d0d 100644 --- a/config/locales/devise.ca.yml +++ b/config/locales/devise.ca.yml @@ -12,6 +12,7 @@ ca: last_attempt: Tens un intent més, abans que es bloqui el compte. locked: El compte s'ha blocat. not_found_in_database: "%{authentication_keys} o contrasenya no vàlids." + pending: El teu compte encara està en revisió. timeout: La sessió ha expirat. Inicia sessió una altra vegada per a continuar. unauthenticated: Cal iniciar sessió o registrar-se abans de continuar. unconfirmed: Has de confirmar l'adreça de correu electrònic abans de continuar. @@ -20,6 +21,7 @@ ca: action: Verifica l'adreça de correu action_with_app: Confirma i torna a %{app} explanation: Has creat un compte a %{host} amb aquesta adreça de correu electrònic. Estàs a un sol clic de l'activació. Si no fos així, ignora aquest correu electrònic. + explanation_when_pending: Has sol·licitat una invitació a %{host} amb aquesta adreça de correu electrònic. Un cop confirmis la teva adreça de correu electrònic revisarem la teva sol·licitud. No es pot iniciar la sessió fins llavors. Si la teva sol·licitud és rebutjada les teves dades s’eliminaran, de manera que no s’exigirà cap altra acció. Si no has estat tu qui ha fet aquest sol·licitud si us plau ignora aquest correu electrònic. extra_html: Si us plau consulta també les regles del servidor i les nostres condicions de servei. subject: 'Mastodon: Instruccions de confirmació %{instance}' title: Verifica l'adreça de correu @@ -60,6 +62,7 @@ ca: signed_up: Benvingut! T'has registrat amb èxit. signed_up_but_inactive: T´has registrat amb èxit. No obstant, no podem identificar-te perquè el compte encara no s'ha activat. signed_up_but_locked: T´has registrat amb èxit. No obstant, no podem identificar-te perquè el compte està blocat. + signed_up_but_pending: S'ha enviat un missatge amb un enllaç de confirmació a la teva adreça de correu electrònic. Després de que hagis fet clic a l'enllaç, revisarem la teva sol·licitud. Se't notificarà si s'aprova. signed_up_but_unconfirmed: Un missatge amb un enllaç de confirmació ha estat enviat per correu electrònic. Si us plau segueixi l'enllaç per activar el seu compte. update_needs_confirmation: Ha actualitzat el seu compte amb èxit, però necessitem verificar la nova adreça de correu. Si us plau comprovi el correu i segueixi l'enllaç per confirmar la nova adreça de correu. updated: el seu compte ha estat actualitzat amb èxit. diff --git a/config/locales/devise.co.yml b/config/locales/devise.co.yml index 89688a5a9..16481737f 100644 --- a/config/locales/devise.co.yml +++ b/config/locales/devise.co.yml @@ -12,6 +12,7 @@ co: last_attempt: Avete un’ultimu tintativu nanzu chì u vostru contu sia chjosu. locked: U vostru contu hè chjosu. not_found_in_database: L’ %{authentication_keys} o a chjave d’accessu ùn sò curretti. + pending: U vostru contu hè sempre in corsu di rivista. timeout: A vostra sezzione hè spirata. Ricunnettatevi pè cuntinuà. unauthenticated: Cunnettatevi o arregistratevi pè cuntinuà. unconfirmed: Duvete cunfirmà u vostru contu pè cuntinuà. @@ -20,6 +21,7 @@ co: action: Verificà l’indirizzu email action_with_app: Cunfirmà è rivene à %{app} explanation: Avete creatu un contu nant’à %{host} cù st’indirizzu email. Pudete attivallu cù un clic, o ignurà quessu missaghji s’ellu un era micca voi. + explanation_when_pending: Avete dumandatu un'invitazione à %{host}, cù st'indirizzu e-mail. Una volta ch'ellu hè cunfirmatu, avemu da dà un'ochjata à a vostra dumanda. Ùn pudete micca cunnettavi nanz'à quessa. S'ella hè righjittata a vostra dumanda, i vostri dati saranu sguassati è ùn duverete fà nund'altru. S'ellu ùn era micca voi, pudete ignurà quess'e-mail. extra_html: Pensate à leghje e regule di u servore è i termini d’usu. subject: 'Mastodon: Istruzzione di cunfirmazione per %{instance}' title: Verificà l’indirizzu email @@ -60,6 +62,7 @@ co: signed_up: Benvinutu! Site cunnettatu·a. signed_up_but_inactive: Site arregistratu·a, mà ùn pudete micca cunnettavi perchè u vostru contu deve esse attivatu. signed_up_but_locked: Site arregistratu·a, mà ùn pudete micca cunnettavi perchè u vostru contu hè chjosu. + signed_up_but_pending: Un missaghju cù un ligame di cunfirmazione hè statu mandatu à u vostr'indirizzu e-mail. Dop'à avè cliccatu u ligame, avemu da rivede a vostra dumanda - sarete nutificatu·a s'ella hè appruvata. signed_up_but_unconfirmed: Un missaghju cù un ligame di cunfirmazione hè statu mandatu à u vostru indirizzu e-mail. Aprite stu ligame pè attivà u vostru contu. Pensate à verificà u cartulare di spam s’ellu ùn c’hè nunda. update_needs_confirmation: U vostru contu hè statu messu à ghjornu mà duvemu verificà u vostru novu e-mail. Un missaghju cù un ligame di cunfirmazione hè statu mandatu. Pensate à verificà u cartulare di spam s’ellu ùn c’hè nunda. updated: U vostru contu hè statu messu à ghjornu. diff --git a/config/locales/devise.cs.yml b/config/locales/devise.cs.yml index a1d36042a..bc9340605 100644 --- a/config/locales/devise.cs.yml +++ b/config/locales/devise.cs.yml @@ -20,7 +20,7 @@ cs: confirmation_instructions: action: Potvrdit e-mailovou adresu action_with_app: Potvrdit a navrátit se do %{app} - explanation: S touto e-mailovou adresou jste si vytvořil/a účet na %{host}. K jeho aktivaci vám zbývá jedno kliknutí. Pokud jste to nebyl/a vy, ignorujte této e-mail. + explanation: S touto e-mailovou adresou jste si vytvořil/a účet na %{host}. K jeho aktivaci vám zbývá jedno kliknutí. Pokud jste to nebyl/a vy, prosím ignorujte tento e-mail. explanation_when_pending: S touto e-mailovou adresou jste si vyžádal/a pozvánku na %{host}. Jakmile svou e-mailovou adresu potvrdíte, posoudíme váš poadavek. Do té doby se nemůžete přihlásit. Pokud bude váš požadavek zamítnut, budou vaše data odstraněna, takže od vás nebude vyžadována žádná další akce. Pokud jste to nebyl/a vy, prosím ignorujte tento e-mail. extra_html: Prosím podívejte se také na pravidla tohoto serveru a naše podmínky používání. subject: 'Mastodon: Potvrzovací instrukce pro %{instance}' diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml index 5b060e0e7..bd573dc3e 100644 --- a/config/locales/devise.de.yml +++ b/config/locales/devise.de.yml @@ -12,6 +12,7 @@ de: last_attempt: Du hast noch einen Versuch, bevor dein Konto gesperrt wird. locked: Dein Konto ist gesperrt. not_found_in_database: "%{authentication_keys} oder Passwort ungültig." + pending: Dein Konto wird immer noch überprüft. timeout: Deine Sitzung ist abgelaufen. Bitte melde dich erneut an, um fortzufahren. unauthenticated: Du musst dich anmelden oder registrieren, bevor du fortfahren kannst. unconfirmed: Du musst deine E-Mail-Adresse bestätigen, bevor du fortfahren kannst. @@ -20,6 +21,7 @@ de: action: E-Mail-Adresse verifizieren action_with_app: Bestätigen und zu %{app} zurückkehren explanation: Du hast einen Account auf %{host} mit dieser E-Mail-Adresse erstellt. Du bist nun einen Klick entfernt vor der Aktivierung. Wenn du das nicht warst, kannst du diese E-Mail ignorieren. + explanation_when_pending: Du hast dich für eine Einladung bei %{host} mit dieser E-Mailadresse beworben. Sobald du deine E-Mailadresse bestätigst werden wir deine Anfrage überprüfen. Du kannst dich in dieser Zeit nicht anmelden. Wenn deine Anfrage abgelehnt wird, werden deine Daten entfernt, also wird keine weitere Handlung benötigt. Wenn du das nicht warst kannst du diese E-Mail ignorieren. extra_html: Bitte lies auch die Regeln des Servers und unsere Nutzungsbedingungen. subject: 'Mastodon: Bestätigung deines Kontos bei %{instance}' title: Verifiziere E-Mail-Adresse @@ -60,6 +62,7 @@ de: signed_up: Willkommen! Du hast dich erfolgreich registriert. signed_up_but_inactive: Du hast dich erfolgreich registriert. Wir konnten dich noch nicht anmelden, da dein Konto inaktiv ist. signed_up_but_locked: Du hast dich erfolgreich registriert. Wir konnten dich noch nicht anmelden, da dein Konto gesperrt ist. + signed_up_but_pending: Eine Nachricht mit einem Bestätigungslink wurde an dich per E-Mail geschickt. Nachdem du diesen Link angeklickt hast werden wir deine Anfrage überprüfen. Du wirst benachrichtigt falls die Anfrage angenommen wurde. signed_up_but_unconfirmed: Du hast dich erfolgreich registriert. Wir konnten dich noch nicht anmelden, da dein Konto noch nicht bestätigt ist. Du erhältst in Kürze eine E-Mail. Darin ist erklärt, wie du dein Konto freischalten kannst. update_needs_confirmation: Deine Daten wurden aktualisiert, aber du musst deine neue E-Mail-Adresse bestätigen. Du erhältst in wenigen Minuten eine E-Mail. Darin ist erklärt, wie du die Änderung deiner E-Mail-Adresse abschließen kannst. updated: Deine Daten wurden aktualisiert. diff --git a/config/locales/devise.el.yml b/config/locales/devise.el.yml index e9725d96b..0b5c68636 100644 --- a/config/locales/devise.el.yml +++ b/config/locales/devise.el.yml @@ -12,6 +12,7 @@ el: last_attempt: Έχεις μια ακόμα προσπάθεια πριν κλειδωθεί ο λογαριασμός σου. locked: Ο λογαριασμός σου κλειδώθηκε. not_found_in_database: Λάθος %{authentication_keys} ή συνθηματικό. + pending: Εκκρεμεί η έγκριση του λογαριασμού σου. timeout: Η τρέχουσα σύνδεσή σου έληξε. Παρακαλούμε συνδέσου ξανά για να συνεχίσεις. unauthenticated: Πρέπει να συνδεθείς ή να εγγραφείς για να συνεχίσεις. unconfirmed: Πρέπει να επιβεβαιώσεις τη διεύθυνση email σου για να συνεχίσεις. @@ -20,6 +21,7 @@ el: action: Επιβεβαίωσε διεύθυνση email action_with_app: Επιβεβαίωση και επιστροφή στο %{app} explanation: Δημιούργησες έναν λογαριασμό στο %{host} με αυτή τη διεύθυνση email. Με ένα κλικ θα τον ενεργοποιήσεις. Αν δεν το έκανες εσύ, παρακαλούμε αγνόησε αυτό το email. + explanation_when_pending: Έχεις υποβάλλει αίτηση πρόσκλησης στο %{host} με αυτή την ηλεκτρονική διεύθυνση email. Μόλις επιβεβαιώσεις το email σου, θα ελέγξουμε την αίτηση σου. Μέχρι τότε δε θα μπορεις να συνδεθείς. Αν απορριφθεί η αίτησή σου, τα στοιχεία σου θα αφαιρεθούν, άρα δε θα χρειαστεί να κάνεις κάτι επιπλέον. Αν δεν υπέβαλες εσύ την αίτηση, αγνόησε αυτό το email. extra_html: Παρακαλούμε να διαβάσεις του κανόνες αυτού του κόμβου και τους όρους χρήσης της υπηρεσίας μας. subject: 'Mastodon: Οδηγίες επιβεβαίωσης για %{instance}' title: Επιβεβαίωσε διεύθυνση email @@ -60,6 +62,7 @@ el: signed_up: Καλώς ήρθες! Εγγράφηκες με επιτυχία. signed_up_but_inactive: Εγγράφηκες με επιτυχία. Όμως δε μπορέσαμε να σε συνδέσουμε γιατί ο λογαριασμός σου δεν έχει ενεργοποιηθεί ακόμα. signed_up_but_locked: Εγγράφηκες με επιτυχία. Όμως δε μπορέσαμε να σε συνδέσουμε γιατί ο λογαριασμός σου είναι κλειδωμένος. + signed_up_but_pending: Στάλθηκε στο email σου μήνυμα με ένα σύνδεσμο επιβεβαίωσης. Μόλις τον ακολουθήσεις θα ελέγξουμε την αίτηση σου. Θα ειδοποιήσεις εάν γίνει δεκτή. signed_up_but_unconfirmed: Σου στείλαμε ένα μήνυμα με σύνδεσμο επιβεβαίωσης στη διεύθυνση email σου. Παρακαλούμε ακολούθησε το σύνδεσμο για να ενεργοποιήσεις το λογαριασμό σου. Παρακαλούμε έλεγξε το φάκελο με τα ανεπιθύμητα μηνύματα σου αν δεν το λάβεις. update_needs_confirmation: Ενημέρωσες το λογαριασμό σου με επιτυχία αλλά χρειαζόμαστε να επιβεβαιώσουμε τη νέα διεύθυνση email σου. Παρακαλούμε έλεγξε τα email σου και ακολούθησε το σύνδεσμο για να την επιβεβαιώσεις. Παρακαλούμε έλεγξε το φάκελο με τα ανεπιθύμητα μηνύματα σου αν δεν το λάβεις. updated: Ο λογαριασμός σου επιβεβαιώθηκε με επιτυχία. diff --git a/config/locales/devise.es.yml b/config/locales/devise.es.yml index ecb97fd13..de4ef850e 100644 --- a/config/locales/devise.es.yml +++ b/config/locales/devise.es.yml @@ -12,24 +12,27 @@ 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. - extra_html: Por favor revise las reglas de la instancia y nuestros términos de servicio. + 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. 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 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. + 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. 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 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. + 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. subject: 'Mastodon: Contraseña cambiada' title: Contraseña cambiada reconfirmation_instructions: @@ -59,6 +62,7 @@ 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.fa.yml b/config/locales/devise.fa.yml index 1375c43f5..963572e6b 100644 --- a/config/locales/devise.fa.yml +++ b/config/locales/devise.fa.yml @@ -12,6 +12,7 @@ fa: last_attempt: پیش از آن که حساب شما قفل شود، یک فرصت دیگر دارید. locked: حساب شما قفل شده است. not_found_in_database: خطای %{authentication_keys} یا رمز نامعتبر. + pending: حساب شما همچنان در دست بررسی است. timeout: مهلت این ورود شما به سر رسید. برای ادامه، دوباره وارد شوید. unauthenticated: برای ادامه باید وارد شوید یا ثبت نام کنید. unconfirmed: برای ادامه باید نشانی ایمیل خود را تأیید کنید. @@ -20,6 +21,7 @@ fa: action: تأیید نشانی ایمیل action_with_app: تأیید و بازگشت به %{app} explanation: شما با این نشانی ایمیل حسابی در %{host} باز کرده‌اید. با یک کلیک می‌توانید این حساب را فعال کنید. اگر شما چنین کاری نکردید، لطفاً این ایمیل را نادیده بگیرید. + explanation_when_pending: شما با این نشانی ایمیل برای %{host} درخواست دعوت‌نامه داده‌اید. اگر ایمیل خود را تأیید کنید، ما درخواست شما را بررسی خواهیم کرد. تا وقتی بررسی تمام نشده، شما نمی‌توانید به حساب خود وارد شوید. اگر درخواست شما رد شود، ما اطلاعاتی را که از شما داریم پاک خواهیم کرد پس نیازی به کاری از سمت شما نخواهد بود. اگر شما چنین درخواستی نداده‌اید، لطفاً این ایمیل را نادیده بگیرید. extra_html: لطفاً همچنین قانون‌های این سرور و شرایط کاربری آن را ببینید. subject: 'ماستدون: راهنمایی برای تأیید %{instance}' title: تأیید نشانی ایمیل @@ -60,6 +62,7 @@ fa: signed_up: خوش آمدید! شما با موفقیت ثبت نام کردید. signed_up_but_inactive: خوش آمدید! شما با موفقیت ثبت نام کردید. ولی هنوز وارد سیستم نیستید زیرا حساب شما هنوز فعال نیست. signed_up_but_locked: خوش آمدید! شما با موفقیت ثبت نام کردید. ولی هنوز وارد سیستم نیستید زیرا حساب شما قفل شده است. + signed_up_but_pending: پیغامی که دارای یک پیوند برای تأیید است به نشانی ایمیل شما فرستاده شده. پس از این‌که پیوند را باز کردید، ما درخواست شما را بررسی خواهیم کرد. اگر درخواست شما پذیرفته شود، به شما خواهیم گفت. signed_up_but_unconfirmed: یک پیغام برای تأیید به نشانی ایمیل شما فرستاده شده. لطفاً پیوند موجود در ایمیل را دنبال کنید تا حسابتان فعال شود. update_needs_confirmation: شما با موفقیت حسابتان را به‌روز کردید، ولی لازم است که ما نشانی ایمیل تازهٔ شما را تأیید کنیم. لطفاً ایمیل خود را ببینید و پیوند موجود در ایمیل را دنبال کنید تا تا نشانی ایمیل تازهٔ شما تأیید شود. updated: حساب شما با موفقبت به‌روز شد. diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml index f0a5414b8..b7c728549 100644 --- a/config/locales/devise.fr.yml +++ b/config/locales/devise.fr.yml @@ -12,6 +12,7 @@ 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. @@ -20,6 +21,7 @@ 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 @@ -60,6 +62,7 @@ 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.gl.yml b/config/locales/devise.gl.yml index d456d25df..60a935a8a 100644 --- a/config/locales/devise.gl.yml +++ b/config/locales/devise.gl.yml @@ -12,6 +12,7 @@ gl: last_attempt: Quédalle un intento antes de que a conta sexa bloqueada. locked: A súa conta foi bloqueada. not_found_in_database: Contrasinal ou %{authentication_keys} non válidos. + pending: A súa conta está en proceso de revisión. timeout: Caducou a sesión. Por favor conéctese de novo para seguir. unauthenticated: Precisa rexistrarse ou conectarse para continuar. unconfirmed: Debe confirmar o seu enderezo de correo antes de continuar. @@ -20,6 +21,7 @@ gl: action: Validar enderezo de correo-e action_with_app: Confirmar e voltar a %{app} explanation: Creou unha conta en %{host} con este enderezo de correo. Está a punto de activalo, si non foi vostede quen fixo a petición, por favor ignore este correo. + explanation_when_pending: Vostede solicitou un convite para %{host} con este enderezo de correo. Unha vez confirme o enderezo de correo revisaremos a solicitude. Non pode conectarse ata entón. Si a solicitude fose rexeitada, os seus datos eliminaranse, así que non precisaría facer nada máis. Se non fixo vostede unha solicitude por favor ignore este correo. extra_html: Por favor, lea tamén as normas do sevidor e os termos do servizo. subject: 'Mastodon: Instruccións de confirmación para %{instance}' title: Verificar enderezo de correo-e @@ -60,6 +62,7 @@ gl: signed_up: Ben vida! Rexistrouse con éxito. signed_up_but_inactive: Rexistrouse correctamente. Porén, aínda non podemos conectala porque a súa conta aínda non foi activada. signed_up_but_locked: Rexistrouse correctamente. Porén, non podemos conectala porque a conta está bloqueada. + signed_up_but_pending: Enviouselle unha mensaxe de correo que contén unha ligazón de confirmación. Tras pulsar na ligazón, revisaremos a súa solicitude. Notificarémoslle se está aprobada. signed_up_but_unconfirmed: Foi enviada unha mensaxe con unha ligazón de confirmación ao seu enderezo electrónico. Por favor siga a ligazón para activar a súa conta. Por favor comprobe o cartafol de spam si non recibe este correo. update_needs_confirmation: Actualizou a súa conta correctamente, pero precisamos verificar o seu enderezo. Por favor comprobe o seu email e siga a ligazón de confirmación para confirmar o seu novo enderezo. Por favor comprobe o cartafol de spam si non recibe este correo. updated: A súa conta foi actualizada correctamente. diff --git a/config/locales/devise.it.yml b/config/locales/devise.it.yml index fc36fdbff..8f24842d7 100644 --- a/config/locales/devise.it.yml +++ b/config/locales/devise.it.yml @@ -11,7 +11,8 @@ 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 invalida." + not_found_in_database: "%{authentication_keys} o password non valida." + pending: Il tuo account è ancora sotto esame. 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. @@ -20,6 +21,7 @@ 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 @@ -60,6 +62,7 @@ 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.ja.yml b/config/locales/devise.ja.yml index b4772d8d6..3dac63050 100644 --- a/config/locales/devise.ja.yml +++ b/config/locales/devise.ja.yml @@ -21,7 +21,7 @@ ja: action: メールアドレスの確認 action_with_app: 確認し %{app} に戻る explanation: このメールアドレスで%{host}にアカウントを作成しました。有効にするまであと一歩です。もし心当たりがない場合、申し訳ありませんがこのメールを無視してください。 - explanation_when_pending: このメールアドレスで%{host}への招待を申請しました。メールアドレスを確認したら、サーバー管理者が申請を審査します。それまでログインできません。申請が却下された場合、あなたのデータは削除されますので以降の操作は必要ありません。もし心当たりがない場合、申し訳ありませんがこのメールを無視してください。 + explanation_when_pending: このメールアドレスで%{host}への登録を申請しました。メールアドレスを確認したら、サーバー管理者が申請を審査します。それまでログインできません。申請が却下された場合、あなたのデータは削除されますので以降の操作は必要ありません。もし心当たりがない場合、申し訳ありませんがこのメールを無視してください。 extra_html: また サーバーのルール利用規約 もお読みください。 subject: 'Mastodon: メールアドレスの確認 %{instance}' title: メールアドレスの確認 diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml index a768d3c1d..fa4c3dd5c 100644 --- a/config/locales/devise.nl.yml +++ b/config/locales/devise.nl.yml @@ -13,6 +13,7 @@ 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. @@ -21,6 +22,7 @@ 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 @@ -61,6 +63,7 @@ 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.oc.yml b/config/locales/devise.oc.yml index e167f7e19..42be33f6b 100644 --- a/config/locales/devise.oc.yml +++ b/config/locales/devise.oc.yml @@ -12,6 +12,7 @@ oc: last_attempt: Vos demòra un ensag abans que vòstre compte siasque blocat. locked: Vòstre compte es blocat. not_found_in_database: "%{authentication_keys} invalida." + pending: Vòstre compte es encara en aprobacion. timeout: Vòstra session a expirat. Mercés de vos tornar connectar per contunhar. unauthenticated: Vos cal vos connectar o marcar abans de contunhar. unconfirmed: Vos cal confirmar vòstra adreça de corrièl abans de contunhar. @@ -20,6 +21,7 @@ oc: action: Verificar l’adreça de corrièl action_with_app: Confirmar e tornar a %{app} explanation: Venètz de crear un compte sus %{host} amb aquesta adreça de corrièl. Vos manca pas qu’un clic per l’activar. S’èra pas vosautre mercés de far pas cas a aqueste messatge. + explanation_when_pending: Avètz demandat una invitacion a %{host} amb aquesta adreça electronica. Un còp que confirmetz vòstra adreça electronica revisarem vòstra demanda. Se pòt iniciar la session fins alara. Se vòstra demanda es pas acceptada vòstras donadas seràn suprimidas, de manièra que caldrà pas cap d’autra accion. S’èra pas vos qu’avètz fach la demanda, se vos plai ignoratz aqueste corrièl. extra_html: Pensatz tanben de gaitar las règlas del servidor e nòstres tèrmes e condicions d’utilizacion. subject: 'Mastodon : consignas de confirmacion per %{instance}' title: Verificatz l’adreça de corrièl @@ -60,6 +62,7 @@ oc: signed_up: La benvenguda ! Sètz ben marcat al malhum. signed_up_but_inactive: Sètz ben marcat. Pasmens, avèm pas pogut vos connectar perque vòstre compte es pas encara validat. signed_up_but_locked: Sètz ben marcat. Pasmens, avèm pas pogut vos connectar perque vòstre compte es pas encara blocat. + signed_up_but_pending: Un messatge amb un ligam de confirmacion es estat enviat a vòstra adreça electronica. Aprèp aver clicat lo ligam, revisarem vòstra demanda. Seretz avisat se’s aprovada. signed_up_but_unconfirmed: Un messatge amb un ligam de confirmacion es estat enviat a vòstra adreça de corrièl. Clicatz sul ligam per activar vòstre compte. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables. update_needs_confirmation: Avètz ben mes a jorn vòstre compte, mai nos cal verificar vòstra nòva adreça de corrièl. Mercés de verificar vòstres messatges e clicar sul ligam de confirmacion per confirmar vòstra nòva adreça de corrièl. Mercés de verificar tanben vòstre dorsièr de corrièls indesirables. updated: Vòstre compte es estat mes a jorn amb succès. diff --git a/config/locales/devise.pl.yml b/config/locales/devise.pl.yml index 4f9007e1d..7ac5cb6a8 100644 --- a/config/locales/devise.pl.yml +++ b/config/locales/devise.pl.yml @@ -12,6 +12,7 @@ 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ć. @@ -20,6 +21,7 @@ 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 @@ -60,6 +62,7 @@ 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 ede004892..0b6d36187 100644 --- a/config/locales/devise.pt-BR.yml +++ b/config/locales/devise.pt-BR.yml @@ -12,6 +12,7 @@ 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. @@ -20,6 +21,7 @@ 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 @@ -60,6 +62,7 @@ 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 9b44bbf00..64f2a2a90 100644 --- a/config/locales/devise.pt.yml +++ b/config/locales/devise.pt.yml @@ -12,6 +12,7 @@ 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. @@ -20,6 +21,7 @@ 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 @@ -60,6 +62,7 @@ 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 2186066c9..a1bf05b2d 100644 --- a/config/locales/devise.ru.yml +++ b/config/locales/devise.ru.yml @@ -12,14 +12,17 @@ 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 адрес. Остался лишь один шаг для активации. Если это были не вы, просто игнорируйте письмо. - extra_html: Пожалуйста, ознакомьтесь правилами узла and условиями пользования Сервисом. + explanation_when_pending: Вы подали заявку на приглашение на адрес электронной почты %{host}. Как только вы подтвердите свой адрес электронной почты, мы рассмотрим ваше заявление. Ты не сможешь войти до тех пор. Если ваше заявление будет отклонено, ваши данные будут удалены, поэтому никаких дальнейших действий от вас не потребуется. Если это был не ты, пожалуйста, проигнорируй это письмо. + extra_html: Также обратитесь к правилам экземпляра и нашим условиям использования. subject: 'Mastodon: Инструкция по подтверждению на узле %{instance}' title: Подтвердите e-mail адрес email_changed: @@ -59,6 +62,7 @@ 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/devise.sk.yml b/config/locales/devise.sk.yml index e054efb30..0052bc0bc 100644 --- a/config/locales/devise.sk.yml +++ b/config/locales/devise.sk.yml @@ -12,6 +12,7 @@ sk: last_attempt: Máš posledný pokus pred zamknutím tvojho účtu. locked: Tvoj účet je zamknutý. not_found_in_database: Nesprávny %{authentication_keys} alebo heslo. + pending: Tvoj účet je stále prehodnocovaný. timeout: Vaša aktívna sezóna vypršala. Pre pokračovanie sa prosím znovu prihláste. unauthenticated: K pokračovaniu sa musíš zaregistrovať alebo prihlásiť. unconfirmed: Pred pokračovaním musíš potvrdiť svoj email. @@ -60,8 +61,9 @@ sk: signed_up: Vitaj! Tvoja registrácia bola úspešná. signed_up_but_inactive: Registrácia bola úspešná. Avšak, účet ešte nebol aktivovaný, takže ťa nemožno prihlásiť. signed_up_but_locked: Registroval/a si sa úspešné. Avšak, tvoj účet je zamknutý, takže ťa nemožno prihlásiť. - signed_up_but_unconfirmed: Správa s odkazom na potvrdenie registrácie bola odoslaná na tvoj email. Pre aktváciu účtu, klikni prosím na daný odkaz. Takisto ale skontroluj aj svoju spam zložku, pokiaľ sa ti zdá, že si tento email nedostal/a. - update_needs_confirmation: Účet bol úspešne zmenený ale ešte potrebujeme overiť tvoju novú emailovú adresu. Pre overenie prosím klikni na link v správe ktorú si dostal/a na email. Takisto ale skontroluj aj svoju spam zložku, ak sa ti zdá, že si tento email nedostal/a. + signed_up_but_pending: Na tvoj email bola odoslaná správa s odkazom na potvrdenie. Po tom, čo naňho klikneš, bude tvoje uchádzanie posúdené. Budeš informovaný, ak sa tvoja požiadavka schváli. + signed_up_but_unconfirmed: Správa s odkazom na potvrdenie registrácie bola odoslaná na tvoj email. Pre aktváciu účtu, následuj prosím daný odkaz. Takisto ale skontroluj aj svoju spam zložku, pokiaľ sa ti zdá, že si tento email nedostal/a. + update_needs_confirmation: Účet bol úspešne pozmenený, ale ešte potrebujeme overiť tvoju novú emailovú adresu. Pre overenie prosím klikni na link v správe ktorú si dostal/a na email. Takisto ale skontroluj aj svoju spam zložku, ak sa ti zdá, že si tento email nedostal/a. updated: Tvoj účet bol úspešne aktualizovaný. sessions: already_signed_out: Odhlásil/a si sa úspešné. diff --git a/config/locales/devise.sl.yml b/config/locales/devise.sl.yml index 13c48e199..7d1e05fdf 100644 --- a/config/locales/devise.sl.yml +++ b/config/locales/devise.sl.yml @@ -12,13 +12,16 @@ sl: last_attempt: Pred zaklepom računa imate še en poskus. locked: Vaš račun je zaklenjen. not_found_in_database: Neveljavno %{authentication_keys} ali geslo. + pending: Vaš račun je še vedno pod drobnogledom. timeout: Vaša seja je potekla. Če želite nadaljevati, se znova prijavite. unauthenticated: Pred nadaljevanjem se morate prijaviti ali vpisati. unconfirmed: Pred nadaljevanjem morate potrditi svoj e-poštni naslov. mailer: confirmation_instructions: action: Potrdi e-poštni naslov + action_with_app: Potrdi in se vrni v %{app} explanation: S tem e-poštnim naslovom ste ustvarili račun na %{host}. Z enim samim klikom ga aktivirate. Če to niste bili vi, prosimo, prezrite to e-poštno sporočilo. + explanation_when_pending: S tem e-poštnim naslovom ste zaprosili za povabilo na %{host}. Ko potrdite svoj e-poštni naslov, bomo pregledali vašo prijavo. Do takrat se ne morete prijaviti. Če bo vaša prijava zavrnjena, bodo vaši podatki odstranjeni, zato ne bo potrebno nadaljnje ukrepanje. Če to niste bili vi, prezrite to e-poštno sporočilo. extra_html: Preverite tudi pravila vozlišča in naše pogoje storitve. subject: 'Mastodon: Navodila za potrditev za %{instance}' title: Potrdi e-poštni naslov @@ -34,3 +37,17 @@ sl: title: Geslo je spremenjeno reconfirmation_instructions: explanation: Potrdite novi naslov, da spremenite svoj e-poštni naslov. + extra: Če te spremembe niste sprožili, prezrite to e-poštno sporočilo. E-poštni naslov za račun Mastodon se ne bo spremenil, dokler ne kliknete na zgornjo povezavo. + subject: 'Mastodon: Potrdite e-pošto za %{instance}' + title: Potrdi e-poštni naslov + reset_password_instructions: + action: Spremeni geslo + explanation: Zahtevali ste novo geslo za svoj račun. + extra: Če tega niste zahtevali, prezrite to e-poštno sporočilo. Vaše geslo se ne bo spremenilo, dokler ne kliknete na zgornjo povezavo in ustvarite novega. + subject: 'Mastodon: Navodila za ponastavitev gesla' + title: Ponastavitev gesla + unlock_instructions: + subject: 'Mastodon: Odkleni navodila' + omniauth_callbacks: + failure: Overitev iz %{kind} ni možna zaradi "%{reason}". + success: Overitev iz računa %{kind} je bila uspešna. diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml index fec944310..e20df69af 100644 --- a/config/locales/devise.th.yml +++ b/config/locales/devise.th.yml @@ -54,7 +54,7 @@ th: already_confirmed: was already confirmed, please try signing in confirmation_period_expired: needs to be confirmed within %{period}, please request a new one expired: has expired, please request a new one - not_found: not found + not_found: ไม่พบ not_locked: was not locked not_saved: one: '1 error prohibited this %{resource} from being saved:' diff --git a/config/locales/devise.zh-CN.yml b/config/locales/devise.zh-CN.yml index 4ee021fcc..bef2baa18 100644 --- a/config/locales/devise.zh-CN.yml +++ b/config/locales/devise.zh-CN.yml @@ -59,7 +59,7 @@ zh-CN: signed_up: 欢迎!你已注册成功。 signed_up_but_inactive: 你已注册,但尚未激活帐户。 signed_up_but_locked: 你已注册,但帐户被锁定了。 - signed_up_but_unconfirmed: 一封带有确认链接的邮件已经发送至你的邮箱,请点击邮件中的链接以激活你的帐户。如果没有,请检查你的垃圾邮箱。 + signed_up_but_unconfirmed: 一封带有确认链接的邮件已经发送至你的邮箱,请点击邮件中的链接以激活你的帐户。如果没有,请检查你的垃圾邮件。 update_needs_confirmation: 信息更新成功,但我们需要验证你的新电子邮件地址,请点击邮件中的链接以确认。如果没有,请检查你的垃圾邮箱。 updated: 帐户资料更新成功。 sessions: diff --git a/config/locales/devise.zh-TW.yml b/config/locales/devise.zh-TW.yml index abbe45942..0ade1e60a 100644 --- a/config/locales/devise.zh-TW.yml +++ b/config/locales/devise.zh-TW.yml @@ -2,81 +2,85 @@ zh-TW: devise: confirmations: - confirmed: 您的 E-mail 驗證成功。 - send_instructions: 您將會在幾分鐘內收到驗證信。 - send_paranoid_instructions: 如果您的 E-mail 存在於我們的資料庫,將會在幾分鐘內收到驗證信。 + confirmed: 您的電子信箱位址已確認成功。 + send_instructions: 幾分鐘後您將收到確認信件。若未收到此信件,請檢查垃圾郵件資料夾。 + send_paranoid_instructions: 如果您的電子信箱存在於我們的資料庫,將會在幾分鐘內收到確認信。若未收到請檢查垃圾郵件資料夾。 failure: - already_authenticated: 您已經登入了。 + already_authenticated: 您已登入。 inactive: 您的帳戶尚未啟用。 - invalid: 不正確的 %{authentication_keys} 或密碼。 - last_attempt: 您剩下最後一次嘗試機會,如失敗將會進行帳戶鎖定。如有問題請洽詢站點管理員。 + invalid: 無效的 %{authentication_keys} 或密碼。 + last_attempt: 在帳號遭封鎖前您還有最後一次嘗試機會。 locked: 您的帳戶已被鎖定。 - not_found_in_database: 不正確的 %{authentication_keys} 或密碼。 - timeout: 您的登入階段已經逾期,請重新登入以繼續使用。 - unauthenticated: 您必須先登入或註冊,以繼續使用。 - unconfirmed: 您必須先完成 E-mail 驗證,以繼續使用。 + not_found_in_database: 無效的 %{authentication_keys} 或密碼。 + pending: 您的帳戶仍在審核中。 + timeout: 登入階段逾時。請重新登入以繼續。 + unauthenticated: 您必須先登入或註冊以繼續使用。 + unconfirmed: 您必須先確認電子信箱才能繼續使用。 mailer: confirmation_instructions: - action: 驗證 E-mail 地址 - explanation: 您已經在 %{host} 上以此 E-mail 地址建立了一個帳號。您距離啟用它只剩一次點擊之遙了。如果這不是你,請忽略此 E-mail 。 - extra_html: 同時也請看看該站點的規則我們的服務條款。 - subject: 'Mastodon: 信箱驗證 %{instance}' - title: 驗證 E-mail 地址 + action: 驗證電子信箱位址 + action_with_app: 確認並返回 %{app} + explanation: 您已經在 %{host} 上以此電子信箱位址建立了一支帳戶。您距離啟用它只剩一點之遙了。若這不是您,請忽略此信件。 + explanation_when_pending: 您使用此電子信箱位址申請了 %{host} 的邀請。當您確認電子信箱後我們將審核您的申請,而直到核准前您都無法登入。當您的申請遭拒絕,您的資料將被移除而不必做後續動作。如果這不是您,請忽略此信件。 + extra_html: 同時也請看看該伺服器的規則服務條款。 + subject: Mastodon:%{instance} 確認說明 + title: 驗證電子信箱位址 email_changed: - explanation: 您帳號的 E-mail 地址被變更為: - extra: 如果您並未變更您的 E-mail ,那麼很有可能是某人取得了你帳號的存取權限。請立刻變更您的密碼,或是若您的帳號已被鎖定,請聯絡站點的管理員。 - subject: Mastodon E-mail 變更 - title: 新 E-mail 地址 + explanation: 您帳戶的電子信箱位址將變更為: + extra: 若您未變更電子信箱,那麼很有可能是某人取得了你帳戶的存取權限。請立刻變更密碼,或當帳戶被鎖定時,請聯絡伺服器的管理員。 + subject: Mastodon:已變更電子信箱 + title: 新電子信箱位址 password_change: - explanation: 您帳號的密碼已變更。 - extra: 如果您並未變更您的密碼,那麼很有可能是某人取得了您帳號的存取權限。請立刻變更您的密碼,或是若您的帳號已被鎖定,請聯絡站點的管理員。 - subject: 'Mastodon: 更改密碼' + explanation: 您帳戶的密碼已變更。 + extra: 如果您未變更密碼,那麼很有可能是某人取得了帳戶的存取權限。請立刻變更密碼,或若帳戶被鎖定時,請聯絡伺服器的管理員。 + subject: Mastodon:已變更密碼 title: 密碼已變更 reconfirmation_instructions: - explanation: 確認新的 E-mail 地址以變更您的 E-mail 。 - extra: 若此次變更不是由您開啟的,請忽略這個 E-mail 。Mastodon 帳號的 E-mail 地址在您存取上面的連結前不會變更。 - subject: Mastodon:%{instance} 的確認 E-mail - title: 驗證 E-mail 地址 + explanation: 請確認新的電子信箱位址以變更。 + extra: 若此次變更不是由您開啟的,請忽略此信件。Mastodon 帳戶的電子信箱位址在您存取上面的連結前不會變更。 + subject: Mastodon:確認 %{instance} 的電子信箱位址 + title: 驗證電子信箱位址 reset_password_instructions: action: 變更密碼 - explanation: 您為您的帳號請求了一個新密碼。 - extra: 若您並未請求這個,請忽略此 E-mail 。您的密碼在您存取上面的連結並建立一個新的之前不會變更。 - subject: 'Mastodon: 重設密碼' + explanation: 您已請求設定帳號的新密碼。 + extra: 若您並未請求,請忽略此信件。您的密碼在存取上方連結並建立新連結前不會變更。 + subject: Mastodon:重設密碼指引 title: 重設密碼 unlock_instructions: - subject: 'Mastodon: 帳號解鎖' + subject: Mastodon:帳戶解鎖指引 omniauth_callbacks: - failure: 無法以 %{kind} 登入您的帳號,原因是︰「%{reason}」。 - success: 成功以 %{kind} 登入您的帳號。 + failure: 無法透過 %{kind} 認證是否為您,因為「%{reason}」。 + success: 成功透過 %{kind} 登入帳戶。 passwords: - no_token: 您請使用重設密碼信中的網址,並確認您用了完整的網址。 - send_instructions: 您將在幾分鐘內收到重設密碼信。 - send_paranoid_instructions: 如果您的電子信箱已經存在於我們的資料庫,您將會在幾分鐘內收到重設密碼信。 - updated: 您的密碼已經更新,您現在正登入本站。 - updated_not_active: 您的密碼已經更新。 + no_token: 您必須透過密碼重設信件才能存取此頁面。若確實如此,請確定輸入的網址是完整的。 + send_instructions: 若電子信箱位址存在於資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。 + send_paranoid_instructions: 若電子信箱位址存在於資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。 + updated: 您的密碼已成功變更,現在已經登入。 + updated_not_active: 您的密碼已成功變更。 registrations: - destroyed: 再見了!您的帳號已被取消,期待再相逢。 - signed_up: 歡迎您!您的已成功註冊。 - signed_up_but_inactive: 您已成功註冊,但由於您的帳號尚未啟用,我們暫時無法讓您登入。 - signed_up_but_locked: 您已成功註冊,但由於您的帳號已被鎖定,我們無法讓您登入。 - signed_up_but_unconfirmed: 驗證信已寄出。請使用該連結啟用您的帳號。 - update_needs_confirmation: 已更新您的帳號,但我們需要進行信箱驗證。請開啟您的信箱,使用確認信中的連結進行驗證。 - updated: 您的帳號已成功更新。 + destroyed: 再見!您的帳戶已成功取消,期待再相逢。 + signed_up: 歡迎!您已成功註冊。 + signed_up_but_inactive: 您已註冊成功,但由於您的帳戶尚未啟用,我們暫時無法讓您登入。 + signed_up_but_locked: 您已註冊成功,但由於您的帳戶已被鎖定,我們無法讓您登入。 + signed_up_but_pending: 包含確認連結的訊息已寄到您的電子信箱。按下此連結後我們將審核您的申請。核准後將通知您。 + signed_up_but_unconfirmed: 包含確認連結的訊息已寄到您的電子信箱。請前往連結以啟用帳號。若未收到請檢查垃圾郵件資料夾。 + update_needs_confirmation: 已更新您的帳號,但仍需驗證您的新信箱。請檢查電子信箱並前往確認連結來確認新信箱位址。若未收到請檢查垃圾郵件資料夾。 + updated: 您的帳戶已成功更新。 sessions: - already_signed_out: 成功登出。 - signed_in: 成功登入。 - signed_out: 成功登出。 + already_signed_out: 已成功登出。 + signed_in: 已成功登入。 + signed_out: 已成功登出。 unlocks: - send_instructions: 您將在幾分鐘內收到帳號解鎖信。 - send_paranoid_instructions: 如果您的電子信箱已經存在於我們的資料庫,您將在幾分鐘內收到帳號解鎖信。 - unlocked: 已解鎖您的帳號,請登入以繼續。 + send_instructions: 幾分鐘後您將收到解鎖帳號的指引信件。若未收到請檢查垃圾郵件資料夾。 + send_paranoid_instructions: 若此帳號存在,您將在幾分鐘後收到解鎖指引信件。若未收到請檢查垃圾郵件資料夾。 + unlocked: 已解鎖您的帳戶,請登入繼續。 errors: messages: already_confirmed: 已經確認,請嘗試登入 confirmation_period_expired: 需要在 %{period} 內完成驗證。請重新申請 - expired: 已經過期,請重新申請 + expired: 已經過期,請重新請求 not_found: 找不到 not_locked: 並未被鎖定 not_saved: - one: 有 1 個錯誤讓此 %{resource} 無法儲存: - other: 有 %{count} 個錯誤讓此 %{resource} 無法儲存: + one: 因 1 個錯誤導致 %{resource} 無法儲存: + other: 因 %{count} 錯誤導致 %{resource} 無法儲存: diff --git a/config/locales/el.yml b/config/locales/el.yml index d78d63955..5b067358b 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -4,25 +4,36 @@ el: about_hashtag_html: Αυτά είναι κάποια από τα δημόσια τουτ σημειωμένα με #%{hashtag}. Μπορείς να αλληλεπιδράσεις με αυτά αν έχεις λογαριασμό οπουδήποτε στο fediverse. about_mastodon_html: Το Mastodon είναι ένα κοινωνικό δίκτυο που βασίζεται σε ανοιχτά δικτυακά πρωτόκολλα και ελεύθερο λογισμικό ανοιχτού κώδικα. Είναι αποκεντρωμένο όπως το e-mail. about_this: Σχετικά + active_count_after: ενεργοί + active_footnote: Μηνιαίοι Ενεργοί Χρήστες (ΜΕΧ) administered_by: 'Διαχειριστής:' api: API apps: Εφαρμογές κινητών + apps_platforms: Χρησιμοποίησε το Mastodon από το iOS, το Android και αλλού + browse_directory: Ξεφύλλισε ένα κατάλογο χρηστών και φίλτραρε ανά ενδιαφέροντα + browse_public_posts: Κοίταξε μια ζωντανή ροή δημοσιεύσεων στο Mastodon 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: one: δημοσίευση other: δημοσιεύσεις status_count_before: Που έγραψαν + tagline: Ακολούθησε τους γνωστούς σου και ανακάλυψε νέους ανθρώπους terms: Όροι χρήσης user_count_after: one: χρήστης @@ -68,6 +79,7 @@ el: delete: Διαγραφή destroyed_msg: Επιτυχής καταστροφή σημειώματος μεσολάβησης! accounts: + approve: Έγκριση are_you_sure: Σίγουρα; avatar: Αβατάρ by_domain: Τομέας @@ -113,6 +125,7 @@ el: moderation: active: Ενεργός/ή all: Όλα + pending: Εκκρεμούν silenced: Αποσιωπημένα suspended: Σε αναστολή title: Μεσολάβηση @@ -122,6 +135,7 @@ el: no_limits_imposed: Χωρίς όρια not_subscribed: Άνευ συνδρομής outbox_url: URL εξερχομένων + pending: Εκκρεμεί έγκριση perform_full_suspension: Αναστολή profile_url: URL προφίλ promote: Προβίβασε @@ -129,6 +143,7 @@ el: public: Δημόσιο push_subscription_expires: Η εγγραφή PuSH λήγει redownload: Ανανέωση αβατάρ + reject: Απόρριψη remove_avatar: Απομακρυσμένο αβατάρ remove_header: Αφαίρεση επικεφαλίδας resend_confirmation: @@ -400,6 +415,12 @@ el: min_invite_role: disabled: Κανείς title: Επέτρεψε προσκλήσεις από + registrations_mode: + modes: + approved: Απαιτείται έγκριση για εγγραφή + none: Δεν μπορεί να εγγραφεί κανείς + open: Μπορεί να εγγραφεί ο οποιοσδήποτε + title: Μέθοδος εγγραφής show_known_fediverse_at_about_page: desc_html: Όταν αντιστραφεί, θα δείχνει τα τουτ από όλο το γνωστό fediverse στην προεπισκόπηση. Διαφορετικά θα δείχνει μόνο τοπικά τουτ. title: Εμφάνιση του γνωστού fediverse στην προεπισκόπηση ροής @@ -462,6 +483,9 @@ el: edit_preset: Ενημέρωση προκαθορισμένης προειδοποίησης title: Διαχείριση προκαθορισμένων προειδοποιήσεων admin_mailer: + new_pending_account: + body: Τα στοιχεία του νέου λογαριασμού είναι παρακάτω. Μπορείς να εγκρίνεις ή να απορρίψεις αυτή την αίτηση. + subject: Νέος λογαριασμός προς έγκριση στο %{instance} (%{username}) new_report: body: Ο/Η %{reporter} κατήγγειλε τον/την %{target} body_remote: Κάποιος/α από τον τομέα %{domain} κατήγγειλε τον/την %{target} @@ -483,7 +507,9 @@ el: your_token: Το διακριτικό πρόσβασής σου (access token) auth: agreement_html: Επιλέγοντας το "Εγγραφή", συμφωνείς πως δέχεσαι τους κανόνες αυτού του κόμβου και τους όρους χρήσης του. + apply_for_account: Αίτηση πρόσκλησης change_password: Συνθηματικό + checkbox_agreement_html: Συμφωνώ με τους κανονισμούς του κόμβου και τους όρους χρήσης confirm_email: Επιβεβαίωση email delete_account: Διαγραφή email delete_account_html: Αν θέλεις να διαγράψεις το λογαριασμό σου, μπορείς να συνεχίσεις εδώ. Θα σου ζητηθεί επιβεβαίωση. @@ -499,10 +525,12 @@ el: cas: Υπηρεσία Κεντρικής Πιστοποίησης (CAS) saml: SAML register: Εγγραφή + registration_closed: Το %{instance} δεν δέχεται νέα μέλη resend_confirmation: Στείλε ξανά τις οδηγίες επιβεβαίωσης reset_password: Επαναφορά συνθηματικού security: Ασφάλεια set_new_password: Ορισμός νέου συνθηματικού + trouble_logging_in: Πρόβλημα σύνδεσης; authorize_follow: already_following: Ήδη ακολουθείς αυτό το λογαριασμό error: Δυστυχώς παρουσιάστηκε ένα σφάλμα κατά την αναζήτηση του απομακρυσμένου λογαριασμού @@ -558,6 +586,9 @@ el: content: Λυπούμαστε, κάτι πήγε στραβά από τη δική μας μεριά. title: Η σελίδα αυτή δεν είναι σωστή noscript_html: Για να χρησιμοποιήσετε τη δικτυακή εφαρμογή του Mastodon, ενεργοποίησε την Javascript. Εναλλακτικά, δοκίμασε μια από τις εφαρμογές για το Mastodon στην πλατφόρμα σου. + existing_username_validator: + not_found: δεν βρέθηκε τοπικός χρήστης με αυτό το όνομα + not_found_multiple: δεν βρέθηκε %{usernames} exports: archive_takeout: date: Ημερομηνία @@ -598,12 +629,30 @@ el: more: Περισσότερα… resources: Πόροι generic: + all: Όλα changes_saved_msg: Οι αλλαγές αποθηκεύτηκαν! copy: Αντιγραφή save_changes: Αποθήκευσε τις αλλαγές validation_errors: one: Κάτι δεν είναι εντάξει ακόμα! Για κοίταξε το παρακάτω σφάλμα other: Κάτι δεν είναι εντάξει ακόμα! Για κοίταξε τα παρακάτω %{count} σφάλματα + html_validator: + invalid_markup: περιέχει λάθος μορφοποίηση HTML + identity_proofs: + active: Ενεργή + authorize: Ναι, εξουσιοδότησε + authorize_connection_prompt: Εξουσιοδότηση αυτής της κρυπτογραφικής σύνδεσης; + errors: + failed: Η κρυπτογραφική σύνδεση απέτυχε. Παρακαλώ ξανά δοκίμασε μέσω %{provider}. + keybase: + invalid_token: Τα κλειδιά Keybase είναι κατακερματισμένες υπογραφές και πρέπει να έχουν μήκος 66 δεκαεξαδικών χαρακτήρων + verification_failed: Το Keybase δεν δέχτηκε αυτό το κλειδί ως υπογραφή του χρήστη %{kb_username}. Παρακαλούμε δοκίμασε μέσω Keybase. + explanation_html: Εδώ μπορείς να συνδέσεις κρυπτογραφικά τις υπόλοιπες ταυτοτητές σου, όπως για παράδειγμα ένα προφίλ στο Keybase. Αυτό επιτρέπει σε άλλους ανθρώπους να σου στέλνουν κρυπτογραφημένα μηνύματα και να μπορούν να εμπιστευτούν το περιεχόμενο που τους στέλνεις εσύ. + i_am_html: Είμαι ο/η %{username} στην υπηρεσία %{service}. + identity: Ταυτότητα + inactive: Ανενεργή + status: Κατάσταση επαλήθευσης + view_proof: Εμφάνιση απόδειξης imports: modes: merge: Συγχώνευση @@ -720,6 +769,17 @@ el: other: Άλλο publishing: Δημοσίευση web: Διαδίκτυο + relationships: + activity: Δραστηριότητα λογαριασμού + dormant: Αδρανής + moved: Μετακόμισε + mutual: Αμοιβαίος + primary: Βασικός + relationship: Σχέση + remove_selected_domains: Αφαίρεση ακόλουθων που βρίσκονται στους επιλεγμένους κόμβους + remove_selected_followers: Αφαίρεση επιλεγμένων ακόλουθων + remove_selected_follows: Διακοπή παρακολούθησης επιλεγμένων χρηστών + status: Κατάσταση λογαριασμού remote_follow: acct: Γράψε το ΌνομαΧρήστη@τομέα από όπου θέλεις να εκτελέσεις την ενέργεια αυτή missing_resource: Δεν βρέθηκε το απαιτούμενο URL ανακατεύθυνσης για το λογαριασμό σου @@ -794,10 +854,12 @@ el: edit_profile: Επεξεργασία προφίλ export: Εξαγωγή δεδομένων featured_tags: Χαρακτηριστικές ταμπέλες + identity_proofs: Αποδείξεις ταυτοτήτων import: Εισαγωγή migrate: Μετακόμιση λογαριασμού notifications: Ειδοποιήσεις preferences: Προτιμήσεις + relationships: Ακολουθεί και ακολουθείται settings: Ρυθμίσεις two_factor_authentication: Πιστοποίηση 2 παραγόντων (2FA) your_apps: Οι εφαρμογές σου diff --git a/config/locales/en_GB.yml b/config/locales/en_GB.yml index d9e1a256f..9e6eb5e94 100644 --- a/config/locales/en_GB.yml +++ b/config/locales/en_GB.yml @@ -1,2 +1,1056 @@ --- -{} +en_GB: + about: + about_hashtag_html: These are public toots tagged with #%{hashtag}. You can interact with them if you have an account anywhere in the 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. + about_this: About + active_count_after: active + active_footnote: Monthly Active Users (MAU) + administered_by: 'Administered by:' + api: API + apps: Mobile apps + apps_platforms: Use Mastodon from iOS, Android and other platforms + browse_directory: Browse a profile directory and filter by interests + browse_public_posts: Browse a live stream of public posts on Mastodon + contact: Contact + contact_missing: Not set + contact_unavailable: N/A + discover_users: Discover users + documentation: Documentation + extended_description_html: | +

1A good place for rules

2 +

3The extended description has not been set up yet.

4 + federation_hint_html: With an account on %{instance} you'll be able to follow people on any Mastodon server and beyond. + generic_description: "%{domain} is one server in the network" + get_apps: Try a mobile app + hosted_on: Mastodon hosted on %{domain} + learn_more: Learn more + privacy_policy: Privacy policy + see_whats_happening: See what's happening + server_stats: 'Server stats:' + source_code: Source code + status_count_after: + one: status + other: statuses + status_count_before: Who authored + tagline: Follow friends and discover new ones + terms: Terms of service + user_count_after: + one: user + other: users + user_count_before: Home to + what_is_mastodon: What is Mastodon? + accounts: + choices_html: "%{name}'s choices:" + follow: Follow + followers: + one: Follower + other: Follower + following: Following + joined: Joined %{date} + last_active: last active + link_verified_on: Ownership of this link was checked on %{date} + media: Media + moved_html: "%{name} has moved to %{new_profile_link}:" + network_hidden: This information is not available + nothing_here: There is nothing here! + people_followed_by: People whom %{name} follows + people_who_follow: People who follow %{name} + pin_errors: + following: You must be already following the person you want to endorse + posts: + one: Toot + other: Toots + posts_tab_heading: Toots + posts_with_replies: Toots and replies + reserved_username: The username is reserved + roles: + admin: Admin + bot: Bot + moderator: Mod + unfollow: Unfollow + admin: + account_actions: + action: Perform action + title: Perform moderation action on %{acct} + account_moderation_notes: + create: Leave note + created_msg: Moderation note successfully created! + delete: Delete + destroyed_msg: Moderation note successfully destroyed! + accounts: + approve: Approve + are_you_sure: Are you sure? + avatar: Avatar + by_domain: Domain + change_email: + changed_msg: Account email successfully changed! + current_email: Current email + label: Change email + new_email: New email + submit: Change email + title: Change email for %{username} + confirm: Confirm + confirmed: Confirmed + confirming: Confirming + deleted: Deleted + demote: Demote + disable: Disable + disable_two_factor_authentication: Disable 2FA + disabled: Disabled + display_name: Display name + domain: Domain + edit: Edit + email: Email + email_status: Email status + enable: Enable + enabled: Enabled + feed_url: Feed URL + followers: Followers + followers_url: Followers URL + follows: Follows + header: Header + inbox_url: Inbox URL + invited_by: Invited by + ip: IP + joined: Joined + location: + all: All + local: Local + remote: Remote + title: Location + login_status: Login status + media_attachments: Media attachments + memorialize: Turn into memoriam + moderation: + active: Active + all: All + pending: Pending + silenced: Silenced + suspended: Suspended + title: Moderation + moderation_notes: Moderation notes + most_recent_activity: Most recent activity + most_recent_ip: Most recent IP + no_limits_imposed: No limits imposed + not_subscribed: Not subscribed + outbox_url: Outbox URL + pending: Pending review + perform_full_suspension: Suspend + profile_url: Profile URL + promote: Promote + protocol: Protocol + public: Public + push_subscription_expires: PuSH subscription expires + redownload: Refresh profile + reject: Reject + remove_avatar: Remove avatar + remove_header: Remove header + resend_confirmation: + already_confirmed: This user is already confirmed + send: Resend confirmation email + success: Confirmation email successfully sent! + reset: Reset + reset_password: Reset password + resubscribe: Resubscribe + role: Permissions + roles: + admin: Administrator + moderator: Moderator + staff: Staff + user: User + salmon_url: Salmon URL + search: Search + shared_inbox_url: Shared inbox URL + show: + created_reports: Made reports + targeted_reports: Reported by others + silence: Silence + silenced: Silenced + statuses: Statuses + subscribe: Subscribe + suspended: Suspended + title: Accounts + unconfirmed_email: Unconfirmed email + undo_silenced: Undo silence + undo_suspension: Undo suspension + unsubscribe: Unsubscribe + username: Username + warn: Warn + web: Web + action_logs: + actions: + assigned_to_self_report: "%{name} assigned report %{target} to themselves" + change_email_user: "%{name} changed the e-mail address of user %{target}" + confirm_user: "%{name} confirmed e-mail address of user %{target}" + create_account_warning: "%{name} sent a warning to %{target}" + create_custom_emoji: "%{name} uploaded new emoji %{target}" + create_domain_block: "%{name} blocked domain %{target}" + create_email_domain_block: "%{name} blacklisted e-mail domain %{target}" + demote_user: "%{name} demoted user %{target}" + destroy_custom_emoji: "%{name} destroyed emoji %{target}" + destroy_domain_block: "%{name} unblocked domain %{target}" + destroy_email_domain_block: "%{name} whitelisted e-mail domain %{target}" + destroy_status: "%{name} removed status by %{target}" + disable_2fa_user: "%{name} disabled two factor requirement for user %{target}" + disable_custom_emoji: "%{name} disabled emoji %{target}" + disable_user: "%{name} disabled login for user %{target}" + enable_custom_emoji: "%{name} enabled emoji %{target}" + enable_user: "%{name} enabled login for user %{target}" + memorialize_account: "%{name} turned %{target}'s account into a memoriam page" + promote_user: "%{name} promoted user %{target}" + remove_avatar_user: "%{name} removed %{target}'s avatar" + reopen_report: "%{name} reopened report %{target}" + reset_password_user: "%{name} reset password of user %{target}" + resolve_report: "%{name} resolved report %{target}" + silence_account: "%{name} silenced %{target}'s account" + suspend_account: "%{name} suspended %{target}'s account" + unassigned_report: "%{name} unassigned report %{target}" + unsilence_account: "%{name} unsilenced %{target}'s account" + unsuspend_account: "%{name} unsuspended %{target}'s account" + update_custom_emoji: "%{name} updated emoji %{target}" + update_status: "%{name} updated status by %{target}" + deleted_status: "(deleted status)" + title: Audit log + custom_emojis: + by_domain: Domain + copied_msg: Successfully created local copy of the emoji + copy: Copy + copy_failed_msg: Could not make a local copy of that emoji + created_msg: Emoji successfully created! + delete: Delete + destroyed_msg: Emojo successfully destroyed! + disable: Disable + disabled_msg: Successfully disabled that emoji + emoji: Emoji + enable: Enable + enabled_msg: Successfully enabled that emoji + image_hint: PNG up to 50KB + listed: Listed + new: + title: Add new custom emoji + overwrite: Overwrite + shortcode: Shortcode + shortcode_hint: At least 2 characters, only alphanumeric characters and underscores + title: Custom emojis + unlisted: Unlisted + update_failed_msg: Could not update that emoji + updated_msg: Emoji successfully updated! + upload: Upload + dashboard: + backlog: backlogged jobs + config: Configuration + feature_deletions: Account deletions + feature_invites: Invite links + feature_profile_directory: Profile directory + feature_registrations: Registrations + feature_relay: Federation relay + features: Features + hidden_service: Federation with hidden services + open_reports: open reports + recent_users: Recent users + search: Full-text search + single_user_mode: Single user mode + software: Software + space: Space usage + title: Dashboard + total_users: users in total + trends: Trends + week_interactions: interactions this week + week_users_active: active this week + week_users_new: users this week + domain_blocks: + add_new: Add new domain block + created_msg: Domain block is now being processed + destroyed_msg: Domain block has been undone + domain: Domain + new: + create: Create block + hint: The domain block will not prevent creation of account entries in the database, but will retroactively and automatically apply specific moderation methods on those accounts. + severity: + desc_html: "Silence will make the account's posts invisible to anyone who isn't following them. Suspend will remove all of the account's content, media, and profile data. Use None if you just want to reject media files." + noop: None + silence: Silence + suspend: Suspend + title: New domain block + reject_media: Reject media files + reject_media_hint: Removes locally stored media files and refuses to download any in the future. Irrelevant for suspensions + reject_reports: Reject reports + reject_reports_hint: Ignore all reports coming from this domain. Irrelevant for suspensions + rejecting_media: rejecting media files + rejecting_reports: rejecting reports + severity: + silence: silenced + suspend: suspended + show: + affected_accounts: + one: One account in the database affected + other: "%{count} accounts in the database affected" + retroactive: + silence: Unsilence all existing accounts from this domain + suspend: Unsuspend all existing accounts from this domain + title: Undo domain block for %{domain} + undo: Undo + undo: Undo domain block + email_domain_blocks: + add_new: Add new + created_msg: Successfully added e-mail domain to blacklist + delete: Delete + destroyed_msg: Successfully deleted e-mail domain from blacklist + domain: Domain + new: + create: Add domain + title: New e-mail blacklist entry + title: E-mail blacklist + followers: + back_to_account: Back To Account + title: "%{acct}'s Followers" + instances: + by_domain: Domain + delivery_available: Delivery is available + known_accounts: + one: "%{count} known account" + other: "%{count} known accounts" + moderation: + all: All + limited: Limited + title: Moderation + title: Federation + total_blocked_by_us: Blocked by us + total_followed_by_them: Followed by them + total_followed_by_us: Followed by us + total_reported: Reports about them + total_storage: Media attachments + invites: + deactivate_all: Deactivate all + filter: + all: All + available: Available + expired: Expired + title: Filter + title: Invites + relays: + add_new: Add new relay + delete: Delete + description_html: A federation relay is an intermediary server that exchanges large volumes of public toots between servers that subscribe and publish to it. It can help small and medium servers discover content from the fediverse, which would otherwise require local users manually following other people on remote servers. + disable: Disable + disabled: Disabled + enable: Enable + enable_hint: Once enabled, your server will subscribe to all public toots from this relay, and will begin sending this server's public toots to it. + enabled: Enabled + inbox_url: Relay URL + pending: Waiting for relay's approval + save_and_enable: Save and enable + setup: Setup a relay connection + status: Status + title: Relays + report_notes: + created_msg: Report note successfully created! + destroyed_msg: Report note successfully deleted! + reports: + account: + note: note + report: report + action_taken_by: Action taken by + are_you_sure: Are you sure? + assign_to_self: Assign to me + assigned: Assigned moderator + comment: + none: None + created_at: Reported + mark_as_resolved: Mark as resolved + mark_as_unresolved: Mark as unresolved + notes: + create: Add note + create_and_resolve: Resolve with note + create_and_unresolve: Reopen with note + delete: Delete + placeholder: Describe what actions have been taken, or any other related updates... + reopen: Reopen report + report: 'Report #%{id}' + reported_account: Reported account + reported_by: Reported by + resolved: Resolved + resolved_msg: Report successfully resolved! + status: Status + title: Reports + unassign: Unassign + unresolved: Unresolved + updated_at: Updated + settings: + activity_api_enabled: + desc_html: Counts of locally posted statuses, active users, and new registrations in weekly buckets + title: Publish aggregate statistics about user activity + bootstrap_timeline_accounts: + desc_html: Separate multiple usernames by comma. Only local and unlocked accounts will work. Default when empty is all local admins. + title: Default follows for new users + contact_information: + email: Business e-mail + username: Contact username + custom_css: + desc_html: Modify the look with CSS loaded on every page + title: Custom CSS + hero: + desc_html: Displayed on the frontpage. At least 600x100px recommended. When not set, falls back to server thumbnail + title: Hero image + mascot: + desc_html: Displayed on multiple pages. At least 293×205px recommended. When not set, falls back to default mascot + title: Mascot image + peers_api_enabled: + desc_html: Domain names this server has encountered in the fediverse + title: Publish list of discovered servers + preview_sensitive_media: + desc_html: Link previews on other websites will display a thumbnail even if the media is marked as sensitive + title: Show sensitive media in OpenGraph previews + profile_directory: + desc_html: Allow users to be discoverable + title: Enable profile directory + registrations: + closed_message: + desc_html: Displayed on frontpage when registrations are closed. You can use HTML tags + title: Closed registration message + deletion: + desc_html: Allow anyone to delete their account + title: Open account deletion + min_invite_role: + disabled: No one + title: Allow invitations by + registrations_mode: + modes: + approved: Approval required for sign up + none: Nobody can sign up + open: Anyone can sign up + title: Registrations mode + show_known_fediverse_at_about_page: + desc_html: When toggled, it will show toots from all the known fediverse on preview. Otherwise it will only show local toots. + title: Show known fediverse on timeline preview + show_staff_badge: + desc_html: Show a staff badge on a user page + title: Show staff badge + site_description: + desc_html: Introductory paragraph on the frontpage. Describe what makes this Mastodon server special and anything else important. You can use HTML tags, in particular <a> and <em>. + title: Server description + site_description_extended: + desc_html: A good place for your code of conduct, rules, guidelines and other things that set your server apart. You can use HTML tags + title: Custom extended information + site_short_description: + desc_html: Displayed in sidebar and meta tags. Describe what Mastodon is and what makes this server special in a single paragraph. If empty, defaults to server description. + title: Short server description + site_terms: + desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags + title: Custom terms of service + site_title: Server name + thumbnail: + desc_html: Used for previews via OpenGraph and API. 1200x630px recommended + title: Server thumbnail + timeline_preview: + desc_html: Display public timeline on landing page + title: Timeline preview + title: Site settings + statuses: + back_to_account: Back to account page + batch: + delete: Delete + nsfw_off: Mark as not sensitive + nsfw_on: Mark as sensitive + failed_to_execute: Failed to execute + media: + title: Media + no_media: No media + no_status_selected: No statuses were changed as none were selected + title: Account statuses + with_media: With media + subscriptions: + callback_url: Callback URL + confirmed: Confirmed + expires_in: Expires in + last_delivery: Last delivery + title: WebSub + topic: Topic + tags: + accounts: Accounts + hidden: Hidden + hide: Hide from directory + name: Hashtag + title: Hashtags + unhide: Show in directory + visible: Visible + title: Administration + warning_presets: + add_new: Add new + delete: Delete + edit: Edit + edit_preset: Edit warning preset + title: Manage warning presets + admin_mailer: + new_pending_account: + body: The details of the new account are below. You can approve or reject this application. + subject: New account up for review on %{instance} (%{username}) + new_report: + body: "%{reporter} has reported %{target}" + body_remote: Someone from %{domain} has reported %{target} + subject: New report for %{instance} (#%{id}) + application_mailer: + notification_preferences: Change e-mail preferences + salutation: "%{name}," + settings: 'Change e-mail preferences: %{link}' + view: 'View:' + view_profile: View Profile + view_status: View status + applications: + created: Application successfully created + destroyed: Application successfully deleted + invalid_url: The provided URL is invalid + regenerate_token: Regenerate access token + token_regenerated: Access token successfully regenerated + warning: Be very careful with this data. Never share it with anyone! + your_token: Your access token + auth: + agreement_html: By clicking "Sign up" below you agree to follow the rules of the server and our terms of service. + apply_for_account: Request an invite + change_password: Password + checkbox_agreement_html: I agree to the server rules and terms of service + confirm_email: Confirm email + delete_account: Delete account + delete_account_html: If you wish to delete your account, you can proceed here. You will be asked for confirmation. + didnt_get_confirmation: Didn't receive confirmation instructions? + forgot_password: Forgot your password? + invalid_reset_password_token: Password reset token is invalid or expired. Please request a new one. + login: Log in + logout: Logout + migrate_account: Move to a different account + migrate_account_html: If you wish to redirect this account to a different one, you can configure it here. + or_log_in_with: Or log in with + providers: + cas: CAS + saml: SAML + register: Sign up + registration_closed: "%{instance} is not accepting new members" + resend_confirmation: Resend confirmation instructions + reset_password: Reset password + security: Security + set_new_password: Set new password + trouble_logging_in: Trouble logging in? + authorize_follow: + already_following: You are already following this account + error: Unfortunately, there was an error looking up the remote account + follow: Follow + follow_request: 'You have sent a follow request to:' + following: 'Success! You are now following:' + post_follow: + close: Or, you can just close this window. + return: Show the user's profile + web: Go to web + title: Follow %{acct} + datetime: + distance_in_words: + about_x_hours: "%{count}h" + about_x_months: "%{count}mo" + about_x_years: "%{count}y" + almost_x_years: "%{count}y" + half_a_minute: Just now + less_than_x_minutes: "%{count}m" + less_than_x_seconds: Just now + over_x_years: "%{count}y" + x_days: "%{count}d" + x_minutes: "%{count}m" + x_months: "%{count}mo" + x_seconds: "%{count}s" + deletes: + bad_password_msg: Nice try, hackers! Incorrect password + confirm_password: Enter your current password to verify your identity + description_html: This will permanently, irreversibly remove content from your account and deactivate it. Your username will remain reserved to prevent future impersonations. + proceed: Delete account + success_msg: Your account was successfully deleted + warning_html: Only deletion of content from this particular server is guaranteed. Content that has been widely shared is likely to leave traces. Offline servers and servers that have unsubscribed from your updates will not update their databases. + warning_title: Disseminated content availability + directories: + directory: Profile directory + enabled: You are currently listed in the directory. + enabled_but_waiting: You have opted-in to be listed in the directory, but you do not have the minimum number of followers (%{min_followers}) to be listed yet. + explanation: Discover users based on their interests + explore_mastodon: Explore %{title} + how_to_enable: You are not currently opted-in to the directory. You can opt-in below. Use hashtags in your bio text to be listed under specific hashtags! + people: + one: "%{count} person" + other: "%{count} people" + errors: + '403': You don't have permission to view this page. + '404': The page you are looking for isn't here. + '410': The page you were looking for doesn't exist here anymore. + '422': + content: Security verification failed. Are you blocking cookies? + title: Security verification failed + '429': Throttled + '500': + content: We're sorry, but something went wrong on our end. + title: This page is not correct + noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the native apps for Mastodon for your platform. + exports: + archive_takeout: + date: Date + download: Download your archive + hint_html: You can request an archive of your toots and uploaded media. The exported data will be in the ActivityPub format, readable by any compliant software. You can request an archive every 7 days. + in_progress: Compiling your archive... + request: Request your archive + size: Size + blocks: You block + csv: CSV + domain_blocks: Domain blocks + follows: You follow + lists: Lists + mutes: You mute + storage: Media storage + featured_tags: + add_new: Add new + errors: + limit: You have already featured the maximum amount of hashtags + filters: + contexts: + home: Home timeline + notifications: Notifications + public: Public timelines + thread: Conversations + edit: + title: Edit filter + errors: + invalid_context: None or invalid context supplied + invalid_irreversible: Irreversible filtering only works with home or notifications context + index: + delete: Delete + title: Filters + new: + title: Add new filter + footer: + developers: Developers + more: More… + resources: Resources + generic: + all: All + changes_saved_msg: Changes successfully saved! + copy: Copy + save_changes: Save changes + validation_errors: + one: Something isn't quite right yet! Please review the error below + other: Something isn't quite right yet! Please review %{count} errors below + identity_proofs: + active: Active + authorize: Yes, authorize + authorize_connection_prompt: Authorize this cryptographic connection? + errors: + failed: The cryptographic connection failed. Please try again from %{provider}. + keybase: + invalid_token: Keybase tokens are hashes of signatures and must be 66 hex characters + verification_failed: Keybase does not recognize this token as a signature of Keybase user %{kb_username}. Please retry from Keybase. + explanation_html: Here you can cryptographically connect your other identities, such as a Keybase profile. This lets other people send you encrypted messages and trust content you send them. + i_am_html: I am %{username} on %{service}. + identity: Identity + inactive: Inactive + status: Verification status + view_proof: View proof + imports: + modes: + merge: Merge + merge_long: Keep existing records and add new ones + overwrite: Overwrite + overwrite_long: Replace current records with the new ones + preface: You can import data that you have exported from another server, such as a list of the people you are following or blocking. + success: Your data was successfully uploaded and will now be processed in due time + types: + blocking: Blocking list + domain_blocking: Domain blocking list + following: Following list + muting: Muting list + upload: Upload + in_memoriam_html: In Memoriam. + invites: + delete: Deactivate + expired: Expired + expires_in: + '1800': 30 minutes + '21600': 6 hours + '3600': 1 hour + '43200': 12 hours + '604800': 1 week + '86400': 1 day + expires_in_prompt: Never + generate: Generate + invited_by: 'You were invited by:' + max_uses: + one: 1 use + other: "%{count} uses" + max_uses_prompt: No limit + prompt: Generate and share links with others to grant access to this server + table: + expires_at: Expires + uses: Uses + title: Invite people + lists: + errors: + limit: You have reached the maximum amount of lists + media_attachments: + validations: + images_and_video: Cannot attach a video to a status that already contains images + too_many: Cannot attach more than 4 files + migrations: + acct: username@domain of the new account + currently_redirecting: 'Your profile is set to redirect to:' + proceed: Save + updated_msg: Your account migration setting successfully updated! + moderation: + title: Moderation + notification_mailer: + digest: + action: View all notifications + body: Here is a brief summary of the messages you missed since your last visit on %{since} + mention: "%{name} mentioned you in:" + new_followers_summary: + one: Also, you have acquired one new follower while being away! Yay! + other: Also, you have acquired %{count} new followers while being away! Amazing! + subject: + one: "1 new notification since your last visit \U0001F418" + other: "%{count} new notifications since your last visit \U0001F418" + title: In your absence... + favourite: + body: 'Your status was favourited by %{name}:' + subject: "%{name} favourited your status" + title: New favourite + follow: + body: "%{name} is now following you!" + subject: "%{name} is now following you" + title: New follower + follow_request: + action: Manage follow requests + body: "%{name} has requested to follow you" + subject: 'Pending follower: %{name}' + title: New follow request + mention: + action: Reply + body: 'You were mentioned by %{name} in:' + subject: You were mentioned by %{name} + title: New mention + reblog: + body: 'Your status was boosted by %{name}:' + subject: "%{name} boosted your status" + title: New boost + number: + human: + decimal_units: + format: "%n%u" + units: + billion: B + million: M + quadrillion: Q + thousand: K + trillion: T + pagination: + newer: Newer + next: Next + older: Older + prev: Prev + truncate: "…" + polls: + errors: + already_voted: You have already voted on this poll + duplicate_options: contain duplicate items + duration_too_long: is too far into the future + duration_too_short: is too soon + expired: The poll has already ended + over_character_limit: cannot be longer than %{max} characters each + too_few_options: must have more than one item + too_many_options: can't contain more than %{max} items + preferences: + languages: Languages + other: Other + publishing: Publishing + web: Web + relationships: + activity: Account activity + dormant: Dormant + moved: Moved + mutual: Mutual + primary: Primary + relationship: Relationship + remove_selected_domains: Remove all followers from the selected domains + remove_selected_followers: Remove selected followers + remove_selected_follows: Unfollow selected users + status: Account status + remote_follow: + acct: Enter your username@domain you want to act from + missing_resource: Could not find the required redirect URL for your account + no_account_html: Don't have an account? You can sign up here + proceed: Proceed to follow + prompt: 'You are going to follow:' + reason_html: "Why is this step necessary? %{instance} might not be the server where you are registered, so we need to redirect you to your home server first." + remote_interaction: + favourite: + proceed: Proceed to favourite + prompt: 'You want to favourite this toot:' + reblog: + proceed: Proceed to boost + prompt: 'You want to boost this toot:' + reply: + proceed: Proceed to reply + prompt: 'You want to reply to this toot:' + remote_unfollow: + error: Error + title: Title + unfollowed: Unfollowed + scheduled_statuses: + over_daily_limit: You have exceeded the limit of %{limit} scheduled toots for that day + over_total_limit: You have exceeded the limit of %{limit} scheduled toots + too_soon: The scheduled date must be in the future + sessions: + activity: Last activity + browser: Browser + browsers: + alipay: Alipay + blackberry: Blackberry + chrome: Chrome + edge: Microsoft Edge + electron: Electron + firefox: Firefox + generic: Unknown browser + ie: Internet Explorer + micro_messenger: MicroMessenger + nokia: Nokia S40 Ovi Browser + opera: Opera + otter: Otter + phantom_js: PhantomJS + qq: QQ Browser + safari: Safari + uc_browser: UCBrowser + weibo: Weibo + current_session: Current session + description: "%{browser} on %{platform}" + explanation: These are the web browsers currently logged in to your Mastodon account. + ip: IP + platforms: + adobe_air: Adobe Air + android: Android + blackberry: Blackberry + chrome_os: ChromeOS + firefox_os: Firefox OS + ios: iOS + linux: Linux + mac: Mac + other: unknown platform + windows: Windows + windows_mobile: Windows Mobile + windows_phone: Windows Phone + revoke: Revoke + revoke_success: Session successfully revoked + title: Sessions + settings: + authorized_apps: Authorized apps + back: Back to Mastodon + delete: Account deletion + development: Development + edit_profile: Edit profile + export: Data export + featured_tags: Featured hashtags + identity_proofs: Identity proofs + import: Import + migrate: Account migration + notifications: Notifications + preferences: Preferences + relationships: Follows and followers + settings: Settings + two_factor_authentication: Two-factor Auth + your_apps: Your applications + statuses: + attached: + description: 'Attached: %{attached}' + image: + one: "%{count} image" + other: "%{count} images" + video: + one: "%{count} video" + other: "%{count} videos" + boosted_from_html: Boosted from %{acct_link} + content_warning: 'Content warning: %{warning}' + disallowed_hashtags: + one: 'contained a disallowed hashtag: %{tags}' + other: 'contained the disallowed hashtags: %{tags}' + language_detection: Automatically detect language + open_in_web: Open in web + over_character_limit: character limit of %{max} exceeded + pin_errors: + limit: You have already pinned the maximum number of toots + ownership: Someone else's toot cannot be pinned + private: Non-public toot cannot be pinned + reblog: A boost cannot be pinned + poll: + total_votes: + one: "%{count} vote" + other: "%{count} votes" + vote: Vote + show_more: Show more + sign_in_to_participate: Sign in to participate in the conversation + title: '%{name}: "%{quote}"' + visibilities: + private: Followers-only + private_long: Only show to followers + public: Public + public_long: Everyone can see + unlisted: Unlisted + unlisted_long: Everyone can see, but not listed on public timelines + stream_entries: + pinned: Pinned toot + reblogged: boosted + sensitive_content: Sensitive content + terms: + body_html: | +

Privacy Policy

+

What information do we collect?

+ +
    +
  • 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:

+ +
    +
  • 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?

+ +

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:

+ +
    +
  • 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.

+ +
+ +

Do we disclose any information to outside parties?

+ +

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.

+ +

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.

+ +
+ +

Site usage by children

+ +

If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site.

+ +

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

+ +

Law requirements can be different if this server is in another jurisdiction.

+ +
+ +

Changes to our Privacy Policy

+ +

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

+ +

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

+ +

Originally adapted from the Discourse privacy policy.

+ title: "%{instance} Terms of Service and Privacy Policy" + themes: + contrast: Mastodon (High contrast) + default: Mastodon (Dark) + mastodon-light: Mastodon (Light) + time: + formats: + default: "%b %d, %Y, %H:%M" + month: "%b %Y" + two_factor_authentication: + code_hint: Enter the code generated by your authenticator app to confirm + description_html: If you enable two-factor authentication, logging in will require you to be in possession of your phone, which will generate tokens for you to enter. + disable: Disable + enable: Enable + enabled: Two-factor authentication is enabled + enabled_success: Two-factor authentication successfully enabled + generate_recovery_codes: Generate recovery codes + instructions_html: "Scan this QR code into Google Authenticator or a similiar TOTP app on your phone. From now on, that app will generate tokens that you will have to enter when logging in." + lost_recovery_codes: Recovery codes allow you to regain access to your account if you lose your phone. If you've lost your recovery codes, you can regenerate them here. Your old recovery codes will be invalidated. + manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:' + recovery_codes: Backup recovery codes + recovery_codes_regenerated: Recovery codes successfully regenerated + recovery_instructions_html: If you ever lose access to your phone, you can use one of the recovery codes below to regain access to your account. Keep the recovery codes safe. For example, you may print them and store them with other important documents. + setup: Set up + wrong_code: The entered code was invalid! Are server time and device time correct? + user_mailer: + backup_ready: + explanation: You requested a full backup of your Mastodon account. It's now ready for download! + subject: Your archive is ready for download + title: Archive takeout + warning: + explanation: + disable: While your account is frozen, your account data remains intact, but you cannot perform any actions until it is unlocked. + silence: While your account is limited, only people who are already following you will see your toots on this server, and you may be excluded from various public listings. However, others may still manually follow you. + suspend: Your account has been suspended, and all of your toots and your uploaded media files have been irreversibly removed from this server, and servers where you had followers. + review_server_policies: Review server policies + subject: + disable: Your account %{acct} has been frozen + none: Warning for %{acct} + silence: Your account %{acct} has been limited + suspend: Your account %{acct} has been suspended + title: + disable: Account frozen + none: Warning + silence: Account limited + suspend: Account suspended + welcome: + edit_profile_action: Setup profile + edit_profile_step: You can customize your profile by uploading an avatar, header, changing your display name and more. If you’d like to review new followers before they’re allowed to follow you, you can lock your account. + explanation: Here are some tips to get you started + final_action: Start posting + final_step: 'Start posting! Even without followers your public messages may be seen by others, for example on the local timeline and in hashtags. You may want to introduce yourself on the #introductions hashtag.' + full_handle: Your full handle + full_handle_hint: This is what you would tell your friends so they can message or follow you from another server. + review_preferences_action: Change preferences + review_preferences_step: Make sure to set your preferences, such as which emails you'd like to receive, or what privacy level you’d like your posts to default to. If you don’t have motion sickness, you could choose to enable GIF autoplay. + subject: Welcome to Mastodon + tip_federated_timeline: The federated timeline is a firehose view of the Mastodon network. But it only includes people your neighbours are subscribed to, so it's not complete. + tip_following: You follow your server's admin(s) by default. To find more interesting people, check the local and federated timelines. + tip_local_timeline: The local timeline is a firehose view of people on %{instance}. These are your immediate neighbours! + tip_mobile_webapp: If your mobile browser offers you to add Mastodon to your homescreen, you can receive push notifications. It acts like a native app in many ways! + tips: Tips + title: Welcome aboard, %{name}! + users: + follow_limit_reached: You cannot follow more than %{limit} people + invalid_email: The e-mail address is invalid + invalid_otp_token: Invalid two-factor code + otp_lost_help_html: If you lost access to both, you may get in touch with %{email} + seamless_external_login: You are logged in via an external service, so password and e-mail settings are not available. + signed_in_as: 'Signed in as:' + verification: + explanation_html: 'You can verify yourself as the owner of the links in your profile metadata. For that, the linked website must contain a link back to your Mastodon profile. The link back must have a rel="me" attribute. The text content of the link does not matter. Here is an example:' + verification: Verification diff --git a/config/locales/eo.yml b/config/locales/eo.yml index bad9e6487..4621b93fc 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -4,17 +4,23 @@ eo: about_hashtag_html: Ĉi tiuj estas la publikaj mesaĝoj markitaj per #%{hashtag}. Vi povas interagi kun ili se vi havas konton ie ajn en la fediverse. about_mastodon_html: Mastodon estas socia reto bazita sur malfermitaj retaj protokoloj kaj sur libera malfermitkoda programo. Ĝi estas sencentra kiel retmesaĝoj. about_this: Pri + active_count_after: aktiva administered_by: 'Administrata de:' api: API apps: Poŝtelefonaj aplikaĵoj + apps_platforms: Uzu Mastodon ĉe iOS, Android kaj aliajn platformojn + browse_directory: Esplori profilujo kaj filtri per interesoj contact: Kontakti contact_missing: Ne elektita contact_unavailable: Ne disponebla + discover_users: Malkovri uzantojn documentation: Dokumentado extended_description_html: |

Bona loko por reguloj

La detala priskribo ne estis elektita.

+ federation_hint_html: Per konto ĉe %{instance}, vi povos sekvi homojn ĉe iu ajn Mastodon nodo kaj preter. generic_description: "%{domain} estas unu servilo en la reto" + get_apps: Provu telefonan aplikaĵon hosted_on: "%{domain} estas nodo de Mastodon" learn_more: Lerni pli privacy_policy: Privateca politiko diff --git a/config/locales/es.yml b/config/locales/es.yml index bcc3fe62c..579481b5a 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -4,25 +4,36 @@ 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 @@ -60,6 +71,7 @@ es: unfollow: Dejar de seguir admin: account_actions: + action: Realizar una acción title: Moderar %{acct} account_moderation_notes: create: Crear @@ -67,6 +79,7 @@ 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 @@ -88,8 +101,8 @@ es: display_name: Nombre domain: Dominio edit: Editar - email: E-mail - email_status: E-mail Status + email: Email + email_status: Email status enable: Habilitar enabled: Habilitada feed_url: URL de notificaciones @@ -100,6 +113,7 @@ es: inbox_url: URL de la bandeja de entrada invited_by: Invitado por ip: IP + joined: Registrado desde location: all: Todos local: Local @@ -111,6 +125,7 @@ es: moderation: active: Activo all: Todos + pending: Pendiente silenced: Silenciados suspended: Suspendidos title: Moderación @@ -120,14 +135,17 @@ 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 avatar + redownload: Refrescar el perfil + reject: Rechazar 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 @@ -143,27 +161,29 @@ es: user: Usuario salmon_url: URL de salmón search: Buscar - shared_inbox_url: URL de bandeja compartida + shared_inbox_url: URL de la bandeja de entrada compartida show: - created_reports: Reportes hechos por esta cuenta - targeted_reports: Reportes hechos sobre esta cuenta + created_reports: Reportes realizados + targeted_reports: Reportado por otros silence: Silenciar silenced: Silenciado statuses: Estados subscribe: Suscribir suspended: Susependido title: Cuentas - unconfirmed_email: Correo electrónico sin confirmar + unconfirmed_email: Correo electrónico no confirmado 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}" @@ -222,6 +242,7 @@ 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 @@ -239,7 +260,7 @@ es: week_users_active: activo esta semana week_users_new: usuarios esta semana domain_blocks: - add_new: Añadir nuevo + add_new: Añadir un nuevo bloque de dominio created_msg: El bloque de dominio está siendo procesado destroyed_msg: El bloque de dominio se deshizo domain: Dominio @@ -256,6 +277,11 @@ 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 @@ -265,7 +291,7 @@ es: suspend: Des-suspender todas las cuentas existentes de este dominio title: Deshacer bloque de dominio para %{domain} undo: Deshacer - undo: Deshacer + undo: Deshacer el bloque de dominio email_domain_blocks: add_new: Añadir nuevo created_msg: Dominio de correo añadido a la lista negra con éxito @@ -276,8 +302,25 @@ 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: - title: Instancias conocidas + 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 invites: deactivate_all: Desactivar todos filter: @@ -354,11 +397,14 @@ 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 dominio que esta instancia ha encontrado en el fediverso - title: Publicar lista de instancias descubiertas + desc_html: Nombres de los dominios que esta instancia ha descubierto en el fediverso + title: Publicar la 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 @@ -369,6 +415,12 @@ 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 @@ -377,20 +429,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 instancia + title: Descripción de la 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 tags 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 etiquetas HTML title: Información extendida personalizada site_short_description: - 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 + 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 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 instancia + site_title: Nombre de la instancia thumbnail: desc_html: Se usa para muestras con OpenGraph y APIs. Se recomienda 1200x630px - title: Portada de instancia + title: Miniatura de la instancia timeline_preview: desc_html: Mostrar línea de tiempo pública en la portada title: Previsualización @@ -415,8 +467,25 @@ 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} @@ -437,8 +506,10 @@ 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 servicio. + 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 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. @@ -454,10 +525,12 @@ 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 @@ -489,12 +562,22 @@ 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: 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_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_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 estabas buscando no existe. - '410': La página que estabas buscando no existe más. + '404': La página que está buscando no existe. + '410': La página que está buscando ya no existe. '422': content: Verificación de seguridad fallida. ¿Estás bloqueando algunas cookies? title: Verificación de seguridad fallida @@ -507,15 +590,21 @@ es: archive_takeout: date: Fecha download: Descargar tu archivo - 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. + 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. 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 @@ -537,17 +626,39 @@ 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: - 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. + 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. 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 @@ -569,7 +680,7 @@ es: one: 1 uso other: "%{count} usos" max_uses_prompt: Sin límite - prompt: Generar y compartir enlaces con otros para conceder acceso a este nodo + prompt: Generar y compartir enlaces con otros para proporcionar acceso a esta instancia table: expires_at: Expira uses: Usos @@ -639,21 +750,57 @@ 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 @@ -702,10 +849,13 @@ 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 @@ -731,6 +881,11 @@ 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}"' @@ -746,11 +901,92 @@ 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: Alto contraste - default: Mastodon - mastodon-light: Mastodon (claro) + contrast: Mastodon (Alto contraste) + default: Mastodon (Oscuro) + mastodon-light: Mastodon (Claro) time: formats: default: "%d de %b del %Y, %H:%M" @@ -776,6 +1012,22 @@ 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. @@ -783,7 +1035,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 ellos puedan enviarte mensajes o seguirte desde otra instancia. + 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. 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 @@ -791,7 +1043,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: Tips + tips: Trucos 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/fa.yml b/config/locales/fa.yml index ff8f80f13..7c026212f 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -4,25 +4,36 @@ fa: about_hashtag_html: این‌ها نوشته‌های عمومی هستند که برچسب (هشتگ) #%{hashtag} را دارند. اگر شما روی هر سروری حساب داشته باشید می‌توانید به این نوشته‌ها واکنش نشان دهید. about_mastodon_html: ماستدون (Mastodon) یک شبکهٔ اجتماعی است که بر اساس پروتکل‌های آزاد وب و نرم‌افزارهای آزاد و کدباز ساخته شده است. این شبکه مانند ایمیل غیرمتمرکز است. about_this: درباره + active_count_after: فعال + active_footnote: کاربران فعال در ماه گذشته administered_by: 'با مدیریت:' api: رابط برنامه‌نویسی کاربردی apps: اپ‌های موبایل + apps_platforms: ماستدون را در iOS، اندروید، و سایر سیستم‌ها داشته باشید + browse_directory: در فهرست گزیدهٔ کاربران این سرور چرخی بزنید و کاربران را بر اساس علاقه‌مندی‌هایشان پیدا کنید + browse_public_posts: فهرست لحظه‌ای نوشته‌های عمومی در ماستدون را ببینید contact: تماس contact_missing: تعیین نشده contact_unavailable: موجود نیست + discover_users: یافتن کاربران documentation: مستندات extended_description_html: |

جای خوبی برای قانون‌ها

توضیحات تکمیلی نوشته نشده است.

+ federation_hint_html: با داشتن حساب روی %{instance} می‌توانید کاربران همهٔ سرورهای دیگر ماستدون (و سایر شبکه‌های سازگار با آن) را پی بگیرید. generic_description: "%{domain} یک سرور روی شبکه است" + get_apps: یک اپ موبایل را امتحان کنید hosted_on: ماستدون، میزبانی‌شده روی %{domain} learn_more: بیشتر بدانید privacy_policy: سیاست رازداری + see_whats_happening: ببینید چه خبر است + server_stats: 'آمار سرور:' source_code: کدهای منبع status_count_after: one: چیز نوشته‌اند other: چیز نوشته‌اند status_count_before: که در کنار هم + tagline: با دوستان خود در ارتباط باشید و دوستان تازه پیدا کنید terms: شرایط کاربری user_count_after: one: کاربر @@ -68,6 +79,7 @@ fa: delete: پاک کردن destroyed_msg: یادداشت مدیر با موفقیت پاک شد! accounts: + approve: پذیرفتن are_you_sure: آیا مطمئن هستید؟ avatar: تصویر نمایه by_domain: دامین @@ -113,6 +125,7 @@ fa: moderation: active: فعال all: همه + pending: در انتظار silenced: بی‌صدا شده suspended: معلق شده title: وضعیت @@ -122,6 +135,7 @@ fa: no_limits_imposed: بدون محدودیت not_subscribed: عضو نیست outbox_url: نشانی صندوق خروجی + pending: در انتظار بررسی perform_full_suspension: تعلیق profile_url: نشانی نمایه promote: ترفیع‌دادن @@ -129,6 +143,7 @@ fa: public: عمومی push_subscription_expires: عضویت از راه PuSH منقضی شد redownload: به‌روزرسانی نمایه + reject: نپذیرفتن remove_avatar: حذف تصویر نمایه remove_header: برداشتن تصویر زمینه resend_confirmation: @@ -400,6 +415,12 @@ fa: min_invite_role: disabled: هیچ کس title: اجازهٔ دعوت به + registrations_mode: + modes: + approved: ثبت نام نیازمند تأیید مدیران است + none: کسی نمی‌تواند ثبت نام کند + open: همه می‌توانند ثبت نام کنند + title: شرایط ثبت نام show_known_fediverse_at_about_page: desc_html: اگر انتخاب شود، بوق‌های همهٔ سرورهای دیگر نیز در پیش‌نمایش این سرور نمایش می‌یابد. وگرنه فقط بوق‌های محلی نشان داده می‌شوند. title: نمایش سرورهای دیگر در پیش‌نمایش این سرور @@ -407,13 +428,13 @@ fa: desc_html: نمایش علامت همکار روی صفحهٔ کاربر title: نمایش علامت همکار site_description: - desc_html: معرفی کوتاهی که روی صفحهٔ اصلی نمایش می‌یابد. دربارهٔ این که چه چیزی دربارهٔ این سرور ماستدون ویژه است یا هر چیز مهم دیگری بنویسید. می‌توانید HTML بنویسید، به‌ویژه <a> و <em>. + desc_html: معرفی کوتاهی دربارهٔ رابط برنامه‌نویسی کاربردی. دربارهٔ این که چه چیزی دربارهٔ این سرور ماستدون ویژه است یا هر چیز مهم دیگری بنویسید. می‌توانید HTML بنویسید، به‌ویژه <a> و <em>. title: دربارهٔ این سرور site_description_extended: desc_html: جای خوبی برای نوشتن سیاست‌های کاربری، قانون‌ها، راهنماها، و هر چیزی که ویژهٔ این سرور است. تگ‌های HTML هم مجاز است title: اطلاعات تکمیلی سفارشی site_short_description: - desc_html: روی نوار کناری و همچنین به عنوان فرادادهٔ صفحه‌ها نمایش می‌یابد. در یک بند توضیح دهید که ماستدون چیست و چرا این سرور با بقیه فرق دارد. اگر خالی بگذارید، به جایش «دربارهٔ سایت» نمایش می‌یابد. + desc_html: روی نوار کناری و همچنین به عنوان فرادادهٔ صفحه‌ها نمایش می‌یابد. در یک بند توضیح دهید که ماستدون چیست و چرا این سرور با بقیه فرق دارد. title: توضیح کوتاه دربارهٔ سرور site_terms: desc_html: می‌توانید سیاست رازداری، شرایط استفاده، یا سایر مسائل قانونی را به دلخواه خود بنویسید. تگ‌های HTML هم مجاز است @@ -462,6 +483,9 @@ fa: edit_preset: ویرایش هشدار پیش‌فرض title: مدیریت هشدارهای پیش‌فرض admin_mailer: + new_pending_account: + body: جزئیات حساب تازه این‌جاست. شما می‌توانید آن را تأیید یا رد کنید. + subject: حساب تازه‌ای در %{instance} نیازمند بررسی است (%{username}) new_report: body: کاربر %{reporter} کاربر %{target} را گزارش داد body_remote: کسی از %{domain} گزارش %{target} را فرستاده @@ -483,7 +507,9 @@ fa: your_token: کد دسترسی شما auth: agreement_html: با کلیک روی دکمهٔ عضو شدن، شما قوانین این سرور و شرایط استفادهٔ ما را می‌پذیرید. + apply_for_account: درخواست دعوت‌نامه change_password: رمز + checkbox_agreement_html: من قانون‌های این سرور و شرایط کاربری را می‌پذیرم confirm_email: تأیید ایمیل delete_account: پاک‌کردن حساب delete_account_html: اگر می‌خواهید حساب خود را پاک کنید، از این‌جا پیش بروید. از شما درخواست تأیید خواهد شد. @@ -499,10 +525,12 @@ fa: cas: CAS saml: SAML register: عضو شوید + registration_closed: سرور %{instance} عضو تازه‌ای نمی‌پذیرد resend_confirmation: راهنمایی برای تأیید را دوباره بفرست reset_password: بازنشانی رمز security: امنیت set_new_password: تعیین رمز تازه + trouble_logging_in: برای ورود مشکلی دارید؟ authorize_follow: already_following: شما همین الان هم این حساب را پی‌می‌گیرید error: متأسفانه حین یافتن آن حساب خطایی رخ داد @@ -558,6 +586,9 @@ fa: content: شرمنده، یک چیزی از سمت ما اشتباه شده. title: این صفحه درست نیست noscript_html: برای استفاده از نسخهٔ تحت وب ماستدون، لطفاً جاوااسکریپت را فعال کنید. یا به جایش می‌توانید یک اپ ماستدون را به‌کار ببرید. + existing_username_validator: + not_found: کاربری در این سرور با این نام کاربری پیدا نشد + not_found_multiple: "%{usernames} پیدا نشد" exports: archive_takeout: date: تاریخ @@ -598,12 +629,30 @@ fa: more: بیشتر… resources: منابع generic: + all: همه changes_saved_msg: تغییرات با موفقیت ذخیره شدند! copy: رونوشت save_changes: ذخیرهٔ تغییرات validation_errors: one: یک چیزی هنوز درست نیست! لطفاً خطاهای زیر را ببینید other: یک چیزی هنوز درست نیست! لطفاً %{count} خطای زیر را ببینید + html_validator: + invalid_markup: دارای نشانه‌گذاری نامعتبر HTML است + identity_proofs: + active: فعال + authorize: بله، اجازه بده + authorize_connection_prompt: آیا اجازهٔ این ارتباط رمزگذاری را می‌دهید؟ + errors: + failed: برقراری ارتباط رمزگذاری شکست خورد. لطفاً دوباره از %{provider} تلاش کنید. + keybase: + invalid_token: کدهای Keybase چکیده (هش) امضاهای دیجیتال هستند و دست‌کم ۶۶ نویسه در مبنای ۱۶ دارند + verification_failed: این کد را Keybase به عنوان امضای دیجیتال کاربر %{kb_username} تأیید نمی‌کند. لطفاً دوباره از Keybase تلاش کنید. + explanation_html: این‌جا می‌توانید به شناسه‌های دیگر خود مانند نمایهٔ Keybase خودتان به طور رمزنگارانه متصل شوید. با این کار دیگران می‌توانند به شما پیغام‌های رمزشده بفرستند و به چیزی که شما به آن‌ها می‌فرستید اعتماد کنند. + i_am_html: من %{username} روی %{service} هستم. + identity: شناسه + inactive: غیرفعال + status: وضعیت تأیید + view_proof: دیدن مدرک imports: modes: merge: ادغام @@ -721,6 +770,17 @@ fa: other: سایر تنظیمات publishing: تنظیمات انتشار مطالب web: وب + relationships: + activity: فعالیت حساب + dormant: غیرفعال + moved: منتقل‌شده + mutual: دوطرفه + primary: اصلی + relationship: رابطه + remove_selected_domains: همهٔ پیگیران از طرف این سرور را بردار + remove_selected_followers: پیگیران انتخاب‌شده را بردار + remove_selected_follows: به پیگیری از کاربران انتخاب‌شده پایان بده + status: وضعیت حساب remote_follow: acct: نشانی حساب username@domain خود را این‌جا بنویسید missing_resource: نشانی اینترنتی برای رسیدن به حساب شما پیدا نشد @@ -795,10 +855,12 @@ fa: edit_profile: ویرایش نمایه export: برون‌سپاری داده‌ها featured_tags: برچسب‌های منتخب + identity_proofs: مدرک شناسه‌ها import: درون‌ریزی migrate: انتقال حساب notifications: اعلان‌ها preferences: ترجیحات + relationships: پیگیری‌ها و پیگیران settings: تنظیمات two_factor_authentication: ورود دومرحله‌ای your_apps: برنامهٔ شما diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 0d5dd08ad..ff065e865 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -4,25 +4,36 @@ 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 @@ -37,7 +48,7 @@ fr: other: Abonné⋅e⋅s following: Abonnements joined: Inscrit·e en %{date} - last_active: actif dernièrement + last_active: dernière activité 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} :" @@ -68,6 +79,7 @@ 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 @@ -113,6 +125,7 @@ fr: moderation: active: Actif all: Tous + pending: En attente silenced: Masqués suspended: Suspendus title: Modération @@ -122,6 +135,7 @@ 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 @@ -129,6 +143,7 @@ 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: @@ -245,7 +260,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 bloqueur de domaine + add_new: Ajouter un nouveau blocage de domaine created_msg: Le blocage de domaine est désormais activé destroyed_msg: Le blocage de domaine a été désactivé domain: Domaine @@ -265,7 +280,7 @@ fr: rejecting_media: rejet des fichiers multimédia rejecting_reports: rejet de rapports severity: - silence: silencié + silence: réduit au silence suspend: suspendu show: affected_accounts: @@ -276,7 +291,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 bloqueur de domaine + undo: Annuler le blocage de domaine email_domain_blocks: add_new: Ajouter created_msg: Le blocage de domaine de courriel est désormais activé @@ -374,7 +389,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 personnalisé + title: CSS personalisé 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 @@ -400,6 +415,12 @@ 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 @@ -462,6 +483,9 @@ 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} @@ -483,7 +507,9 @@ 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. @@ -499,10 +525,12 @@ 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 @@ -534,7 +562,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 ceux 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 celles 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 @@ -558,6 +586,9 @@ 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 @@ -568,7 +599,7 @@ fr: size: Taille blocks: Vous bloquez csv: CSV - domain_blocks: Bloqueurs de domaine + domain_blocks: Blocage de domaine follows: Vous suivez lists: Listes mutes: Vous masquez @@ -598,12 +629,30 @@ 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 + 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 @@ -715,19 +764,30 @@ 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 que %{max} propositions + too_many_options: ne peut contenir plus de %{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 le serveur où vous vous êtes inscrit, et nous devons donc vous rediriger vers votre serveur de base en premier." + 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." remote_interaction: favourite: proceed: Confirmer l'ajout aux favoris @@ -795,10 +855,12 @@ 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 @@ -960,7 +1022,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 du serveur + review_server_policies: Passer en revue les politiques de l'instance 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 9f586aa37..4087ef331 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -2,3 +2,4 @@ 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/gl.yml b/config/locales/gl.yml index 1a1f6c590..32f642e16 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -4,25 +4,36 @@ gl: about_hashtag_html: Estas son mensaxes públicas etiquetadas con #%{hashtag}. Pode interactuar con elas si ten unha conta nalgures do fediverso. about_mastodon_html: Mastodon é unha rede social que se basea en protocolos web abertos e libres, software de código aberto. É descentralizada como o correo electrónico. about_this: Sobre + active_count_after: activo + active_footnote: Usuarias Activas no Mes (UAM) administered_by: 'Administrada por:' api: API apps: Apps móbiles + apps_platforms: Utilice Mastodon desde iOS, Android e outras plataformas + browse_directory: Navegue no directorio de perfís e filtre por intereses + browse_public_posts: Vexa o fluxo de comentarios públicos en Mastodon contact: Contacto contact_missing: Non establecido contact_unavailable: N/A + discover_users: Descubra usuarias documentation: Documentación extended_description_html: |

Un bo lugar para regras

A descrición extendida aínda non se proporcionou.

+ federation_hint_html: Con unha conta en %{instance} poderá seguir a outras persoas en calquera dos servidores Mastodon e incluso máis. generic_description: "%{domain} é un servidor na rede" + get_apps: Probe cunha app móbil hosted_on: Mastodon aloxado en %{domain} learn_more: Coñeza máis privacy_policy: Política de intimidade + see_whats_happening: Mire o que acontece + server_stats: 'Estatísticas:' source_code: Código fonte status_count_after: one: estado other: estados status_count_before: Que publicaron + tagline: Siga as amizades e faga outras novas terms: Termos do servizo user_count_after: one: usuaria @@ -68,6 +79,7 @@ gl: delete: Eliminar destroyed_msg: Nota a moderación destruída con éxito! accounts: + approve: Aprobar are_you_sure: Está segura? avatar: Avatar by_domain: Dominio @@ -113,6 +125,7 @@ gl: moderation: active: Activa all: Todo + pending: Pendente silenced: Acalado suspended: Suspendido title: Moderación @@ -122,6 +135,7 @@ gl: no_limits_imposed: Sen límites impostos not_subscribed: Non suscrita outbox_url: URL caixa de saída + pending: Pendente revisión perform_full_suspension: Suspender profile_url: URL do perfil promote: Promocionar @@ -129,6 +143,7 @@ gl: public: Público push_subscription_expires: A suscrición PuSH caduca redownload: Actualizar perfil + reject: Rexeitar remove_avatar: Eliminar avatar remove_header: Eliminar cabeceira resend_confirmation: @@ -400,6 +415,12 @@ gl: min_invite_role: disabled: Ninguén title: Permitir convites por + registrations_mode: + modes: + approved: Precisa aprobación para rexistrarse + none: Rexistro pechado + open: Rexistro aberto + title: Estado do rexistro show_known_fediverse_at_about_page: desc_html: Si activado, mostraralle os toots de todo o fediverso coñecido nunha vista previa. Si non só mostrará os toots locais. title: Mostrar vista previa do fediverso na liña temporal @@ -462,6 +483,9 @@ gl: edit_preset: Editar aviso preestablecido title: Xestionar avisos preestablecidos admin_mailer: + new_pending_account: + body: Abaixo están os detalles da conta. Pode aprobar ou rexeitar esta solicitude. + subject: Hai unha conta nova para revisar en %{instance} (%{username}) new_report: body: "%{reporter} informou sobre %{target}" body_remote: Alguén desde %{domain} informou sobre %{target} @@ -483,7 +507,9 @@ gl: your_token: O seu testemuño de acceso auth: agreement_html: Ao pulsar "Rexistrar" vostede acorda seguir as normas do servidor e os termos do servizo. + apply_for_account: Solicite un convite change_password: Contrasinal + checkbox_agreement_html: Acepto as regras do servidor e os termos do servizo confirm_email: Confirmar correo-e delete_account: Eliminar conta delete_account_html: Se desexa eliminar a súa conta, pode facelo aquí. Pediráselle confirmación. @@ -499,10 +525,12 @@ gl: cas: CAS saml: SAML register: Rexistro + registration_closed: "%{instance} non está a aceptar novas usuarias" resend_confirmation: Voltar a enviar intruccións de confirmación reset_password: Restablecer contrasinal security: Seguridade set_new_password: Establecer novo contrasinal + trouble_logging_in: Problemas para conectar? authorize_follow: already_following: Xa está a seguir esta conta error: Desgraciadamente, algo fallou ao buscar a conta remota @@ -598,12 +626,28 @@ gl: more: Máis… resources: Recursos generic: + all: Todo changes_saved_msg: Cambios gardados correctamente!! copy: Copiar save_changes: Gardar cambios validation_errors: one: Algo non está ben de todo! Por favor revise abaixo o erro other: Algo aínda non está ben! Por favor revise os %{count} erros abaixo + identity_proofs: + active: Activo + authorize: Si, autorizar + authorize_connection_prompt: Autorizar esta conexión criptográfica? + errors: + failed: Fallou a conexión criptográfica. Por favor inténteo de novo desde %{provider}. + keybase: + invalid_token: Os testemuños Keybase son hashes de firma e deben ter 66 caracteres hexadecimais + verification_failed: Keybase non recoñece este testemuño como firma da usuaria de Keybase %{kb_username}. Por favor inténteo desde Keybase. + explanation_html: Aquí pódese conectar criptográficamente as suas outras identidades, como a un perfil Keybase. Esto permitelle a outras persoas enviarlle mensaxes cifradas e confiar no contido que vostede lle envía. + i_am_html: Eu son %{username} en %{service}. + identity: Identidade + inactive: Inactiva + status: Estado da validación + view_proof: Ver proba imports: modes: merge: Fusionar @@ -721,6 +765,17 @@ gl: other: Outro publishing: Publicando web: Web + relationships: + activity: Actividade da conta + dormant: En repouso + moved: Movida + mutual: Mutuo + primary: Principal + relationship: Relación + remove_selected_domains: Eliminar todas as seguidoras dos dominios escollidos + remove_selected_followers: Eliminar as seguidoras escollidas + remove_selected_follows: Deixar de seguir as usuarias escollidas + status: Estado da conta remote_follow: acct: Introduza o seu usuaria@servidor desde onde quere interactuar missing_resource: Non se puido atopar o URL de redirecionamento requerido para a súa conta @@ -795,10 +850,12 @@ gl: edit_profile: Editar perfil export: Exportar datos featured_tags: Etiquetas destacadas + identity_proofs: Probas de identidade import: Importar migrate: Migrar conta notifications: Notificacións preferences: Preferencias + relationships: Seguindo e seguidoras settings: Axustes two_factor_authentication: Validar Doble Factor your_apps: As súas aplicacións diff --git a/config/locales/it.yml b/config/locales/it.yml index 384ba918b..9eac0d3ee 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -4,25 +4,36 @@ 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: Politica della privacy + privacy_policy: Policy sulla Privacy + see_whats_happening: Scopri cosa sta succedendo + server_stats: 'Statistiche del server:' 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 @@ -37,7 +48,7 @@ it: other: Seguaci following: Segui joined: Dal %{date} - last_active: ultima attività + last_active: ultima volta on-line link_verified_on: La proprietà di questo link è stata controllata il %{date} media: Media moved_html: "%{name} è stato spostato su %{new_profile_link}:" @@ -60,7 +71,7 @@ it: unfollow: Non seguire più admin: account_actions: - action: Esegui azione + action: Esegui title: Esegui azione di moderazione su %{acct} account_moderation_notes: create: Lascia nota @@ -68,6 +79,7 @@ it: delete: Elimina destroyed_msg: Nota di moderazione distrutta con successo! accounts: + approve: Approva are_you_sure: Sei sicuro? avatar: Avatar by_domain: Dominio @@ -81,7 +93,7 @@ it: confirm: Conferma confirmed: Confermato confirming: Confermando - deleted: Cancellato + deleted: Eliminati demote: Declassa disable: Disabilita disable_two_factor_authentication: Disabilita 2FA @@ -101,7 +113,7 @@ it: inbox_url: URL inbox invited_by: Invitato da ip: IP - joined: Unito + joined: Iscritti location: all: Tutto local: Locale @@ -113,6 +125,7 @@ it: moderation: active: Attivo all: Tutto + pending: In attesa silenced: Silenziati suspended: Sospesi title: Moderazione @@ -122,6 +135,7 @@ 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 @@ -129,6 +143,7 @@ it: public: Pubblico push_subscription_expires: Sottoscrizione PuSH scaduta redownload: Aggiorna avatar + reject: Rifiuta remove_avatar: Rimuovi avatar remove_header: Rimuovi intestazione resend_confirmation: @@ -196,7 +211,7 @@ it: update_custom_emoji: "%{name} ha aggiornato l'emoji %{target}" update_status: "%{name} stato aggiornato da %{target}" deleted_status: "(stato cancellato)" - title: Audit log + title: Registro di controllo custom_emojis: by_domain: Dominio copied_msg: Creata con successo una copia locale dell'emoji @@ -223,7 +238,7 @@ it: updated_msg: Emoji aggiornata con successo! upload: Carica dashboard: - backlog: backlogged jobs + backlog: lavori arretrati config: Configurazione feature_deletions: Cancellazioni di account feature_invites: Link di invito @@ -262,6 +277,8 @@ 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 @@ -290,16 +307,19 @@ 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 @@ -365,6 +385,7 @@ 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 @@ -394,10 +415,17 @@ 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>. @@ -436,6 +464,8 @@ it: callback_url: URL Callback confirmed: Confermato expires_in: Scade in + last_delivery: Ultima consegna + title: WebSub topic: Argomento tags: accounts: Account @@ -452,6 +482,14 @@ 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}," @@ -466,24 +504,33 @@ 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 @@ -516,6 +563,7 @@ 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. @@ -533,6 +581,7 @@ 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 @@ -566,6 +615,7 @@ 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 @@ -574,13 +624,30 @@ 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 @@ -686,6 +753,7 @@ 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 @@ -697,12 +765,24 @@ 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 @@ -725,14 +805,23 @@ 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. @@ -750,6 +839,8 @@ 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 @@ -759,10 +850,12 @@ 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 @@ -776,6 +869,7 @@ 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}' @@ -794,6 +888,7 @@ 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 @@ -814,6 +909,7 @@ 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. @@ -835,7 +931,24 @@ 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 @@ -855,6 +968,7 @@ 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/ja.yml b/config/locales/ja.yml index df61eafa8..6eab21a49 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -437,7 +437,7 @@ ja: desc_html: サイドバーと meta タグに表示されます。Mastodon とは何か、そしてこのサーバーの特別な何かを1段落で記述してください。空欄の場合、サーバーの説明が使用されます。 title: 短いサーバーの説明 site_terms: - desc_html: あなたは独自のプライバシーポリシーや利用規約、そのほかの法的根拠を書くことができます。HTMLタグが使えます + desc_html: 独自のプライバシーポリシーや利用規約、その他の法的根拠を記述できます。HTMLタグが使えます title: カスタム利用規約 site_title: サーバーの名前 thumbnail: @@ -736,9 +736,13 @@ ja: truncate: "…" polls: errors: - duplicate_options: 項目が重複しています - duration_too_short: 期限が短すぎます + duplicate_options: に同じものがあります + duration_too_long: が長過ぎます + duration_too_short: が短過ぎます expired: 既に終了している投票です + over_character_limit: は%{max}文字より長くすることはできません + too_few_options: は複数必要です + too_many_options: は%{max}個までです preferences: languages: 言語 other: その他 diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 7793a2108..32a16f1b4 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -4,25 +4,36 @@ ko: about_hashtag_html: "#%{hashtag} 라는 해시태그가 붙은 공개 툿 입니다. 같은 연합에 속한 임의의 인스턴스에 계정을 생성하면 당신도 대화에 참여할 수 있습니다." about_mastodon_html: 마스토돈은 오픈 소스 기반의 소셜 네트워크 서비스 입니다. 상용 플랫폼의 대체로서 분산형 구조를 채택해, 여러분의 대화가 한 회사에 독점되는 것을 방지합니다. 신뢰할 수 있는 인스턴스를 선택하세요 — 어떤 인스턴스를 고르더라도, 누구와도 대화할 수 있습니다. 누구나 자신만의 마스토돈 인스턴스를 만들 수 있으며, 아주 매끄럽게 소셜 네트워크에 참가할 수 있습니다. about_this: 이 인스턴스에 대해서 + active_count_after: 활성 사용자 + active_footnote: 월간 활성 사용자 administered_by: '관리자:' api: API apps: 모바일 앱 + apps_platforms: 마스토돈을 iOS, 안드로이드, 다른 플랫폼들에서도 사용하세요 + browse_directory: 프로필 디렉터리를 둘러보고 관심사 찾기 + browse_public_posts: 마스토돈의 공개 라이브 스트림을 둘러보기 contact: 연락처 contact_missing: 미설정 contact_unavailable: N/A + discover_users: 유저 발견하기 documentation: 문서 extended_description_html: |

룰을 작성하는 장소

아직 설명이 작성되지 않았습니다.

+ federation_hint_html: "%{instance}에 계정을 만드는 것으로 모든 마스토돈 서버, 그리고 호환 되는 모든 서버의 사용자를 팔로우 할 수 있습니다." generic_description: "%{domain} 은 네트워크에 있는 한 서버입니다" + get_apps: 모바일 앱 사용해 보기 hosted_on: "%{domain}에서 호스팅 되는 마스토돈" learn_more: 자세히 privacy_policy: 개인정보 정책 + see_whats_happening: 무슨 일이 일어나는 지 보기 + server_stats: '서버 통계:' source_code: 소스 코드 status_count_after: one: 툿 other: 툿 status_count_before: 툿 수 + tagline: 친구들을 팔로우 하고 새로운 사람들도 만나기 terms: 이용약관 user_count_after: one: 명 @@ -68,6 +79,7 @@ ko: delete: 삭제 destroyed_msg: 모더레이션 기록이 성공적으로 삭제되었습니다! accounts: + approve: 승인 are_you_sure: 정말로 실행하시겠습니까? avatar: 아바타 by_domain: 도메인 @@ -113,6 +125,7 @@ ko: moderation: active: 활동 all: 전체 + pending: 대기중 silenced: 침묵 중 suspended: 정지 중 title: 모더레이션 @@ -122,6 +135,7 @@ ko: no_limits_imposed: 제한 없음 not_subscribed: 구독하지 않음 outbox_url: 발신함 URL + pending: 심사 대기 perform_full_suspension: 정지시키기 profile_url: 프로필 URL promote: 승급 @@ -129,6 +143,7 @@ ko: public: 전체 공개 push_subscription_expires: PuSH 구독 기간 만료 redownload: 프로필 업데이트 + reject: 거부 remove_avatar: 아바타 지우기 remove_header: 헤더 삭제 resend_confirmation: @@ -136,7 +151,7 @@ ko: send: 다시 확인 이메일 success: 확인 이메일이 전송되었습니다! reset: 초기화 - reset_password: 비밀번호 초기화 + reset_password: 암호 초기화 resubscribe: 다시 구독 role: 권한 roles: @@ -402,6 +417,12 @@ ko: min_invite_role: disabled: 아무도 못 하게 title: 초대링크를 만들 수 있는 권한 + registrations_mode: + modes: + approved: 가입하려면 승인이 필요함 + none: 아무도 가입 할 수 없음 + open: 누구나 가입 할 수 있음 + title: 가입 모드 show_known_fediverse_at_about_page: desc_html: 활성화 되면 프리뷰 페이지에서 페디버스의 모든 툿을 표시합니다. 비활성화시 로컬에 있는 툿만 표시 됩니다. title: 타임라인 프리뷰에 알려진 페디버스 표시하기 @@ -409,13 +430,13 @@ ko: desc_html: 유저 페이지에 스태프 배지를 표시합니다 title: 스태프 배지 표시 site_description: - desc_html: 프론트 페이지의 소개문에 사용 됩니다.이 마스토돈 서버의 특별한 점 등을 설명하세요. HTML 태그, 주로 <a>, <em> 같은 것을 사용 가능합니다. + desc_html: API의 소개문에 사용 됩니다.이 마스토돈 서버의 특별한 점 등을 설명하세요. HTML 태그, 주로 <a>, <em> 같은 것을 사용 가능합니다. title: 서버 설명 site_description_extended: desc_html: 규칙, 가이드라인 등을 작성하기 좋은 곳입니다. HTML 태그를 사용할 수 있습니다 title: 사이트 상세 설명 site_short_description: - desc_html: 사이드바와 메타 태그에 나타납니다. 마스토돈이 무엇이고 이 서버의 특징은 무엇인지 한 문장으로 설명하세요. 비워두면 서버 설명이 대신 사용됩니다. + desc_html: 사이드바와 메타 태그에 나타납니다. 마스토돈이 무엇이고 이 서버의 특징은 무엇인지 한 문장으로 설명하세요. title: 짧은 서버 설명 site_terms: desc_html: 당신은 독자적인 개인정보 취급 방침이나 이용약관, 그 외의 법적 근거를 작성할 수 있습니다. HTML태그를 사용할 수 있습니다 @@ -464,6 +485,9 @@ ko: edit_preset: 경고 틀 수정 title: 경고 틀 관리 admin_mailer: + new_pending_account: + body: 아래에 새 계정에 대한 상세정보가 있습니다. 이 가입을 승인하거나 거부할 수 있습니다. + subject: "%{instance}의 새 계정(%{username})에 대한 심사가 대기중입니다" new_report: body: "%{reporter} 가 %{target} 를 신고했습니다" body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다" @@ -485,13 +509,15 @@ ko: your_token: 액세스 토큰 auth: agreement_html: 이 등록으로 이 서버의 이용규약약관에 동의하는 것으로 간주됩니다. + apply_for_account: 가입 요청하기 change_password: 패스워드 + checkbox_agreement_html: 서버 규칙이용약관에 동의합니다 confirm_email: 확인 메일 승인 delete_account: 계정 삭제 delete_account_html: 계정을 삭제하고 싶은 경우, 여기서 삭제할 수 있습니다. 삭제 전 확인 화면이 표시됩니다. didnt_get_confirmation: 확인 메일을 받지 못하셨습니까? forgot_password: 비밀번호를 잊어버리셨습니까? - invalid_reset_password_token: 비밀번호 리셋 토큰이 올바르지 못하거나 기간이 만료되었습니다. 다시 요청해주세요. + invalid_reset_password_token: 암호 리셋 토큰이 올바르지 못하거나 기간이 만료되었습니다. 다시 요청해주세요. login: 로그인 logout: 로그아웃 migrate_account: 계정 옮기기 @@ -501,10 +527,12 @@ ko: cas: CAS saml: SAML register: 등록하기 + registration_closed: "%{instance}는 새로운 가입을 받지 않고 있습니다" resend_confirmation: 확인 메일을 다시 보내기 - reset_password: 비밀번호 재설정 + reset_password: 암호 재설정 security: 보안 - set_new_password: 새 비밀번호 + set_new_password: 새 암호 + trouble_logging_in: 로그인 하는데 문제가 있나요? authorize_follow: already_following: 이미 이 계정을 팔로우 하고 있습니다 error: 리모트 계정을 확인하는 도중 오류가 발생했습니다 @@ -560,6 +588,9 @@ ko: content: 죄송합니다, 뭔가 잘못 되었습니다. title: 이 페이지는 잘못되었습니다 noscript_html: 마스토돈을 사용하기 위해서는 자바스크립트를 켜 주십시오. 아니면 네이티브 앱 중 하나를 사용할 수 있습니다. + existing_username_validator: + not_found: 해당 유저네임에 대한 로컬 유저를 찾을 수 없습니다 + not_found_multiple: "%{usernames}를 찾을 수 없습니다" exports: archive_takeout: date: 날짜 @@ -600,12 +631,30 @@ ko: more: 더 보기… resources: 리소스 generic: + all: 모두 changes_saved_msg: 정상적으로 변경되었습니다! copy: 복사 save_changes: 변경 사항을 저장 validation_errors: one: 오류가 발생했습니다. 아래 오류를 확인해 주십시오 other: 오류가 발생했습니다. 아래 %{count}개 오류를 확인해 주십시오 + html_validator: + invalid_markup: 올바르지 않은 HTML 마크업을 포함하고 있습니다 + identity_proofs: + active: 활성 + authorize: 네, 인증합니다 + authorize_connection_prompt: 이 암호화 연결을 인증합니까? + errors: + failed: 암호화 연결에 실패했습니다. %{provider}에서 다시 시도해 주세요. + keybase: + invalid_token: 키베이스 토큰은 서명의 해시이며 66자의 16진수 문자여야 합니다 + verification_failed: 키베이스가 이 토큰을 키베이스 유저 %{kb_username}의 서명으로 인식하지 못했습니다. 키베이스에서 다시 시도하세요. + explanation_html: 키베이스와 같은 다른 명의에 대한 암호화 연결을 할 수 있습니다. 이것으로 다른 사람들이 당신에게 암호화 된 메시지를 보낼 수 있고 당신의 메시지를 믿을 수 있습니다. + i_am_html: 나는 %{service}의 %{username} 입니다. + identity: 신원 + inactive: 비활성 + status: 인증 상태 + view_proof: 증명 보기 imports: modes: merge: 병합 @@ -723,6 +772,17 @@ ko: other: 기타 publishing: 퍼블리싱 web: 웹 + relationships: + activity: 계정 활동 + dormant: 휴면 + moved: 이동함 + mutual: 상호 팔로우 + primary: 주 계정 + relationship: 관계 + remove_selected_domains: 선택한 도메인의 모든 팔로워 삭제 + remove_selected_followers: 선택한 팔로워 삭제 + remove_selected_follows: 선택한 유저들을 팔로우 해제 + status: 계정 상태 remote_follow: acct: 당신이 사용하는 아이디@도메인을 입력해 주십시오 missing_resource: 리디렉션 대상을 찾을 수 없습니다 @@ -797,10 +857,12 @@ ko: edit_profile: 프로필 편집 export: 데이터 내보내기 featured_tags: 추천 해시태그 + identity_proofs: 신원 증명 import: 데이터 가져오기 migrate: 계정 이동 notifications: 알림 preferences: 사용자 설정 + relationships: 팔로잉과 팔로워 settings: 설정 two_factor_authentication: 2단계 인증 your_apps: 애플리케이션 diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 36a030fa4..962116e59 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -4,25 +4,36 @@ 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 @@ -68,6 +79,7 @@ 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 @@ -113,6 +125,7 @@ nl: moderation: active: Actief all: Alles + pending: In afwachting silenced: Genegeerd suspended: Opgeschort title: Moderatie @@ -122,6 +135,7 @@ 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 @@ -129,6 +143,7 @@ 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: @@ -400,6 +415,12 @@ 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 @@ -462,6 +483,9 @@ 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 @@ -483,7 +507,9 @@ 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. @@ -499,10 +525,12 @@ 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 @@ -598,12 +626,28 @@ 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 @@ -721,6 +765,17 @@ 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 @@ -795,10 +850,12 @@ 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/oc.yml b/config/locales/oc.yml index 8c115a436..85df11cf6 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -4,20 +4,29 @@ oc: about_hashtag_html: Vaquí los estatuts publics ligats a #%{hashtag}. Podètz interagir amb eles s’avètz un compte ont que siasque sul fediverse. about_mastodon_html: Mastodon es un malhum social bastit amb de protocòls liures e gratuits. Es descentralizat coma los corrièls. about_this: A prepaus d’aquesta instància + active_count_after: actius + active_footnote: Utilizaire actius per mes (UAM) administered_by: 'Administrat per :' api: API apps: Aplicacions per mobil + apps_platforms: Utilizatz Mastodon d‘iOS, Android o d’autras plataforma estant + browse_directory: Navigatz per l’annuari de perfil e filtratz segon çò qu’aimatz + browse_public_posts: Navigatz pel flux public a Mastodon contact: Contacte contact_missing: Pas parametrat contact_unavailable: Pas disponible + discover_users: Descobrissètz de nòvas personas documentation: Documentacion extended_description_html: |

Una bona plaça per las règlas

La descripcion longa es pas estada causida pel moment.

generic_description: "%{domain} es un dels servidors del malhum" + get_apps: Ensajatz una aplicacion mobil hosted_on: Mastodon albergat sus %{domain} learn_more: Ne saber mai privacy_policy: Politica de confidencialitat + see_whats_happening: Agachatz çò qu’arriba + server_stats: 'Estatisticas del servidor :' source_code: Còdi font status_count_after: one: estatut @@ -68,6 +77,7 @@ oc: delete: Suprimir destroyed_msg: Nòta de moderacion ben suprimida ! accounts: + approve: Aprovar are_you_sure: Sètz segur ? avatar: Avatar by_domain: Domeni @@ -113,6 +123,7 @@ oc: moderation: active: Actius all: Totes + pending: En espèra silenced: Resconduts suspended: Suspenduts title: Moderacion @@ -122,6 +133,7 @@ oc: no_limits_imposed: Cap de limit impausat not_subscribed: Pas seguidor outbox_url: URL Outbox + pending: Revision en espèra perform_full_suspension: Suspendre profile_url: URL del perfil promote: Promòure @@ -400,6 +412,10 @@ oc: min_invite_role: disabled: Degun title: Autorizat amb invitacions + registrations_mode: + modes: + none: Degun pòt pas se marcar + title: Mòdes d’inscripcion show_known_fediverse_at_about_page: desc_html: Un còp activat mostrarà los tuts de totes los fediverse dins l’apercebut. Autrament mostrarà pas que los tuts locals. title: Mostrar los fediverse coneguts dins l’apercebut del flux @@ -483,7 +499,9 @@ oc: your_token: Vòstre geton d’accès auth: agreement_html: En vos marcar acceptatz las règlas del servidor e politica de confidencialitat. + apply_for_account: Demandar una invitacion change_password: Senhal + checkbox_agreement_html: Accepti las règlas del servidor e los tèrmes del servici confirm_email: Confirmar lo corrièl delete_account: Suprimir lo compte delete_account_html: Se volètz suprimir vòstre compte, podètz o far aquí. Vos demandarem que confirmetz. @@ -499,10 +517,12 @@ oc: cas: CAS saml: SAML register: Se marcar + registration_closed: "%{instance} accepta pas de nòus membres" resend_confirmation: Tornar mandar las instruccions de confirmacion reset_password: Reïnicializar lo senhal security: Seguretat set_new_password: Picar un nòu senhal + trouble_logging_in: Problèmas de connexion ? authorize_follow: already_following: Seguètz ja aqueste compte error: O planhèm, i a agut una error al moment de cercar lo compte @@ -654,12 +674,19 @@ oc: more: Mai… resources: Ressorsas generic: + all: Tot changes_saved_msg: Cambiaments ben realizats ! copy: Copiar save_changes: Salvar los cambiaments validation_errors: one: I a quicòm que truca ! Mercés de corregir l’error çai-jos other: I a quicòm que truca ! Mercés de corregir las %{count} errors çai-jos + identity_proofs: + authorize: Òc, autorizar + authorize_connection_prompt: Autorizar aquesta connexion criptografica ? + i_am_html: Soi %{username} a %{service}. + identity: Identitat + status: Estatut de verificacion imports: modes: merge: Fondre @@ -769,7 +796,7 @@ oc: duration_too_long: es tròp alonhat dins lo futur duration_too_short: es tròp d’ora expired: Lo sondatge es ja acabat - over_character_limit: pòt pas èsser superior a %{max} caractèrs cadun + over_character_limit: pòt pas èsser superior a %{max} caractèrs cadun too_few_options: deu contenir mai d’una opcion too_many_options: pòt pas contenir mai de %{max} opcions preferences: @@ -777,6 +804,14 @@ oc: other: Autre publishing: Publicar web: Interfàcia Web + relationships: + activity: Activitat del compte + dormant: Inactiu + moved: Mudat + mutual: Mutuala + primary: Pirmària + relationship: Relacion + status: Estat del compte remote_follow: acct: Picatz vòstre utilizaire@domeni que que volètz utilizar per sègre aqueste utilizaire missing_resource: URL de redireccion pas trobada @@ -855,6 +890,7 @@ oc: migrate: Migracion de compte notifications: Notificacions preferences: Preferéncias + relationships: Abonaments e seguidors settings: Paramètres two_factor_authentication: Autentificacion en dos temps your_apps: Vòstras aplicacions diff --git a/config/locales/pl.yml b/config/locales/pl.yml index b7b6e2fad..9a8a1d778 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -4,20 +4,30 @@ 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 @@ -25,6 +35,7 @@ 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 @@ -63,7 +74,7 @@ pl: reserved_username: Ta nazwa użytkownika jest zarezerwowana roles: admin: Administrator - bot: Bot + bot: Botka moderator: Moderator unfollow: Przestań śledzić admin: @@ -76,6 +87,7 @@ 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 @@ -121,6 +133,7 @@ pl: moderation: active: Aktywne all: Wszystkie + pending: W trakcie oczekiwania silenced: Wyciszone suspended: Zawieszone title: Moderacja @@ -130,6 +143,7 @@ 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 @@ -137,6 +151,7 @@ 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: @@ -149,7 +164,7 @@ pl: role: Uprawnienia roles: admin: Administrator - moderator: Moderator + moderator: Prowadzący staff: Ekipa user: Użytkownik salmon_url: Adres Salmon @@ -223,7 +238,7 @@ pl: new: title: Dodaj nowe niestandardowe emoji overwrite: Zastąp - shortcode: Shortcode + shortcode: Kod skrótu shortcode_hint: Co najmniej 2 znaki, tylko znaki alfanumeryczne i podkreślniki title: Niestandardowe emoji unlisted: Niewidoczne @@ -412,6 +427,12 @@ 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 @@ -462,7 +483,7 @@ pl: accounts: Konta hidden: Ukryte hide: Ukryj w katalogu - name: Hashtag + name: Hasztag title: Hashtagi unhide: Pokazuj w katalogu visible: Widoczne @@ -474,6 +495,9 @@ 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} @@ -495,7 +519,9 @@ 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. @@ -511,10 +537,12 @@ 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 @@ -550,7 +578,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} @@ -612,6 +640,7 @@ pl: more: Więcej… resources: Zasoby generic: + all: Wszystkie changes_saved_msg: Ustawienia zapisane! copy: Kopiuj save_changes: Zapisz zmiany @@ -620,6 +649,21 @@ 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 @@ -743,6 +787,17 @@ 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 @@ -817,10 +872,12 @@ 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 be1ea6155..97cc73e9f 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -4,25 +4,36 @@ 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 @@ -68,6 +79,7 @@ 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 @@ -113,6 +125,7 @@ pt-BR: moderation: active: Ativo all: Todos + pending: Pendente silenced: Silenciados suspended: Suspensos title: Moderação @@ -122,6 +135,7 @@ 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 @@ -129,6 +143,7 @@ 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: @@ -291,6 +306,7 @@ 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" @@ -399,6 +415,12 @@ 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 @@ -461,6 +483,9 @@ 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} @@ -482,7 +507,9 @@ 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. @@ -498,10 +525,12 @@ 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 @@ -537,8 +566,11 @@ 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" @@ -569,6 +601,10 @@ 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 @@ -590,17 +626,39 @@ 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 @@ -692,11 +750,32 @@ 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 @@ -770,10 +849,13 @@ 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 @@ -799,6 +881,11 @@ 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}"' @@ -897,8 +984,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: Alto contraste - default: Mastodon + contrast: Mastodon (Alto contraste) + default: Mastodon (Escuro) mastodon-light: Mastodon (claro) time: formats: diff --git a/config/locales/pt.yml b/config/locales/pt.yml index d943d6511..886d5d895 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -4,25 +4,36 @@ 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 @@ -68,6 +79,7 @@ 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 @@ -113,6 +125,7 @@ pt: moderation: active: Activo all: Todos + pending: Pendente silenced: Silenciados suspended: Supensos title: Moderação @@ -122,6 +135,7 @@ 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 @@ -129,6 +143,7 @@ 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: @@ -400,6 +415,12 @@ 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 @@ -462,6 +483,9 @@ 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} @@ -483,7 +507,9 @@ 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. @@ -499,10 +525,12 @@ 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 @@ -600,12 +628,28 @@ 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 @@ -723,6 +767,17 @@ 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 @@ -797,10 +852,12 @@ 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 ffc9471cd..f852b7d79 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -4,19 +4,30 @@ 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: статуса @@ -24,6 +35,7 @@ ru: one: статус other: статусов status_count_before: Опубликовано + tagline: Следите за друзьями и открывайте для себя новых terms: Условия использования user_count_after: few: пользователя @@ -42,6 +54,8 @@ ru: other: подписчиков following: подписки joined: 'Дата регистрации: %{date}' + last_active: последний активный + link_verified_on: Владение этой ссылкой было проверено в %{date} media: Медиа moved_html: "%{name} переехал(а) на %{new_profile_link}:" network_hidden: Эта информация недоступна @@ -64,25 +78,30 @@ 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: Текущий e-mail - label: Сменить e-mail - new_email: Новый e-mail - submit: Сменить e-mail - title: Сменить e-mail для %{username} + current_email: Текущая электронная почта + label: Изменить адрес электронной почты + new_email: Новое сообщение электронной почты + submit: Изменить адрес электронной почты + title: Изменить адрес электронной почты для %{username} confirm: Подтвердить confirmed: Подтверждено confirming: Подтверждение + deleted: Удаленный demote: Разжаловать disable: Отключить disable_two_factor_authentication: Отключить 2FA @@ -90,16 +109,19 @@ ru: display_name: Отображаемое имя domain: Домен edit: Изменить - email: E-mail - email_status: Статус e-mail + email: электронная почта + email_status: Состояние электронной почты enable: Включить enabled: Включен feed_url: URL фида followers: Подписчики followers_url: URL подписчиков follows: Подписки + header: Заголовок inbox_url: URL входящих + invited_by: По приглашению ip: IP + joined: Присоединился location: all: Все local: Локальные @@ -109,23 +131,29 @@ 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 исходящих - perform_full_suspension: Полная блокировка + pending: Ожидаемый обзор + perform_full_suspension: приостанавливать profile_url: URL профиля promote: Повысить protocol: Протокол public: Публичный push_subscription_expires: Подписка PuSH истекает - redownload: Обновить аватар + redownload: Обновить профиль + reject: Отклонить remove_avatar: Удалить аватар + remove_header: Удалить заголовок resend_confirmation: already_confirmed: Этот пользователь уже подтвержден send: Повторно отправить подтверждение по электронной почте @@ -139,31 +167,36 @@ ru: moderator: Модератор staff: Персонал user: Пользователь - salmon_url: Salmon URL + salmon_url: 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: Неподтверждённый e-mail + unconfirmed_email: Неподтверждённая электронная почта 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}" @@ -217,6 +250,7 @@ ru: config: Конфигурация feature_deletions: Удаление аккаунтов feature_invites: Пригласительные ссылки + feature_profile_directory: Каталог профиля feature_registrations: Регистрация feature_relay: Ретрансляторы features: Возможности @@ -234,7 +268,7 @@ ru: week_users_active: активно на этой неделе week_users_new: пользователей на этой неделе domain_blocks: - add_new: Добавить новую + add_new: Добавить новый доменный блок created_msg: Блокировка домена обрабатывается destroyed_msg: Блокировка домена снята domain: Домен @@ -249,6 +283,13 @@ ru: title: Новая доменная блокировка reject_media: Запретить медиаконтент reject_media_hint: Удаляет локально хранимый медиаконтент и запрещает его загрузку в будущем. Не имеет значения в случае блокировки + reject_reports: Отказывать в отчетах + reject_reports_hint: Игнорировать все отчеты, поступающие из этого домена. Не имеет отношения к отстранению от должности + rejecting_media: отбраковка медиафайлов + rejecting_reports: отрицательные отчёты + severity: + silence: глухой + suspend: приостановленный show: affected_accounts: few: Влияет на %{count} аккаунта в базе данных @@ -260,7 +301,7 @@ ru: suspend: Снять блокировку со всех существующих аккаунтов этого домена title: Снять блокировку с домена %{domain} undo: Отменить - undo: Отменить + undo: Отменить блокировку домена email_domain_blocks: add_new: Добавить новую created_msg: Доменная блокировка еmail успешно создана @@ -271,8 +312,27 @@ ru: create: Создать блокировку title: Новая доменная блокировка еmail title: Доменная блокировка email + followers: + back_to_account: Назад в учет + title: "%{acct}'s Подписчики" instances: - title: Известные узлы + 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: Медиа-вложения invites: deactivate_all: Отключить все filter: @@ -283,8 +343,13 @@ ru: title: Приглашения relays: add_new: Добавить ретранслятор + delete: Удалить description_html: "Федеративный ретранслятор – это промежуточный сервер, который передаёт большие объёмы публичных статусов между серверами, которые подписываются и публикуют туда. Это может помочь небольшим и средним серверам находить записи со всей федерации, ведь в противном случае пользователям нужно будет вручную подписываться на людей с удалённых узлов." + disable: Отключить + disabled: Инвалид + enable: Включить enable_hint: Если включено, ваш сервер будет подписан на все публичные статусы с этого ретранслятора и начнёт туда отправлять публичные статусы со своего узла. + enabled: Включено inbox_url: URL ретранслятора pending: Ожидание подтверждения ретранслятора save_and_enable: Сохранить и включить @@ -298,7 +363,7 @@ ru: account: note: заметка report: жалоба - action_taken_by: 'Действие предпринято:' + action_taken_by: Меры, принятые are_you_sure: Вы уверены? assign_to_self: Назначить себе assigned: Назначенный модератор @@ -338,14 +403,20 @@ ru: desc_html: Измените внешний вид с CSS, загружаемым на каждой странице title: Особый CSS hero: - desc_html: Отображается на главной странице. Рекомендуется разрешение не менее 600х100px. Если не установлено, используется изображение узла + desc_html: Отображается на первой странице. Рекомендуется как минимум 600x100px. Если флажок не установлен, возвращается к миниатюре сервера 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-теги @@ -356,6 +427,12 @@ ru: min_invite_role: disabled: Никого title: Разрешать приглашения от + registrations_mode: + modes: + approved: Разрешение, необходимое для регистрации + none: Никто не может зарегистрироваться + open: Любой желающий может зарегистрироваться + title: Режим регистрации show_known_fediverse_at_about_page: desc_html: Если включено, показывает посты со всех известных узлов в предпросмотре ленты. В противном случае отображаются только локальные посты. title: Показывать известные узлы в предпросмотре ленты @@ -363,21 +440,21 @@ ru: desc_html: Показывать метку персонала на странице пользователя title: Показывать метку персонала site_description: - desc_html: Отображается в качестве параграфа на титульной странице и используется в качестве мета-тега.
Можно использовать HTML-теги, в особенности <a> и <em>. - title: Описание сайта + desc_html: Вступительный абзац на первой странице. Опишите, что делает этот сервер Mastodon особенным и что еще важно. Вы можете использовать HTML-теги, в частности <a< и gt;a<. + 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: Предпросмотр ленты @@ -396,14 +473,31 @@ ru: title: Статусы аккаунта with_media: С медиаконтентом subscriptions: - callback_url: Callback URL + callback_url: Обратный вызов URL confirmed: Подтверждено expires_in: Истекает через last_delivery: Последняя доставка - title: WebSub + title: Веб-суб 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} @@ -424,8 +518,10 @@ ru: warning: Будьте очень внимательны с этими данными. Не делитесь ими ни с кем! your_token: Ваш токен доступа auth: - agreement_html: Создавая аккаунт, вы соглашаетесь с правилами узла и нашими условиями обслуживания. + agreement_html: Нажимая кнопку "Зарегистрироваться" ниже, Вы соглашаетесь следовать правилам сервера и нашим условиям предоставления услуг. + apply_for_account: Запросить приглашение change_password: Пароль + checkbox_agreement_html: Я согласен с мишенью server rules2 и терминала обслуживания confirm_email: Подтвердите email delete_account: Удалить аккаунт delete_account_html: Если Вы хотите удалить свой аккаунт, вы можете перейти сюда. У Вас будет запрошено подтверждение. @@ -441,10 +537,12 @@ 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: К сожалению, при поиске удаленного аккаунта возникла ошибка @@ -476,12 +574,24 @@ 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: Проверка безопасности не удалась @@ -494,15 +604,21 @@ ru: archive_takeout: date: Дата download: Скачать ваш архив - hint_html: Вы можете запросить архив своих статусов и загруженных медиа-файлов. Экспортированные данные будут в формате ActivityPub, который можно прочесть любой соответствующей программой. Запрашивать архив можно каждые 7 дней. + hint_html: Вы можете запросить архив ваших toots и загруженных мультимедийных файлов. Экспортируемые данные будут в формате ActivityPub, доступном для чтения любым совместимым программным обеспечением. Вы можете запрашивать архив каждые 7 дней. in_progress: Собирается ваш архив... request: Запросить ваш архив size: Размер blocks: Список блокировки csv: CSV + domain_blocks: Блоки домена follows: Подписки + lists: Списки mutes: Список глушения storage: Ваш медиаконтент + featured_tags: + add_new: Добавить новый + errors: + limit: У вас уже есть максимальное количество хэштэгов filters: contexts: home: Домашняя лента @@ -524,7 +640,9 @@ ru: more: Ещё… resources: Ссылки generic: + all: Все changes_saved_msg: Изменения успешно сохранены! + copy: Копировать save_changes: Сохранить изменения validation_errors: few: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже @@ -532,10 +650,16 @@ ru: one: Что-то здесь не так! Пожалуйста, прочитайте об ошибке ниже other: Что-то здесь не так! Пожалуйста, прочитайте о %{count} ошибках ниже imports: - preface: Вы можете загрузить некоторые данные, например, списки людей, на которых Вы подписаны или которых блокируете, в Ваш аккаунт на этом узле из файлов, экспортированных с другого узла. + modes: + merge: Слияние + merge_long: Хранение существующих и добавление новых записей + overwrite: Перезаписать + overwrite_long: Замените текущие записи на новые + preface: Можно импортировать данные, экспортированные с другого сервера, например, список людей, которых вы отслеживаете или блокируете. success: Ваши данные были успешно загружены и будут обработаны с должной скоростью types: blocking: Список блокировки + domain_blocking: Блокирующий список доменов following: Подписки muting: Список глушения upload: Загрузить @@ -552,13 +676,14 @@ 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: Исп. @@ -632,21 +757,57 @@ 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: Браузер @@ -655,7 +816,7 @@ ru: blackberry: Blackberry chrome: Chrome edge: Microsoft Edge - electron: Electron + electron: Электрон firefox: Firefox generic: Неизвестный браузер ie: Internet Explorer @@ -695,10 +856,12 @@ ru: development: Разработка edit_profile: Изменить профиль export: Экспорт данных + featured_tags: Особенные хэштэги import: Импорт migrate: Перенос аккаунта notifications: Уведомления preferences: Настройки + relationships: Следы и последователи settings: Опции two_factor_authentication: Двухфакторная аутентификация your_apps: Ваши приложения @@ -730,6 +893,13 @@ 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}"' @@ -746,90 +916,93 @@ ru: sensitive_content: Чувствительный контент terms: body_html: | -

Privacy Policy

-

What information do we collect?

+

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

+

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

    -
  • 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.
  • +
  • Базовая информация учетной записи: Если вы зарегистрируетесь на этом сервере, вам может быть предложено ввести имя пользователя, адрес электронной почты и пароль. Можно также ввести дополнительную информацию о профиле, например, отображаемое имя и биографию, а также загрузить фотографию профиля и изображение заголовка. Имя пользователя, отображаемое имя, биография, фотография профиля и изображение заголовка всегда указаны публично.
  • +
  • Посты, следующая и другая публичная информация: Список людей, за которыми вы следите, находится в открытом доступе, то же самое справедливо и для ваших последователей. При отправке сообщения сохраняются дата и время, а также заявление, из которого было отправлено сообщение. Сообщения могут содержать мультимедийные вложения, такие как фотографии и видео. Публичный доступ к публичным должностям и должностям, не включенным в списки. Когда вы размещаете сообщение в своем профиле, оно также является общедоступной информацией. Ваши сообщения доставляются вашим последователям, в некоторых случаях это означает, что они доставляются на различные серверы, а копии хранятся там. Когда вы удаляете сообщения, они также доставляются вашим подписчикам. Действия по перерегистрации или предпочтению другого сообщения всегда являются общедоступными.
  • +
  • Прямые и только для последователей сообщения: Все сообщения хранятся и обрабатываются на сервере. Последователи - только сообщения доставляются вашим последователям и пользователям, которые упомянуты в них, а прямые сообщения доставляются только тем пользователям, которые упомянуты в них. В некоторых случаях это означает, что они доставляются на различные серверы, а копии хранятся на них. Мы прилагаем добросовестные усилия, чтобы ограничить доступ к этим должностям только уполномоченными лицами, но другие серверы могут этого не сделать. Поэтому важно просматривать серверы, к которым принадлежат ваши последователи. Вы можете переключать опцию одобрения и отклонения новых последователей вручную в настройках. Пожалуйста, имейте в виду, что операторы сервера и любого принимающего сервера могут просматривать такие сообщения, и что получатели могут делать скриншоты, копировать или иным образом передавать их повторно. Не делитесь опасной информацией о Мастодоне.
  • +
  • IPs и другие метаданные: При входе в систему мы записываем IP-адрес, с которого вы входите, а также имя вашего браузера. Все зарегистрированные сеансы доступны для просмотра и отзыва в настройках. Последний использованный IP-адрес хранится до 12 месяцев. Мы также можем сохранять журналы регистрации сервера, которые включают IP-адрес каждого запроса к нашему серверу.
  • .

-

What do we use your information for?

+

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

-

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

+

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

.
    -
  • 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.
  • +
  • Для обеспечения основной функциональности Mastodon. Вы можете взаимодействовать с контентом других людей и размещать свои собственные материалы только после входа в систему. Например, вы можете следить за другими пользователями для просмотра их сводных сообщений в вашей персонализированной домашней хронологии.
  • +
  • Для содействия модерации сообщества, например, сравнения вашего IP-адреса с другими известными для определения случаев уклонения от запрета или других нарушений.
  • +
  • Адрес электронной почты, который вы предоставляете, может быть использован для отправки вам информации, уведомлений о других лицах, взаимодействующих с вашим контентом или отправляющих вам сообщения, а также для ответа на запросы и/или другие запросы или вопросы.

-

How do we protect your information?

+

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

-

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.

+

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


-

What is our data retention policy?

+

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

-

We will make a good faith effort to:

+

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

    -
  • 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.
  • +
  • Сохранять журналы сервера, содержащие IP-адрес всех запросов к этому серверу, до тех пор, пока такие журналы хранятся, не более 90 дней.
  • +
  • Сохраняйте IP-адреса зарегистрированных пользователей не более 12 месяцев.
-

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?

+

Вы используете 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.

+

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

. -

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

+

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


-

Do we disclose any information to outside parties?

+

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

-

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.

+

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

-

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

+

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

. + +

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

. -

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.

+

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

. + +

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


-

Changes to our Privacy Policy

+

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

. -

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

+

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

. -

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

+

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

-

Originally adapted from the Discourse privacy policy.

+

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

title: Условия обслуживания и политика конфиденциальности %{instance} themes: - contrast: Высококонтрастная - default: Mastodon + contrast: Мастодон (Высокий контраст) + default: Мастодон (Темный) mastodon-light: Mastodon (светлая) time: formats: default: "%b %d, %Y, %H:%M" + month: "%b %Y" two_factor_authentication: code_hint: Для подтверждения введите код, сгенерированный приложением аутентификатора description_html: При включении двухфакторной аутентификации, вход потребует от Вас использования Вашего телефона, который сгенерирует входные токены. @@ -843,7 +1016,7 @@ ru: manual_instructions: 'Если Вы не можете отсканировать QR-код и хотите ввести его вручную, секрет представлен здесь открытым текстом:' recovery_codes: Коды восстановления recovery_codes_regenerated: Коды восстановления успешно сгенерированы - recovery_instructions_html: В случае утери доступа к Вашему телефону Вы можете использовать один из кодов восстановления, указанных ниже, чтобы вернуть доступ к аккаунту. Держите коды восстановления в безопасности, например, распечатав их и храня с другими важными документами. + recovery_instructions_html: Если вы когда-либо потеряете доступ к телефону, вы можете использовать один из приведенных ниже кодов восстановления для восстановления доступа к своей учетной записи. Храните коды восстановления в безопасности. Например, вы можете распечатать их и сохранить вместе с другими важными документами. setup: Настроить wrong_code: Введенный код неверен! Правильно ли установлены серверное время и время устройства? user_mailer: @@ -851,6 +1024,22 @@ 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: Вы можете настроить свой профиль, загрузив аватар, обложку, сменив имя и много чего ещё. Если Вы хотите фильтровать подписчиков до того, как они смогут на Вас подписаться, Вы можете закрыть свой аккаунт. @@ -858,7 +1047,7 @@ ru: final_action: Начать постить final_step: 'Начните постить! Ваши публичные посты могут видеть другие, например, в локальной ленте или по хэштегам, даже если у Вас нет подписчиков. Вы также можете поздороваться с остальными и представиться, используя хэштек #приветствие.' full_handle: Ваше обращение - full_handle_hint: То, что Вы хотите сообщить своим друзьям, чтобы они могли написать Вам или подписаться с другого узла. + full_handle_hint: Это то, что вы можете сказать своим друзьям, чтобы они могли отправлять сообщения или следовать за вами с другого сервера. review_preferences_action: Изменить настройки review_preferences_step: Проверьте все настройки, например, какие письма Вы хотите получать или уровень приватности статусов по умолчанию. Если Вы не страдаете морской болезнь, можете включить автовоспроизведение GIF. subject: Добро пожаловать в Mastodon @@ -869,8 +1058,12 @@ 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.cs.yml b/config/locales/simple_form.cs.yml index 14a7db048..21134d07c 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -33,7 +33,7 @@ cs: setting_display_media_show_all: Vždy zobrazovat média označená jako citlivá setting_hide_network: Koho sledujete a kdo sleduje vás nebude zobrazeno na vašem profilu setting_noindex: Ovlivňuje váš veřejný profil a stránky tootů - setting_show_application: Aplikace, kterou používáte psaní tootů, bude zobrazena v detailním zobrazení vašich tootů + setting_show_application: Aplikace, kterou používáte k psaní tootů, bude zobrazena v detailním zobrazení vašich tootů setting_theme: Ovlivňuje jak Mastodon vypadá, jste-li přihlášen na libovolném zařízení. username: Vaše uživatelské jméno bude na %{domain} unikátní whole_word: Je-li klíčové slovo či fráze pouze alfanumerická, bude aplikována pouze, pokud se shoduje s celým slovem @@ -78,7 +78,7 @@ cs: expires_in: Vypršet za fields: Metadata profilu header: Záhlaví - inbox_url: URL schránky mostu + inbox_url: URL příchozí schránky mostu irreversible: Zahodit místo skrytí locale: Jazyk rozhraní locked: Uzamknout účet diff --git a/config/locales/simple_form.en_GB.yml b/config/locales/simple_form.en_GB.yml index d9e1a256f..6eac4bf3c 100644 --- a/config/locales/simple_form.en_GB.yml +++ b/config/locales/simple_form.en_GB.yml @@ -1,2 +1,133 @@ --- -{} +en_GB: + simple_form: + hints: + account_warning_preset: + text: You can use toot syntax, such as URLs, hashtags and mentions + admin_account_action: + send_email_notification: The user will receive an explanation of what happened with their account + text_html: Optional. You can use toot syntax. You can add warning presets to save time + type_html: Choose what to do with %{acct} + warning_preset_id: Optional. You can still add custom text to end of the preset + defaults: + autofollow: People who sign up through the invite will automatically follow you + avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px + bot: This account mainly performs automated actions and might not be monitored + context: One or multiple contexts where the filter should apply + digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence + discoverable_html: The directory lets people find accounts based on interests and activity. Requires at least %{min_followers} followers + email: You will be sent a confirmation e-mail + fields: You can have up to 4 items displayed as a table on your profile + header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px + inbox_url: Copy the URL from the frontpage of the relay you want to use + irreversible: Filtered toots will disappear irreversibly, even if filter is later removed + locale: The language of the user interface, e-mails and push notifications + locked: Requires you to manually approve followers + password: Use at least 8 characters + phrase: Will be matched regardless of casing in text or content warning of a toot + scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones. + setting_aggregate_reblogs: Do not show new boosts for toots that have been recently boosted (only affects newly-received boosts) + setting_default_language: The language of your toots can be detected automatically, but it's not always accurate + setting_display_media_default: Hide media marked as sensitive + setting_display_media_hide_all: Always hide all media + setting_display_media_show_all: Always show media marked as sensitive + setting_hide_network: Who you follow and who follows you will not be shown on your profile + setting_noindex: Affects your public profile and status pages + setting_show_application: The application you use to toot will be displayed in the detailed view of your toots + setting_theme: Affects how Mastodon looks when you're logged in from any device. + username: Your username will be unique on %{domain} + whole_word: When the keyword or phrase is alphanumeric only, it will only be applied if it matches the whole word + featured_tag: + name: 'You might want to use one of these:' + imports: + data: CSV file exported from another Mastodon server + sessions: + otp: 'Enter the two-factor code generated by your phone app or use one of your recovery codes:' + user: + chosen_languages: When checked, only toots in selected languages will be displayed in public timelines + labels: + account: + fields: + name: Label + value: Content + account_warning_preset: + text: Preset text + admin_account_action: + send_email_notification: Notify the user per e-mail + text: Custom warning + type: Action + types: + disable: Disable + none: Do nothing + silence: Silence + suspend: Suspend and irreversibly delete account data + warning_preset_id: Use a warning preset + defaults: + autofollow: Invite to follow your account + avatar: Avatar + bot: This is a bot account + chosen_languages: Filter languages + confirm_new_password: Confirm new password + confirm_password: Confirm password + context: Filter contexts + current_password: Current password + data: Data + discoverable: List this account on the directory + display_name: Display name + email: E-mail address + expires_in: Expire after + fields: Profile metadata + header: Header + inbox_url: URL of the relay inbox + irreversible: Drop instead of hide + locale: Interface language + locked: Lock account + max_uses: Max number of uses + new_password: New password + note: Bio + otp_attempt: Two-factor code + password: Password + phrase: Keyword or phrase + setting_aggregate_reblogs: Group boosts in timelines + setting_auto_play_gif: Auto-play animated GIFs + setting_boost_modal: Show confirmation dialog before boosting + setting_default_language: Posting language + setting_default_privacy: Post privacy + setting_default_sensitive: Always mark media as sensitive + setting_delete_modal: Show confirmation dialog before deleting a toot + setting_display_media: Media display + setting_display_media_default: Default + setting_display_media_hide_all: Hide all + setting_display_media_show_all: Show all + setting_expand_spoilers: Always expand toots marked with content warnings + setting_hide_network: Hide your network + setting_noindex: Opt-out of search engine indexing + setting_reduce_motion: Reduce motion in animations + setting_show_application: Disclose application used to send toots + setting_system_font_ui: Use system's default font + setting_theme: Site theme + setting_unfollow_modal: Show confirmation dialog before unfollowing someone + severity: Severity + type: Import type + username: Username + username_or_email: Username or Email + whole_word: Whole word + featured_tag: + name: Hashtag + interactions: + must_be_follower: Block notifications from non-followers + must_be_following: Block notifications from people you don't follow + must_be_following_dm: Block direct messages from people you don't follow + notification_emails: + digest: Send digest e-mails + favourite: Send e-mail when someone favourites your status + follow: Send e-mail when someone follows you + follow_request: Send e-mail when someone requests to follow you + mention: Send e-mail when someone mentions you + reblog: Send e-mail when someone boosts your status + report: Send e-mail when a new report is submitted + 'no': 'No' + required: + mark: "*" + text: required + 'yes': 'Yes' diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index c0d72dc27..b5353c0f3 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -2,27 +2,45 @@ 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: Archivo CSV exportado desde otra instancia de Mastodon + data: Un archivo CSV generado por 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: @@ -32,6 +50,18 @@ 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 @@ -42,6 +72,7 @@ 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 @@ -57,15 +88,22 @@ 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 @@ -74,6 +112,8 @@ 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.fa.yml b/config/locales/simple_form.fa.yml index f6e654d7b..b7ba444aa 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -2,12 +2,20 @@ fa: simple_form: hints: + account_warning_preset: + text: می‌توانید مانند بوق‌های معمولی کاربران دیگر را نام ببرید یا پیوند و برچسب بگذارید + admin_account_action: + send_email_notification: توضیحی که کاربر می‌بینید که برای حسابش چه رخ داده است + text_html: اختیاری. می‌توانید مثل بوق‌های معمولی بنویسید. می‌توانید برای صرفه‌جویی در زمان هشدارهای ازپیش‌آماده بیفزایید + type_html: با حساب %{acct} می‌خواهید چه کار کنید؟‌ + warning_preset_id: اختیاری. همچنان می‌توانید در پایان متن آماده چیزی بیفزایید defaults: autofollow: کسانی که از راه دعوت‌نامه عضو می‌شوند به طور خودکار پیگیر شما خواهند شد avatar: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد bot: این حساب بیشتر به طور خودکار فعالیت می‌کند و نظارت پیوسته‌ای روی آن وجود ندارد context: یک یا چند زمینه که فیلتر باید در آن‌ها اعمال شود digest: تنها وقتی فرستاده می‌شود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصی‌ای نوشته شده باشد + discoverable_html: با فهرست گزیدهٔ کاربران مردم می‌توانند حساب‌های این سرور را بر اساس علاقه‌مندی‌ها و فعالیت‌شان پیدا کنند. هر حساب دست‌کم باید %{min_followers} پیگیر داشته باشد email: به شما ایمیل تأییدی فرستاده خواهد شد fields: شما می‌توانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید header: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -25,9 +33,12 @@ fa: setting_display_media_show_all: همیشه تصویرهایی را که به عنوان حساس علامت زده شده‌اند را نشان بده setting_hide_network: فهرست پیگیران شما و فهرست کسانی که شما پی می‌گیرید روی نمایهٔ شما دیده نخواهد شد setting_noindex: روی نمایهٔ عمومی و صفحهٔ نوشته‌های شما تأثیر می‌گذارد + setting_show_application: برنامه‌ای که به کمک آن بوق می‌زنید، در جزئیات بوق شما نمایش خواهد یافت setting_theme: ظاهر ماستدون را وقتی که از هر دستگاهی به آن وارد می‌شوید تعیین می‌کند. username: نام کاربری شما روی %{domain} یکتا خواهد بود whole_word: اگر کلیدواژه فقط دارای حروف و اعداد باشد، تنها وقتی پیدا می‌شود که با کل یک واژه در متن منطبق باشد، نه با بخشی از یک واژه + featured_tag: + name: 'شاید بخواهید چنین چیزهایی را به کار ببرید:' imports: data: پروندهٔ CSV که از سرور ماستدون دیگری برون‌سپاری شده sessions: @@ -39,6 +50,18 @@ fa: 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: تصویر نمایه @@ -49,6 +72,7 @@ fa: context: زمینه‌های فیلترکردن current_password: رمز فعلی data: داده‌ها + discoverable: این حساب را در فهرست گزیدهٔ کاربران نشان بده display_name: نمایش به نام email: نشانی ایمیل expires_in: تاریخ انقضا @@ -79,6 +103,7 @@ fa: setting_hide_network: نهفتن شبکهٔ ارتباطی setting_noindex: درخواست از موتورهای جستجوگر برای ظاهر نشدن در نتایج جستجو setting_reduce_motion: کاستن از حرکت در پویانمایی‌ها + setting_show_application: برنامه‌ای که به کار می‌برید آشکار شود setting_system_font_ui: به‌کاربردن قلم پیش‌فرض سیستم setting_theme: تم سایت setting_unfollow_modal: نمایش پیغام تأیید پیش از لغو پیگیری دیگران @@ -87,6 +112,8 @@ fa: username: نام کاربری (لاتین) username_or_email: نام کاربری یا ایمیل whole_word: تطابق واژهٔ کامل + featured_tag: + name: برچسب interactions: must_be_follower: مسدودکردن اعلان‌های همه به جز پیگیران must_be_following: مسدودکردن اعلان‌های کسانی که شما پی نمی‌گیرید diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index 42be5a93c..81392c8be 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -67,10 +67,10 @@ ko: avatar: 아바타 bot: 이것은 봇 계정입니다 chosen_languages: 언어 필터링 - confirm_new_password: 새로운 비밀번호 다시 입력 - confirm_password: 현재 비밀번호 다시 입력 + confirm_new_password: 암호 다시 입력 + confirm_password: 암호 다시 입력 context: 필터 컨텍스트 - current_password: 현재 비밀번호 입력 + current_password: 현재 암호 입력 data: 데이터 discoverable: 이 계정을 디렉토리에서 찾을 수 있도록 합니다 display_name: 표시되는 이름 @@ -83,10 +83,10 @@ ko: locale: 인터페이스 언어 locked: 계정 잠금 max_uses: 사용 횟수 제한 - new_password: 새로운 비밀번호 입력 + new_password: 새로운 암호 입력 note: 자기소개 otp_attempt: 2단계 인증 코드 - password: 비밀번호 + password: 암호 phrase: 키워드 또는 문장 setting_aggregate_reblogs: 타임라인의 부스트를 그룹화 setting_auto_play_gif: 애니메이션 GIF를 자동 재생 diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index 664c07a46..6cd6c7c85 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,9 +33,12 @@ 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: @@ -100,6 +103,7 @@ 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 @@ -108,6 +112,8 @@ 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 44cd7ccd6..a53605e8c 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -2,27 +2,45 @@ 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: @@ -32,6 +50,18 @@ 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: Аватар @@ -42,6 +72,7 @@ ru: context: Контекст фильтра current_password: Текущий пароль data: Данные + discoverable: Перечислите этот аккаунт в каталоге display_name: Показываемое имя email: Адрес e-mail expires_in: Истекает через @@ -57,15 +88,22 @@ 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: Показывать диалог подтверждения перед тем, как отписаться от аккаунта @@ -74,6 +112,8 @@ ru: username: Имя пользователя username_or_email: Имя пользователя или e-mail whole_word: Слово целиком + featured_tag: + name: Хэштег interactions: must_be_follower: Заблокировать уведомления не от подписчиков must_be_following: Заблокировать уведомления от людей, на которых Вы не подписаны diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index a8611c2f7..bce5eaac6 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -2,48 +2,132 @@ th: simple_form: hints: + account_warning_preset: + text: คุณสามารถใช้ไวยากรณ์โพสต์ เช่น URL, แฮชแท็ก และการกล่าวถึง + admin_account_action: + send_email_notification: ผู้ใช้จะได้รับคำอธิบายว่าเกิดอะไรขึ้นกับบัญชีของเขา + text_html: ตัวเลือกเพิ่มเติม คุณสามารถใช้ไวยากรณ์โพสต์ คุณสามารถ เพิ่มคำเตือนที่ตั้งไว้ล่วงหน้า เพื่อประหยัดเวลา + type_html: เลือกสิ่งที่จะทำกับ %{acct} + warning_preset_id: ตัวเลือกเพิ่มเติม คุณยังคงสามารถเพิ่มข้อความที่กำหนดเองที่จุดสิ้นสุดของค่าที่ตั้งไว้ล่วงหน้า defaults: - avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px - header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px - locked: Requires you to manually approve followers and defaults post privacy to followers-only + 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: ภาษาของส่วนติดต่อผู้ใช้, อีเมล และการแจ้งเตือนแบบผลัก + 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 file exported from another Mastodon instance + data: ไฟล์ CSV ที่ส่งออกจากเซิร์ฟเวอร์ Mastodon อื่น sessions: - otp: Enter the Two-factor code from your phone or use one of your recovery codes. + otp: 'ป้อนรหัสสองปัจจัยที่สร้างโดยแอปในโทรศัพท์ของคุณหรือใช้หนึ่งในรหัสกู้คืนของคุณ:' + user: + chosen_languages: เมื่อกาเครื่องหมาย จะแสดงผลเฉพาะโพสต์ในภาษาที่เลือกในเส้นเวลาสาธารณะ labels: + account: + fields: + name: ป้ายชื่อ + value: เนื้อหา + account_warning_preset: + text: ข้อความที่ตั้งไว้ล่วงหน้า + admin_account_action: + send_email_notification: แจ้งเตือนผู้ใช้ทางอีเมล + text: คำเตือนที่กำหนดเอง + type: การกระทำ + types: + disable: ปิดใช้งาน + none: ไม่ทำสิ่งใด + silence: เงียบ + suspend: ระงับและลบข้อมูลบัญชีอย่างถาวร + warning_preset_id: ใช้คำเตือนที่ตั้งไว้ล่วงหน้า defaults: - avatar: Avatar - confirm_new_password: Confirm new password - confirm_password: Confirm password - current_password: Current password + autofollow: เชิญให้ติดตามบัญชีของคุณ + avatar: ภาพประจำตัว + bot: นี่คือบัญชีบอต + chosen_languages: กรองภาษา + confirm_new_password: ยืนยันรหัสผ่านใหม่ + confirm_password: ยืนยันรหัสผ่าน + context: บริบทตัวกรอง + current_password: รหัสผ่านปัจจุบัน data: ข้อมูล - display_name: Display name - email: E-mail address - header: Header - locale: ภาษา - locked: Lock account - new_password: New password - note: Bio - otp_attempt: Two-factor code - password: พาร์สเวิร์ด - setting_auto_play_gif: Auto-play animated GIFs - setting_boost_modal: Show confirmation dialog before boosting - setting_default_privacy: Post privacy - severity: Severity - type: Import type - username: Username + discoverable: แสดงรายการบัญชีนี้ในไดเรกทอรี + display_name: ชื่อที่แสดงผล + email: ที่อยู่อีเมล + expires_in: หมดอายุหลังจาก + fields: ข้อมูลเมตาโปรไฟล์ + header: ส่วนหัว + inbox_url: URL กล่องขาเข้าแบบรีเลย์ + irreversible: ลบแทนที่จะซ่อน + locale: ภาษาส่วนติดต่อ + locked: ล็อคบัญชี + max_uses: จำนวนการใช้งานสูงสุด + new_password: รหัสผ่านใหม่ + note: ชีวประวัติ + 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: แสดงกล่องโต้ตอบการยืนยันก่อนเลิกติดตามใครสักคน + severity: ความรุนแรง + type: ชนิดการนำเข้า + username: ชื่อผู้ใช้ + username_or_email: ชื่อผู้ใช้หรืออีเมล + whole_word: ทั้งคำ + featured_tag: + name: แฮชแท็ก interactions: - must_be_follower: Block notifications from non-followers - must_be_following: Block notifications from people you don't follow + must_be_follower: ปิดกั้นการแจ้งเตือนจากที่ไม่ใช่ผู้ติดตาม + must_be_following: ปิดกั้นการแจ้งเตือนจากผู้คนที่คุณไม่ได้ติดตาม + must_be_following_dm: ปิดกั้นข้อความโดยตรงจากผู้คนที่คุณไม่ได้ติดตาม notification_emails: - digest: Send digest e-mails - favourite: Send e-mail when someone favourites your status - follow: Send e-mail when someone follows you - follow_request: Send e-mail when someone requests to follow you - mention: Send e-mail when someone mentions you - reblog: Send e-mail when someone boosts your status + digest: ส่งอีเมลสรุป + favourite: ส่งอีเมลเมื่อใครสักคนชื่นชอบสถานะของคุณ + follow: ส่งอีเมลเมื่อใครสักคนติดตามคุณ + follow_request: ส่งอีเมลเมื่อใครสักคนขอติดตามคุณ + mention: ส่งอีเมลเมื่อใครสักคนกล่าวถึงคุณ + reblog: ส่งอีเมลเมื่อใครสักคนดันสถานะของคุณ + report: ส่งอีเมลเมื่อมีการส่งรายงานใหม่ 'no': ไม่ required: mark: "*" - text: required + text: ต้องระบุ 'yes': ใช่ diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml index 3747fbb98..61d07825c 100644 --- a/config/locales/simple_form.zh-TW.yml +++ b/config/locales/simple_form.zh-TW.yml @@ -2,90 +2,130 @@ zh-TW: simple_form: hints: + account_warning_preset: + text: 您可使用嘟文語法,例如網址、「#」標籤和提及功能 + admin_account_action: + send_email_notification: 使用者將收到帳戶發生之事情的解釋 + text_html: 選用。您能使用嘟文語法。您可 新增警告預設 來節省時間 + type_html: 設定要使用 %{acct} 做的事 + warning_preset_id: 選用。您仍可在預設的結尾新增自訂文字 defaults: - autofollow: 通過邀請網址註冊的使用者將會自動關注你 - avatar: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px - bot: 這個帳號由程式進行自動式操作 + autofollow: 通過邀請網址註冊的使用者將自動關注你 + avatar: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會等比例縮減成 %{dimensions} 像素 + bot: 此帳戶主要執行自動操作且可能未被監控 context: 應該套用過濾器的一項或多項內容 - digest: 僅在你長時間未登入,並且收到了私訊時發送 - fields: 個人資訊頁至多可顯示 4 個項目 - header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px - inbox_url: 從您想要使用的中繼首頁複製 URL - irreversible: 已過濾的嘟文將會不可逆的消失,即便過濾器之後也一樣 - locale: 使用者介面、 E-mail 與通知的語言 - locked: 你必須手動核准每個使用者對你的關注請求,而你的貼文隱私將會被設定為「只有關注你的人能看」 + digest: 僅在你長時間未登入且在未登入期間收到私訊時傳送 + discoverable_html: 目錄 讓使用者們能基於興趣與活動尋找帳戶。需要至少 %{min_followers} 位關注者 + email: 您將收到一封確認電子郵件 + fields: 您可在個人資料上有至多 4 個以表格形式顯示的項目 + header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會按比例縮小成 %{dimensions} 像素 + inbox_url: 從您想要使用的中繼首頁複製網址 + irreversible: 已過濾的嘟文將會不可逆的消失,即便過濾器移除之後也一樣 + locale: 使用者介面、電子信件和推送通知的語言 + locked: 需要您手動核准關注請求 + password: 使用至少 8 個字元 phrase: 無論是嘟文的本文或是內容警告都會被過濾 - scopes: 應用程式將會被允許存取哪些 API。若您選取了最高階的範圍,您就不需要再選取單獨的了。 - setting_default_language: 你嘟文的語言會被自動偵測,但不一定完全準確 + 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_theme: 此設定會影響到你從任意設備登入 Mastodon 時的顯示樣式。 - whole_word: 如果關鍵字或詞組僅有字母與數字,它將只會在符合整個單字的時候才會套用 + setting_noindex: 會影響您的公開個人資料與嘟文頁面 + setting_show_application: 您用來發嘟文的應用程式將會在您嘟文的詳細檢視顯示 + setting_theme: 會影響從任何裝置登入所看到的 Mastodon 樣式。 + username: 您的使用者名稱將在 %{domain} 是獨一無二的 + whole_word: 如果關鍵字或詞組僅有字母與數字,則其將只在符合整個單字的時候才會套用 + featured_tag: + name: 您可能想使用其中一個: imports: - data: 自其他站點匯出的 CSV 檔案 + data: 從其他 Mastodon 伺服器匯出的 CSV 檔案 sessions: - otp: 輸入你手機上產生的兩階段認證碼,或著任意一個備用驗證碼: + otp: 請輸入產生自您手機 App 的兩步驟驗證碼,或輸入其中一個復原代碼: user: - chosen_languages: 只有被選擇的語言會在公開時間軸內顯示 + chosen_languages: 當核取時,只有選取語言的嘟文會在公開時間軸中顯示 labels: account: 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: 頭像 - bot: 這個帳號是機器人 - chosen_languages: 語言篩選 + avatar: 大頭貼 + bot: 此帳號是台機器人 + chosen_languages: 過濾語言 confirm_new_password: 確認新密碼 confirm_password: 確認密碼 - context: 過濾範圍 + context: 過濾情境 current_password: 目前密碼 data: 資料 + discoverable: 在目錄列出此帳戶 display_name: 顯示名稱 - email: E-mail + email: 電子信箱位址 expires_in: 失效時間 - fields: 資料 - header: 個人頁面圖片 + fields: 個人資料中繼資料 + header: 頁面頂端 inbox_url: 中繼收件匣的 URL irreversible: 放棄而非隱藏 locale: 介面語言 - locked: 將帳號轉為「私密」 + locked: 鎖定帳號 max_uses: 最大使用次數 new_password: 新密碼 note: 簡介 - otp_attempt: 兩階段認證碼 + otp_attempt: 兩步驟驗證碼 password: 密碼 phrase: 關鍵字或片語 - setting_auto_play_gif: 自動播放 GIF + setting_aggregate_reblogs: 時間軸中的群組轉嘟 + setting_auto_play_gif: 自動播放 GIF 動畫 setting_boost_modal: 在轉嘟前先詢問我 setting_default_language: 嘟文語言 - setting_default_privacy: 嘟文預設為 + setting_default_privacy: 嘟文可見範圍 setting_default_sensitive: 總是將媒體標記為敏感內容 setting_delete_modal: 刪除嘟文前先詢問我 - setting_hide_network: 隱藏你的社交網路 - setting_noindex: 阻止搜尋引擎收錄 - setting_reduce_motion: 減低動畫效果 + 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: 取消關注前先詢問我 - severity: 等級 - type: 匯入資料類型 + setting_theme: 站點主題 + setting_unfollow_modal: 取消關注某人前先詢問我 + severity: 優先級 + type: 匯入類型 username: 使用者名稱 - username_or_email: 使用者名稱或 E-mail - whole_word: 整個詞 + username_or_email: 使用者名稱或電子信箱位址 + whole_word: 整個詞彙 + featured_tag: + name: "「#」標籤" interactions: - must_be_follower: 隱藏沒有關注你的使用者通知 - must_be_following: 隱藏你沒關注的使用者通知 - must_be_following_dm: 隱藏你沒關注的使用者私訊 + must_be_follower: 封鎖非關注者的通知 + must_be_following: 封鎖您未關注之使用者的通知 + must_be_following_dm: 封鎖您未關注之使用者的私訊 notification_emails: - digest: 定期發送摘要郵件 - favourite: 當有使用者喜歡你的嘟文時,發送 E-mail 通知 - follow: 當有使用者關注你時,發送 E-mail 通知 - follow_request: 當有使用者要求關注你時,發送 E-mail 通知 - mention: 當有使用者在嘟文提及你時,發送 E-mail 通知 - reblog: 都有使用者轉嘟你的嘟文時,發送 E-mail 通知 - report: 當遞交新報告時傳送電子郵件 + digest: 傳送摘要信件 + favourite: 當有使用者喜歡你的嘟文時,傳送電子信件通知 + follow: 當有使用者關注你時,傳送電子信件通知 + follow_request: 當有使用者請求關注你時,傳送電子信件通知 + mention: 當有使用者在嘟文提及你時,傳送電子信件通知 + reblog: 當有使用者轉嘟你的嘟文時,傳送電子信件通知 + report: 當提交新檢舉時傳送電子郵件 'no': 否 required: mark: "*" diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 3bda6a814..d1ff178fd 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -4,26 +4,37 @@ sk: about_hashtag_html: Toto sú verejné príspevky, otagované pod #%{hashtag}. Ak máš účet hocikde v rámci fediversa, môžeš s nimi narábať. about_mastodon_html: Mastodon je sociálna sieť založená na otvorených webových protokoloch a na slobodnom softvéri. Je decentralizovaná, podobne ako email. about_this: O tomto serveri + active_count_after: aktívni + active_footnote: Mesačne aktívnych užívateľov (MAU) administered_by: 'Správcom je:' api: API apps: Aplikácie + apps_platforms: Uživaj Mastodon z iOSu, Androidu a iných platforiem + browse_directory: Prehľadávaj databázu profilov a filtruj ju podľa záujmov + browse_public_posts: Prebádaj naživo prúd verejných príspevkov na Mastodone contact: Kontakt contact_missing: Nezadaný contact_unavailable: Neuvedený + discover_users: Objavuj užívateľov documentation: Dokumentácia extended_description_html: |

Pravidlá

Žiadne zatiaľ uvedené nie sú

+ federation_hint_html: S účtom na %{instance} budeš môcť následovať ľúdí na hociakom inom Mastodon serveri, ale aj inde. generic_description: "%{domain} je jeden server v sieti" + get_apps: Vyskúšaj mobilnú aplikáciu hosted_on: Mastodon hostovaný na %{domain} learn_more: Zisti viac privacy_policy: Ustanovenia o súkromí + see_whats_happening: Pozoruj, čo sa deje + server_stats: 'Serverové štatistiky:' source_code: Zdrojový kód status_count_after: few: príspevkov one: príspevok other: príspevkov status_count_before: Ktorí napísali + tagline: Následuj kamarátov, a objavuj nových terms: Podmienky užívania user_count_after: few: užívatelia @@ -72,6 +83,7 @@ sk: delete: Vymaž destroyed_msg: Moderátorska poznámka bola úspešne zmazaná! accounts: + approve: Schváľ are_you_sure: Si si istý/á? avatar: Maskot by_domain: Doména @@ -117,6 +129,7 @@ sk: moderation: active: Aktívny all: Všetko + pending: Čakajúci silenced: Umlčané suspended: Vylúčený/á title: Moderácia @@ -126,6 +139,7 @@ sk: no_limits_imposed: Nie sú stanovené žiadné obmedzenia not_subscribed: Neodoberá outbox_url: URL poslaných + pending: Vyžaduje posúdenie perform_full_suspension: Vylúč profile_url: URL profilu promote: Povýš @@ -133,6 +147,7 @@ sk: public: Verejná os push_subscription_expires: PuSH odoberanie expiruje redownload: Obnov profil + reject: Odmietni remove_avatar: Odstrániť avatár remove_header: Odstráň hlavičku resend_confirmation: @@ -406,6 +421,12 @@ sk: min_invite_role: disabled: Nikto title: Povoliť pozvánky od + registrations_mode: + modes: + approved: Pre registráciu je nutné povolenie + none: Nikto sa nemôže registrovať + open: Ktokoľvek sa môže zaregistrovať + title: Režím registrácií show_known_fediverse_at_about_page: desc_html: Pokiaľ je zapnuté, bude v ukážke osi možné nahliadnúť príspevky z celého známeho fediversa. Inak budú ukázané iba príspevky z miestnej osi. title: Ukáž celé známe fediverse na náhľade osi @@ -468,6 +489,8 @@ sk: edit_preset: Uprav varovnú predlohu title: Spravuj varovné predlohy admin_mailer: + new_pending_account: + body: Podrobnosti o novom účte sú uvedené nižšie. Môžeš túto registračnú požiadavku buď prijať, alebo zamietnúť. new_report: body: "%{reporter} nahlásil/a %{target}" body_remote: Niekto z %{domain} nahlásil/a %{target} diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 5a4ffb6cd..3d99f7708 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -22,14 +22,14 @@ sl: status_count_after: few: stanja one: stanje - other: stanja + other: stanj two: stanja - status_count_before: Kdo je avtor + status_count_before: Ki so avtorji terms: Pogoji storitve user_count_after: few: uporabniki one: uporabnik - other: uporabniki + other: uporabnikov two: uporabniki user_count_before: Dom za what_is_mastodon: Kaj je Mastodon? diff --git a/config/locales/th.yml b/config/locales/th.yml index b562c8f7c..729865c83 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -1,224 +1,530 @@ --- th: about: - about_mastodon_html: แมสโทดอน เป็น ดีเซ็นทรัลไลซ์ฟรีโอเพ่นซอร์ส โซเชี่ยวเน็ตเวริ์ค. เป็นทางเลือกทดแทนโซเชี่ยวเน็ตเวิร์คที่ทำเป็นธุรกิจการค้า, ป้องกันการผูกขาดช่องทางการสื่อสารของคุณ. เลือกเซร์ฟเวอร์ที่คุณไว้ใจ — ที่คุณเลือกได้เอง, สื่อสารกับคนที่คุณต้องการได้เสมอ. ใครๆก็รันแมสโทดอนอินซะแตนซ์ได้ และ เชื่อมต่อกับโซเชี่ยวเน็ตเวิร์ค โดยไม่มีอะไรมาขวางกั้น. - about_this: เกี่ยวกับอินซะแตนซ์นี้ + about_mastodon_html: Mastodon เป็นเครือข่ายสังคมที่ทำงานบนโปรโตคอลเว็บแบบเปิดและซอฟต์แวร์เสรีที่เปิดต้นฉบับ กระจายศูนย์เหมือนอีเมล + about_this: เกี่ยวกับ + active_count_after: ที่ใช้งาน + active_footnote: ผู้ใช้งานรายเดือน (MAU) + administered_by: 'ดูแลโดย:' + api: API + apps: แอปสำหรับมือถือ + apps_platforms: ใช้ Mastodon จาก iOS, Android และแพลตฟอร์มอื่น ๆ + browse_directory: เรียกดูไดเรกทอรีโปรไฟล์และกรองตามความสนใจ + browse_public_posts: เรียกดูสตรีมสดของโพสต์สาธารณะใน Mastodon contact: ติดต่อ - source_code: ซอร์สโค๊ด - status_count_after: สถานะ - status_count_before: Who authored - user_count_after: ผู้ใช้ - user_count_before: Home to + contact_missing: ไม่ได้ตั้ง + contact_unavailable: ไม่มี + discover_users: ค้นพบผู้ใช้ + documentation: เอกสารประกอบ + extended_description_html: | +

สถานที่ที่ดีสำหรับกฎ

+

ยังไม่ได้ตั้งคำอธิบายแบบขยาย

+ generic_description: "%{domain} เป็นเซิร์ฟเวอร์หนึ่งในเครือข่าย" + get_apps: ลองแอปสำหรับมือถือ + learn_more: เรียนรู้เพิ่มเติม + privacy_policy: นโยบายความเป็นส่วนตัว + server_stats: 'สถิติเซิร์ฟเวอร์:' + source_code: โค้ดต้นฉบับ + status_count_after: + one: สถานะ + other: สถานะ + status_count_before: ผู้สร้าง + user_count_after: + one: ผู้ใช้ + other: ผู้ใช้ + user_count_before: บ้านของ + what_is_mastodon: Mastodon คืออะไร? accounts: follow: ติดตาม - followers: ผู้ติดตาม + followers: + one: ผู้ติดตาม + other: ผู้ติดตาม following: กำลังติดตาม - nothing_here: ไม่พบสิ่งใดที่นี่! - people_followed_by: ถูกติดตามโดย %{name} - people_who_follow: คนที่ติดตาม %{name} - posts: โพสต์ + joined: เข้าร่วมเมื่อ %{date} + last_active: ใช้งานล่าสุด + media: สื่อ + moved_html: "%{name} ได้ย้ายไปยัง %{new_profile_link}:" + network_hidden: ไม่มีข้อมูลนี้ + nothing_here: ไม่มีสิ่งใดที่นี่! + people_followed_by: ผู้คนที่ %{name} ติดตาม + people_who_follow: ผู้คนที่ติดตาม %{name} + posts: + one: โพสต์ + other: โพสต์ + posts_tab_heading: โพสต์ + posts_with_replies: โพสต์และการตอบกลับ + roles: + admin: ผู้ดูแล + bot: บอต + moderator: ผู้ควบคุม unfollow: เลิกติดตาม admin: + account_moderation_notes: + created_msg: สร้างหมายเหตุการควบคุมสำเร็จ! + delete: ลบ + destroyed_msg: ทำลายหมายเหตุการควบคุมสำเร็จ! accounts: - are_you_sure: แน่ใจนะ? + approve: อนุมัติ + are_you_sure: คุณแน่ใจหรือไม่? + avatar: ภาพประจำตัว + by_domain: โดเมน + change_email: + changed_msg: เปลี่ยนอีเมลบัญชีสำเร็จ! + current_email: อีเมลปัจจุบัน + label: เปลี่ยนอีเมล + new_email: อีเมลใหม่ + submit: เปลี่ยนอีเมล + title: เปลี่ยนอีเมลสำหรับ %{username} confirm: ยืนยัน - confirmed: ยึนยันแล้ว - confirming: ยืนยัน - disable_two_factor_authentication: Disable 2FA - display_name: ชื่อสำหรับดีสเพล + confirmed: ยืนยันแล้ว + confirming: กำลังยืนยัน + deleted: ลบแล้ว + demote: ลดระดับ + disable: ปิดใช้งาน + disable_two_factor_authentication: ปิดใช้งาน 2FA + disabled: ปิดใช้งานอยู่ + display_name: ชื่อที่แสดงผล domain: โดเมน edit: แก้ไข - email: อีเมล์ + email: อีเมล email_status: สถานะอีเมล - feed_url: Feed URL + enable: เปิดใช้งาน + enabled: เปิดใช้งานอยู่ + feed_url: URL ฟีด followers: ผู้ติดตาม + followers_url: URL ผู้ติดตาม follows: ติดตาม + header: ส่วนหัว + inbox_url: URL กล่องขาเข้า + invited_by: เชิญโดย + ip: IP + joined: เข้าร่วมเมื่อ location: all: ทั้งหมด - local: บนอินแสตนซ์นี้ - remote: บนอินแสตนซ์อื่น - title: สถานที่ - media_attachments: สื่อที่แนบมา + local: ในเว็บ + remote: ระยะไกล + title: ตำแหน่งที่ตั้ง + login_status: สถานะการเข้าสู่ระบบ + media_attachments: ไฟล์แนบสื่อ moderation: all: ทั้งหมด - silenced: ปิดเสียง - suspended: หยุดไว้ - title: Moderation + silenced: เงียบอยู่ + suspended: ระงับอยู่ + title: การควบคุม + moderation_notes: หมายเหตุการควบคุม most_recent_activity: กิจกรรมล่าสุด most_recent_ip: IP ล่าสุด - not_subscribed: Not subscribed - perform_full_suspension: Perform full suspension - profile_url: Profile URL + not_subscribed: ไม่ได้บอกรับ + outbox_url: URL กล่องขาออก + perform_full_suspension: ระงับ + profile_url: URL โปรไฟล์ + protocol: โปรโตคอล public: สาธารณะ - push_subscription_expires: PuSH subscription expires + push_subscription_expires: การบอกรับ PuSH หมดอายุเมื่อ + reject: ปฏิเสธ + remove_avatar: เอาภาพประจำตัวออก + remove_header: เอาส่วนหัวออก resend_confirmation: - already_confirmed: ผู้ใช้รายนี้ได้รับการยืนยันแล้ว + already_confirmed: ผู้ใช้นี้ได้รับการยืนยันอยู่แล้ว send: ส่งอีเมลยืนยันอีกครั้ง - success: ยืนยันอีเมลเรียบร้อยแล้ว! - reset_password: รีเซ็ตรหัสผ่าน + success: ส่งอีเมลยืนยันสำเร็จ! + reset_password: ตั้งรหัสผ่านใหม่ + resubscribe: บอกรับใหม่ + roles: + admin: ผู้ดูแล + moderator: ผู้ควบคุม + staff: พนักงาน + user: ผู้ใช้ salmon_url: Salmon URL + search: ค้นหา show: - created_reports: รายงานที่ถูกสร้างโดย แอคเคาท์นี้ - targeted_reports: รายงานเกี่ยวกับแอคเคาท์นี้ - silence: ปิดเสียง + created_reports: รายงานที่สร้าง + targeted_reports: รายงานโดยผู้อื่น + silence: เงียบ + silenced: เงียบอยู่ statuses: สถานะ + subscribe: บอกรับ + suspended: ระงับอยู่ title: บัญชี - undo_silenced: ยกเลิกการปิดเสียง - undo_suspension: ยกเลิกการหยุด + undo_silenced: เลิกทำการเงียบ + undo_suspension: เลิกทำการระงับ + unsubscribe: เลิกบอกรับ username: ชื่อผู้ใช้ + warn: เตือน web: เว็บ + action_logs: + deleted_status: "(สถานะที่ลบแล้ว)" + title: รายการบันทึกการตรวจสอบ + custom_emojis: + by_domain: โดเมน + copy: คัดลอก + created_msg: สร้างอีโมจิสำเร็จ! + delete: ลบ + disable: ปิดใช้งาน + emoji: อีโมจิ + enable: เปิดใช้งาน + new: + title: เพิ่มอีโมจิที่กำหนดเองใหม่ + overwrite: เขียนทับ + shortcode: รหัสย่อ + title: อีโมจิที่กำหนดเอง + unlisted: ไม่อยู่ในรายการ + update_failed_msg: ไม่สามารถอัปเดตอีโมจินั้น + updated_msg: อัปเดตอีโมจิสำเร็จ! + upload: อัปโหลด + dashboard: + config: การกำหนดค่า + feature_deletions: การลบบัญชี + feature_invites: ลิงก์เชิญ + feature_profile_directory: ไดเรกทอรีโปรไฟล์ + feature_registrations: การลงทะเบียน + features: คุณลักษณะ + open_reports: รายงานที่เปิด + recent_users: ผู้ใช้ล่าสุด + search: การค้นหาข้อความแบบเต็ม + single_user_mode: โหมดผู้ใช้เดี่ยว + software: ซอฟต์แวร์ + space: การใช้พื้นที่ + title: แดชบอร์ด + total_users: ผู้ใช้ทั้งหมด + trends: แนวโน้ม + week_interactions: การโต้ตอบในสัปดาห์นี้ + week_users_active: ที่ใช้งานในสัปดาห์นี้ + week_users_new: ผู้ใช้ในสัปดาห์นี้ domain_blocks: - add_new: เพิ่มใหม่ - created_msg: กำลังบล๊อกโดเมน - destroyed_msg: ยกเลิกการบล๊อกโดเมน + add_new: เพิ่มการปิดกั้นโดเมนใหม่ + created_msg: กำลังประมวลผลการปิดกั้นโดเมน + destroyed_msg: เลิกทำการปิดกั้นโดเมนแล้ว domain: โดเมน new: - create: สร้างการบล๊อก - hint: การบล๊อคโดเมนไม่สามารถป้องกันการสร้างแอคเค๊าท์ในฐานข้อมูล, but will retroactively and automatically apply specific moderation methods on those accounts. + create: สร้างการปิดกั้น + hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะใช้วิธีการควบคุมเฉพาะกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ severity: - desc_html: "การปิดเสียง จะทำให้ผู้ที่ไมไ่ด้ติดตามไม่เห็นโพสต์ของเขา. การหยุด จะนำเนื้อหา สื่อ และ โปรไฟล์ ออก." - silence: ปิดเสียง - suspend: หยุดไว้ - title: การบล๊อกโดเมนใหม่ - reject_media: ไม่อนุมัติไฟล์สื่อ - reject_media_hint: ลบไฟล์สื่อที่เก็บไว้ในเครื่อง และ ป้องกันการดาวน์โหลดในอนาคต. Irrelevant for suspensions + desc_html: "เงียบ จะทำให้โพสต์ของบัญชีมองไม่เห็นกับใครก็ตามที่ไม่ได้กำลังติดตามบัญชี ระงับ จะเอาเนื้อหา, สื่อ และข้อมูลโปรไฟล์ทั้งหมดของบัญชีออก ใช้ ไม่มี หากคุณเพียงแค่ต้องการปฏิเสธไฟล์สื่อ" + noop: ไม่มี + silence: เงียบ + suspend: ระงับ + title: การปิดกั้นโดเมนใหม่ + reject_media: ปฏิเสธไฟล์สื่อ + reject_media_hint: เอาไฟล์สื่อที่จัดเก็บไว้ในเว็บออกและปฏิเสธที่จะดาวน์โหลดไฟล์ใด ๆ ในอนาคต ไม่เกี่ยวข้องกับการระงับ + reject_reports: ปฏิเสธรายงาน + severity: + silence: เงียบอยู่ + suspend: ระงับอยู่ show: affected_accounts: - one: มีผลต่อหนึ่งแอคเค๊าท์ในฐานข้อมูล - other: มีผลต่อแอคเค๊าท์ในฐานข้อมูลจำนวน %{count} + one: มีผลต่อหนึ่งบัญชีในฐานข้อมูล + other: มีผลต่อ %{count} บัญชีในฐานข้อมูล retroactive: - silence: ยกเลิกการปิดเสียงทุกแอคเค๊าท์จากโดเมน - suspend: ยกเลิกการหยุดทุกแอคเค๊าท์จากโดเมน - title: ยกเลิกการบล๊อกโดเมน %{domain} - undo: ยกเลิก - undo: ยกเลิก + silence: เลิกเงียบบัญชีที่มีอยู่ทั้งหมดจากโดเมนนี้ + suspend: เลิกระงับบัญชีที่มีอยู่ทั้งหมดจากโดเมนนี้ + title: เลิกทำการปิดกั้นโดเมนสำหรับ %{domain} + undo: เลิกทำ + undo: เลิกทำการปิดกั้นโดเมน + email_domain_blocks: + add_new: เพิ่มใหม่ + delete: ลบ + domain: โดเมน + new: + create: เพิ่มโดเมน + followers: + back_to_account: กลับไปที่บัญชี + title: ผู้ติดตามของ %{acct} instances: - title: Known Instances + by_domain: โดเมน + moderation: + all: ทั้งหมด + limited: จำกัดอยู่ + title: การควบคุม + title: การติดต่อกับภายนอก + total_storage: ไฟล์แนบสื่อ + invites: + deactivate_all: ปิดใช้งานทั้งหมด + title: คำเชิญ + relays: + add_new: เพิ่มรีเลย์ใหม่ + delete: ลบ + disable: ปิดใช้งาน + disabled: ปิดใช้งานอยู่ + enable: เปิดใช้งาน + enabled: เปิดใช้งานอยู่ + inbox_url: URL รีเลย์ + status: สถานะ + title: รีเลย์ + report_notes: + created_msg: สร้างหมายเหตุรายงานสำเร็จ! + destroyed_msg: ลบหมายเหตุรายงานสำเร็จ! reports: + account: + note: หมายเหตุ + report: รายงาน + are_you_sure: คุณแน่ใจหรือไม่? + assign_to_self: มอบหมายให้ฉัน comment: - none: None - mark_as_resolved: ทำเครื่องหมายว่าจัดการแล้ว - report: 'Report #%{id}' - reported_account: รายงานแอคเคาท์ + none: ไม่มี + created_at: รายงานเมื่อ + mark_as_resolved: ทำเครื่องหมายว่าแก้ปัญหาแล้ว + mark_as_unresolved: ทำเครื่องหมายว่ายังไม่ได้แก้ปัญหา + notes: + create: เพิ่มหมายเหตุ + delete: ลบ + report: 'รายงาน #%{id}' + reported_account: บัญชีที่ได้รับการรายงาน reported_by: รายงานโดย - resolved: จัดการแล้ว + resolved: แก้ปัญหาแล้ว + resolved_msg: แก้ปัญหารายงานสำเร็จ! status: สถานะ title: รายงาน - unresolved: Unresolved + unassign: เลิกมอบหมาย + unresolved: ยังไม่ได้แก้ปัญหา + updated_at: อัปเดตเมื่อ settings: contact_information: - email: กรอกที่อยู่อีเมล์สาธารณะ - username: กรอกชื่อผู้ใช้ + email: อีเมลธุรกิจ + username: ชื่อผู้ใช้ในการติดต่อ + custom_css: + title: CSS ที่กำหนดเอง + profile_directory: + title: เปิดใช้งานไดเรกทอรีโปรไฟล์ registrations: closed_message: - desc_html: Displayed on frontpage when registrations are closed
ใช้ HTML tags ได้ - title: ปิดข้อความลงทะเบียน + desc_html: แสดงผลในหน้าแรกเมื่อปิดการลงทะเบียน คุณสามารถใช้แท็ก HTML + title: ข้อความการปิดการลงทะเบียน + deletion: + desc_html: อนุญาตให้ใครก็ตามลบบัญชีของเขา + title: เปิดการลบบัญชี + min_invite_role: + disabled: ไม่มีใคร + title: อนุญาตคำเชิญโดย + registrations_mode: + modes: + none: ไม่มีใครสามารถลงทะเบียน + open: ใครก็ตามสามารถลงทะเบียน + title: โหมดการลงทะเบียน + show_staff_badge: + desc_html: แสดงป้ายพนักงานในหน้าผู้ใช้ + title: แสดงป้ายพนักงาน site_description: - desc_html: Displayed as a paragraph on the frontpage and used as a meta tag.
ใช้ HTML tags ได้, in particular <a> และ <em>. - title: คำอธิบายไซต์ + desc_html: ย่อหน้าเกริ่นนำในหน้าแรก อธิบายถึงสิ่งที่ทำให้เซิร์ฟเวอร์ Mastodon นี้พิเศษและสิ่งอื่นใดที่สำคัญ คุณสามารถใช้แท็ก HTML โดยเฉพาะอย่างยิ่ง <a> และ <em> + title: คำอธิบายเซิร์ฟเวอร์ site_description_extended: - desc_html: Displayed on extended information page
You can use HTML tags - title: คำอธิบายไซต์เพิ่มเติม - site_title: ชื่อไซต์ - title: ตั้งค่าไซต์ + desc_html: สถานที่ที่ดีสำหรับแนวทางปฏิบัติ, กฎ, หลักเกณฑ์ และสิ่งอื่น ๆ ของคุณที่ทำให้เซิร์ฟเวอร์ของคุณแตกต่าง คุณสามารถใช้แท็ก HTML + title: ข้อมูลแบบขยายที่กำหนดเอง + site_short_description: + title: คำอธิบายเซิร์ฟเวอร์แบบสั้น + site_title: ชื่อเซิร์ฟเวอร์ + timeline_preview: + desc_html: แสดงเส้นเวลาสาธารณะในหน้าเริ่มต้น + title: ตัวอย่างเส้นเวลา + title: การตั้งค่าไซต์ + statuses: + back_to_account: กลับไปที่หน้าบัญชี + batch: + delete: ลบ + nsfw_off: ทำเครื่องหมายว่าไม่ละเอียดอ่อน + nsfw_on: ทำเครื่องหมายว่าละเอียดอ่อน + media: + title: สื่อ + no_media: ไม่มีสื่อ + title: สถานะบัญชี subscriptions: - callback_url: Callback URL - confirmed: ยืนยัน + callback_url: URL เรียกกลับ + confirmed: ยืนยันแล้ว expires_in: หมดอายุภายใน - last_delivery: จัดส่งครั้งล่าสุด + last_delivery: ส่งล่าสุด title: WebSub - topic: ชื่อเรื่อง - title: แอดมิน + topic: หัวข้อ + tags: + accounts: บัญชี + hidden: ซ่อนอยู่ + hide: ซ่อนจากไดเรกทอรี + name: แฮชแท็ก + title: แฮชแท็ก + unhide: แสดงในไดเรกทอรี + visible: มองเห็น + title: การดูแล + warning_presets: + add_new: เพิ่มใหม่ + delete: ลบ + edit: แก้ไข + edit_preset: แก้ไขคำเตือนที่ตั้งไว้ล่วงหน้า + title: จัดการคำเตือนที่ตั้งไว้ล่วงหน้า application_mailer: - settings: 'เปลี่ยนอีเมล์ preferences: %{link}' - view: 'วิว:' + notification_preferences: เปลี่ยนการกำหนดลักษณะอีเมล + settings: 'เปลี่ยนการกำหนดลักษณะอีเมล: %{link}' + view: 'มุมมอง:' + view_profile: ดูโปรไฟล์ + view_status: ดูสถานะ applications: - invalid_url: URL ที่ระบุไม่ถูกตั้ง + invalid_url: URL ที่ระบุไม่ถูกต้อง auth: + apply_for_account: ขอคำเชิญ + change_password: รหัสผ่าน + confirm_email: ยืนยันอีเมล + delete_account: ลบบัญชี didnt_get_confirmation: Didn't receive confirmation instructions? - forgot_password: คุณลืมพาสเวริ์ดใช่ัม้ย? - login: ล๊อคอิน - logout: ล๊อคเอาท์ - register: สมัคร + forgot_password: ลืมรหัสผ่านของคุณ? + login: เข้าสู่ระบบ + logout: ออกจากระบบ + migrate_account: ย้ายไปยังบัญชีอื่น + or_log_in_with: หรือเข้าสู่ระบบด้วย + providers: + cas: CAS + saml: SAML + register: ลงทะเบียน resend_confirmation: ส่งขั้นตอนวิธีการยืนยันใหม่อีกครั้ง - reset_password: เปลี่ยนรหัสผ่าน - security: Credentials + reset_password: ตั้งรหัสผ่านใหม่ + security: ความปลอดภัย set_new_password: ตั้งรหัสผ่านใหม่ + trouble_logging_in: มีปัญหาในการเข้าสู่ระบบ? authorize_follow: + already_following: คุณกำลังติดตามบัญชีนี้อยู่แล้ว error: Unfortunately, there was an error looking up the remote account follow: ติดตาม + following: 'สำเร็จ! คุณกำลังติดตาม:' + post_follow: + return: แสดงโปรไฟล์ของผู้ใช้ + web: ไปยังเว็บ title: ติดตาม %{acct} datetime: distance_in_words: - about_x_hours: "%{count}ช" - about_x_months: "%{count}ด" - about_x_years: "%{count}ป" - almost_x_years: "%{count}ป" - half_a_minute: ครึ่งนาที - less_than_x_minutes: "%{count}ม" - less_than_x_seconds: ไม่ถึงนาที - over_x_years: "%{count}ป" - x_days: "%{count}ด" - x_minutes: "%{count}น" - x_months: "%{count}ด" - x_seconds: "%{count}ว" + about_x_hours: "%{count} ชั่วโมง" + about_x_months: "%{count} เดือน" + about_x_years: "%{count} ปี" + almost_x_years: "%{count} ปี" + half_a_minute: เมื่อกี้นี้ + less_than_x_minutes: "%{count} นาที" + less_than_x_seconds: เมื่อกี้นี้ + over_x_years: "%{count} ปี" + x_days: "%{count} วัน" + x_minutes: "%{count} นาที" + x_months: "%{count} เดือน" + x_seconds: "%{count} วินาที" + deletes: + proceed: ลบบัญชี + success_msg: ลบบัญชีของคุณสำเร็จ + directories: + directory: ไดเรกทอรีโปรไฟล์ + explanation: ค้นพบผู้ใช้ตามความสนใจของเขา + explore_mastodon: สำรวจ %{title} errors: - '403': คุณไม่มีสิทธิ์เข้าดูหน้านี้. - '404': ไม่พบเพจที่คุณต้องการดู. - '410': เพจที่คุณต้องการดูไม่มีแล้ว. + '403': คุณไม่มีสิทธิดูหน้านี้ + '404': หน้าที่คุณกำลังมองหาไม่ได้อยู่ที่นี่ + '410': หน้าที่คุณกำลังมองหาไม่มีอยู่ที่นี่อีกต่อไป '422': - content: การตรวจสอบความปลอดภัยล้มเหลว. คุณกำลังบล๊อกคุกกี้อยู่? + content: การตรวจสอบความปลอดภัยล้มเหลว คุณกำลังปิดกั้นคุกกี้หรือไม่? title: การตรวจสอบความปลอดภัยล้มเหลว '429': Throttled + '500': + title: หน้านี้ไม่ถูกต้อง exports: - blocks: คุณบล๊อก + archive_takeout: + date: วันที่ + download: ดาวน์โหลดการเก็บถาวรของคุณ + request: ขอการเก็บถาวรของคุณ + size: ขนาด + blocks: คุณปิดกั้น csv: CSV + domain_blocks: การปิดกั้นโดเมน follows: คุณติดตาม + lists: รายการ mutes: คุณปิดเสียง - storage: ที่เก็บสื่อ + storage: ที่เก็บข้อมูลสื่อ + featured_tags: + add_new: เพิ่มใหม่ + filters: + contexts: + home: เส้นเวลาหน้าแรก + notifications: การแจ้งเตือน + public: เส้นเวลาสาธารณะ + thread: การสนทนา + edit: + title: แก้ไขตัวกรอง + index: + delete: ลบ + title: ตัวกรอง + new: + title: เพิ่มตัวกรองใหม่ + footer: + developers: นักพัฒนา + more: เพิ่มเติม… + resources: ทรัพยากร generic: - changes_saved_msg: บันทึกการแก้ไขแล้ว! + all: ทั้งหมด + changes_saved_msg: บันทึกการเปลี่ยนแปลงสำเร็จ! + copy: คัดลอก save_changes: บันทึกการเปลี่ยนแปลง validation_errors: one: Something isn't quite right yet! Please review the error below other: Something isn't quite right yet! Please review %{count} errors below imports: + modes: + merge: ผสาน + overwrite: เขียนทับ preface: You can import certain data like all the people you are following or blocking into your account on this instance, from files created by an export on another instance. success: Your data was successfully uploaded and will now be processed in due time types: - blocking: Blocking list - following: Following list - muting: Muting list - upload: Upload + blocking: รายการปิดกั้น + following: รายการติดตาม + muting: รายการปิดเสียง + upload: อัปโหลด + invites: + delete: ปิดใช้งาน + expires_in: + '1800': 30 นาที + '21600': 6 ชั่วโมง + '3600': 1 ชั่วโมง + '43200': 12 ชั่วโมง + '604800': 1 สัปดาห์ + '86400': 1 วัน + expires_in_prompt: ไม่เลย + generate: สร้าง + max_uses_prompt: ไม่มีขีดจำกัด + table: + expires_at: หมดอายุเมื่อ + title: เชิญผู้คน media_attachments: validations: - images_and_video: Cannot attach a video to a status that already contains images - too_many: แนบมากกว่า 4 ไฟล์ไม่ได้ + images_and_video: ไม่สามารถแนบวิดีโอกับสถานะที่มีภาพอยู่แล้ว + too_many: ไม่สามารถแนบมากกว่า 4 ไฟล์ + migrations: + acct: username@domain ของบัญชีใหม่ + proceed: บันทึก + moderation: + title: การควบคุม notification_mailer: digest: + action: ดูการแจ้งเตือนทั้งหมด body: Here is a brief summary of the messages you missed since your last visit on %{since} - mention: "%{name} ส่งข้อความถึงคุณ:" + mention: "%{name} ได้กล่าวถึงคุณใน:" new_followers_summary: - one: ยินดีด้วยคุณได้ผู้ติดตามคนใหม่! Yay! + one: นอกจากนี้คุณยังมีหนึ่งผู้ติดตามใหม่ขณะที่ไม่อยู่! เย่! other: You have gotten %{count} new followers! Amazing! subject: one: "1 new notification since your last visit \U0001F418" other: "%{count} new notifications since your last visit \U0001F418" favourite: - body: 'สเตตัสของคุณได้รับการกดถูกใจโดย %{name} :' - subject: "%{name} กดถูกใจสเตตัสของคุณ" + body: 'สถานะของคุณได้รับการชื่นชอบโดย %{name}:' + subject: "%{name} ได้ชื่นชอบสถานะของคุณ" + title: รายการโปรดใหม่ follow: - body: "%{name} กำลังติดตามคุณ" - subject: "%{name} ได้ติดตามคุณแล้ว" + body: "%{name} กำลังติดตามคุณ!" + subject: "%{name} กำลังติดตามคุณ" + title: ผู้ติดตามใหม่ follow_request: + action: จัดการคำขอติดตาม body: "%{name} ได้ขอติดตามคุณ" - subject: 'Pending follower: %{name}' + subject: 'ผู้ติดตามที่รอดำเนินการ: %{name}' + title: คำขอติดตามใหม่ mention: - body: 'You were mentioned by %{name} in:' - subject: You were mentioned by %{name} + action: ตอบกลับ + body: 'คุณได้รับการกล่าวถึงโดย %{name} ใน:' + subject: คุณได้รับการกล่าวถึงโดย %{name} + title: การกล่าวถึงใหม่ reblog: - body: 'Your status was boosted by %{name}:' - subject: "%{name} boosted your status" + body: 'สถานะของคุณได้รับการดันโดย %{name}:' + subject: "%{name} ได้ดันสถานะของคุณ" + title: การดันใหม่ number: human: decimal_units: @@ -231,54 +537,130 @@ th: trillion: T unit: '' pagination: - next: ต่อไป - prev: ย้อนกลับ + newer: ใหม่กว่า + next: ถัดไป + older: เก่ากว่า + prev: ก่อนหน้า truncate: "…" + preferences: + languages: ภาษา + other: อื่น ๆ + publishing: การเผยแพร่ + web: เว็บ + relationships: + activity: กิจกรรมบัญชี + relationship: ความสัมพันธ์ + remove_selected_domains: เอาผู้ติดตามทั้งหมดออกจากโดเมนที่เลือก + remove_selected_followers: เอาผู้ติดตามที่เลือกออก + remove_selected_follows: เลิกติดตามผู้ใช้ที่เลือก + status: สถานะบัญชี remote_follow: - acct: Enter your username@domain you want to follow from + acct: ป้อน username@domain ของคุณที่คุณต้องการกระทำจาก missing_resource: Could not find the required redirect URL for your account - proceed: Proceed to follow - prompt: 'You are going to follow:' + no_account_html: ไม่มีบัญชี? คุณสามารถ ลงทะเบียนที่นี่ + proceed: ดำเนินการต่อเพื่อติดตาม + prompt: 'คุณกำลังจะติดตาม:' + remote_interaction: + favourite: + proceed: ดำเนินการต่อเพื่อชื่นชอบ + prompt: 'คุณต้องการชื่นชอบโพสต์นี้:' + reblog: + proceed: ดำเนินการต่อเพื่อดัน + prompt: 'คุณต้องการดันโพสต์นี้:' + reply: + proceed: ดำเนินการต่อเพื่อตอบกลับ + prompt: 'คุณต้องการตอบกลับโพสต์นี้:' + remote_unfollow: + error: ข้อผิดพลาด + title: ชื่อเรื่อง + unfollowed: เลิกติดตามแล้ว + sessions: + activity: กิจกรรมล่าสุด + browser: เบราว์เซอร์ + ip: IP + revoke: เพิกถอน settings: - authorized_apps: Authorized apps - back: กลับไปที่แมสโทดอน + authorized_apps: แอปที่ได้รับอนุญาต + back: กลับไปที่ Mastodon + delete: การลบบัญชี + development: การพัฒนา edit_profile: แก้ไขโปรไฟล์ - export: นำข้อมูลออก + export: การส่งออกข้อมูล import: นำเข้า - preferences: Preferences - settings: ตั้งค่า - two_factor_authentication: Two-factor Authentication + notifications: การแจ้งเตือน + preferences: การกำหนดลักษณะ + relationships: การติดตามและผู้ติดตาม + settings: การตั้งค่า + two_factor_authentication: การรับรองความถูกต้องด้วยสองปัจจัย + your_apps: แอปพลิเคชันของคุณ statuses: + attached: + description: 'แนบ: %{attached}' + image: + one: "%{count} ภาพ" + other: "%{count} ภาพ" + video: + one: "%{count} วิดีโอ" + other: "%{count} วิดีโอ" + content_warning: 'คำเตือนเนื้อหา: %{warning}' open_in_web: เปิดในเว็บ over_character_limit: character limit of %{max} exceeded - show_more: แสดงเพิ่มอีก + pin_errors: + reblog: ไม่สามารถปักหมุดการดัน + poll: + total_votes: + one: "%{count} การลงคะแนน" + other: "%{count} การลงคะแนน" + show_more: แสดงเพิ่มเติม + sign_in_to_participate: ลงชื่อเข้าเพื่อเข้าร่วมการสนทนา + title: '%{name}: "%{quote}"' visibilities: - private: สำหรับผู้ติดตามเท่านั้น - private_long: ให้เห็นเฉพาะผู้ติดตาม - public: Public - public_long: เปิดให้ทุกคนเห็นได้ - unlisted: Unlisted + private: ผู้ติดตามเท่านั้น + private_long: แสดงต่อผู้ติดตามเท่านั้น + public: สาธารณะ + public_long: ทุกคนสามารถเห็น + unlisted: ไม่อยู่ในรายการ unlisted_long: Everyone can see, but not listed on public timelines stream_entries: + pinned: โพสต์ที่ปักหมุด reblogged: boosted - sensitive_content: Sensitive content + sensitive_content: เนื้อหาที่ละเอียดอ่อน + themes: + contrast: Mastodon (ความคมชัดสูง) + default: Mastodon (มืด) + mastodon-light: Mastodon (สว่าง) time: formats: - default: "%b %d, %Y, %H:%M" + default: "%d %b %Y, %H:%M" + month: "%b %Y" two_factor_authentication: code_hint: Enter the code generated by your authenticator app to confirm description_html: If you enable two-factor authentication, logging in will require you to be in possession of your phone, which will generate tokens for you to enter. - disable: ปิด - enable: เปิด - enabled_success: Two-factor authentication successfully enabled - generate_recovery_codes: สร้าง Recovery Codes + disable: ปิดใช้งาน + enable: เปิดใช้งาน + enabled: เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยแล้ว + enabled_success: เปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยสำเร็จ + generate_recovery_codes: สร้างรหัสกู้คืน instructions_html: "Scan this QR code into Google Authenticator or a similiar TOTP app on your phone. From now on, that app will generate tokens that you will have to enter when logging in." lost_recovery_codes: Recovery codes allow you to regain access to your account if you lose your phone. If you've lost your recovery codes, you can regenerate them here. Your old recovery codes will be invalidated. manual_instructions: 'If you can''t scan the QR code and need to enter it manually, here is the plain-text secret:' recovery_codes_regenerated: Recovery codes successfully regenerated recovery_instructions_html: If you ever lose access to your phone, you can use one of the recovery codes below to regain access to your account. Keep the recovery codes safe, for example by printing them and storing them with other important documents. setup: ตั้งค่า - wrong_code: รหัสที่กรอกไม่ถูกต้อง! Are server time and device time correct? + wrong_code: รหัสที่ป้อนไม่ถูกต้อง! เวลาเซิร์ฟเวอร์และเวลาอุปกรณ์ถูกต้องหรือไม่? + user_mailer: + warning: + title: + none: คำเตือน + silence: จำกัดบัญชีอยู่ + suspend: ระงับบัญชีอยู่ + welcome: + review_preferences_action: เปลี่ยนการกำหนดลักษณะ + subject: ยินดีต้อนรับสู่ Mastodon + tips: เคล็ดลับ users: - invalid_email: อีเมล์ไม่ถูกต้อง - invalid_otp_token: two-factor code ไม่ถูกต้อง + invalid_email: ที่อยู่อีเมลไม่ถูกต้อง + invalid_otp_token: รหัสสองปัจจัยไม่ถูกต้อง + signed_in_as: 'ลงชื่อเข้าเป็น:' + verification: + verification: การตรวจสอบ diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 12a92a698..bfacc86fc 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -4,6 +4,8 @@ zh-CN: about_hashtag_html: 这里展示的是带有话题标签 #%{hashtag} 的公开嘟文。如果你想与他们互动,你需要在任意一个 Mastodon 实例或与其兼容的网站上拥有一个帐户。 about_mastodon_html: Mastodon(长毛象)是一个建立在开放式网络协议和自由、开源软件之上的社交网络,有着类似于电子邮件的分布式设计。 about_this: 关于本实例 + active_count_after: 活跃 + active_footnote: 每月活跃用户 administered_by: 本实例的管理员: api: API apps: 移动应用 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index fb3d4f1f5..913442e17 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -2,84 +2,115 @@ zh-TW: about: about_hashtag_html: 這些是包含「#%{hashtag}」標籤的公開文章。只要你有任何 Mastodon 站點、或者其他站點的使用者,便可以與他們互動。 - about_mastodon_html: Mastodon (長毛象)是一個自由、開放原始碼的社群網站。它是一個分散式的服務,避免您的通訊被單一商業機構壟斷操控。請您選擇一家您信任的 Mastodon 站點,在上面建立帳號,然後您就可以和任一 Mastodon 站點上的使用者互通,享受無縫的社群網路交流。 + about_mastodon_html: Mastodon (長毛象)是一個自由、開放原始碼的社群網站。它是一個分散式的服務,避免您的通訊被單一商業機構壟斷操控。請您選擇一家您信任的 Mastodon 站點,在上面建立帳戶,然後您就可以和任一 Mastodon 站點上的使用者互通,享受無縫的社群網路交流。 about_this: 關於本站 + active_count_after: 活躍 + active_footnote: 每月活躍使用者 (MAU) administered_by: 管理者: api: API - apps: Mobile apps + apps: 行動應用程式 + apps_platforms: 在 iOS、Android 和其他平台使用 Mastodon + browse_directory: 依興趣瀏覽個人資料目錄和過濾器 + browse_public_posts: 在 Mastodon 瀏覽公開嘟文的即時串流 contact: 聯絡我們 contact_missing: 未設定 contact_unavailable: 未公開 + discover_users: 探索使用者 documentation: 文件 extended_description_html: |

這裡可以寫一些網站規則

本站點未有詳細介紹

generic_description: "%{domain} 是 Mastodon 網路中其中一個站點" + get_apps: 嘗試行動應用程式 hosted_on: 在 %{domain} 運作的 Mastodon 站點 learn_more: 了解詳細 + privacy_policy: 隱私權政策 + see_whats_happening: 看看發生什麼事 + server_stats: 伺服器統計: source_code: 原始碼 - status_count_after: 狀態 + status_count_after: + one: 條嘟文 + other: 條嘟文 status_count_before: 他們共嘟出了 + tagline: 關注朋友並探索新朋友 terms: 使用條款 - user_count_after: 使用者 - user_count_before: 這裡共註冊有 + user_count_after: + one: 位使用者 + other: 位使用者 + user_count_before: 註冊使用者數 what_is_mastodon: 什麼是 Mastodon? accounts: + choices_html: "%{name} 的選擇:" follow: 關注 - followers: 關注者 + followers: + one: 關注者 + other: 關注者 following: 正在關注 + joined: 加入於 %{date} + last_active: 上次活躍時間 + link_verified_on: 此連結的所有權已在 %{date} 檢查過 media: 媒體 moved_html: "%{name} 已經搬遷到 %{new_profile_link}:" network_hidden: 此訊息不可用 nothing_here: 暫時沒有內容可供顯示! people_followed_by: "%{name} 關注的人" people_who_follow: 關注 %{name} 的人 - posts: 嘟文 + posts: + one: 嘟文 + other: 嘟文 posts_tab_heading: 嘟文 posts_with_replies: 嘟文與回覆 - reserved_username: 此用戶名已被保留 + reserved_username: 此使用者名稱已被保留 roles: admin: 管理員 bot: 機器人 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: 網域 + by_domain: 站點 change_email: - changed_msg: E-mail更改成功! - current_email: 目前的E-mail - label: 更改E-mail - new_email: 新的E-mail - submit: 更改E-mail - title: 為 %{username} 更改E-mail + changed_msg: 已成功變更帳戶電子信箱位址! + current_email: 目前的電子信箱位址 + label: 變更電子信箱位址 + new_email: 新的電子信箱位址 + submit: 變更電子信箱位址 + title: 為 %{username} 變更電子信箱位址 confirm: 確定 confirmed: 已確定 confirming: 確定 + deleted: 已刪除 demote: 降級 disable: 停用 disable_two_factor_authentication: 停用兩階段認證 disabled: 已停用 display_name: 暱稱 - domain: 網域 + domain: 站點 edit: 編輯 - email: E-mail - email_status: E-mail狀態 + email: 電子信箱位址 + email_status: 電子信箱狀態 enable: 啟用 enabled: 已啟用 feed_url: 訂閱 URL followers: 關注者 followers_url: 關注者(Followers)URL follows: 正在關注 + header: 開頭 inbox_url: 收件箱 (Inbox) URL + invited_by: 邀請者 ip: IP 位址 + joined: 已加入 location: all: 全部 local: 本站 @@ -89,25 +120,31 @@ zh-TW: 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: 寄件箱 (Outbox) URL - perform_full_suspension: 進行停權 + pending: 等待審核中 + perform_full_suspension: 停權 profile_url: 個人檔案 URL promote: 晉級 protocol: 協議 public: 公開 push_subscription_expires: PuSH 訂閱過期 - redownload: 更新頭像 + redownload: 重新整理個人資料 + reject: 拒絕 remove_avatar: 取消頭像 + remove_header: 移除開頭 resend_confirmation: - already_confirmed: 此用戶已被確認 + already_confirmed: 此使用者已被確認 send: 重新發送驗證信 success: 驗證信發送成功! reset: 重設 @@ -118,34 +155,39 @@ zh-TW: admin: 管理員 moderator: 版主 staff: 管理人員 - user: 普通用戶 + user: 普通使用者 salmon_url: Salmon 網址 search: 搜尋 - shared_inbox_url: 公共收件箱 (Shared Inbox) URL + shared_inbox_url: 共享收件箱網址 show: - created_reports: 這個使用者提交的檢舉 - targeted_reports: 針對這個使用者的檢舉 + created_reports: 建立檢舉 + targeted_reports: 由其他人檢舉 silence: 靜音 + silenced: 已靜音 statuses: 嘟文 subscribe: 訂閱 + suspended: 已停權 title: 帳戶 - unconfirmed_email: 等待驗證的E-mail + unconfirmed_email: 未確認的電子信箱位址 undo_silenced: 取消靜音 undo_suspension: 取消停權 unsubscribe: 取消訂閱 username: 使用者名稱 + warn: 警告 web: 頁面 action_logs: actions: assigned_to_self_report: "%{name} 接受了檢舉 %{target}" - change_email_user: "%{name} 更改了使用者 %{target} 的E-mail" - confirm_user: "%{name} 確認了使用者 %{target} 的E-mail" + change_email_user: "%{name} 變更了使用者 %{target} 的電子信箱位址" + confirm_user: "%{name} 確認了使用者 %{target} 的電子信箱位址" + create_account_warning: "%{name} 已對 %{target} 送出警告" create_custom_emoji: "%{name} 加入自訂表情符號 %{target}" - create_domain_block: "%{name} 封鎖了網域 %{target}" - create_email_domain_block: "%{name} 封鎖了E-mail %{target}" + create_domain_block: "%{name} 封鎖了站點 %{target}" + create_email_domain_block: "%{name} 封鎖了電子信箱網域 %{target}" demote_user: "%{name} 把使用者 %{target} 降級" - destroy_domain_block: "%{name} 取消了對網域 %{target} 的封鎖" - destroy_email_domain_block: "%{name} 取消了對E-mail %{target} 的封鎖" + destroy_custom_emoji: "%{name} 破壞了 %{target} 表情符號" + destroy_domain_block: "%{name} 取消了對站點 %{target} 的封鎖" + destroy_email_domain_block: "%{name} 取消了對電子信箱網域 %{target} 的封鎖" destroy_status: "%{name} 刪除了 %{target} 的嘟文" disable_2fa_user: "%{name} 停用了使用者 %{target} 的兩階段認證" disable_custom_emoji: "%{name} 停用了自訂表情符號 %{target}" @@ -165,9 +207,10 @@ zh-TW: unsuspend_account: "%{name} 取消了使用者 %{target} 的停權狀態" update_custom_emoji: "%{name} 更新了自訂表情符號 %{target}" update_status: "%{name} 重整了 %{target} 的嘟文" + deleted_status: "(已刪除嘟文)" title: 營運日誌 custom_emojis: - by_domain: 網域 + by_domain: 站點 copied_msg: 成功將表情複製到本地 copy: 複製 copy_failed_msg: 無法將表情複製到本地 @@ -191,42 +234,76 @@ zh-TW: update_failed_msg: 無法更新表情符號 updated_msg: 已更新表情符號! upload: 上傳新的表情符號 + dashboard: + backlog: 未處理工作數 + config: 設定 + feature_deletions: 帳戶刪除 + feature_invites: 邀請連結 + feature_profile_directory: 個人資料目錄 + feature_registrations: 註冊 + feature_relay: 聯邦中繼站 + features: 功能 + hidden_service: 與隱密服務互連 + open_reports: 待處理檢舉數 + recent_users: 最近加入的使用者 + search: 全文搜尋 + single_user_mode: 單一使用者模式 + software: 軟體 + space: 儲存空間用量 + title: 儀表板 + total_users: 總使用者數 + trends: 趨勢 + week_interactions: 本週互動次數 + week_users_active: 本週活躍使用者數 + week_users_new: 本週新使用者數 domain_blocks: - add_new: 新增 - created_msg: 正在進行網域封鎖 - destroyed_msg: 已撤銷網域封鎖 - domain: 網域 + add_new: 新增欲封鎖域名 + created_msg: 正在進行站點封鎖 + destroyed_msg: 已撤銷站點封鎖 + domain: 站點 new: create: 新增封鎖 - hint: 網域封鎖動作並不會阻止帳戶紀錄被新增至資料庫,但會自動回溯性地對那些帳戶套用特定管理設定。 + hint: 站點封鎖動作並不會阻止帳戶紀錄被新增至資料庫,但會自動回溯性地對那些帳戶套用特定管理設定。 severity: - desc_html: "「自動靜音」令該網域下使用者的嘟文,設定為只對關注者顯示,沒有關注的人會看不到。 「自動刪除」會刪除將該網域下使用者的嘟文、媒體檔案和個人資料。「」則會拒絕接收來自該網域的媒體檔案。" + desc_html: "「靜音」令該站點下使用者的嘟文,設定為只對關注者顯示,沒有關注的人會看不到。「停權」會刪除將該站點下使用者的嘟文、媒體檔案和個人資料。「」則會拒絕接收來自該站點的媒體檔案。" noop: 無 - silence: 自動靜音 + silence: 靜音 suspend: 停權 - title: 新增封鎖網域 + title: 新增封鎖站點 reject_media: 拒絕媒體檔案 - reject_media_hint: 刪除本地緩存的媒體檔案,並且不再接收來自該網域的任何媒體檔案。與自動封鎖無關 + reject_media_hint: 刪除本地快取的媒體檔案,並且不再接收來自該站點的任何媒體檔案。與停權無關 + reject_reports: 拒絕檢舉 + reject_reports_hint: 忽略所有來自此站點的檢舉。與停權無關 + rejecting_media: 拒絕媒體檔案 + rejecting_reports: 拒絕檢舉中 + severity: + silence: 已靜音 + suspend: 已停權 show: - affected_accounts: 資料庫中有%{count}個使用者受影響 + affected_accounts: + one: 將影響到資料庫中的 1 個帳戶 + other: 將影響到資料庫中的 %{count} 個帳戶 retroactive: - silence: 對此網域的所有使用者取消靜音 - suspend: 對此網域的所有使用者取消封鎖 - title: 撤銷 %{domain} 的網域封鎖 + silence: 對此站點的所有使用者取消靜音 + suspend: 對此站點的所有使用者取消停權 + title: 撤銷 %{domain} 的站點封鎖 undo: 撤銷 - undo: 撤銷 + undo: 復原欲封鎖域名 email_domain_blocks: add_new: 加入新項目 - created_msg: 已新增E-mail封鎖 + created_msg: 已成功將電子信箱網域加入黑名單 delete: 刪除 - destroyed_msg: 已刪除E-mail封鎖 - domain: 網域 + destroyed_msg: 已成功從黑名單刪除電子信箱網域 + domain: 站點 new: - create: 新增網域 - title: 新增E-mail封鎖 - title: E-mail封鎖 + create: 新增站點 + title: 新增電子信箱黑名單項目 + title: 電子信箱黑名單 + followers: + back_to_account: 返回帳戶 + title: "%{acct} 的關注者" instances: - title: 已知站點 + title: 聯邦 invites: filter: all: 全部 @@ -234,6 +311,8 @@ zh-TW: expired: 已失效 title: 篩選 title: 邀請使用者 + relays: + description_html: "聯邦中繼站 是種中繼伺服器,會在訂閱並推送至此中繼站的伺服器之間交換大量的公開嘟文。中繼站也能協助小型或中型伺服器從聯邦中探索內容,而無須本地使用者手動關注遠端伺服器的其他使用者。" report_notes: created_msg: 檢舉記錄建立成功! destroyed_msg: 檢舉記錄刪除成功! @@ -262,7 +341,7 @@ zh-TW: reported_by: 檢舉人 resolved: 已解決 resolved_msg: 檢舉已處理! - status: 狀態 + status: 嘟文 title: 檢舉 unassign: 取消指派 unresolved: 未解決 @@ -272,17 +351,17 @@ zh-TW: desc_html: 本站使用者發佈的嘟文數量,以及本站的活躍使用者與一週內新使用者數量 title: 公開使用者活躍度的統計數據 bootstrap_timeline_accounts: - desc_html: 以半形逗號分隔多個使用者名。只能加入來自本站且未開啟保護的帳號。如果留空,則預設關注本站所有管理員。 + desc_html: 以半形逗號分隔多個使用者名。只能加入來自本站且未開啟保護的帳戶。如果留空,則預設關注本站所有管理員。 title: 新使用者預設關注 contact_information: - email: 請輸入一個公開E-mail + email: 用於聯絡的公開電子信箱位址 username: 請輸入使用者名稱 hero: - desc_html: 在首頁顯示。推薦最小 600x100px。如果留空,就會預設為站點預覽圖 + desc_html: 在首頁顯示。推薦最小 600x100px。如果留空,就會重設回伺服器預覽圖 title: 主題圖片 peers_api_enabled: - desc_html: 現在本站點在網路中已發現的網域 - title: 公開已知站點的列表 + desc_html: 本伺服器在聯邦中發現的站點 + title: 發布已知伺服器的列表 registrations: closed_message: desc_html: 關閉註冊時顯示在首頁的內容,可使用 HTML 標籤 @@ -300,18 +379,18 @@ zh-TW: desc_html: 在個人資料頁面上顯示管理人員標誌 title: 顯示管理人員標誌 site_description: - desc_html: "在首頁顯示,及在 meta 標籤中的站點簡介。可以使用 HTML 標籤,包括 <a><em>。" - title: 站點描述 + desc_html: 首頁上的介紹文字,描述此 Mastodon 伺服器的特別之處和其他重要資訊。可使用 HTML 標籤,包括 <a><em>。 + title: 伺服器描述 site_description_extended: - desc_html: 顯示在資訊頁的長版描述,可使用 HTML 標籤 + desc_html: 可放置行為準則、規定以及其他此伺服器特有的內容。可使用 HTML 標籤 title: 本站詳細資訊 site_terms: desc_html: 可以填寫自己的隱私權政策、使用條款或其他法律文本。可以使用 HTML 標籤 title: 自訂使用條款 - site_title: 站點名稱 + site_title: 伺服器名稱 thumbnail: desc_html: 用於在 OpenGraph 和 API 中顯示預覽圖。推薦大小 1200×630px - title: 本站縮圖 + title: 伺服器縮圖 timeline_preview: desc_html: 在主頁顯示本站時間軸 title: 時間軸預覽 @@ -342,9 +421,9 @@ zh-TW: body_remote: 來自 %{domain} 的使用者檢舉了使用者 %{target} subject: 來自 %{instance} 的使用者檢舉(#%{id}) application_mailer: - notification_preferences: 更改E-mail設定 - salutation: "%{name}," - settings: 修改E-mail設定︰ %{link} + notification_preferences: 變更電子信件設定 + salutation: "%{name}、" + settings: 變更電子信箱設定︰%{link} view: '進入瀏覽:' view_profile: 檢視個人資料頁 view_status: 檢視嘟文 @@ -357,9 +436,9 @@ zh-TW: warning: 警告,不要把它分享給任何人! your_token: 你的 token auth: - agreement_html: 註冊即表示你同意遵守本站點的規則使用條款。 + agreement_html: 按下下方的「註冊」即代表同意遵守 此伺服器的規則 以及 使用條款。 change_password: 密碼 - confirm_email: 確認E-mail + confirm_email: 確認電子信箱位址 delete_account: 刪除帳戶 delete_account_html: 如果你想刪除你的帳戶,請點擊這裡繼續。你需要確認你的操作。 didnt_get_confirmation: 沒有收到驗證信? @@ -367,14 +446,14 @@ zh-TW: invalid_reset_password_token: 密碼重設 token 無效或已過期。請重新設定密碼。 login: 登入 logout: 登出 - migrate_account: 轉移到另一個帳號 + migrate_account: 轉移到另一個帳戶 migrate_account_html: 如果你希望引導他人關注另一個帳戶,請到這裡設定。 or_log_in_with: 或透過其他方式登入 providers: cas: CAS saml: SAML register: 註冊 - resend_confirmation: 重新寄送E-mail + resend_confirmation: 重新寄送確認指引 reset_password: 重設密碼 security: 登入資訊 set_new_password: 設定新密碼 @@ -406,15 +485,15 @@ zh-TW: deletes: bad_password_msg: 想得美,駭客! 密碼輸入錯誤 confirm_password: 輸入你現在的密碼來驗證身份 - description_html: 繼續操作將會永久地、不可還原地刪除帳戶中的所有內容,然後凍結帳戶。你的用戶名將會被保留,以防有人冒用你的身份。 + description_html: 繼續操作將會永久地、不可還原地刪除帳戶中的所有內容,然後凍結帳戶。你的使用者名稱將會被保留,以防有人冒用你的身份。 proceed: 刪除帳戶 success_msg: 你的帳戶已經成功刪除 - warning_html: 我們只能保證本站點上的內容將會被徹底刪除。對於已經被廣泛傳播的內容,它們在本站點以外的某些地方可能仍然可見。此外,失去連接的站點以及停止接收訂閱的站點所儲存的數據亦無法刪除。 + warning_html: 我們只能保證本伺服器上的內容將會被徹底刪除。對於已經被廣泛傳播的內容,它們在本伺服器以外的某些地方可能仍然可見。此外,離線伺服器以及停止接收訂閱的伺服器所儲存的資料亦無法刪除。 warning_title: 關於已傳播的內容警告 errors: '403': 你沒有觀看這個頁面的權限。 '404': 您所尋找的網頁不存在。 - '410': 您所尋找的網頁已不存在。 + '410': 您所尋找的網頁此處已不存在。 '422': content: 安全驗證失敗。請確定有開啟瀏覽器 Cookies 功能? title: 安全驗證失敗 @@ -441,7 +520,7 @@ zh-TW: save_changes: 儲存修改 validation_errors: 送出的資料有 %{count} 個問題 imports: - preface: 您可以在此匯入您在其他站點所匯出的資料檔,包括關注的使用者、封鎖的使用者名單。 + preface: 您可以在此匯入您在其他伺服器所匯出的資料檔,包括關注的使用者、封鎖的使用者名單。 success: 資料檔上傳成功,正在匯入,請稍候 types: blocking: 您封鎖的使用者名單 @@ -464,7 +543,7 @@ zh-TW: invited_by: 你的邀請人是: max_uses: "%{count} 次" max_uses_prompt: 無限制 - prompt: 建立分享連結,邀請他人在本站點註冊 + prompt: 建立分享連結,邀請他人在本伺服器註冊 table: expires_at: 失效時間 uses: 已使用次數 @@ -536,7 +615,7 @@ zh-TW: publishing: 發佈 web: 站內 remote_follow: - acct: 請輸入您的︰使用者名稱@站點網域 + acct: 請輸入您的使用者名稱@站點網域 missing_resource: 無法找到資源 proceed: 下一步 prompt: '您希望關注:' @@ -567,7 +646,7 @@ zh-TW: weibo: 新浪微博 current_session: 目前的 session description: "%{platform} 上的 %{browser}" - explanation: 這些是現在正登入於你的 Mastodon 帳號的瀏覽器。 + explanation: 這些是現在正登入於你的 Mastodon 帳戶的瀏覽器。 ip: IP 位址 platforms: adobe_air: '' @@ -623,8 +702,8 @@ zh-TW: terms: title: "%{instance} 使用條款和隱私權政策" themes: - contrast: 高對比 - mastodon-light: Mastodon (亮色主題) + contrast: Mastodon(高對比) + mastodon-light: Mastodon(亮色主題) time: formats: default: "%Y年%-m月%d日 %H:%M" @@ -646,18 +725,18 @@ zh-TW: wrong_code: 您輸入的認證碼無效! 請確認伺服器時間與設備時間是否正確? user_mailer: backup_ready: - explanation: 你要求的 Mastodon 帳號完整備份檔案現已就緒,可供下載! + explanation: 你要求的 Mastodon 帳戶完整備份檔案現已就緒,可供下載! subject: 你的備份檔已可供下載 title: 檔案匯出 welcome: edit_profile_action: 設定個人資料 - edit_profile_step: 你可以設定你的個人資料,包括上傳頭像、橫幅圖片、更改顯示名稱等等。如果你想在新的關注者關注你之前對他們進行審核,你也可以選擇為你的帳戶設為「私人」。 + edit_profile_step: 你可以設定你的個人資料,包括上傳頭像、橫幅圖片、變更顯示名稱等等。如果你想在新的關注者關注你之前對他們進行審核,你也可以選擇為你的帳戶設為「私人」。 explanation: 下面是幾個小幫助,希望它們能幫到你 final_action: 開始嘟嘟 final_step: '開始嘟嘟吧! 即使你現在沒有關注者,其他人仍然能在本站時間軸或著話題標籤等地方看到你的公開嘟文。試著用 #introductions 這個話題標籤介紹一下自己吧。' full_handle: 你的完整帳戶名稱 - full_handle_hint: 你需要把這個告訴你的朋友們,這樣他們就能從另一個站點向你發送訊息或著關注你。 - review_preferences_action: 更改偏好設定 + full_handle_hint: 你需要把這告訴你的朋友們,這樣他們就能從另一個伺服器向你發送訊息或著關注你。 + review_preferences_action: 變更偏好設定 review_preferences_step: 記得調整你的偏好設定,比如你想接收什麼類型的電子郵件,或著你想把你的嘟文可見範圍預設設定什麼級別。如果你沒有暈車的話,考慮一下啟用「自動播放 GIF 動畫」這個選項吧。 subject: 歡迎來到 Mastodon tip_federated_timeline: 跨站公共時間軸可以讓你一窺更廣闊的 Mastodon 網路。不過,由於它們只顯示你的鄰居們所訂閱的內容,所以並不是全部。 @@ -667,7 +746,7 @@ zh-TW: tips: 小幫手 title: "%{name} 歡迎你的加入!" users: - invalid_email: E-mail格式不正確 + invalid_email: 電子信箱位址不正確 invalid_otp_token: 兩階段認證碼不正確 otp_lost_help_html: 如果你無法訪問這兩者,可以通過 %{email} 與我們聯繫 seamless_external_login: 由於你是從外部系統登入,所以不能設定密碼與電子郵件。 -- cgit From 94aceb85ad638cfd02fecce1aed0be5157bcb133 Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 24 Mar 2019 19:15:58 +0100 Subject: Do not empty timeline of blocked users on block (#10359) Fixes #10226 --- app/javascript/mastodon/reducers/timelines.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js index 94b570ecd..6a972f967 100644 --- a/app/javascript/mastodon/reducers/timelines.js +++ b/app/javascript/mastodon/reducers/timelines.js @@ -78,14 +78,15 @@ const updateTimeline = (state, timeline, status) => { })); }; -const deleteStatus = (state, id, accountId, references) => { +const deleteStatus = (state, id, accountId, references, exclude_account = null) => { state.keySeq().forEach(timeline => { - state = state.updateIn([timeline, 'items'], list => list.filterNot(item => item === id)); + if (exclude_account === null || (timeline !== `account:${exclude_account}` && !timeline.startsWith(`account:${exclude_account}:`))) + state = state.updateIn([timeline, 'items'], list => list.filterNot(item => item === id)); }); // Remove reblogs of deleted status references.forEach(ref => { - state = deleteStatus(state, ref[0], ref[1], []); + state = deleteStatus(state, ref[0], ref[1], [], exclude_account); }); return state; @@ -104,7 +105,7 @@ const filterTimelines = (state, relationship, statuses) => { } references = statuses.filter(item => item.get('reblog') === status.get('id')).map(item => [item.get('id'), item.get('account')]); - state = deleteStatus(state, status.get('id'), status.get('account'), references); + state = deleteStatus(state, status.get('id'), status.get('account'), references, relationship.id); }); return state; -- cgit From d8b6431aa7dcfd1ddf7c19558ccc04779921f7d3 Mon Sep 17 00:00:00 2001 From: rinsuki <428rinsuki+git@gmail.com> Date: Mon, 25 Mar 2019 23:01:09 +0900 Subject: Add allowfullscreen attribute to oembed iframe (#10370) for video player full screen button. --- app/serializers/oembed_serializer.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'app') diff --git a/app/serializers/oembed_serializer.rb b/app/serializers/oembed_serializer.rb index 0c8350e2d..01689633b 100644 --- a/app/serializers/oembed_serializer.rb +++ b/app/serializers/oembed_serializer.rb @@ -43,6 +43,7 @@ class OEmbedSerializer < ActiveModel::Serializer style: 'max-width: 100%; border: 0', width: width, height: height, + allowfullscreen: true, } content_tag(:iframe, nil, attributes) + content_tag(:script, nil, src: full_asset_url('embed.js', skip_pipeline: true), async: true) -- cgit From a96181f16f4ef74ce6a1efc5e893ddd87a127949 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Mar 2019 00:36:25 +0100 Subject: Redesign profile column in web UI to match design on public pages (#10337) * Redesign profile column in web UI to match design on public pages * Make the tab links text bolder --- .../features/account/components/action_bar.js | 190 ------------ .../mastodon/features/account/components/header.js | 280 +++++++++++------- .../features/account_timeline/components/header.js | 17 +- .../containers/header_container.js | 1 + app/javascript/styles/mastodon/components.scss | 328 +++++++++++---------- app/javascript/styles/mastodon/containers.scss | 1 + 6 files changed, 356 insertions(+), 461 deletions(-) delete mode 100644 app/javascript/mastodon/features/account/components/action_bar.js (limited to 'app') diff --git a/app/javascript/mastodon/features/account/components/action_bar.js b/app/javascript/mastodon/features/account/components/action_bar.js deleted file mode 100644 index 8ed4c917a..000000000 --- a/app/javascript/mastodon/features/account/components/action_bar.js +++ /dev/null @@ -1,190 +0,0 @@ -import React from 'react'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import PropTypes from 'prop-types'; -import DropdownMenuContainer from '../../../containers/dropdown_menu_container'; -import { NavLink } from 'react-router-dom'; -import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; -import { me, isStaff } from '../../../initial_state'; -import { shortNumberFormat } from '../../../utils/numbers'; - -const messages = defineMessages({ - mention: { id: 'account.mention', defaultMessage: 'Mention @{name}' }, - direct: { id: 'account.direct', defaultMessage: 'Direct message @{name}' }, - edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, - unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, - unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, - unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, - block: { id: 'account.block', defaultMessage: 'Block @{name}' }, - mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' }, - follow: { id: 'account.follow', defaultMessage: 'Follow' }, - report: { id: 'account.report', defaultMessage: 'Report @{name}' }, - share: { id: 'account.share', defaultMessage: 'Share @{name}\'s profile' }, - media: { id: 'account.media', defaultMessage: 'Media' }, - blockDomain: { id: 'account.block_domain', defaultMessage: 'Hide everything from {domain}' }, - unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, - hideReblogs: { id: 'account.hide_reblogs', defaultMessage: 'Hide boosts from @{name}' }, - showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' }, - pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, - preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, - follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, - favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, - lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' }, - blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' }, - domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' }, - mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, - endorse: { id: 'account.endorse', defaultMessage: 'Feature on profile' }, - unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' }, - add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' }, - admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' }, -}); - -export default @injectIntl -class ActionBar extends React.PureComponent { - - static propTypes = { - account: ImmutablePropTypes.map.isRequired, - onFollow: PropTypes.func, - onBlock: PropTypes.func.isRequired, - onMention: PropTypes.func.isRequired, - onDirect: PropTypes.func.isRequired, - onReblogToggle: PropTypes.func.isRequired, - onReport: PropTypes.func.isRequired, - onMute: PropTypes.func.isRequired, - onBlockDomain: PropTypes.func.isRequired, - onUnblockDomain: PropTypes.func.isRequired, - onEndorseToggle: PropTypes.func.isRequired, - onAddToList: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired, - }; - - handleShare = () => { - navigator.share({ - url: this.props.account.get('url'), - }); - } - - isStatusesPageActive = (match, location) => { - if (!match) { - return false; - } - return !location.pathname.match(/\/(followers|following)\/?$/); - } - - render () { - const { account, intl } = this.props; - - let menu = []; - let extraInfo = ''; - - if (account.get('id') !== me) { - menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention }); - menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.props.onDirect }); - menu.push(null); - } - - if ('share' in navigator) { - menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare }); - menu.push(null); - } - - if (account.get('id') === me) { - menu.push({ text: intl.formatMessage(messages.edit_profile), href: '/settings/profile' }); - menu.push({ text: intl.formatMessage(messages.preferences), href: '/settings/preferences' }); - menu.push({ text: intl.formatMessage(messages.pins), to: '/pinned' }); - menu.push(null); - menu.push({ text: intl.formatMessage(messages.follow_requests), to: '/follow_requests' }); - menu.push({ text: intl.formatMessage(messages.favourites), to: '/favourites' }); - menu.push({ text: intl.formatMessage(messages.lists), to: '/lists' }); - menu.push(null); - menu.push({ text: intl.formatMessage(messages.mutes), to: '/mutes' }); - menu.push({ text: intl.formatMessage(messages.blocks), to: '/blocks' }); - menu.push({ text: intl.formatMessage(messages.domain_blocks), to: '/domain_blocks' }); - } else { - if (account.getIn(['relationship', 'following'])) { - if (account.getIn(['relationship', 'showing_reblogs'])) { - menu.push({ text: intl.formatMessage(messages.hideReblogs, { name: account.get('username') }), action: this.props.onReblogToggle }); - } else { - menu.push({ text: intl.formatMessage(messages.showReblogs, { name: account.get('username') }), action: this.props.onReblogToggle }); - } - - menu.push({ text: intl.formatMessage(account.getIn(['relationship', 'endorsed']) ? messages.unendorse : messages.endorse), action: this.props.onEndorseToggle }); - menu.push({ text: intl.formatMessage(messages.add_or_remove_from_list), action: this.props.onAddToList }); - menu.push(null); - } - - if (account.getIn(['relationship', 'muting'])) { - menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute }); - } else { - menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.props.onMute }); - } - - if (account.getIn(['relationship', 'blocking'])) { - menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.props.onBlock }); - } else { - menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock }); - } - - menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport }); - } - - if (account.get('acct') !== account.get('username')) { - const domain = account.get('acct').split('@')[1]; - - extraInfo = ( -
- - {' '} - - - -
- ); - - menu.push(null); - - if (account.getIn(['relationship', 'domain_blocking'])) { - menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.props.onUnblockDomain }); - } else { - menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.props.onBlockDomain }); - } - } - - if (account.get('id') !== me && isStaff) { - menu.push(null); - menu.push({ text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), href: `/admin/accounts/${account.get('id')}` }); - } - - return ( -
- {extraInfo} - -
-
- - - {shortNumberFormat(account.get('statuses_count'))} - - - - - {shortNumberFormat(account.get('following_count'))} - - - - - {shortNumberFormat(account.get('followers_count'))} - -
- -
- -
-
-
- ); - } - -} diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index 7fe6d6a4f..41e394585 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -2,13 +2,15 @@ import React from 'react'; import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; -import IconButton from '../../../components/icon_button'; -import Motion from '../../ui/util/optional_motion'; -import spring from 'react-motion/lib/spring'; +import Button from 'mastodon/components/button'; import ImmutablePureComponent from 'react-immutable-pure-component'; -import { autoPlayGif, me } from '../../../initial_state'; +import { autoPlayGif, me, isStaff } from 'mastodon/initial_state'; import classNames from 'classnames'; import Icon from 'mastodon/components/icon'; +import Avatar from 'mastodon/components/avatar'; +import { shortNumberFormat } from 'mastodon/utils/numbers'; +import { NavLink } from 'react-router-dom'; +import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container'; const messages = defineMessages({ unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, @@ -18,6 +20,32 @@ const messages = defineMessages({ edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, linkVerifiedOn: { id: 'account.link_verified_on', defaultMessage: 'Ownership of this link was checked on {date}' }, account_locked: { id: 'account.locked_info', defaultMessage: 'This account privacy status is set to locked. The owner manually reviews who can follow them.' }, + mention: { id: 'account.mention', defaultMessage: 'Mention @{name}' }, + direct: { id: 'account.direct', defaultMessage: 'Direct message @{name}' }, + edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, + unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, + unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, + block: { id: 'account.block', defaultMessage: 'Block @{name}' }, + mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' }, + report: { id: 'account.report', defaultMessage: 'Report @{name}' }, + share: { id: 'account.share', defaultMessage: 'Share @{name}\'s profile' }, + media: { id: 'account.media', defaultMessage: 'Media' }, + blockDomain: { id: 'account.block_domain', defaultMessage: 'Hide everything from {domain}' }, + unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, + hideReblogs: { id: 'account.hide_reblogs', defaultMessage: 'Hide boosts from @{name}' }, + showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' }, + pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, + preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, + follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, + favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, + lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' }, + blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' }, + domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' }, + mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, + endorse: { id: 'account.endorse', defaultMessage: 'Feature on profile' }, + unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' }, + add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' }, + admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' }, }); const dateFormatOptions = { @@ -29,54 +57,6 @@ const dateFormatOptions = { minute: '2-digit', }; -class Avatar extends ImmutablePureComponent { - - static propTypes = { - account: ImmutablePropTypes.map.isRequired, - }; - - state = { - isHovered: false, - }; - - handleMouseOver = () => { - if (this.state.isHovered) return; - this.setState({ isHovered: true }); - } - - handleMouseOut = () => { - if (!this.state.isHovered) return; - this.setState({ isHovered: false }); - } - - render () { - const { account } = this.props; - const { isHovered } = this.state; - - return ( - - {({ radius }) => ( - - {account.get('acct')} - - )} - - ); - } - -} - export default @injectIntl class Header extends ImmutablePureComponent { @@ -85,64 +65,57 @@ class Header extends ImmutablePureComponent { onFollow: PropTypes.func.isRequired, onBlock: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, + domain: PropTypes.string.isRequired, }; openEditProfile = () => { window.open('/settings/profile', '_blank'); } + isStatusesPageActive = (match, location) => { + if (!match) { + return false; + } + + return !location.pathname.match(/\/(followers|following)\/?$/); + } + render () { - const { account, intl } = this.props; + const { account, intl, domain } = this.props; if (!account) { return null; } - let info = ''; - let mutingInfo = ''; + let info = []; let actionBtn = ''; let lockedIcon = ''; + let menu = []; if (me !== account.get('id') && account.getIn(['relationship', 'followed_by'])) { - info = ; + info.push(); } else if (me !== account.get('id') && account.getIn(['relationship', 'blocking'])) { - info = ; + info.push(); } if (me !== account.get('id') && account.getIn(['relationship', 'muting'])) { - mutingInfo = ; + info.push(); } else if (me !== account.get('id') && account.getIn(['relationship', 'domain_blocking'])) { - mutingInfo = ; + info.push(); } if (me !== account.get('id')) { if (!account.get('relationship')) { // Wait until the relationship is loaded actionBtn = ''; } else if (account.getIn(['relationship', 'requested'])) { - actionBtn = ( -
- -
- ); + actionBtn =

{mentionsPlaceholder} -
+
); } else if (this.props.onClick) { @@ -202,6 +202,7 @@ export default class StatusContent extends React.PureComponent { className={classNames} style={directionStyle} dangerouslySetInnerHTML={content} + lang={status.get('language')} onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp} />, @@ -220,6 +221,7 @@ export default class StatusContent extends React.PureComponent { className='status__content' style={directionStyle} dangerouslySetInnerHTML={content} + lang={status.get('language')} /> ); } diff --git a/app/lib/language_detector.rb b/app/lib/language_detector.rb index 70a9084d1..1e90af42d 100644 --- a/app/lib/language_detector.rb +++ b/app/lib/language_detector.rb @@ -3,7 +3,7 @@ class LanguageDetector include Singleton - CHARACTER_THRESHOLD = 140 + WORDS_THRESHOLD = 4 RELIABLE_CHARACTERS_RE = /[\p{Hebrew}\p{Arabic}\p{Syriac}\p{Thaana}\p{Nko}\p{Han}\p{Katakana}\p{Hiragana}\p{Hangul}]+/m def initialize @@ -37,7 +37,7 @@ class LanguageDetector end def sufficient_text_length?(text) - text.size >= CHARACTER_THRESHOLD + text.split(/\s+/).size >= WORDS_THRESHOLD end def language_specific_character_set?(text) -- cgit From 9745de883b198375ba23f7fde879f6d75ce2df0f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Mar 2019 01:24:09 +0100 Subject: Add `blocked_by` relationship to the REST API (#10373) --- app/presenters/account_relationships_presenter.rb | 6 +++++- app/serializers/rest/relationship_serializer.rb | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/presenters/account_relationships_presenter.rb b/app/presenters/account_relationships_presenter.rb index e4aaa65f6..b05673a3d 100644 --- a/app/presenters/account_relationships_presenter.rb +++ b/app/presenters/account_relationships_presenter.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class AccountRelationshipsPresenter - attr_reader :following, :followed_by, :blocking, + attr_reader :following, :followed_by, :blocking, :blocked_by, :muting, :requested, :domain_blocking, :endorsed @@ -12,6 +12,7 @@ class AccountRelationshipsPresenter @following = cached[:following].merge(Account.following_map(@uncached_account_ids, @current_account_id)) @followed_by = cached[:followed_by].merge(Account.followed_by_map(@uncached_account_ids, @current_account_id)) @blocking = cached[:blocking].merge(Account.blocking_map(@uncached_account_ids, @current_account_id)) + @blocked_by = cached[:blocked_by].merge(Account.blocked_by_map(@uncached_account_ids, @current_account_id)) @muting = cached[:muting].merge(Account.muting_map(@uncached_account_ids, @current_account_id)) @requested = cached[:requested].merge(Account.requested_map(@uncached_account_ids, @current_account_id)) @domain_blocking = cached[:domain_blocking].merge(Account.domain_blocking_map(@uncached_account_ids, @current_account_id)) @@ -22,6 +23,7 @@ class AccountRelationshipsPresenter @following.merge!(options[:following_map] || {}) @followed_by.merge!(options[:followed_by_map] || {}) @blocking.merge!(options[:blocking_map] || {}) + @blocked_by.merge!(options[:blocked_by_map] || {}) @muting.merge!(options[:muting_map] || {}) @requested.merge!(options[:requested_map] || {}) @domain_blocking.merge!(options[:domain_blocking_map] || {}) @@ -37,6 +39,7 @@ class AccountRelationshipsPresenter following: {}, followed_by: {}, blocking: {}, + blocked_by: {}, muting: {}, requested: {}, domain_blocking: {}, @@ -64,6 +67,7 @@ class AccountRelationshipsPresenter following: { account_id => following[account_id] }, followed_by: { account_id => followed_by[account_id] }, blocking: { account_id => blocking[account_id] }, + blocked_by: { account_id => blocked_by[account_id] }, muting: { account_id => muting[account_id] }, requested: { account_id => requested[account_id] }, domain_blocking: { account_id => domain_blocking[account_id] }, diff --git a/app/serializers/rest/relationship_serializer.rb b/app/serializers/rest/relationship_serializer.rb index c6c722a54..1a3fd915c 100644 --- a/app/serializers/rest/relationship_serializer.rb +++ b/app/serializers/rest/relationship_serializer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class REST::RelationshipSerializer < ActiveModel::Serializer - attributes :id, :following, :showing_reblogs, :followed_by, :blocking, + attributes :id, :following, :showing_reblogs, :followed_by, :blocking, :blocked_by, :muting, :muting_notifications, :requested, :domain_blocking, :endorsed @@ -27,6 +27,10 @@ class REST::RelationshipSerializer < ActiveModel::Serializer instance_options[:relationships].blocking[object.id] || false end + def blocked_by + instance_options[:relationships].blocked_by[object.id] || false + end + def muting instance_options[:relationships].muting[object.id] ? true : false end -- cgit From e11796432514afb49f3d891f805973a37f00fcf1 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Mar 2019 01:24:19 +0100 Subject: Change icons of features on admin dashboard to remove bias (#10366) Red crosses implied that it was bad/unexpected that certain features were not enabled. In reality, they are options, so showing a green or grey power-off icon is more appropriate. Add status of timeline preview as well Fix sample accounts changing too frequently due to wrong query Sample accounts are intended to be sorted by popularity --- app/controllers/admin/dashboard_controller.rb | 1 + app/controllers/directories_controller.rb | 2 +- app/helpers/admin/dashboard_helper.rb | 10 +++ app/javascript/styles/mastodon/admin.scss | 5 ++ app/models/account.rb | 2 +- app/views/admin/dashboard/index.html.haml | 94 +++++++-------------------- config/locales/en.yml | 1 + 7 files changed, 43 insertions(+), 72 deletions(-) create mode 100644 app/helpers/admin/dashboard_helper.rb (limited to 'app') diff --git a/app/controllers/admin/dashboard_controller.rb b/app/controllers/admin/dashboard_controller.rb index 22bbcec19..f23ed1508 100644 --- a/app/controllers/admin/dashboard_controller.rb +++ b/app/controllers/admin/dashboard_controller.rb @@ -29,6 +29,7 @@ module Admin @hidden_service = ENV['ALLOW_ACCESS_TO_HIDDEN_SERVICE'] == 'true' @trending_hashtags = TrendingTags.get(7) @profile_directory = Setting.profile_directory + @timeline_preview = Setting.timeline_preview end private diff --git a/app/controllers/directories_controller.rb b/app/controllers/directories_controller.rb index ff7ff4a42..594907674 100644 --- a/app/controllers/directories_controller.rb +++ b/app/controllers/directories_controller.rb @@ -32,7 +32,7 @@ class DirectoriesController < ApplicationController end def set_accounts - @accounts = Account.discoverable.page(params[:page]).per(40).tap do |query| + @accounts = Account.discoverable.by_recent_status.page(params[:page]).per(40).tap do |query| query.merge!(Account.tagged_with(@tag.id)) if @tag end end diff --git a/app/helpers/admin/dashboard_helper.rb b/app/helpers/admin/dashboard_helper.rb new file mode 100644 index 000000000..4ee2cdef4 --- /dev/null +++ b/app/helpers/admin/dashboard_helper.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +module Admin::DashboardHelper + def feature_hint(feature, enabled) + indicator = safe_join([enabled ? t('simple_form.yes') : t('simple_form.no'), fa_icon('power-off fw')], ' ') + class_names = enabled ? 'pull-right positive-hint' : 'pull-right neutral-hint' + + safe_join([feature, content_tag(:span, indicator, class: class_names)]) + end +end diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index f6bfe44cf..fd5c08f04 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -220,6 +220,11 @@ $content-width: 840px; color: $error-value-color; font-weight: 500; } + + .neutral-hint { + color: $dark-text-color; + font-weight: 500; + } } @media screen and (max-width: $no-columns-breakpoint) { diff --git a/app/models/account.rb b/app/models/account.rb index c2a0709f9..51e01246e 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -94,7 +94,7 @@ class Account < ApplicationRecord scope :matches_display_name, ->(value) { where(arel_table[:display_name].matches("#{value}%")) } scope :matches_domain, ->(value) { where(arel_table[:domain].matches("%#{value}%")) } scope :searchable, -> { without_suspended.where(moved_to_account_id: nil) } - scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).joins(:account_stat).where(AccountStat.arel_table[:followers_count].gteq(MIN_FOLLOWERS_DISCOVERY)).by_recent_status } + scope :discoverable, -> { searchable.without_silenced.where(discoverable: true).joins(:account_stat).where(AccountStat.arel_table[:followers_count].gteq(MIN_FOLLOWERS_DISCOVERY)) } scope :tagged_with, ->(tag) { joins(:accounts_tags).where(accounts_tags: { tag_id: tag }) } scope :by_recent_status, -> { order(Arel.sql('(case when account_stats.last_status_at is null then 1 else 0 end) asc, account_stats.last_status_at desc')) } scope :popular, -> { order('account_stats.followers_count desc') } diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml index fa3d70e9e..d448e3862 100644 --- a/app/views/admin/dashboard/index.html.haml +++ b/app/views/admin/dashboard/index.html.haml @@ -40,35 +40,17 @@ %h4= t 'admin.dashboard.features' %ul %li - = link_to t('admin.dashboard.feature_registrations'), edit_admin_settings_path - - if @registrations_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - = link_to t('admin.dashboard.feature_invites'), edit_admin_settings_path - - if @invites_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - = link_to t('admin.dashboard.feature_deletions'), edit_admin_settings_path - - if @deletions_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - = link_to t('admin.dashboard.feature_profile_directory'), edit_admin_settings_path - - if @profile_directory - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - = link_to t('admin.dashboard.feature_relay'), admin_relays_path - - if @relay_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' + = feature_hint(link_to(t('admin.dashboard.feature_registrations'), edit_admin_settings_path), @registrations_enabled) + %li + = feature_hint(link_to(t('admin.dashboard.feature_invites'), edit_admin_settings_path), @invites_enabled) + %li + = feature_hint(link_to(t('admin.dashboard.feature_deletions'), edit_admin_settings_path), @deletions_enabled) + %li + = feature_hint(link_to(t('admin.dashboard.feature_profile_directory'), edit_admin_settings_path), @profile_directory) + %li + = feature_hint(link_to(t('admin.dashboard.feature_timeline_preview'), edit_admin_settings_path), @timeline_preview) + %li + = feature_hint(link_to(t('admin.dashboard.feature_relay'), admin_relays_path), @relay_enabled) .dashboard__widgets__versions %div @@ -103,47 +85,19 @@ %h4= t 'admin.dashboard.config' %ul %li - = t('admin.dashboard.search') - - if @search_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - = t('admin.dashboard.single_user_mode') - - if @single_user_mode - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - LDAP - - if @ldap_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - CAS - - if @cas_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - SAML - - if @saml_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - PAM - - if @pam_enabled - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' - %li - = t 'admin.dashboard.hidden_service' - - if @hidden_service - %span.pull-right.positive-hint= fa_icon 'check fw' - - else - %span.pull-right.negative-hint= fa_icon 'times fw' + = feature_hint(t('admin.dashboard.search'), @search_enabled) + %li + = feature_hint(t('admin.dashboard.single_user_mode'), @single_user_mode) + %li + = feature_hint('LDAP', @ldap_enabled) + %li + = feature_hint('CAS', @cas_enabled) + %li + = feature_hint('SAML', @saml_enabled) + %li + = feature_hint('PAM', @pam_enabled) + %li + = feature_hint(t('admin.dashboard.hidden_service'), @hidden_service) .dashboard__widgets__trends %div diff --git a/config/locales/en.yml b/config/locales/en.yml index b0bf2539c..ad1332fd2 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -245,6 +245,7 @@ en: feature_profile_directory: Profile directory feature_registrations: Registrations feature_relay: Federation relay + feature_timeline_preview: Timeline preview features: Features hidden_service: Federation with hidden services open_reports: open reports -- cgit From 186f7bcbb64e289fb732272c67eae6cb59276941 Mon Sep 17 00:00:00 2001 From: mayaeh Date: Tue, 26 Mar 2019 13:31:09 +0900 Subject: Fix menu items that don't action (#10379) --- .../mastodon/features/account_timeline/components/header.js | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'app') diff --git a/app/javascript/mastodon/features/account_timeline/components/header.js b/app/javascript/mastodon/features/account_timeline/components/header.js index 7c621c090..16ada18c0 100644 --- a/app/javascript/mastodon/features/account_timeline/components/header.js +++ b/app/javascript/mastodon/features/account_timeline/components/header.js @@ -98,6 +98,15 @@ export default class Header extends ImmutablePureComponent { account={account} onFollow={this.handleFollow} onBlock={this.handleBlock} + onMention={this.handleMention} + onDirect={this.handleDirect} + onReblogToggle={this.handleReblogToggle} + onReport={this.handleReport} + onMute={this.handleMute} + onBlockDomain={this.handleBlockDomain} + onUnblockDomain={this.handleUnblockDomain} + onEndorseToggle={this.handleEndorseToggle} + onAddToList={this.handleAddToList} domain={this.props.domain} /> -- cgit From 68f2211f00dfa3f823ad780ed748c1af0078a0cf Mon Sep 17 00:00:00 2001 From: Hinaloe Date: Tue, 26 Mar 2019 19:13:20 +0900 Subject: Do not set CSRF Token when no csrf header (#10383) --- app/javascript/mastodon/api.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/api.js b/app/javascript/mastodon/api.js index 4be3eadb0..98d59de43 100644 --- a/app/javascript/mastodon/api.js +++ b/app/javascript/mastodon/api.js @@ -13,10 +13,14 @@ export const getLinks = response => { }; let csrfHeader = {}; + function setCSRFHeader() { - const csrfToken = document.querySelector('meta[name=csrf-token]').content; - csrfHeader['X-CSRF-Token'] = csrfToken; + const csrfToken = document.querySelector('meta[name=csrf-token]'); + if (csrfToken) { + csrfHeader['X-CSRF-Token'] = csrfToken.content; + } } + ready(setCSRFHeader); export default getState => axios.create({ -- cgit From 648cf8bfd51913929b7d0d3a637de496d6e40f89 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 23 Mar 2019 02:24:01 +0100 Subject: [Glitch] Add custom closed registrations message to landing page when set Port SCSS changes from 55a9658ad8552804c7c585df12d46c391b84dd94 to glitch-soc --- app/javascript/flavours/glitch/styles/forms.scss | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'app') diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss index 9ef45e425..3ea104786 100644 --- a/app/javascript/flavours/glitch/styles/forms.scss +++ b/app/javascript/flavours/glitch/styles/forms.scss @@ -475,6 +475,42 @@ code { } } } + + &__overlay-area { + position: relative; + + &__overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + background: rgba($ui-base-color, 0.65); + backdrop-filter: blur(2px); + border-radius: 4px; + + &__content { + text-align: center; + + &.rich-formatting { + &, + p { + color: $primary-text-color; + } + } + } + } + } +} + +.block-icon { + display: block; + margin: 0 auto; + margin-bottom: 10px; + font-size: 24px; } .flash-message { -- cgit From d680c6199395534881fe61d18c23c3b40df3f53c Mon Sep 17 00:00:00 2001 From: ThibG Date: Sun, 24 Mar 2019 19:15:58 +0100 Subject: [Glitch] Do not empty timeline of blocked users on block Port 94aceb85ad638cfd02fecce1aed0be5157bcb133 to glitch-soc --- app/javascript/flavours/glitch/reducers/timelines.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/reducers/timelines.js b/app/javascript/flavours/glitch/reducers/timelines.js index ca71c3833..cb233de1c 100644 --- a/app/javascript/flavours/glitch/reducers/timelines.js +++ b/app/javascript/flavours/glitch/reducers/timelines.js @@ -73,14 +73,15 @@ const updateTimeline = (state, timeline, status) => { })); }; -const deleteStatus = (state, id, accountId, references) => { +const deleteStatus = (state, id, accountId, references, exclude_account = null) => { state.keySeq().forEach(timeline => { - state = state.updateIn([timeline, 'items'], list => list.filterNot(item => item === id)); + if (exclude_account === null || (timeline !== `account:${exclude_account}` && !timeline.startsWith(`account:${exclude_account}:`))) + state = state.updateIn([timeline, 'items'], list => list.filterNot(item => item === id)); }); // Remove reblogs of deleted status references.forEach(ref => { - state = deleteStatus(state, ref[0], ref[1], []); + state = deleteStatus(state, ref[0], ref[1], [], exclude_account); }); return state; @@ -99,7 +100,7 @@ const filterTimelines = (state, relationship, statuses) => { } references = statuses.filter(item => item.get('reblog') === status.get('id')).map(item => [item.get('id'), item.get('account')]); - state = deleteStatus(state, status.get('id'), status.get('account'), references); + state = deleteStatus(state, status.get('id'), status.get('account'), references, relationship.id); }); return state; -- cgit From 614bd3f8d4bd52d3b9e7de8ac9611023760674dd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Mar 2019 01:23:59 +0100 Subject: [Glitch] Add `lang` attribute to statuses in web UI Port JS changes from e6cfa7ab897ac4fd6bf9bbcafe09fc42c4cc2c5d to glitch-soc --- app/javascript/flavours/glitch/components/status_content.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/components/status_content.js b/app/javascript/flavours/glitch/components/status_content.js index 98a34ebaf..a62844185 100644 --- a/app/javascript/flavours/glitch/components/status_content.js +++ b/app/javascript/flavours/glitch/components/status_content.js @@ -198,7 +198,7 @@ export default class StatusContent extends React.PureComponent {
@@ -231,6 +232,7 @@ export default class StatusContent extends React.PureComponent {
{media} @@ -243,7 +245,7 @@ export default class StatusContent extends React.PureComponent { style={directionStyle} tabIndex='0' > -
+
{media}
); -- cgit From 89a0fa30531eec1d10757ac13225661596b2f91b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Mar 2019 01:24:19 +0100 Subject: [Glitch] Change icons of features on admin dashboard to remove bias Port SCSS changes from e11796432514afb49f3d891f805973a37f00fcf1 to glitch-soc --- app/javascript/flavours/glitch/styles/admin.scss | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'app') diff --git a/app/javascript/flavours/glitch/styles/admin.scss b/app/javascript/flavours/glitch/styles/admin.scss index 42f53f525..05c7821e4 100644 --- a/app/javascript/flavours/glitch/styles/admin.scss +++ b/app/javascript/flavours/glitch/styles/admin.scss @@ -220,6 +220,11 @@ $content-width: 840px; color: $error-value-color; font-weight: 500; } + + .neutral-hint { + color: $dark-text-color; + font-weight: 500; + } } @media screen and (max-width: $no-columns-breakpoint) { -- cgit From 872eab57847e21a349e02af3260a6d6b3f550ecb Mon Sep 17 00:00:00 2001 From: Hinaloe Date: Tue, 26 Mar 2019 19:13:20 +0900 Subject: [Glitch] Do not set CSRF Token when no csrf header Port 68f2211f00dfa3f823ad780ed748c1af0078a0cf to glitch-soc --- app/javascript/flavours/glitch/util/api.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/util/api.js b/app/javascript/flavours/glitch/util/api.js index 033d2d67b..c59a24518 100644 --- a/app/javascript/flavours/glitch/util/api.js +++ b/app/javascript/flavours/glitch/util/api.js @@ -13,10 +13,14 @@ export const getLinks = response => { }; let csrfHeader = {}; + function setCSRFHeader() { - const csrfToken = document.querySelector('meta[name=csrf-token]').content; - csrfHeader['X-CSRF-Token'] = csrfToken; + const csrfToken = document.querySelector('meta[name=csrf-token]'); + if (csrfToken) { + csrfHeader['X-CSRF-Token'] = csrfToken.content; + } } + ready(setCSRFHeader); export default getState => axios.create({ -- cgit From 6f6abc369f113b174fe191cf562098fe01c2eeec Mon Sep 17 00:00:00 2001 From: Aditoo17 <42938951+Aditoo17@users.noreply.github.com> Date: Tue, 26 Mar 2019 17:33:07 +0100 Subject: Make clicking on avatar open public profile in new tab (#10387) --- app/javascript/mastodon/features/account/components/header.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index 41e394585..fd7ad5e07 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 {
- + -- cgit From 0c46bd11aa3dd5613ba49dfeed6971dc92587956 Mon Sep 17 00:00:00 2001 From: ThibG Date: Tue, 26 Mar 2019 17:33:26 +0100 Subject: Fix HTML validation (#10354) * Fix HTML validation * Report first HTML error instead on validation error --- app/validators/html_validator.rb | 10 +++++++--- config/locales/en.yml | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/validators/html_validator.rb b/app/validators/html_validator.rb index 882c35d41..b7caee5a9 100644 --- a/app/validators/html_validator.rb +++ b/app/validators/html_validator.rb @@ -3,12 +3,16 @@ class HtmlValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) return if value.blank? - record.errors.add(attribute, I18n.t('html_validator.invalid_markup')) unless valid_html?(value) + errors = html_errors(value) + unless errors.empty? + record.errors.add(attribute, I18n.t('html_validator.invalid_markup', error: errors.first.to_s)) + end end private - def valid_html?(str) - Nokogiri::HTML.fragment(str).to_s == str + def html_errors(str) + fragment = Nokogiri::HTML.fragment(str) + fragment.errors end end diff --git a/config/locales/en.yml b/config/locales/en.yml index ad1332fd2..42ba4e35e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -638,7 +638,7 @@ en: one: Something isn't quite right yet! Please review the error below other: Something isn't quite right yet! Please review %{count} errors below html_validator: - invalid_markup: contains invalid HTML markup + invalid_markup: 'contains invalid HTML markup: %{error}' identity_proofs: active: Active authorize: Yes, authorize -- cgit From 6df4a8296996181d56a22535b86830c0ab56086e Mon Sep 17 00:00:00 2001 From: ThibG Date: Tue, 26 Mar 2019 17:34:02 +0100 Subject: Add a “Block & Report” button to the block confirmation dialog (#10360) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/javascript/mastodon/components/status_action_bar.js | 2 +- app/javascript/mastodon/containers/status_container.js | 9 ++++++++- .../features/account_timeline/containers/header_container.js | 6 ++++++ .../mastodon/features/status/components/action_bar.js | 2 +- .../features/status/containers/detailed_status_container.js | 9 ++++++++- app/javascript/mastodon/features/status/index.js | 9 ++++++++- .../mastodon/features/ui/components/confirmation_modal.js | 12 +++++++++++- app/javascript/styles/mastodon/components.scss | 1 + 8 files changed, 44 insertions(+), 6 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js index 53d17d418..0bfbd8879 100644 --- a/app/javascript/mastodon/components/status_action_bar.js +++ b/app/javascript/mastodon/components/status_action_bar.js @@ -139,7 +139,7 @@ class StatusActionBar extends ImmutablePureComponent { } handleBlockClick = () => { - this.props.onBlock(this.props.status.get('account')); + this.props.onBlock(this.props.status); } handleOpen = () => { diff --git a/app/javascript/mastodon/containers/status_container.js b/app/javascript/mastodon/containers/status_container.js index b3555c76e..0fce674e2 100644 --- a/app/javascript/mastodon/containers/status_container.js +++ b/app/javascript/mastodon/containers/status_container.js @@ -38,6 +38,7 @@ const messages = defineMessages({ blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' }, replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' }, replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' }, + blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' }, }); const makeMapStateToProps = () => { @@ -134,11 +135,17 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ dispatch(openModal('VIDEO', { media, time })); }, - onBlock (account) { + onBlock (status) { + const account = status.get('account'); dispatch(openModal('CONFIRM', { message: @{account.get('acct')} }} />, confirm: intl.formatMessage(messages.blockConfirm), onConfirm: () => dispatch(blockAccount(account.get('id'))), + secondary: intl.formatMessage(messages.blockAndReport), + onSecondary: () => { + dispatch(blockAccount(account.get('id'))); + dispatch(initReport(account, status)); + }, })); }, diff --git a/app/javascript/mastodon/features/account_timeline/containers/header_container.js b/app/javascript/mastodon/features/account_timeline/containers/header_container.js index df742f9ec..a06a0b095 100644 --- a/app/javascript/mastodon/features/account_timeline/containers/header_container.js +++ b/app/javascript/mastodon/features/account_timeline/containers/header_container.js @@ -26,6 +26,7 @@ const messages = defineMessages({ unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' }, blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' }, blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Hide entire domain' }, + blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' }, }); const makeMapStateToProps = () => { @@ -65,6 +66,11 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ message: @{account.get('acct')} }} />, confirm: intl.formatMessage(messages.blockConfirm), onConfirm: () => dispatch(blockAccount(account.get('id'))), + secondary: intl.formatMessage(messages.blockAndReport), + onSecondary: () => { + dispatch(blockAccount(account.get('id'))); + dispatch(initReport(account)); + }, })); } }, diff --git a/app/javascript/mastodon/features/status/components/action_bar.js b/app/javascript/mastodon/features/status/components/action_bar.js index 73be1fc5f..3e511b7a6 100644 --- a/app/javascript/mastodon/features/status/components/action_bar.js +++ b/app/javascript/mastodon/features/status/components/action_bar.js @@ -92,7 +92,7 @@ class ActionBar extends React.PureComponent { } handleBlockClick = () => { - this.props.onBlock(this.props.status.get('account')); + this.props.onBlock(this.props.status); } handleReport = () => { diff --git a/app/javascript/mastodon/features/status/containers/detailed_status_container.js b/app/javascript/mastodon/features/status/containers/detailed_status_container.js index 2c0db0a6b..61e0c428a 100644 --- a/app/javascript/mastodon/features/status/containers/detailed_status_container.js +++ b/app/javascript/mastodon/features/status/containers/detailed_status_container.js @@ -38,6 +38,7 @@ const messages = defineMessages({ blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' }, replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' }, replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' }, + blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' }, }); const makeMapStateToProps = () => { @@ -135,11 +136,17 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ dispatch(openModal('VIDEO', { media, time })); }, - onBlock (account) { + onBlock (status) { + const account = status.get('account'); dispatch(openModal('CONFIRM', { message: @{account.get('acct')} }} />, confirm: intl.formatMessage(messages.blockConfirm), onConfirm: () => dispatch(blockAccount(account.get('id'))), + secondary: intl.formatMessage(messages.blockAndReport), + onSecondary: () => { + dispatch(blockAccount(account.get('id'))); + dispatch(initReport(account, status)); + }, })); }, diff --git a/app/javascript/mastodon/features/status/index.js b/app/javascript/mastodon/features/status/index.js index 3b5febcac..c0ea460e8 100644 --- a/app/javascript/mastodon/features/status/index.js +++ b/app/javascript/mastodon/features/status/index.js @@ -57,6 +57,7 @@ const messages = defineMessages({ detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' }, replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' }, replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' }, + blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' }, }); const makeMapStateToProps = () => { @@ -253,13 +254,19 @@ class Status extends ImmutablePureComponent { } } - handleBlockClick = (account) => { + handleBlockClick = (status) => { const { dispatch, intl } = this.props; + const account = status.get('account'); dispatch(openModal('CONFIRM', { message: @{account.get('acct')} }} />, confirm: intl.formatMessage(messages.blockConfirm), onConfirm: () => dispatch(blockAccount(account.get('id'))), + secondary: intl.formatMessage(messages.blockAndReport), + onSecondary: () => { + dispatch(blockAccount(account.get('id'))); + dispatch(initReport(account, status)); + }, })); } diff --git a/app/javascript/mastodon/features/ui/components/confirmation_modal.js b/app/javascript/mastodon/features/ui/components/confirmation_modal.js index f0f3ad134..1227fa453 100644 --- a/app/javascript/mastodon/features/ui/components/confirmation_modal.js +++ b/app/javascript/mastodon/features/ui/components/confirmation_modal.js @@ -11,6 +11,8 @@ class ConfirmationModal extends React.PureComponent { confirm: PropTypes.string.isRequired, onClose: PropTypes.func.isRequired, onConfirm: PropTypes.func.isRequired, + secondary: PropTypes.string, + onSecondary: PropTypes.func, intl: PropTypes.object.isRequired, }; @@ -23,6 +25,11 @@ class ConfirmationModal extends React.PureComponent { this.props.onConfirm(); } + handleSecondary = () => { + this.props.onClose(); + this.props.onSecondary(); + } + handleCancel = () => { this.props.onClose(); } @@ -32,7 +39,7 @@ class ConfirmationModal extends React.PureComponent { } render () { - const { message, confirm } = this.props; + const { message, confirm, secondary } = this.props; return (
@@ -44,6 +51,9 @@ class ConfirmationModal extends React.PureComponent { + {secondary !== undefined && ( +
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index be48378f6..3feb62331 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -4128,6 +4128,7 @@ a.status-card.compact:hover { .confirmation-modal__action-bar, .mute-modal__action-bar { + .confirmation-modal__secondary-button, .confirmation-modal__cancel-button, .mute-modal__cancel-button { background-color: transparent; -- cgit From 9e80b34a95c39d0a1a944713f0f4d6cc5e8b8c43 Mon Sep 17 00:00:00 2001 From: ThibG Date: Tue, 26 Mar 2019 17:34:02 +0100 Subject: [Glitch] Add a “Block & Report” button to the block confirmation dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Port 6df4a8296996181d56a22535b86830c0ab56086e to glitch-soc --- .../flavours/glitch/components/status_action_bar.js | 2 +- .../flavours/glitch/containers/status_container.js | 9 ++++++++- .../features/account_timeline/containers/header_container.js | 6 ++++++ .../flavours/glitch/features/status/components/action_bar.js | 2 +- .../features/status/containers/detailed_status_container.js | 9 ++++++++- app/javascript/flavours/glitch/features/status/index.js | 9 ++++++++- .../glitch/features/ui/components/confirmation_modal.js | 12 +++++++++++- app/javascript/flavours/glitch/styles/components/modal.scss | 1 + 8 files changed, 44 insertions(+), 6 deletions(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/components/status_action_bar.js b/app/javascript/flavours/glitch/components/status_action_bar.js index 1d3130604..e0cc652d2 100644 --- a/app/javascript/flavours/glitch/components/status_action_bar.js +++ b/app/javascript/flavours/glitch/components/status_action_bar.js @@ -146,7 +146,7 @@ export default class StatusActionBar extends ImmutablePureComponent { } handleBlockClick = () => { - this.props.onBlock(this.props.status.get('account')); + this.props.onBlock(this.props.status); } handleOpen = () => { diff --git a/app/javascript/flavours/glitch/containers/status_container.js b/app/javascript/flavours/glitch/containers/status_container.js index f783878b0..60636feb4 100644 --- a/app/javascript/flavours/glitch/containers/status_container.js +++ b/app/javascript/flavours/glitch/containers/status_container.js @@ -35,6 +35,7 @@ const messages = defineMessages({ blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' }, replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' }, replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' }, + blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' }, }); const makeMapStateToProps = () => { @@ -169,11 +170,17 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ dispatch(openModal('VIDEO', { media, time })); }, - onBlock (account) { + onBlock (status) { + const account = status.get('account'); dispatch(openModal('CONFIRM', { message: @{account.get('acct')} }} />, confirm: intl.formatMessage(messages.blockConfirm), onConfirm: () => dispatch(blockAccount(account.get('id'))), + secondary: intl.formatMessage(messages.blockAndReport), + onSecondary: () => { + dispatch(blockAccount(account.get('id'))); + dispatch(initReport(account, status)); + }, })); }, diff --git a/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js b/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js index e333c31a1..df74ca890 100644 --- a/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js +++ b/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js @@ -26,6 +26,7 @@ const messages = defineMessages({ unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' }, blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' }, blockDomainConfirm: { id: 'confirmations.domain_block.confirm', defaultMessage: 'Hide entire domain' }, + blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' }, }); const makeMapStateToProps = () => { @@ -64,6 +65,11 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ message: @{account.get('acct')} }} />, confirm: intl.formatMessage(messages.blockConfirm), onConfirm: () => dispatch(blockAccount(account.get('id'))), + secondary: intl.formatMessage(messages.blockAndReport), + onSecondary: () => { + dispatch(blockAccount(account.get('id'))); + dispatch(initReport(account)); + }, })); } }, diff --git a/app/javascript/flavours/glitch/features/status/components/action_bar.js b/app/javascript/flavours/glitch/features/status/components/action_bar.js index 66cc10d78..8291319c3 100644 --- a/app/javascript/flavours/glitch/features/status/components/action_bar.js +++ b/app/javascript/flavours/glitch/features/status/components/action_bar.js @@ -98,7 +98,7 @@ export default class ActionBar extends React.PureComponent { } handleBlockClick = () => { - this.props.onBlock(this.props.status.get('account')); + this.props.onBlock(this.props.status); } handleReport = () => { diff --git a/app/javascript/flavours/glitch/features/status/containers/detailed_status_container.js b/app/javascript/flavours/glitch/features/status/containers/detailed_status_container.js index 6d3909ea7..e6c390537 100644 --- a/app/javascript/flavours/glitch/features/status/containers/detailed_status_container.js +++ b/app/javascript/flavours/glitch/features/status/containers/detailed_status_container.js @@ -38,6 +38,7 @@ const messages = defineMessages({ blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' }, replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' }, replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' }, + blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' }, }); const makeMapStateToProps = () => { @@ -136,11 +137,17 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ dispatch(openModal('VIDEO', { media, time })); }, - onBlock (account) { + onBlock (status) { + const account = status.get('account'); dispatch(openModal('CONFIRM', { message: @{account.get('acct')} }} />, confirm: intl.formatMessage(messages.blockConfirm), onConfirm: () => dispatch(blockAccount(account.get('id'))), + secondary: intl.formatMessage(messages.blockAndReport), + onSecondary: () => { + dispatch(blockAccount(account.get('id'))); + dispatch(initReport(account, status)); + }, })); }, diff --git a/app/javascript/flavours/glitch/features/status/index.js b/app/javascript/flavours/glitch/features/status/index.js index 73d3c7e9e..7f8f02188 100644 --- a/app/javascript/flavours/glitch/features/status/index.js +++ b/app/javascript/flavours/glitch/features/status/index.js @@ -54,6 +54,7 @@ const messages = defineMessages({ detailedStatus: { id: 'status.detailed_status', defaultMessage: 'Detailed conversation view' }, replyConfirm: { id: 'confirmations.reply.confirm', defaultMessage: 'Reply' }, replyMessage: { id: 'confirmations.reply.message', defaultMessage: 'Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?' }, + blockAndReport: { id: 'confirmations.block.block_and_report', defaultMessage: 'Block & Report' }, tootHeading: { id: 'column.toot', defaultMessage: 'Toots and replies' }, }); @@ -279,13 +280,19 @@ export default class Status extends ImmutablePureComponent { this.setState({ isExpanded: !isExpanded, threadExpanded: !isExpanded }); } - handleBlockClick = (account) => { + handleBlockClick = (status) => { const { dispatch, intl } = this.props; + const account = status.get('account'); dispatch(openModal('CONFIRM', { message: @{account.get('acct')} }} />, confirm: intl.formatMessage(messages.blockConfirm), onConfirm: () => dispatch(blockAccount(account.get('id'))), + secondary: intl.formatMessage(messages.blockAndReport), + onSecondary: () => { + dispatch(blockAccount(account.get('id'))); + dispatch(initReport(account, status)); + }, })); } diff --git a/app/javascript/flavours/glitch/features/ui/components/confirmation_modal.js b/app/javascript/flavours/glitch/features/ui/components/confirmation_modal.js index 07281f818..970df30b6 100644 --- a/app/javascript/flavours/glitch/features/ui/components/confirmation_modal.js +++ b/app/javascript/flavours/glitch/features/ui/components/confirmation_modal.js @@ -11,6 +11,8 @@ export default class ConfirmationModal extends React.PureComponent { confirm: PropTypes.string.isRequired, onClose: PropTypes.func.isRequired, onConfirm: PropTypes.func.isRequired, + secondary: PropTypes.string, + onSecondary: PropTypes.func, onDoNotAsk: PropTypes.func, intl: PropTypes.object.isRequired, }; @@ -27,6 +29,11 @@ export default class ConfirmationModal extends React.PureComponent { } } + handleSecondary = () => { + this.props.onClose(); + this.props.onSecondary(); + } + handleCancel = () => { this.props.onClose(); } @@ -40,7 +47,7 @@ export default class ConfirmationModal extends React.PureComponent { } render () { - const { message, confirm, onDoNotAsk } = this.props; + const { message, confirm, secondary, onDoNotAsk } = this.props; return (
@@ -61,6 +68,9 @@ export default class ConfirmationModal extends React.PureComponent { + {secondary !== undefined && ( +
diff --git a/app/javascript/flavours/glitch/styles/components/modal.scss b/app/javascript/flavours/glitch/styles/components/modal.scss index 3598959e7..fece8593b 100644 --- a/app/javascript/flavours/glitch/styles/components/modal.scss +++ b/app/javascript/flavours/glitch/styles/components/modal.scss @@ -671,6 +671,7 @@ .confirmation-modal__action-bar, .mute-modal__action-bar { + .confirmation-modal__secondary-button, .confirmation-modal__cancel-button, .mute-modal__cancel-button { background-color: transparent; -- cgit From a91acf79b53307ada584f449da1369c0216a24d1 Mon Sep 17 00:00:00 2001 From: ThibG Date: Tue, 26 Mar 2019 23:05:21 +0100 Subject: Move the account dropdown menubar to the right, make sure it doesn't move (#10390) * Move the account dropdown menubar to the right, make sure it doesn't move * Fix margin --- app/javascript/mastodon/features/account/components/header.js | 4 ++-- app/javascript/styles/mastodon/components.scss | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index fd7ad5e07..0a3345f0e 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -219,9 +219,9 @@ class Header extends ImmutablePureComponent {
- - {actionBtn} + +
diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 3feb62331..f63c66d46 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -5300,7 +5300,7 @@ noscript { .avatar { display: block; flex: 0 0 auto; - width: 90px; + width: 94px; margin-left: -2px; .account__avatar { @@ -5319,12 +5319,16 @@ noscript { display: flex; align-items: center; padding-top: 55px; + overflow: hidden; .icon-button { border: 1px solid lighten($ui-base-color, 12%); border-radius: 4px; box-sizing: content-box; padding: 2px; + } + + .button { margin: 0 8px; } } -- cgit From 497a958297c7265e7a9fea8f61d577934192fc55 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Wed, 27 Mar 2019 14:04:46 +0100 Subject: Revert "Fix compilation after emoji-picker change" This reverts commit 8ea344fed40ae1dccf5e1b6ecfd0014128c10fb7. --- app/javascript/styles/mastodon/emoji_picker.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/javascript/styles/mastodon/emoji_picker.scss b/app/javascript/styles/mastodon/emoji_picker.scss index 94578ffee..d53f41a0b 100644 --- a/app/javascript/styles/mastodon/emoji_picker.scss +++ b/app/javascript/styles/mastodon/emoji_picker.scss @@ -1,4 +1,4 @@ -@import '~emoji-mart/css/emoji-mart.css'; +@import '../../../node_modules/emoji-mart/css/emoji-mart.css'; .emoji-mart { &, -- cgit From 355d384d8d5d2e4588117507a7ded1eb6ff67c05 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Wed, 27 Mar 2019 14:04:52 +0100 Subject: Revert "[Glitch] fix: update to emoji-mart 2.10.0" This reverts commit 49bea8c46b006d8c86285c8b1158cd700dc2eb45. --- .../flavours/glitch/features/emoji_picker/index.js | 51 +++++----------------- .../flavours/glitch/styles/components/emoji.scss | 4 +- .../glitch/styles/components/emoji_picker.scss | 25 ++--------- .../flavours/glitch/util/emoji/emoji_picker.js | 4 +- 4 files changed, 19 insertions(+), 65 deletions(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/features/emoji_picker/index.js b/app/javascript/flavours/glitch/features/emoji_picker/index.js index d963039dc..a78117971 100644 --- a/app/javascript/flavours/glitch/features/emoji_picker/index.js +++ b/app/javascript/flavours/glitch/features/emoji_picker/index.js @@ -129,7 +129,6 @@ class ModifierPickerMenu extends React.PureComponent { active: PropTypes.bool, onSelect: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired, - modifier: PropTypes.number, }; handleClick = e => { @@ -166,36 +165,20 @@ class ModifierPickerMenu extends React.PureComponent { setRef = c => { this.node = c; - if (this.node) { - this.node.querySelector('li:first-child button').focus(); // focus the first element when opened - } } render () { - const { active, modifier } = this.props; + const { active } = this.props; return ( -
    - {[1, 2, 3, 4, 5, 6].map(i => ( -
  • - -
  • - ))} -
+
+ + + + + + +
); } @@ -227,22 +210,10 @@ class ModifierPicker extends React.PureComponent { render () { const { active, modifier } = this.props; - function setRef(ref) { - if (!ref) { - return; - } - // TODO: It would be nice if we could pass props directly to emoji-mart's buttons. - const button = ref.querySelector('button'); - button.setAttribute('aria-haspopup', 'true'); - button.setAttribute('aria-expanded', active); - } - return (
-
- -
- + +
); } diff --git a/app/javascript/flavours/glitch/styles/components/emoji.scss b/app/javascript/flavours/glitch/styles/components/emoji.scss index ccfd42f28..dd386d698 100644 --- a/app/javascript/flavours/glitch/styles/components/emoji.scss +++ b/app/javascript/flavours/glitch/styles/components/emoji.scss @@ -44,11 +44,11 @@ box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2); overflow: hidden; - li { + button { display: block; cursor: pointer; border: 0; - padding: 3px 8px; + padding: 4px 8px; background: transparent; &:hover, diff --git a/app/javascript/flavours/glitch/styles/components/emoji_picker.scss b/app/javascript/flavours/glitch/styles/components/emoji_picker.scss index 171623352..dcc551c5b 100644 --- a/app/javascript/flavours/glitch/styles/components/emoji_picker.scss +++ b/app/javascript/flavours/glitch/styles/components/emoji_picker.scss @@ -1,5 +1,3 @@ -@import '~emoji-mart/css/emoji-mart.css'; - .emoji-mart { &, * { @@ -53,14 +51,6 @@ &:hover { color: darken($lighter-text-color, 4%); - - svg { - fill: darken($lighter-text-color, 4%); - } - } - - svg { - fill: $lighter-text-color; } } @@ -69,19 +59,11 @@ &:hover { color: darken($highlight-text-color, 4%); - - svg { - fill: darken($highlight-text-color, 4%); - } } .emoji-mart-anchor-bar { bottom: 0; } - - svg { - fill: $highlight-text-color; - } } .emoji-mart-anchor-bar { @@ -101,6 +83,7 @@ } svg { + fill: currentColor; max-height: 18px; } } @@ -120,14 +103,15 @@ } .emoji-mart-search { - margin: 10px 40px 10px 5px; + padding: 10px; + padding-right: 45px; background: $simple-background-color; input { font-size: 14px; font-weight: 400; padding: 7px 9px; - font-family: $font-sans-serif; + font-family: inherit; display: block; width: 100%; background: rgba($ui-secondary-color, 0.3); @@ -182,7 +166,6 @@ font-weight: 500; padding: 5px 6px; background: $simple-background-color; - font-family: $font-sans-serif; } } diff --git a/app/javascript/flavours/glitch/util/emoji/emoji_picker.js b/app/javascript/flavours/glitch/util/emoji/emoji_picker.js index 73fcaa8c8..044d38cb2 100644 --- a/app/javascript/flavours/glitch/util/emoji/emoji_picker.js +++ b/app/javascript/flavours/glitch/util/emoji/emoji_picker.js @@ -1,5 +1,5 @@ -import Picker from 'emoji-mart/dist-modern/components/picker/picker'; -import Emoji from 'emoji-mart/dist-modern/components/emoji/emoji'; +import Picker from 'emoji-mart/dist-es/components/picker/picker'; +import Emoji from 'emoji-mart/dist-es/components/emoji/emoji'; export { Picker, -- cgit From 3a2f646cb125c80b82a2a67a622994d332ede811 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Wed, 27 Mar 2019 14:04:58 +0100 Subject: Revert "fix: update to emoji-mart 2.10.0 (#10281)" This reverts commit db06b25376ac7e844e86fb9890fa9f1c2edd2d60. --- .../compose/components/emoji_picker_dropdown.js | 51 +++++----------------- .../mastodon/features/emoji/emoji_picker.js | 4 +- app/javascript/styles/mastodon/components.scss | 4 +- app/javascript/styles/mastodon/emoji_picker.scss | 25 ++--------- config/webpack/rules/node_modules.js | 11 +---- package.json | 2 +- yarn.lock | 9 ++-- 7 files changed, 24 insertions(+), 82 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js index 038d93483..c1429c756 100644 --- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js +++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js @@ -50,7 +50,6 @@ class ModifierPickerMenu extends React.PureComponent { active: PropTypes.bool, onSelect: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired, - modifier: PropTypes.number, }; handleClick = e => { @@ -87,36 +86,20 @@ class ModifierPickerMenu extends React.PureComponent { setRef = c => { this.node = c; - if (this.node) { - this.node.querySelector('li:first-child button').focus(); // focus the first element when opened - } } render () { - const { active, modifier } = this.props; + const { active } = this.props; return ( -
    - {[1, 2, 3, 4, 5, 6].map(i => ( -
  • - -
  • - ))} -
+
+ + + + + + +
); } @@ -148,22 +131,10 @@ class ModifierPicker extends React.PureComponent { render () { const { active, modifier } = this.props; - function setRef(ref) { - if (!ref) { - return; - } - // TODO: It would be nice if we could pass props directly to emoji-mart's buttons. - const button = ref.querySelector('button'); - button.setAttribute('aria-haspopup', 'true'); - button.setAttribute('aria-expanded', active); - } - return (
-
- -
- + +
); } diff --git a/app/javascript/mastodon/features/emoji/emoji_picker.js b/app/javascript/mastodon/features/emoji/emoji_picker.js index 73fcaa8c8..044d38cb2 100644 --- a/app/javascript/mastodon/features/emoji/emoji_picker.js +++ b/app/javascript/mastodon/features/emoji/emoji_picker.js @@ -1,5 +1,5 @@ -import Picker from 'emoji-mart/dist-modern/components/picker/picker'; -import Emoji from 'emoji-mart/dist-modern/components/emoji/emoji'; +import Picker from 'emoji-mart/dist-es/components/picker/picker'; +import Emoji from 'emoji-mart/dist-es/components/emoji/emoji'; export { Picker, diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 5580d9783..5e1f865ea 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -3222,11 +3222,11 @@ a.status-card.compact:hover { box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2); overflow: hidden; - li { + button { display: block; cursor: pointer; border: 0; - padding: 3px 8px; + padding: 4px 8px; background: transparent; &:hover, diff --git a/app/javascript/styles/mastodon/emoji_picker.scss b/app/javascript/styles/mastodon/emoji_picker.scss index d53f41a0b..e49084b5f 100644 --- a/app/javascript/styles/mastodon/emoji_picker.scss +++ b/app/javascript/styles/mastodon/emoji_picker.scss @@ -1,5 +1,3 @@ -@import '../../../node_modules/emoji-mart/css/emoji-mart.css'; - .emoji-mart { &, * { @@ -53,14 +51,6 @@ &:hover { color: darken($lighter-text-color, 4%); - - svg { - fill: darken($lighter-text-color, 4%); - } - } - - svg { - fill: $lighter-text-color; } } @@ -69,19 +59,11 @@ &:hover { color: darken($highlight-text-color, 4%); - - svg { - fill: darken($highlight-text-color, 4%); - } } .emoji-mart-anchor-bar { bottom: -1px; } - - svg { - fill: $highlight-text-color; - } } .emoji-mart-anchor-bar { @@ -101,6 +83,7 @@ } svg { + fill: currentColor; max-height: 18px; } } @@ -120,14 +103,15 @@ } .emoji-mart-search { - margin: 10px 40px 10px 5px; + padding: 10px; + padding-right: 45px; background: $simple-background-color; input { font-size: 14px; font-weight: 400; padding: 7px 9px; - font-family: $font-sans-serif; + font-family: inherit; display: block; width: 100%; background: rgba($ui-secondary-color, 0.3); @@ -182,7 +166,6 @@ font-weight: 500; padding: 5px 6px; background: $simple-background-color; - font-family: $font-sans-serif; } } diff --git a/config/webpack/rules/node_modules.js b/config/webpack/rules/node_modules.js index 5debc1b5d..7ed05504b 100644 --- a/config/webpack/rules/node_modules.js +++ b/config/webpack/rules/node_modules.js @@ -11,16 +11,7 @@ module.exports = { options: { babelrc: false, plugins: [ - [ - 'transform-react-remove-prop-types', - { - mode: 'remove', - removeImport: true, - additionalLibraries: [ - '../../utils/shared-props', // emoji-mart - ], - }, - ], + 'transform-react-remove-prop-types', ], cacheDirectory: join(settings.cache_path, 'babel-loader-node-modules'), cacheCompression: env.NODE_ENV === 'production', diff --git a/package.json b/package.json index 0225f68da..b5963acd4 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "cssnano": "^4.1.10", "detect-passive-events": "^1.0.2", "dotenv": "^6.2.0", - "emoji-mart": "^2.10.0", + "emoji-mart": "Gargron/emoji-mart#build", "es6-symbol": "^3.1.1", "escape-html": "^1.0.3", "exif-js": "^2.3.0", diff --git a/yarn.lock b/yarn.lock index 22f8abd48..11fe49fa6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3177,12 +3177,9 @@ elliptic@^6.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -emoji-mart@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/emoji-mart/-/emoji-mart-2.10.0.tgz#e1adec430f4963f79055b12b80e6d60c5abb742d" - integrity sha512-VhcX463f8TDaQc1Tpc8rI31E15+8KXOYff1vwjokjMT52bZlCQCyq3zrnNScSYjv95f1+R4DMMreeuPvYFvOhg== - dependencies: - prop-types "^15.6.0" +emoji-mart@Gargron/emoji-mart#build: + version "2.6.2" + resolved "https://codeload.github.com/Gargron/emoji-mart/tar.gz/ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9" emoji-regex@^6.5.1: version "6.5.1" -- cgit From 11fe293e1b318a12b75f0c5d1bb208fdbb46417e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 27 Mar 2019 15:55:23 +0100 Subject: Remove unused ActivityPub `@context` values depending on response (#10378) Fix #8078 --- app/lib/activitypub/adapter.rb | 75 +++++++++++------- app/lib/activitypub/serializer.rb | 30 ++++++++ .../activitypub/accept_follow_serializer.rb | 2 +- app/serializers/activitypub/activity_serializer.rb | 2 +- app/serializers/activitypub/actor_serializer.rb | 13 +++- app/serializers/activitypub/add_serializer.rb | 2 +- app/serializers/activitypub/block_serializer.rb | 2 +- .../activitypub/collection_serializer.rb | 2 +- .../activitypub/delete_actor_serializer.rb | 2 +- app/serializers/activitypub/delete_serializer.rb | 6 +- app/serializers/activitypub/emoji_serializer.rb | 4 +- app/serializers/activitypub/flag_serializer.rb | 2 +- app/serializers/activitypub/follow_serializer.rb | 2 +- app/serializers/activitypub/image_serializer.rb | 4 +- app/serializers/activitypub/like_serializer.rb | 2 +- app/serializers/activitypub/note_serializer.rb | 15 ++-- .../activitypub/public_key_serializer.rb | 4 +- .../activitypub/reject_follow_serializer.rb | 2 +- app/serializers/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 +- app/serializers/activitypub/update_serializer.rb | 2 +- app/serializers/activitypub/vote_serializer.rb | 4 +- config/initializers/active_model_serializers.rb | 19 +++++ spec/lib/activitypub/adapter_spec.rb | 88 ++++++++++++++++++++++ 28 files changed, 235 insertions(+), 61 deletions(-) create mode 100644 app/lib/activitypub/serializer.rb create mode 100644 spec/lib/activitypub/adapter_spec.rb (limited to 'app') diff --git a/app/lib/activitypub/adapter.rb b/app/lib/activitypub/adapter.rb index 99f4d9305..7e0b16c25 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', - - { - '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', - }, - ], + NAMED_CONTEXT_MAP = { + activitystreams: 'https://www.w3.org/ns/activitystreams', + security: 'https://w3id.org/security/v1', + }.freeze + + 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 000000000..07bd8c494 --- /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 3e23591a5..1c1c6ab73 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 c001e28aa..c06d5c87c 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 6746c1782..4b982b955 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 c0906e8d0..6f5aab17f 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 624ce2fce..e6c69329d 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 b03609957..da1ba735f 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 ddf59be97..a6c5e2385 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 5012a8383..a7d5bd469 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 7b06b1e5d..4dc38f3ea 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 1e7a46dd9..2f2a707d3 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 bb204ee8f..9228d7716 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 3c08f77e8..1060f9691 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 c1a7ff6f6..0f170ddb4 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 553f333d8..0666bea5a 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 38e9e93ba..62ed49e81 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 7814f4f57..4996c9a3c 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 c2a5ae1b3..7fefda59d 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 4fc042727..6758af679 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 2f43d8402..b4f049377 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 e5b7f143d..9b3e0ca3c 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 25f4ccaae..20c786cb7 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 f7933346f..a9a09747f 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 48d7a1929..a5eb857d3 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 248190404..71ef5c77e 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 0e69e1d96..329a5fb2c 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 000000000..ea03797aa --- /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 -- cgit From 73f5711fb8a6131f5906903dcea40a113a842669 Mon Sep 17 00:00:00 2001 From: slice Date: Wed, 27 Mar 2019 09:08:26 -0700 Subject: 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(-) (limited to 'app') diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index 0a3345f0e..d957de73d 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 {
- + -- cgit From e86663b1da9c31b57baf244effb94c063e10a424 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 27 Mar 2019 19:58:24 +0100 Subject: Fix alternative relay support regression (#10398) Fix #10324 --- app/lib/activitypub/activity/announce.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'app') diff --git a/app/lib/activitypub/activity/announce.rb b/app/lib/activitypub/activity/announce.rb index 9f8ffd9fb..1aa6ee9ec 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 -- cgit From 683013756e9c57dd1944856dd154dba1be4097b9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Mar 2019 00:30:47 +0100 Subject: 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 | 339 +++++---------------- 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, 496 insertions(+), 1633 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index c1e59ffa4..6ed799941 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 88a1377eb..a341567a7 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 528cdf8a6..49e043582 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 001758c4c..0d095bdeb 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 92cd7b61f..6c98c6ae7 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 53873dd14..acc680c53 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 52823658b..1a776cf95 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 f153474a2..f03b54750 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 7cb61b48c..1be8d989d 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 1b122fc3b..a335af1bd 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 908232401..cf0da6e47 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 44ad0add2..701410a81 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 ab52cb0ee..bf0c1bfab 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 ab5512683..dd2188d8e 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 82cb1a00a..97d03d840 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 089f7e9ca..17f84dc27 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 f1458ae48..0bfafd222 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 764bcf979..68381f6b3 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 f97073967..4d7451248 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 768cb7a5c..3011e7d07 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 9e5cf84b1..c136c111f 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 fce6c7158..86bd01a79 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 73c7af2b5..507e04400 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 12a987b3f..a4c8bffba 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 d6311be80..5319705dc 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 a35c929e6..300bc4484 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 1f6af0574..d70a88dbb 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 085c3d72f..766ae0ec5 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 eeb7adc9b..fa1d823d0 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 f250812c7..12cdf25c9 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 6a6e21e9f..568359651 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 364d3efbf..0fa0c4fde 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 d6016249d..eedd4c6f3 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 c0724fbe6..e5e4748d7 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 8b6fbd018..9556c5ad8 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 3dc502f9a..8fc8762a4 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 186884fee..63d4f60e0 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 e3d04537f..7533a462b 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 baa12b1d1..001a48b04 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 add90e9d8..7192e10b9 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 6e8d8aa8e..09425c32e 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 c73aed643..5542198f7 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 a99d9d437..bef4efe0e 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 8beaf1323..b86c6e2ee 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 ba238d83d..155935306 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 4a6f992bb..1124ed8d5 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 b00dda362..9093637b3 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 d6016249d..eedd4c6f3 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 d1c77d371..c93ff63df 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 35cca32f9..e15382402 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 e277416fd..cbe1c5726 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 3f02f887c..fc1c4f5d5 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 f17274e69..702be0ded 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 54b8ab498..5ea738bc9 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 a44a1d90e..6d33ef070 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 60eeea22d..265530124 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 aee946bb7..d18b16834 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 7d5952f3a..c4b04c73a 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 51280eb32..4cec9fb63 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 bdb87e8e5..eeabab34a 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 d0c86a11e..bd8e40a6a 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 eb0fb6785..d2519fe90 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 9ef0e5f9f..556fcfc4f 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 945668f30..2a2d62a7e 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 fe00c9ffc..68a445e4c 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 de4ef850e..ecb97fd13 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 b7c728549..f0a5414b8 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 8f24842d7..fc36fdbff 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 fa4c3dd5c..a768d3c1d 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 7ac5cb6a8..4f9007e1d 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 0b6d36187..ede004892 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 64f2a2a90..9b44bbf00 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 a1bf05b2d..2186066c9 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 579481b5a..bcc3fe62c 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 fe2880ddf..0d5dd08ad 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 4087ef331..9f586aa37 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 9eac0d3ee..384ba918b 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 962116e59..36a030fa4 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 9a8a1d778..b7b6e2fad 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 97cc73e9f..be1ea6155 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 886d5d895..d943d6511 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 f852b7d79..ffc9471cd 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.

-

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

+
-

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

. +

Do we use cookies?

-

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

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.


-

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

+

Do we disclose any information to outside parties?

-

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

+

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.

-

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

. +

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.


-

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

. - -

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

. +

Children's Online Privacy Protection Act Compliance

-

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

. - -

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

+

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

-

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

. +

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

-

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

+

This document is CC-BY-SA. It was last updated March 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 b5353c0f3..c0d72dc27 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 6cd6c7c85..664c07a46 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 a53605e8c..44cd7ccd6 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: Заблокировать уведомления от людей, на которых Вы не подписаны -- cgit From 08ec7435ce10fc74c257e089d6a2e909287e3daa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Mar 2019 02:16:01 +0100 Subject: 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(-) (limited to 'app') diff --git a/app/controllers/relationships_controller.rb b/app/controllers/relationships_controller.rb index 84cb178a6..e6705c327 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 4fd36ef42..0bda25974 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 63745119a..e6fff0ad6 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 42ba4e35e..d91e89d95 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 -- cgit From f1bc90ab508cbdebc646324f87db48a9e80036f4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 28 Mar 2019 04:44:59 +0100 Subject: 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 ++++++++++--------- app/serializers/activitypub/note_serializer.rb | 14 +++++++------- app/serializers/activitypub/update_poll_serializer.rb | 2 +- app/serializers/rest/status_serializer.rb | 2 +- app/services/post_status_service.rb | 2 +- app/views/stream_entries/_detailed_status.html.haml | 6 +++--- app/views/stream_entries/_simple_status.html.haml | 6 +++--- .../activitypub/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(-) (limited to 'app') diff --git a/app/helpers/stream_entries_helper.rb b/app/helpers/stream_entries_helper.rb index 8392afa73..4734e32a4 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 8fe7b9138..dabdcbcf7 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 bc9a63f98..70035325b 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 aadf03b2a..59dfc9004 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 982136c05..300269e24 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 d3fb83cca..8d31fd382 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 0666bea5a..d11cfa59a 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 a9a09747f..b894f309f 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 30edf397b..106777b6e 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 3f392a6e6..e7366c7e8 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 d18ecd37a..4459581d9 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 a499a8634..ba22c5340 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 d60fde557..5eaca6fda 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 561ce68b8..8533418cc 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 3a1463d95..412609de4 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 { -- cgit From 69141dca26f8a28d3aff63387b1c8d2bba7fdfa3 Mon Sep 17 00:00:00 2001 From: Alex Gessner Date: Thu, 28 Mar 2019 13:01:09 -0400 Subject: squashed identity proof updates (#10375) --- .../api/v1/accounts/identity_proofs_controller.rb | 19 ++++++++ .../settings/identity_proofs_controller.rb | 22 ++++++++- app/javascript/mastodon/actions/identity_proofs.js | 30 ++++++++++++ .../mastodon/features/account/components/header.js | 17 ++++++- .../features/account_timeline/components/header.js | 4 +- .../containers/header_container.js | 2 + .../mastodon/features/account_timeline/index.js | 3 ++ .../mastodon/reducers/identity_proofs.js | 25 ++++++++++ app/javascript/mastodon/reducers/index.js | 2 + app/javascript/styles/mastodon/containers.scss | 8 ++- app/javascript/styles/mastodon/forms.scss | 9 +++- app/lib/proof_provider/keybase.rb | 3 +- .../proof_provider/keybase/config_serializer.rb | 4 +- app/lib/proof_provider/keybase/verifier.rb | 6 +-- app/models/account_identity_proof.rb | 2 +- app/serializers/rest/identity_proof_serializer.rb | 17 +++++++ app/views/settings/identity_proofs/new.html.haml | 5 ++ config/locales/en.yml | 3 ++ config/routes.rb | 1 + .../settings/identity_proofs_controller_spec.rb | 57 ++++++++++++++++++++-- 20 files changed, 214 insertions(+), 25 deletions(-) create mode 100644 app/controllers/api/v1/accounts/identity_proofs_controller.rb create mode 100644 app/javascript/mastodon/actions/identity_proofs.js create mode 100644 app/javascript/mastodon/reducers/identity_proofs.js create mode 100644 app/serializers/rest/identity_proof_serializer.rb (limited to 'app') diff --git a/app/controllers/api/v1/accounts/identity_proofs_controller.rb b/app/controllers/api/v1/accounts/identity_proofs_controller.rb new file mode 100644 index 000000000..bea51ae11 --- /dev/null +++ b/app/controllers/api/v1/accounts/identity_proofs_controller.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +class Api::V1::Accounts::IdentityProofsController < Api::BaseController + before_action :require_user! + before_action :set_account + + respond_to :json + + def index + @proofs = @account.identity_proofs.active + render json: @proofs, each_serializer: REST::IdentityProofSerializer + end + + private + + def set_account + @account = Account.find(params[:account_id]) + end +end diff --git a/app/controllers/settings/identity_proofs_controller.rb b/app/controllers/settings/identity_proofs_controller.rb index 4a3b89a5e..8f857fdcc 100644 --- a/app/controllers/settings/identity_proofs_controller.rb +++ b/app/controllers/settings/identity_proofs_controller.rb @@ -18,7 +18,12 @@ class Settings::IdentityProofsController < Settings::BaseController provider_username: params[:provider_username] ) - render layout: 'auth' + if current_account.username == params[:username] + render layout: 'auth' + else + flash[:alert] = I18n.t('identity_proofs.errors.wrong_user', proving: params[:username], current: current_account.username) + redirect_to settings_identity_proofs_path + end end def create @@ -26,6 +31,7 @@ class Settings::IdentityProofsController < Settings::BaseController @proof.token = resource_params[:token] if @proof.save + PostStatusService.new.call(current_user.account, text: post_params[:status_text]) if publish_proof? redirect_to @proof.on_success_path(params[:user_agent]) else flash[:alert] = I18n.t('identity_proofs.errors.failed', provider: @proof.provider.capitalize) @@ -36,10 +42,22 @@ class Settings::IdentityProofsController < Settings::BaseController private def check_required_params - redirect_to settings_identity_proofs_path unless [:provider, :provider_username, :token].all? { |k| params[k].present? } + redirect_to settings_identity_proofs_path unless [:provider, :provider_username, :username, :token].all? { |k| params[k].present? } end def resource_params params.require(:account_identity_proof).permit(:provider, :provider_username, :token) end + + def publish_proof? + ActiveModel::Type::Boolean.new.cast(post_params[:post_status]) + end + + def post_params + params.require(:account_identity_proof).permit(:post_status, :status_text) + end + + def set_body_classes + @body_classes = '' + end end diff --git a/app/javascript/mastodon/actions/identity_proofs.js b/app/javascript/mastodon/actions/identity_proofs.js new file mode 100644 index 000000000..449debf61 --- /dev/null +++ b/app/javascript/mastodon/actions/identity_proofs.js @@ -0,0 +1,30 @@ +import api from '../api'; + +export const IDENTITY_PROOFS_ACCOUNT_FETCH_REQUEST = 'IDENTITY_PROOFS_ACCOUNT_FETCH_REQUEST'; +export const IDENTITY_PROOFS_ACCOUNT_FETCH_SUCCESS = 'IDENTITY_PROOFS_ACCOUNT_FETCH_SUCCESS'; +export const IDENTITY_PROOFS_ACCOUNT_FETCH_FAIL = 'IDENTITY_PROOFS_ACCOUNT_FETCH_FAIL'; + +export const fetchAccountIdentityProofs = accountId => (dispatch, getState) => { + dispatch(fetchAccountIdentityProofsRequest(accountId)); + + api(getState).get(`/api/v1/accounts/${accountId}/identity_proofs`) + .then(({ data }) => dispatch(fetchAccountIdentityProofsSuccess(accountId, data))) + .catch(err => dispatch(fetchAccountIdentityProofsFail(accountId, err))); +}; + +export const fetchAccountIdentityProofsRequest = id => ({ + type: IDENTITY_PROOFS_ACCOUNT_FETCH_REQUEST, + id, +}); + +export const fetchAccountIdentityProofsSuccess = (accountId, identity_proofs) => ({ + type: IDENTITY_PROOFS_ACCOUNT_FETCH_SUCCESS, + accountId, + identity_proofs, +}); + +export const fetchAccountIdentityProofsFail = (accountId, err) => ({ + type: IDENTITY_PROOFS_ACCOUNT_FETCH_FAIL, + accountId, + err, +}); diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index d957de73d..76f50a5a4 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -62,6 +62,7 @@ class Header extends ImmutablePureComponent { static propTypes = { account: ImmutablePropTypes.map, + identity_props: ImmutablePropTypes.list, onFollow: PropTypes.func.isRequired, onBlock: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, @@ -81,7 +82,7 @@ class Header extends ImmutablePureComponent { } render () { - const { account, intl, domain } = this.props; + const { account, intl, domain, identity_proofs } = this.props; if (!account) { return null; @@ -234,8 +235,20 @@ class Header extends ImmutablePureComponent {
- {fields.size > 0 && ( + { (fields.size > 0 || identity_proofs.size > 0) && (
+ {identity_proofs.map((proof, i) => ( +
+
+ +
+ + + + +
+
+ ))} {fields.map((pair, i) => (
diff --git a/app/javascript/mastodon/features/account_timeline/components/header.js b/app/javascript/mastodon/features/account_timeline/components/header.js index 16ada18c0..27dfcc516 100644 --- a/app/javascript/mastodon/features/account_timeline/components/header.js +++ b/app/javascript/mastodon/features/account_timeline/components/header.js @@ -12,6 +12,7 @@ export default class Header extends ImmutablePureComponent { static propTypes = { account: ImmutablePropTypes.map, + identity_proofs: ImmutablePropTypes.list, onFollow: PropTypes.func.isRequired, onBlock: PropTypes.func.isRequired, onMention: PropTypes.func.isRequired, @@ -84,7 +85,7 @@ export default class Header extends ImmutablePureComponent { } render () { - const { account, hideTabs } = this.props; + const { account, hideTabs, identity_proofs } = this.props; if (account === null) { return ; @@ -96,6 +97,7 @@ export default class Header extends ImmutablePureComponent { { const mapStateToProps = (state, { accountId }) => ({ account: getAccount(state, accountId), domain: state.getIn(['meta', 'domain']), + identity_proofs: state.getIn(['identity_proofs', accountId], ImmutableList()), }); return mapStateToProps; diff --git a/app/javascript/mastodon/features/account_timeline/index.js b/app/javascript/mastodon/features/account_timeline/index.js index afc484c60..883f40d77 100644 --- a/app/javascript/mastodon/features/account_timeline/index.js +++ b/app/javascript/mastodon/features/account_timeline/index.js @@ -12,6 +12,7 @@ import ColumnBackButton from '../../components/column_back_button'; import { List as ImmutableList } from 'immutable'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { FormattedMessage } from 'react-intl'; +import { fetchAccountIdentityProofs } from '../../actions/identity_proofs'; const mapStateToProps = (state, { params: { accountId }, withReplies = false }) => { const path = withReplies ? `${accountId}:with_replies` : accountId; @@ -42,6 +43,7 @@ class AccountTimeline extends ImmutablePureComponent { const { params: { accountId }, withReplies } = this.props; this.props.dispatch(fetchAccount(accountId)); + this.props.dispatch(fetchAccountIdentityProofs(accountId)); if (!withReplies) { this.props.dispatch(expandAccountFeaturedTimeline(accountId)); } @@ -51,6 +53,7 @@ class AccountTimeline extends ImmutablePureComponent { componentWillReceiveProps (nextProps) { if ((nextProps.params.accountId !== this.props.params.accountId && nextProps.params.accountId) || nextProps.withReplies !== this.props.withReplies) { this.props.dispatch(fetchAccount(nextProps.params.accountId)); + this.props.dispatch(fetchAccountIdentityProofs(nextProps.params.accountId)); if (!nextProps.withReplies) { this.props.dispatch(expandAccountFeaturedTimeline(nextProps.params.accountId)); } diff --git a/app/javascript/mastodon/reducers/identity_proofs.js b/app/javascript/mastodon/reducers/identity_proofs.js new file mode 100644 index 000000000..58af0a5fa --- /dev/null +++ b/app/javascript/mastodon/reducers/identity_proofs.js @@ -0,0 +1,25 @@ +import { Map as ImmutableMap, fromJS } from 'immutable'; +import { + IDENTITY_PROOFS_ACCOUNT_FETCH_REQUEST, + IDENTITY_PROOFS_ACCOUNT_FETCH_SUCCESS, + IDENTITY_PROOFS_ACCOUNT_FETCH_FAIL, +} from '../actions/identity_proofs'; + +const initialState = ImmutableMap(); + +export default function identityProofsReducer(state = initialState, action) { + switch(action.type) { + case IDENTITY_PROOFS_ACCOUNT_FETCH_REQUEST: + return state.set('isLoading', true); + case IDENTITY_PROOFS_ACCOUNT_FETCH_FAIL: + return state.set('isLoading', false); + case IDENTITY_PROOFS_ACCOUNT_FETCH_SUCCESS: + return state.update(identity_proofs => identity_proofs.withMutations(map => { + map.set('isLoading', false); + map.set('loaded', true); + map.set(action.accountId, fromJS(action.identity_proofs)); + })); + default: + return state; + } +}; diff --git a/app/javascript/mastodon/reducers/index.js b/app/javascript/mastodon/reducers/index.js index a7e9c4d0f..981ad8e64 100644 --- a/app/javascript/mastodon/reducers/index.js +++ b/app/javascript/mastodon/reducers/index.js @@ -30,6 +30,7 @@ import filters from './filters'; import conversations from './conversations'; import suggestions from './suggestions'; import polls from './polls'; +import identity_proofs from './identity_proofs'; const reducers = { dropdown_menu, @@ -56,6 +57,7 @@ const reducers = { notifications, height_cache, custom_emojis, + identity_proofs, lists, listEditor, listAdder, diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss index 2b1d988f2..368c2304b 100644 --- a/app/javascript/styles/mastodon/containers.scss +++ b/app/javascript/styles/mastodon/containers.scss @@ -10,12 +10,10 @@ } .logo-container { - margin: 100px auto; - margin-bottom: 50px; + margin: 100px auto 50px; - @media screen and (max-width: 400px) { - margin: 30px auto; - margin-bottom: 20px; + @media screen and (max-width: 500px) { + margin: 40px auto 0; } h1 { diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 3ea104786..91888d305 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -854,13 +854,19 @@ code { flex: 1; flex-direction: column; flex-shrink: 1; + max-width: 50%; &-sep { + align-self: center; flex-grow: 0; overflow: visible; position: relative; z-index: 1; } + + p { + word-break: break-word; + } } .account__avatar { @@ -882,12 +888,13 @@ code { height: 100%; left: 50%; position: absolute; + top: 0; width: 1px; } } &__row { - align-items: center; + align-items: flex-start; display: flex; flex-direction: row; } diff --git a/app/lib/proof_provider/keybase.rb b/app/lib/proof_provider/keybase.rb index 96322a265..672e1cb4b 100644 --- a/app/lib/proof_provider/keybase.rb +++ b/app/lib/proof_provider/keybase.rb @@ -1,7 +1,8 @@ # frozen_string_literal: true class ProofProvider::Keybase - BASE_URL = 'https://keybase.io' + BASE_URL = ENV.fetch('KEYBASE_BASE_URL', 'https://keybase.io') + DOMAIN = ENV.fetch('KEYBASE_DOMAIN', Rails.configuration.x.local_domain) class Error < StandardError; end diff --git a/app/lib/proof_provider/keybase/config_serializer.rb b/app/lib/proof_provider/keybase/config_serializer.rb index 557bafe84..5241d201f 100644 --- a/app/lib/proof_provider/keybase/config_serializer.rb +++ b/app/lib/proof_provider/keybase/config_serializer.rb @@ -14,7 +14,7 @@ class ProofProvider::Keybase::ConfigSerializer < ActiveModel::Serializer end def domain - Rails.configuration.x.local_domain + ProofProvider::Keybase::DOMAIN end def display_name @@ -66,6 +66,6 @@ class ProofProvider::Keybase::ConfigSerializer < ActiveModel::Serializer end def contact - [Setting.site_contact_email.presence].compact + [Setting.site_contact_email.presence || 'unknown'].compact end end diff --git a/app/lib/proof_provider/keybase/verifier.rb b/app/lib/proof_provider/keybase/verifier.rb index 86f249dd7..ab1422323 100644 --- a/app/lib/proof_provider/keybase/verifier.rb +++ b/app/lib/proof_provider/keybase/verifier.rb @@ -49,14 +49,10 @@ class ProofProvider::Keybase::Verifier def query_params { - domain: domain, + domain: ProofProvider::Keybase::DOMAIN, kb_username: @provider_username, username: @local_username, sig_hash: @token, } end - - def domain - Rails.configuration.x.local_domain - end end diff --git a/app/models/account_identity_proof.rb b/app/models/account_identity_proof.rb index e7a3f97e5..1ac234735 100644 --- a/app/models/account_identity_proof.rb +++ b/app/models/account_identity_proof.rb @@ -26,7 +26,7 @@ class AccountIdentityProof < ApplicationRecord scope :active, -> { where(verified: true, live: true) } - after_create_commit :queue_worker + after_commit :queue_worker, if: :saved_change_to_token? delegate :refresh!, :on_success_path, :badge, to: :provider_instance diff --git a/app/serializers/rest/identity_proof_serializer.rb b/app/serializers/rest/identity_proof_serializer.rb new file mode 100644 index 000000000..0e7415935 --- /dev/null +++ b/app/serializers/rest/identity_proof_serializer.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +class REST::IdentityProofSerializer < ActiveModel::Serializer + attributes :provider, :provider_username, :updated_at, :proof_url, :profile_url + + def proof_url + object.badge.proof_url + end + + def profile_url + object.badge.profile_url + end + + def provider + object.provider.capitalize + end +end diff --git a/app/views/settings/identity_proofs/new.html.haml b/app/views/settings/identity_proofs/new.html.haml index 8ce6e61c9..5e4e9895d 100644 --- a/app/views/settings/identity_proofs/new.html.haml +++ b/app/views/settings/identity_proofs/new.html.haml @@ -27,5 +27,10 @@ %p= t('identity_proofs.i_am_html', username: content_tag(:strong, @proof.provider_username), service: @proof.provider.capitalize) + .connection-prompt__post + = f.input :post_status, label: t('identity_proofs.publicize_checkbox'), as: :boolean, wrapper: :with_label, :input_html => { checked: true } + + = f.input :status_text, as: :text, input_html: { value: t('identity_proofs.publicize_toot', username: @proof.provider_username, service: @proof.provider.capitalize, url: @proof.badge.proof_url), rows: 4 } + = f.button :button, t('identity_proofs.authorize'), type: :submit = link_to t('simple_form.no'), settings_identity_proofs_url, class: 'button negative' diff --git a/config/locales/en.yml b/config/locales/en.yml index d91e89d95..64467be39 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -648,10 +648,13 @@ en: keybase: invalid_token: Keybase tokens are hashes of signatures and must be 66 hex characters verification_failed: Keybase does not recognize this token as a signature of Keybase user %{kb_username}. Please retry from Keybase. + wrong_user: Cannot create a proof for %{proving} while logged in as %{current}. Log in as %{proving} and try again. explanation_html: Here you can cryptographically connect your other identities, such as a Keybase profile. This lets other people send you encrypted messages and trust content you send them. i_am_html: I am %{username} on %{service}. identity: Identity inactive: Inactive + publicize_checkbox: 'And toot this:' + publicize_toot: 'It is proven! I am %{username} on %{service}: %{url}' status: Verification status view_proof: View proof imports: diff --git a/config/routes.rb b/config/routes.rb index 194b4c09b..a98dbb700 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -354,6 +354,7 @@ Rails.application.routes.draw do resources :followers, only: :index, controller: 'accounts/follower_accounts' resources :following, only: :index, controller: 'accounts/following_accounts' resources :lists, only: :index, controller: 'accounts/lists' + resources :identity_proofs, only: :index, controller: 'accounts/identity_proofs' member do post :follow diff --git a/spec/controllers/settings/identity_proofs_controller_spec.rb b/spec/controllers/settings/identity_proofs_controller_spec.rb index 46af3ccf4..5c05eb83c 100644 --- a/spec/controllers/settings/identity_proofs_controller_spec.rb +++ b/spec/controllers/settings/identity_proofs_controller_spec.rb @@ -1,6 +1,7 @@ require 'rails_helper' describe Settings::IdentityProofsController do + include RoutingHelper render_views let(:user) { Fabricate(:user) } @@ -9,8 +10,15 @@ describe Settings::IdentityProofsController do let(:provider) { 'keybase' } let(:findable_id) { Faker::Number.number(5) } let(:unfindable_id) { Faker::Number.number(5) } + let(:new_proof_params) do + { provider: provider, provider_username: kbname, token: valid_token, username: user.account.username } + end + let(:status_text) { "i just proved that i am also #{kbname} on #{provider}." } + let(:status_posting_params) do + { post_status: '0', status_text: status_text } + end let(:postable_params) do - { account_identity_proof: { provider: provider, provider_username: kbname, token: valid_token } } + { account_identity_proof: new_proof_params.merge(status_posting_params) } end before do @@ -19,10 +27,32 @@ describe Settings::IdentityProofsController do end describe 'new proof creation' do - context 'GET #new with no existing proofs' do - it 'redirects to :index' do - get :new - expect(response).to redirect_to settings_identity_proofs_path + context 'GET #new' do + context 'with all of the correct params' do + before do + allow_any_instance_of(ProofProvider::Keybase::Badge).to receive(:avatar_url) { full_pack_url('media/images/void.png') } + end + + it 'renders the template' do + get :new, params: new_proof_params + expect(response).to render_template(:new) + end + end + + context 'without any params' do + it 'redirects to :index' do + get :new, params: {} + expect(response).to redirect_to settings_identity_proofs_path + end + end + + context 'with params to prove a different, not logged-in user' do + let(:wrong_user_params) { new_proof_params.merge(username: 'someone_else') } + + it 'shows a helpful alert' do + get :new, params: wrong_user_params + expect(flash[:alert]).to eq I18n.t('identity_proofs.errors.wrong_user', proving: 'someone_else', current: user.account.username) + end end end @@ -44,6 +74,23 @@ describe Settings::IdentityProofsController do post :create, params: postable_params expect(response).to redirect_to root_url end + + it 'does not post a status' do + expect(PostStatusService).not_to receive(:new) + post :create, params: postable_params + end + + context 'and the user has requested to post a status' do + let(:postable_params_with_status) do + postable_params.tap { |p| p[:account_identity_proof][:post_status] = '1' } + end + + it 'posts a status' do + expect_any_instance_of(PostStatusService).to receive(:call).with(user.account, text: status_text) + + post :create, params: postable_params_with_status + end + end end context 'when saving fails' do -- cgit From 1a7d1f4a42e4988713bad82db39f23e5e13a3bb2 Mon Sep 17 00:00:00 2001 From: Aditoo17 <42938951+Aditoo17@users.noreply.github.com> Date: Thu, 28 Mar 2019 18:01:28 +0100 Subject: I18n: Update Czech translation (#10410) --- app/javascript/mastodon/locales/cs.json | 2 +- config/locales/activerecord.cs.yml | 5 +++-- config/locales/cs.yml | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 1a776cf95..9115f5081 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -83,7 +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.block_and_report": "Blokovat a nahlásit", "confirmations.block.confirm": "Blokovat", "confirmations.block.message": "Jste si jistý/á, že chcete zablokovat uživatele {name}?", "confirmations.delete.confirm": "Smazat", diff --git a/config/locales/activerecord.cs.yml b/config/locales/activerecord.cs.yml index e9465228d..57240a19e 100644 --- a/config/locales/activerecord.cs.yml +++ b/config/locales/activerecord.cs.yml @@ -2,8 +2,9 @@ cs: activerecord: attributes: - status: - owned_poll: Anketa + poll: + expires_at: Uzávěrka + options: Volby errors: models: account: diff --git a/config/locales/cs.yml b/config/locales/cs.yml index fa4a00cb5..2ec3f6790 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -249,6 +249,7 @@ cs: feature_profile_directory: Adresář profilů feature_registrations: Registrace feature_relay: Federovací most + feature_timeline_preview: Náhled časové osy features: Vlastnosti hidden_service: Federace se skrytými službami open_reports: otevřená hlášení -- cgit From 58667072d9923b17c90543550294aa9f801103d7 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 28 Mar 2019 18:33:26 +0100 Subject: Fix opacity of relationship tags (#10411) --- app/javascript/styles/mastodon/components.scss | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index f63c66d46..81d823374 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -3064,15 +3064,19 @@ a.status-card.compact:hover { .relationship-tag { color: $primary-text-color; margin-bottom: 4px; - opacity: 0.7; display: block; vertical-align: top; - background-color: rgba($base-overlay-background, 0.4); + background-color: $base-overlay-background; text-transform: uppercase; font-size: 11px; font-weight: 500; padding: 4px; border-radius: 4px; + opacity: 0.7; + + &:hover { + opacity: 1; + } } .setting-toggle { -- cgit From 58da5e93c041e071056ff8a0532b2d9995554f86 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Thu, 28 Mar 2019 14:24:04 +0100 Subject: Port search results styling to glitch-soc --- .../glitch/features/drawer/results/index.js | 8 ++-- .../flavours/glitch/styles/components/drawer.scss | 46 +++++++++------------- 2 files changed, 24 insertions(+), 30 deletions(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/features/drawer/results/index.js b/app/javascript/flavours/glitch/features/drawer/results/index.js index ac7a14ef4..4574c0e1e 100644 --- a/app/javascript/flavours/glitch/features/drawer/results/index.js +++ b/app/javascript/flavours/glitch/features/drawer/results/index.js @@ -10,6 +10,7 @@ import spring from 'react-motion/lib/spring'; import { Link } from 'react-router-dom'; // Components. +import Icon from 'flavours/glitch/components/icon'; import AccountContainer from 'flavours/glitch/containers/account_container'; import StatusContainer from 'flavours/glitch/containers/status_container'; import Hashtag from 'flavours/glitch/components/hashtag'; @@ -62,6 +63,7 @@ export default function DrawerResults ({ }} >
+ {accounts && accounts.size ? (
-
+
{accounts.map( accountId => ( @@ -83,7 +85,7 @@ export default function DrawerResults ({ ) : null} {statuses && statuses.size ? (
-
+
{statuses.map( statusId => ( @@ -97,7 +99,7 @@ export default function DrawerResults ({ ) : null} {hashtags && hashtags.size ? (
-
+
{hashtags.map(hashtag => )}
diff --git a/app/javascript/flavours/glitch/styles/components/drawer.scss b/app/javascript/flavours/glitch/styles/components/drawer.scss index f4931c36c..d22783b94 100644 --- a/app/javascript/flavours/glitch/styles/components/drawer.scss +++ b/app/javascript/flavours/glitch/styles/components/drawer.scss @@ -196,43 +196,35 @@ overflow-y: auto; & > header { - border-bottom: 1px solid darken($ui-base-color, 4%); - padding: 15px 10px; color: $dark-text-color; background: lighten($ui-base-color, 2%); - font-size: 14px; + padding: 15px; font-weight: 500; + font-size: 16px; + cursor: default; + + .fa { + display: inline-block; + margin-right: 5px; + } } & > section { - background: $ui-base-color; - margin-bottom: 20px; + margin-bottom: 5px; h5 { - position: relative; - - &::before { - content: ""; - display: block; - position: absolute; - left: 0; - right: 0; - top: 50%; - width: 100%; - height: 0; - border-top: 1px solid lighten($ui-base-color, 8%); - } + background: darken($ui-base-color, 4%); + border-bottom: 1px solid lighten($ui-base-color, 8%); + cursor: default; + display: flex; + padding: 15px; + font-weight: 500; + font-size: 16px; + color: $dark-text-color; - span { + .fa { display: inline-block; - background: $ui-base-color; - color: $darker-text-color; - font-size: 14px; - font-weight: 500; - padding: 10px; - position: relative; - z-index: 1; - cursor: default; + margin-right: 5px; } } -- cgit From 60fc04756a31621d7d86fef4dd4b4d7f7351c362 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Thu, 28 Mar 2019 14:51:40 +0100 Subject: Fix padding and centering of display names --- app/javascript/flavours/glitch/styles/components/index.scss | 2 -- app/javascript/flavours/glitch/styles/components/status.scss | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/styles/components/index.scss b/app/javascript/flavours/glitch/styles/components/index.scss index b9811f25c..f996bbfc5 100644 --- a/app/javascript/flavours/glitch/styles/components/index.scss +++ b/app/javascript/flavours/glitch/styles/components/index.scss @@ -269,9 +269,7 @@ .display-name { display: block; - padding: 6px 0; max-width: 100%; - height: 36px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; diff --git a/app/javascript/flavours/glitch/styles/components/status.scss b/app/javascript/flavours/glitch/styles/components/status.scss index 9d2757065..b73dd3d09 100644 --- a/app/javascript/flavours/glitch/styles/components/status.scss +++ b/app/javascript/flavours/glitch/styles/components/status.scss @@ -357,6 +357,7 @@ .status__info__account { display: flex; + align-items: center; } .status-check-box { -- cgit From abb53fa338ed1ca6bd78e3ca902950ba0c8e2976 Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Thu, 28 Mar 2019 15:03:54 +0100 Subject: Fix centering on public pages --- app/javascript/flavours/glitch/styles/stream_entries.scss | 1 + 1 file changed, 1 insertion(+) (limited to 'app') diff --git a/app/javascript/flavours/glitch/styles/stream_entries.scss b/app/javascript/flavours/glitch/styles/stream_entries.scss index 45dcf70ed..6735049b9 100644 --- a/app/javascript/flavours/glitch/styles/stream_entries.scss +++ b/app/javascript/flavours/glitch/styles/stream_entries.scss @@ -192,6 +192,7 @@ .status__info .status__display-name { display: block; max-width: 100%; + padding: 6px 0; padding-right: 25px; margin: initial; -- cgit From 00f251b8fe7ee5c1143c880f113237c2fa543664 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 26 Mar 2019 00:36:25 +0100 Subject: [Glitch] Redesign profile column in web UI to match design on public pages Port a96181f16f4ef74ce6a1efc5e893ddd87a127949 to glitch-soc --- .../features/account/components/action_bar.js | 106 +------ .../glitch/features/account/components/header.js | 244 +++++++++++----- .../features/account_timeline/components/header.js | 12 +- .../containers/header_container.js | 1 + .../glitch/styles/components/accounts.scss | 319 ++++++++++++--------- .../flavours/glitch/styles/components/index.scss | 1 - .../glitch/styles/components/metadata.scss | 45 --- .../flavours/glitch/styles/containers.scss | 1 + .../flavours/glitch/styles/metadata.scss | 56 ---- 9 files changed, 364 insertions(+), 421 deletions(-) delete mode 100644 app/javascript/flavours/glitch/styles/metadata.scss (limited to 'app') diff --git a/app/javascript/flavours/glitch/features/account/components/action_bar.js b/app/javascript/flavours/glitch/features/account/components/action_bar.js index fdacb7298..c76d3688b 100644 --- a/app/javascript/flavours/glitch/features/account/components/action_bar.js +++ b/app/javascript/flavours/glitch/features/account/components/action_bar.js @@ -3,58 +3,18 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container'; import { NavLink } from 'react-router-dom'; -import { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl'; +import { injectIntl, FormattedMessage, FormattedNumber } from 'react-intl'; import { me, isStaff } from 'flavours/glitch/util/initial_state'; import { profileLink, accountAdminLink } from 'flavours/glitch/util/backend_links'; -const messages = defineMessages({ - mention: { id: 'account.mention', defaultMessage: 'Mention @{name}' }, - direct: { id: 'account.direct', defaultMessage: 'Direct message @{name}' }, - edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, - unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, - unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, - unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, - block: { id: 'account.block', defaultMessage: 'Block @{name}' }, - mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' }, - follow: { id: 'account.follow', defaultMessage: 'Follow' }, - report: { id: 'account.report', defaultMessage: 'Report @{name}' }, - share: { id: 'account.share', defaultMessage: 'Share @{name}\'s profile' }, - media: { id: 'account.media', defaultMessage: 'Media' }, - blockDomain: { id: 'account.block_domain', defaultMessage: 'Hide everything from {domain}' }, - unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, - hideReblogs: { id: 'account.hide_reblogs', defaultMessage: 'Hide boosts from @{name}' }, - showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' }, - endorse: { id: 'account.endorse', defaultMessage: 'Feature on profile' }, - unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' }, - add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' }, - admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' }, -}); - @injectIntl export default class ActionBar extends React.PureComponent { static propTypes = { account: ImmutablePropTypes.map.isRequired, - onFollow: PropTypes.func, - onBlock: PropTypes.func.isRequired, - onMention: PropTypes.func.isRequired, - onDirect: PropTypes.func.isRequired, - onReblogToggle: PropTypes.func.isRequired, - onReport: PropTypes.func.isRequired, - onMute: PropTypes.func.isRequired, - onBlockDomain: PropTypes.func.isRequired, - onUnblockDomain: PropTypes.func.isRequired, - onEndorseToggle: PropTypes.func.isRequired, - onAddToList: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, }; - handleShare = () => { - navigator.share({ - url: this.props.account.get('url'), - }); - } - isStatusesPageActive = (match, location) => { if (!match) { return false; @@ -65,53 +25,9 @@ export default class ActionBar extends React.PureComponent { render () { const { account, intl } = this.props; - let menu = []; let extraInfo = ''; - menu.push({ text: intl.formatMessage(messages.mention, { name: account.get('username') }), action: this.props.onMention }); - menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.props.onDirect }); - - if ('share' in navigator) { - menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare }); - } - - menu.push(null); - - if (account.get('id') === me) { - if (profileLink !== undefined) { - menu.push({ text: intl.formatMessage(messages.edit_profile), href: profileLink }); - } - } else { - if (account.getIn(['relationship', 'following'])) { - if (account.getIn(['relationship', 'showing_reblogs'])) { - menu.push({ text: intl.formatMessage(messages.hideReblogs, { name: account.get('username') }), action: this.props.onReblogToggle }); - } else { - menu.push({ text: intl.formatMessage(messages.showReblogs, { name: account.get('username') }), action: this.props.onReblogToggle }); - } - - menu.push({ text: intl.formatMessage(account.getIn(['relationship', 'endorsed']) ? messages.unendorse : messages.endorse), action: this.props.onEndorseToggle }); - menu.push({ text: intl.formatMessage(messages.add_or_remove_from_list), action: this.props.onAddToList }); - menu.push(null); - } - - if (account.getIn(['relationship', 'muting'])) { - menu.push({ text: intl.formatMessage(messages.unmute, { name: account.get('username') }), action: this.props.onMute }); - } else { - menu.push({ text: intl.formatMessage(messages.mute, { name: account.get('username') }), action: this.props.onMute }); - } - - if (account.getIn(['relationship', 'blocking'])) { - menu.push({ text: intl.formatMessage(messages.unblock, { name: account.get('username') }), action: this.props.onBlock }); - } else { - menu.push({ text: intl.formatMessage(messages.block, { name: account.get('username') }), action: this.props.onBlock }); - } - - menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport }); - } - if (account.get('acct') !== account.get('username')) { - const domain = account.get('acct').split('@')[1]; - extraInfo = (
); - - menu.push(null); - - if (account.getIn(['relationship', 'domain_blocking'])) { - menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.props.onUnblockDomain }); - } else { - menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.props.onBlockDomain }); - } - } - - if (account.get('id') !== me && isStaff && (accountAdminLink !== undefined)) { - menu.push(null); - menu.push({ - text: intl.formatMessage(messages.admin_account, { name: account.get('username') }), - href: accountAdminLink(account.get('id')), - }); } return ( @@ -147,10 +47,6 @@ export default class ActionBar extends React.PureComponent { {extraInfo}
-
- -
-
diff --git a/app/javascript/flavours/glitch/features/account/components/header.js b/app/javascript/flavours/glitch/features/account/components/header.js index 96696c2a5..1f1898661 100644 --- a/app/javascript/flavours/glitch/features/account/components/header.js +++ b/app/javascript/flavours/glitch/features/account/components/header.js @@ -3,12 +3,14 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; - -import Avatar from 'flavours/glitch/components/avatar'; -import IconButton from 'flavours/glitch/components/icon_button'; - -import { autoPlayGif, me } from 'flavours/glitch/util/initial_state'; +import { autoPlayGif, me, isStaff } from 'flavours/glitch/util/initial_state'; import classNames from 'classnames'; +import Icon from 'flavours/glitch/components/icon'; +import Avatar from 'flavours/glitch/components/avatar'; +import Button from 'flavours/glitch/components/button'; +import { shortNumberFormat } from 'flavours/glitch/util/numbers'; +import { NavLink } from 'react-router-dom'; +import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container'; const messages = defineMessages({ unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' }, @@ -16,7 +18,34 @@ const messages = defineMessages({ requested: { id: 'account.requested', defaultMessage: 'Awaiting approval. Click to cancel follow request' }, unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, - link_verified_on: { id: 'account.link_verified_on', defaultMessage: 'Ownership of this link was checked on {date}' }, + linkVerifiedOn: { id: 'account.link_verified_on', defaultMessage: 'Ownership of this link was checked on {date}' }, + account_locked: { id: 'account.locked_info', defaultMessage: 'This account privacy status is set to locked. The owner manually reviews who can follow them.' }, + mention: { id: 'account.mention', defaultMessage: 'Mention @{name}' }, + direct: { id: 'account.direct', defaultMessage: 'Direct message @{name}' }, + edit_profile: { id: 'account.edit_profile', defaultMessage: 'Edit profile' }, + unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, + unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, + block: { id: 'account.block', defaultMessage: 'Block @{name}' }, + mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' }, + report: { id: 'account.report', defaultMessage: 'Report @{name}' }, + share: { id: 'account.share', defaultMessage: 'Share @{name}\'s profile' }, + media: { id: 'account.media', defaultMessage: 'Media' }, + blockDomain: { id: 'account.block_domain', defaultMessage: 'Hide everything from {domain}' }, + unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unhide {domain}' }, + hideReblogs: { id: 'account.hide_reblogs', defaultMessage: 'Hide boosts from @{name}' }, + showReblogs: { id: 'account.show_reblogs', defaultMessage: 'Show boosts from @{name}' }, + pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, + preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, + follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, + favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, + lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' }, + blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' }, + domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' }, + mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, + endorse: { id: 'account.endorse', defaultMessage: 'Feature on profile' }, + unendorse: { id: 'account.unendorse', defaultMessage: 'Don\'t feature on profile' }, + add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' }, + admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' }, }); const dateFormatOptions = { @@ -28,14 +57,15 @@ const dateFormatOptions = { minute: '2-digit', }; -@injectIntl -export default class Header extends ImmutablePureComponent { +export default @injectIntl +class Header extends ImmutablePureComponent { static propTypes = { account: ImmutablePropTypes.map, onFollow: PropTypes.func.isRequired, onBlock: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, + domain: PropTypes.string.isRequired, }; openEditProfile = () => { @@ -43,109 +73,179 @@ export default class Header extends ImmutablePureComponent { } render () { - const { account, intl } = this.props; + const { account, intl, domain } = this.props; if (!account) { return null; } - let displayName = account.get('display_name_html'); - let fields = account.get('fields'); - let badge = account.get('bot') ? (
) : null; - - let info = ''; - let mutingInfo = ''; + let info = []; let actionBtn = ''; + let lockedIcon = ''; + let menu = []; if (me !== account.get('id') && account.getIn(['relationship', 'followed_by'])) { - info = ; + info.push(); } else if (me !== account.get('id') && account.getIn(['relationship', 'blocking'])) { - info = ; + info.push(); } if (me !== account.get('id') && account.getIn(['relationship', 'muting'])) { - mutingInfo = ; + info.push(); } else if (me !== account.get('id') && account.getIn(['relationship', 'domain_blocking'])) { - mutingInfo = ; + info.push(); } if (me !== account.get('id')) { if (!account.get('relationship')) { // Wait until the relationship is loaded actionBtn = ''; } else if (account.getIn(['relationship', 'requested'])) { - actionBtn = ( -
- -
- ); + actionBtn = + + + + + +
); } @@ -148,22 +131,10 @@ class ModifierPicker extends React.PureComponent { render () { const { active, modifier } = this.props; - function setRef(ref) { - if (!ref) { - return; - } - // TODO: It would be nice if we could pass props directly to emoji-mart's buttons. - const button = ref.querySelector('button'); - button.setAttribute('aria-haspopup', 'true'); - button.setAttribute('aria-expanded', active); - } - return (
-
- -
- + +
); } diff --git a/app/javascript/mastodon/features/emoji/emoji_picker.js b/app/javascript/mastodon/features/emoji/emoji_picker.js index 73fcaa8c8..044d38cb2 100644 --- a/app/javascript/mastodon/features/emoji/emoji_picker.js +++ b/app/javascript/mastodon/features/emoji/emoji_picker.js @@ -1,5 +1,5 @@ -import Picker from 'emoji-mart/dist-modern/components/picker/picker'; -import Emoji from 'emoji-mart/dist-modern/components/emoji/emoji'; +import Picker from 'emoji-mart/dist-es/components/picker/picker'; +import Emoji from 'emoji-mart/dist-es/components/emoji/emoji'; export { Picker, diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 3c17c2ee4..fdf5144ce 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -3226,11 +3226,11 @@ a.status-card.compact:hover { box-shadow: 1px 2px 6px rgba($base-shadow-color, 0.2); overflow: hidden; - li { + button { display: block; cursor: pointer; border: 0; - padding: 3px 8px; + padding: 4px 8px; background: transparent; &:hover, diff --git a/app/javascript/styles/mastodon/emoji_picker.scss b/app/javascript/styles/mastodon/emoji_picker.scss index d53f41a0b..e49084b5f 100644 --- a/app/javascript/styles/mastodon/emoji_picker.scss +++ b/app/javascript/styles/mastodon/emoji_picker.scss @@ -1,5 +1,3 @@ -@import '../../../node_modules/emoji-mart/css/emoji-mart.css'; - .emoji-mart { &, * { @@ -53,14 +51,6 @@ &:hover { color: darken($lighter-text-color, 4%); - - svg { - fill: darken($lighter-text-color, 4%); - } - } - - svg { - fill: $lighter-text-color; } } @@ -69,19 +59,11 @@ &:hover { color: darken($highlight-text-color, 4%); - - svg { - fill: darken($highlight-text-color, 4%); - } } .emoji-mart-anchor-bar { bottom: -1px; } - - svg { - fill: $highlight-text-color; - } } .emoji-mart-anchor-bar { @@ -101,6 +83,7 @@ } svg { + fill: currentColor; max-height: 18px; } } @@ -120,14 +103,15 @@ } .emoji-mart-search { - margin: 10px 40px 10px 5px; + padding: 10px; + padding-right: 45px; background: $simple-background-color; input { font-size: 14px; font-weight: 400; padding: 7px 9px; - font-family: $font-sans-serif; + font-family: inherit; display: block; width: 100%; background: rgba($ui-secondary-color, 0.3); @@ -182,7 +166,6 @@ font-weight: 500; padding: 5px 6px; background: $simple-background-color; - font-family: $font-sans-serif; } } diff --git a/config/webpack/rules/node_modules.js b/config/webpack/rules/node_modules.js index 5debc1b5d..7ed05504b 100644 --- a/config/webpack/rules/node_modules.js +++ b/config/webpack/rules/node_modules.js @@ -11,16 +11,7 @@ module.exports = { options: { babelrc: false, plugins: [ - [ - 'transform-react-remove-prop-types', - { - mode: 'remove', - removeImport: true, - additionalLibraries: [ - '../../utils/shared-props', // emoji-mart - ], - }, - ], + 'transform-react-remove-prop-types', ], cacheDirectory: join(settings.cache_path, 'babel-loader-node-modules'), cacheCompression: env.NODE_ENV === 'production', diff --git a/package.json b/package.json index b9d8f8af1..63cfa25b8 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "cssnano": "^4.1.10", "detect-passive-events": "^1.0.2", "dotenv": "^6.2.0", - "emoji-mart": "^2.10.0", + "emoji-mart": "Gargron/emoji-mart#build", "es6-symbol": "^3.1.1", "escape-html": "^1.0.3", "exif-js": "^2.3.0", diff --git a/yarn.lock b/yarn.lock index 9b0ec51db..9d7f0eccb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3173,12 +3173,9 @@ elliptic@^6.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -emoji-mart@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/emoji-mart/-/emoji-mart-2.10.0.tgz#e1adec430f4963f79055b12b80e6d60c5abb742d" - integrity sha512-VhcX463f8TDaQc1Tpc8rI31E15+8KXOYff1vwjokjMT52bZlCQCyq3zrnNScSYjv95f1+R4DMMreeuPvYFvOhg== - dependencies: - prop-types "^15.6.0" +emoji-mart@Gargron/emoji-mart#build: + version "2.6.2" + resolved "https://codeload.github.com/Gargron/emoji-mart/tar.gz/ff00dc470b5b2d9f145a6d6e977a54de5df2b4c9" emoji-regex@^6.5.1: version "6.5.1" -- cgit From 1714ea597866556ef9dd21d5d382f1d9181e0924 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 30 Mar 2019 02:12:06 +0100 Subject: Add ActivityPub representation for identity proofs (#10414) * Add ActivityPub representation for identity proofs * Add tests --- app/lib/activitypub/adapter.rb | 1 + app/lib/proof_provider/keybase.rb | 3 +- app/serializers/activitypub/actor_serializer.rb | 24 +++++++++++-- .../activitypub/process_account_service.rb | 28 ++++++++++++++- .../activitypub/process_account_service_spec.rb | 41 ++++++++++++++++++++++ 5 files changed, 93 insertions(+), 4 deletions(-) (limited to 'app') diff --git a/app/lib/activitypub/adapter.rb b/app/lib/activitypub/adapter.rb index 7e0b16c25..94eb2899c 100644 --- a/app/lib/activitypub/adapter.rb +++ b/app/lib/activitypub/adapter.rb @@ -18,6 +18,7 @@ class ActivityPub::Adapter < ActiveModelSerializers::Adapter::Base 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' } }, + identity_proof: { 'toot' => 'http://joinmastodon.org/ns#', 'IdentityProof' => 'toot:IdentityProof' }, }.freeze def self.default_key_transform diff --git a/app/lib/proof_provider/keybase.rb b/app/lib/proof_provider/keybase.rb index 672e1cb4b..628972e9d 100644 --- a/app/lib/proof_provider/keybase.rb +++ b/app/lib/proof_provider/keybase.rb @@ -28,7 +28,8 @@ class ProofProvider::Keybase return end - return if @proof.provider_username.blank? + # Do not perform synchronous validation for remote accounts + return if @proof.provider_username.blank? || !@proof.account.local? if verifier.valid? @proof.verified = true diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb index 4b982b955..0644219fb 100644 --- a/app/serializers/activitypub/actor_serializer.rb +++ b/app/serializers/activitypub/actor_serializer.rb @@ -6,7 +6,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer context :security context_extensions :manually_approves_followers, :featured, :also_known_as, - :moved_to, :property_value, :hashtag, :emoji + :moved_to, :property_value, :hashtag, :emoji, :identity_proof attributes :id, :type, :following, :followers, :inbox, :outbox, :featured, @@ -115,7 +115,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer end def virtual_attachments - object.fields + object.fields + object.identity_proofs.active end def moved_to @@ -158,4 +158,24 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer Formatter.instance.format_field(object.account, object.value) end end + + class AccountIdentityProofSerializer < ActivityPub::Serializer + attributes :type, :name, :signature_algorithm, :signature_value + + def type + 'IdentityProof' + end + + def name + object.provider_username + end + + def signature_algorithm + object.provider + end + + def signature_value + object.token + end + end end diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb index 5e3308428..6d0609ca0 100644 --- a/app/services/activitypub/process_account_service.rb +++ b/app/services/activitypub/process_account_service.rb @@ -24,6 +24,7 @@ class ActivityPub::ProcessAccountService < BaseService create_account if @account.nil? update_account process_tags + process_attachments else raise Mastodon::RaceConditionError end @@ -151,7 +152,7 @@ class ActivityPub::ProcessAccountService < BaseService def property_values return unless @json['attachment'].is_a?(Array) - @json['attachment'].select { |attachment| attachment['type'] == 'PropertyValue' }.map { |attachment| attachment.slice('name', 'value') } + as_array(@json['attachment']).select { |attachment| attachment['type'] == 'PropertyValue' }.map { |attachment| attachment.slice('name', 'value') } end def mismatching_origin?(url) @@ -231,6 +232,23 @@ class ActivityPub::ProcessAccountService < BaseService end end + def process_attachments + return if @json['attachment'].blank? + + previous_proofs = @account.identity_proofs.to_a + current_proofs = [] + + as_array(@json['attachment']).each do |attachment| + next unless equals_or_includes?(attachment['type'], 'IdentityProof') + current_proofs << process_identity_proof(attachment) + end + + previous_proofs.each do |previous_proof| + next if current_proofs.any? { |current_proof| current_proof.id == previous_proof.id } + previous_proof.delete + end + end + def process_emoji(tag) return if skip_download? return if tag['name'].blank? || tag['icon'].blank? || tag['icon']['url'].blank? @@ -247,4 +265,12 @@ class ActivityPub::ProcessAccountService < BaseService emoji.image_remote_url = image_url emoji.save end + + def process_identity_proof(attachment) + provider = attachment['signatureAlgorithm'] + provider_username = attachment['name'] + token = attachment['signatureValue'] + + @account.identity_proofs.where(provider: provider, provider_username: provider_username).find_or_create_by(provider: provider, provider_username: provider_username, token: token) + end end diff --git a/spec/services/activitypub/process_account_service_spec.rb b/spec/services/activitypub/process_account_service_spec.rb index d3318b2ed..ab8fb5cc3 100644 --- a/spec/services/activitypub/process_account_service_spec.rb +++ b/spec/services/activitypub/process_account_service_spec.rb @@ -28,4 +28,45 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do expect(account.fields[1].value).to eq 'Unit test' end end + + context 'identity proofs' do + let(:payload) do + { + id: 'https://foo.test', + type: 'Actor', + inbox: 'https://foo.test/inbox', + attachment: [ + { type: 'IdentityProof', name: 'Alice', signatureAlgorithm: 'keybase', signatureValue: 'a' * 66 }, + ], + }.with_indifferent_access + end + + it 'parses out of attachment' do + account = subject.call('alice', 'example.com', payload) + + expect(account.identity_proofs.count).to eq 1 + + proof = account.identity_proofs.first + + expect(proof.provider).to eq 'keybase' + expect(proof.provider_username).to eq 'Alice' + expect(proof.token).to eq 'a' * 66 + end + + it 'removes no longer present proofs' do + account = Fabricate(:account, username: 'alice', domain: 'example.com') + old_proof = Fabricate(:account_identity_proof, account: account, provider: 'keybase', provider_username: 'Bob', token: 'b' * 66) + + subject.call('alice', 'example.com', payload) + + expect(account.identity_proofs.count).to eq 1 + expect(account.identity_proofs.find_by(id: old_proof.id)).to be_nil + end + + it 'queues a validity check on the proof' do + allow(ProofProvider::Keybase::Worker).to receive(:perform_async) + account = subject.call('alice', 'example.com', payload) + expect(ProofProvider::Keybase::Worker).to have_received(:perform_async) + end + end end -- cgit From 51625d3423051edb65081a7203bdbe52224d35f3 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sat, 30 Mar 2019 15:47:25 +0900 Subject: Remove unused code (#10426) --- .../direct_timeline/components/column_settings.js | 35 ---------------------- .../containers/column_settings_container.js | 17 ----------- 2 files changed, 52 deletions(-) delete mode 100644 app/javascript/mastodon/features/direct_timeline/components/column_settings.js delete mode 100644 app/javascript/mastodon/features/direct_timeline/containers/column_settings_container.js (limited to 'app') diff --git a/app/javascript/mastodon/features/direct_timeline/components/column_settings.js b/app/javascript/mastodon/features/direct_timeline/components/column_settings.js deleted file mode 100644 index b629c128d..000000000 --- a/app/javascript/mastodon/features/direct_timeline/components/column_settings.js +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import ImmutablePropTypes from 'react-immutable-proptypes'; -import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; -import SettingText from '../../../components/setting_text'; - -const messages = defineMessages({ - filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' }, - settings: { id: 'home.settings', defaultMessage: 'Column settings' }, -}); - -export default @injectIntl -class ColumnSettings extends React.PureComponent { - - static propTypes = { - settings: ImmutablePropTypes.map.isRequired, - onChange: PropTypes.func.isRequired, - intl: PropTypes.object.isRequired, - }; - - render () { - const { settings, onChange, intl } = this.props; - - return ( -
- - -
- -
-
- ); - } - -} diff --git a/app/javascript/mastodon/features/direct_timeline/containers/column_settings_container.js b/app/javascript/mastodon/features/direct_timeline/containers/column_settings_container.js deleted file mode 100644 index 38054ce9e..000000000 --- a/app/javascript/mastodon/features/direct_timeline/containers/column_settings_container.js +++ /dev/null @@ -1,17 +0,0 @@ -import { connect } from 'react-redux'; -import ColumnSettings from '../components/column_settings'; -import { changeSetting } from '../../../actions/settings'; - -const mapStateToProps = state => ({ - settings: state.getIn(['settings', 'direct']), -}); - -const mapDispatchToProps = dispatch => ({ - - onChange (key, checked) { - dispatch(changeSetting(['direct', ...key], checked)); - }, - -}); - -export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings); -- cgit From 59551ece31dede539d893e020c59a67b40f7ecdc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 30 Mar 2019 00:43:38 +0100 Subject: [Glitch] Fix search in web UI not setting a limit, restore limit of 10 Port 379c3e237fd271b91073f4b4a4a1626e84a7250f to glitch-soc, but changing the 5 limit to 10, since that's what we had previously --- app/javascript/flavours/glitch/actions/search.js | 1 + 1 file changed, 1 insertion(+) (limited to 'app') diff --git a/app/javascript/flavours/glitch/actions/search.js b/app/javascript/flavours/glitch/actions/search.js index bc094eed5..b2d24e10b 100644 --- a/app/javascript/flavours/glitch/actions/search.js +++ b/app/javascript/flavours/glitch/actions/search.js @@ -37,6 +37,7 @@ export function submitSearch() { params: { q: value, resolve: true, + limit: 10, }, }).then(response => { if (response.data.accounts) { -- cgit From b9b472d519acc83f231b87c8e9287aecf9720f62 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 30 Mar 2019 01:13:19 +0100 Subject: [Glitch] Fix transparent avatars showing underlying elements in avatar stack and profile Port 79227d153b86144e9a8cc73f1d4045973eabc9ef to glitch-soc --- app/javascript/flavours/glitch/styles/_mixins.scss | 1 - app/javascript/flavours/glitch/styles/components/accounts.scss | 1 + app/javascript/flavours/glitch/styles/widgets.scss | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/javascript/flavours/glitch/styles/_mixins.scss b/app/javascript/flavours/glitch/styles/_mixins.scss index 586802185..d542b1083 100644 --- a/app/javascript/flavours/glitch/styles/_mixins.scss +++ b/app/javascript/flavours/glitch/styles/_mixins.scss @@ -1,6 +1,5 @@ @mixin avatar-radius() { border-radius: $ui-avatar-border-size; - background: transparent no-repeat; background-position: 50%; background-clip: padding-box; } diff --git a/app/javascript/flavours/glitch/styles/components/accounts.scss b/app/javascript/flavours/glitch/styles/components/accounts.scss index 0daef4d35..00380c575 100644 --- a/app/javascript/flavours/glitch/styles/components/accounts.scss +++ b/app/javascript/flavours/glitch/styles/components/accounts.scss @@ -550,6 +550,7 @@ margin-left: -2px; .account__avatar { + background: darken($ui-base-color, 8%); border: 2px solid lighten($ui-base-color, 4%); } } diff --git a/app/javascript/flavours/glitch/styles/widgets.scss b/app/javascript/flavours/glitch/styles/widgets.scss index 645192ea4..307e509d5 100644 --- a/app/javascript/flavours/glitch/styles/widgets.scss +++ b/app/javascript/flavours/glitch/styles/widgets.scss @@ -352,6 +352,7 @@ border-radius: 50%; position: relative; margin-left: -10px; + background: darken($ui-base-color, 8%); border: 2px solid $ui-base-color; &:nth-child(1) { -- cgit