From ae3d2f446a60269740a72969d74fa57168530c97 Mon Sep 17 00:00:00 2001 From: ysksn Date: Mon, 10 Dec 2018 01:19:28 +0900 Subject: [PATCH 01/36] Add specs for Admin::InvitesController (#9471) --- .../controllers/admin/invites_controller_spec.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spec/controllers/admin/invites_controller_spec.rb b/spec/controllers/admin/invites_controller_spec.rb index 34b51a6aa7..449a699e40 100644 --- a/spec/controllers/admin/invites_controller_spec.rb +++ b/spec/controllers/admin/invites_controller_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rails_helper' describe Admin::InvitesController do @@ -40,4 +42,18 @@ describe Admin::InvitesController do expect(invite.reload).to be_expired end end + + describe 'POST #deactivate_all' do + it 'expires all invites, then redirects to admin_invites_path' do + invites = Fabricate.times(2, :invite, expires_at: nil) + + post :deactivate_all + + invites.each do |invite| + expect(invite.reload).to be_expired + end + + expect(response).to redirect_to admin_invites_path + end + end end From 361818e931eff47db937ffa18d89575e2a9dd5be Mon Sep 17 00:00:00 2001 From: ysksn Date: Tue, 11 Dec 2018 05:37:38 +0900 Subject: [PATCH 02/36] Fix Admin::TagsController#unhide (#9481) --- app/controllers/admin/tags_controller.rb | 2 +- .../controllers/admin/tags_controller_spec.rb | 71 +++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 spec/controllers/admin/tags_controller_spec.rb diff --git a/app/controllers/admin/tags_controller.rb b/app/controllers/admin/tags_controller.rb index 3f22565664..e9f4f2cfa3 100644 --- a/app/controllers/admin/tags_controller.rb +++ b/app/controllers/admin/tags_controller.rb @@ -18,7 +18,7 @@ module Admin def unhide authorize @tag, :unhide? - @tag.account_tag_stat.update!(hidden: true) + @tag.account_tag_stat.update!(hidden: false) redirect_to admin_tags_path(@filter_params) end diff --git a/spec/controllers/admin/tags_controller_spec.rb b/spec/controllers/admin/tags_controller_spec.rb new file mode 100644 index 0000000000..3af994071c --- /dev/null +++ b/spec/controllers/admin/tags_controller_spec.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe Admin::TagsController, type: :controller do + render_views + + before do + sign_in Fabricate(:user, admin: true) + end + + describe 'GET #index' do + before do + account_tag_stat = Fabricate(:tag).account_tag_stat + account_tag_stat.update(hidden: hidden, accounts_count: 1) + get :index, params: { hidden: hidden } + end + + context 'with hidden tags' do + let(:hidden) { true } + + it 'returns status 200' do + expect(response).to have_http_status(200) + end + end + + context 'without hidden tags' do + let(:hidden) { false } + + it 'returns status 200' do + expect(response).to have_http_status(200) + end + end + end + + describe 'POST #hide' do + let(:tag) { Fabricate(:tag) } + + before do + tag.account_tag_stat.update(hidden: false) + post :hide, params: { id: tag.id } + end + + it 'hides tag' do + tag.reload + expect(tag).to be_hidden + end + + it 'redirects to admin_tags_path' do + expect(response).to redirect_to(admin_tags_path(controller.instance_variable_get(:@filter_params))) + end + end + + describe 'POST #unhide' do + let(:tag) { Fabricate(:tag) } + + before do + tag.account_tag_stat.update(hidden: true) + post :unhide, params: { id: tag.id } + end + + it 'unhides tag' do + tag.reload + expect(tag).not_to be_hidden + end + + it 'redirects to admin_tags_path' do + expect(response).to redirect_to(admin_tags_path(controller.instance_variable_get(:@filter_params))) + end + end +end From 189a6b17fb4b33f67614494dc76df87bcb95b812 Mon Sep 17 00:00:00 2001 From: ysksn Date: Tue, 11 Dec 2018 05:38:01 +0900 Subject: [PATCH 03/36] Remove RemoteAccountControllerConcern never used (#9482) --- .../remote_account_controller_concern.rb | 21 ------------------- 1 file changed, 21 deletions(-) delete mode 100644 app/controllers/concerns/remote_account_controller_concern.rb diff --git a/app/controllers/concerns/remote_account_controller_concern.rb b/app/controllers/concerns/remote_account_controller_concern.rb deleted file mode 100644 index e179106424..0000000000 --- a/app/controllers/concerns/remote_account_controller_concern.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -module RemoteAccountControllerConcern - extend ActiveSupport::Concern - - included do - layout 'public' - before_action :set_account - before_action :check_account_suspension - end - - private - - def set_account - @account = Account.find_remote!(params[:acct]) - end - - def check_account_suspension - gone if @account.suspended? - end -end From 6eae8f77afd60d40c62d4c2f7e5731607f6f6163 Mon Sep 17 00:00:00 2001 From: ysksn Date: Tue, 11 Dec 2018 05:38:21 +0900 Subject: [PATCH 04/36] Add spec for Admin::SuspentionsController#new (#9483) --- spec/controllers/admin/suspensions_controller_spec.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/spec/controllers/admin/suspensions_controller_spec.rb b/spec/controllers/admin/suspensions_controller_spec.rb index babb1ed969..1bc33e4901 100644 --- a/spec/controllers/admin/suspensions_controller_spec.rb +++ b/spec/controllers/admin/suspensions_controller_spec.rb @@ -7,6 +7,13 @@ describe Admin::SuspensionsController do sign_in Fabricate(:user, admin: true), scope: :user end + describe 'GET #new' do + it 'returns 200' do + get :new, params: { account_id: Fabricate(:account).id, report_id: Fabricate(:report).id } + expect(response).to have_http_status(200) + end + end + describe 'POST #create' do it 'redirects to admin accounts page' do account = Fabricate(:account, suspended: false) From ed24bb2c3ecf82521be0685f59ecdee77c6fff39 Mon Sep 17 00:00:00 2001 From: ysksn Date: Tue, 11 Dec 2018 05:39:25 +0900 Subject: [PATCH 05/36] Add specs for activitypub collections controller (#9484) * Add specs for ActivityPub::CollectionsController#show * Raise ActiveRecord::RecordNotFound Raising ActiveRecord::NotFound raises NameError: uninitialized constant ActiveRecord::NotFound. --- .../activitypub/collections_controller.rb | 4 +-- .../collections_controller_spec.rb | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 spec/controllers/activitypub/collections_controller_spec.rb diff --git a/app/controllers/activitypub/collections_controller.rb b/app/controllers/activitypub/collections_controller.rb index 96bf901a7c..995da9c55d 100644 --- a/app/controllers/activitypub/collections_controller.rb +++ b/app/controllers/activitypub/collections_controller.rb @@ -31,7 +31,7 @@ class ActivityPub::CollectionsController < Api::BaseController when 'featured' @account.pinned_statuses.count else - raise ActiveRecord::NotFound + raise ActiveRecord::RecordNotFound end end @@ -42,7 +42,7 @@ class ActivityPub::CollectionsController < Api::BaseController scope.merge!(@account.pinned_statuses) end else - raise ActiveRecord::NotFound + raise ActiveRecord::RecordNotFound end end diff --git a/spec/controllers/activitypub/collections_controller_spec.rb b/spec/controllers/activitypub/collections_controller_spec.rb new file mode 100644 index 0000000000..34114cc85c --- /dev/null +++ b/spec/controllers/activitypub/collections_controller_spec.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe ActivityPub::CollectionsController, type: :controller do + describe 'POST #show' do + let(:account) { Fabricate(:account) } + + context 'id is "featured"' do + it 'returns 200 with "application/activity+json"' do + post :show, params: { id: 'featured', account_username: account.username } + + expect(response).to have_http_status(200) + expect(response.content_type).to eq 'application/activity+json' + end + end + + context 'id is not "featured"' do + it 'returns 404' do + post :show, params: { id: 'hoge', account_username: account.username } + expect(response).to have_http_status(404) + end + end + end +end From 3f12c07ff5f60d22cfbff050a2639345ecbaec57 Mon Sep 17 00:00:00 2001 From: ThibG Date: Mon, 10 Dec 2018 21:39:47 +0100 Subject: [PATCH 06/36] Use same CORS policy for /@:username and /users/:username (#9485) Fixes #8189 rack-cors being called before the application router, it does not follow the redirection, and we need a separate rule for /users/:username. --- config/initializers/cors.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/initializers/cors.rb b/config/initializers/cors.rb index 36d3663cb4..55f8c9c919 100644 --- a/config/initializers/cors.rb +++ b/config/initializers/cors.rb @@ -17,6 +17,10 @@ Rails.application.config.middleware.insert_before 0, Rack::Cors do headers: :any, methods: [:get], credentials: false + resource '/users/:username', + headers: :any, + methods: [:get], + credentials: false resource '/api/*', headers: :any, methods: [:post, :put, :delete, :get, :patch, :options], From dbb1ee269fa4a6ee097dfea5f77bb2c9428af93b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 10 Dec 2018 22:53:25 +0100 Subject: [PATCH 07/36] Improve e-mail MX validator and add tests (#9489) --- app/models/user.rb | 6 +- app/validators/email_mx_validator.rb | 19 ++++-- spec/validators/email_mx_validator_spec.rb | 75 ++++++++++++++++++++++ 3 files changed, 94 insertions(+), 6 deletions(-) create mode 100644 spec/validators/email_mx_validator_spec.rb diff --git a/app/models/user.rb b/app/models/user.rb index f4130d7b1c..44e0d11139 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -73,7 +73,7 @@ class User < ApplicationRecord validates :locale, inclusion: I18n.available_locales.map(&:to_s), if: :locale? validates_with BlacklistedEmailValidator, if: :email_changed? - validates_with EmailMxValidator, if: :email_changed? + validates_with EmailMxValidator, if: :validate_email_dns? scope :recent, -> { order(id: :desc) } scope :admins, -> { where(admin: true) } @@ -360,4 +360,8 @@ class User < ApplicationRecord def needs_feed_update? last_sign_in_at < ACTIVE_DURATION.ago end + + def validate_email_dns? + email_changed? && !(Rails.env.test? || Rails.env.development?) + end end diff --git a/app/validators/email_mx_validator.rb b/app/validators/email_mx_validator.rb index 8d1e58b380..5b4c684b2c 100644 --- a/app/validators/email_mx_validator.rb +++ b/app/validators/email_mx_validator.rb @@ -4,7 +4,6 @@ require 'resolv' class EmailMxValidator < ActiveModel::Validator def validate(user) - return if Rails.env.test? || Rails.env.development? user.errors.add(:email, I18n.t('users.invalid_email')) if invalid_mx?(user.email) end @@ -15,13 +14,23 @@ class EmailMxValidator < ActiveModel::Validator return true if domain.nil? - records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s } - records = Resolv::DNS.new.getresources(domain, Resolv::DNS::Resource::IN::A).to_a.map { |e| e.address.to_s } if records.empty? + hostnames = [] + ips = [] - records.empty? || on_blacklist?(records) + Resolv::DNS.open do |dns| + dns.timeouts = 1 + + hostnames = dns.getresources(domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s } + + ([domain] + hostnames).uniq.each do |hostname| + ips.concat(dns.getresources(hostname, Resolv::DNS::Resource::IN::A).to_a.map { |e| e.address.to_s }) + end + end + + ips.empty? || on_blacklist?(hostnames + ips) end def on_blacklist?(values) - EmailDomainBlock.where(domain: values).any? + EmailDomainBlock.where(domain: values.uniq).any? end end diff --git a/spec/validators/email_mx_validator_spec.rb b/spec/validators/email_mx_validator_spec.rb new file mode 100644 index 0000000000..bc68f63cfb --- /dev/null +++ b/spec/validators/email_mx_validator_spec.rb @@ -0,0 +1,75 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe EmailMxValidator do + describe '#validate' do + let(:user) { double(email: 'foo@example.com', errors: double(add: nil)) } + + it 'adds an error if there are no DNS records for the e-mail domain' do + resolver = double + + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([]) + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([]) + allow(resolver).to receive(:timeouts=).and_return(nil) + allow(Resolv::DNS).to receive(:open).and_yield(resolver) + + subject.validate(user) + expect(user.errors).to have_received(:add) + end + + it 'adds an error if a MX record exists but does not lead to an IP' do + resolver = double + + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([double(exchange: 'mail.example.com')]) + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([]) + allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::A).and_return([]) + allow(resolver).to receive(:timeouts=).and_return(nil) + allow(Resolv::DNS).to receive(:open).and_yield(resolver) + + subject.validate(user) + expect(user.errors).to have_received(:add) + end + + it 'adds an error if the A record is blacklisted' do + EmailDomainBlock.create!(domain: '1.2.3.4') + resolver = double + + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([]) + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([double(address: '1.2.3.4')]) + allow(resolver).to receive(:timeouts=).and_return(nil) + allow(Resolv::DNS).to receive(:open).and_yield(resolver) + + subject.validate(user) + expect(user.errors).to have_received(:add) + end + + it 'adds an error if the MX record is blacklisted' do + EmailDomainBlock.create!(domain: '2.3.4.5') + resolver = double + + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([double(exchange: 'mail.example.com')]) + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([]) + allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::A).and_return([double(address: '2.3.4.5')]) + allow(resolver).to receive(:timeouts=).and_return(nil) + allow(Resolv::DNS).to receive(:open).and_yield(resolver) + + subject.validate(user) + expect(user.errors).to have_received(:add) + end + + it 'adds an error if the MX hostname is blacklisted' do + EmailDomainBlock.create!(domain: 'mail.example.com') + resolver = double + + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::MX).and_return([double(exchange: 'mail.example.com')]) + allow(resolver).to receive(:getresources).with('example.com', Resolv::DNS::Resource::IN::A).and_return([]) + allow(resolver).to receive(:getresources).with('mail.example.com', Resolv::DNS::Resource::IN::A).and_return([double(address: '2.3.4.5')]) + allow(resolver).to receive(:timeouts=).and_return(nil) + allow(Resolv::DNS).to receive(:open).and_yield(resolver) + + subject.validate(user) + expect(user.errors).to have_received(:add) + end + end +end From 7d00e4edbd0bef8791d8efee7665eb13bb256d7a Mon Sep 17 00:00:00 2001 From: Adam Copp Date: Tue, 11 Dec 2018 04:30:57 +0000 Subject: [PATCH 08/36] Make custom emoji domains case insensitive #9351 (#9474) * Make custom emoji domains case sensitive #9351 * Fixup style in downcase_domain to comply with codeclimate. * switch if! to unless * Don't use transactions, operate in batches. Also revert spurious schema change. --- app/models/custom_emoji.rb | 6 ++++++ app/models/custom_emoji_filter.rb | 2 +- .../20181207011115_downcase_custom_emoji_domains.rb | 7 +++++++ db/schema.rb | 2 +- spec/models/custom_emoji_spec.rb | 9 +++++++++ 5 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20181207011115_downcase_custom_emoji_domains.rb diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb index b99ed01f08..d3cc705049 100644 --- a/app/models/custom_emoji.rb +++ b/app/models/custom_emoji.rb @@ -31,6 +31,8 @@ class CustomEmoji < ApplicationRecord has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce -strip' } } + before_validation :downcase_domain + validates_attachment :image, content_type: { content_type: 'image/png' }, presence: true, size: { less_than: LIMIT } validates :shortcode, uniqueness: { scope: :domain }, format: { with: /\A#{SHORTCODE_RE_FRAGMENT}\z/ }, length: { minimum: 2 } @@ -73,4 +75,8 @@ class CustomEmoji < ApplicationRecord def remove_entity_cache Rails.cache.delete(EntityCache.instance.to_key(:emoji, shortcode, domain)) end + + def downcase_domain + self.domain = domain.downcase unless domain.nil? + end end diff --git a/app/models/custom_emoji_filter.rb b/app/models/custom_emoji_filter.rb index c4bc310bb0..7649055d28 100644 --- a/app/models/custom_emoji_filter.rb +++ b/app/models/custom_emoji_filter.rb @@ -26,7 +26,7 @@ class CustomEmojiFilter when 'remote' CustomEmoji.remote when 'by_domain' - CustomEmoji.where(domain: value) + CustomEmoji.where(domain: value.downcase) when 'shortcode' CustomEmoji.search(value) else diff --git a/db/migrate/20181207011115_downcase_custom_emoji_domains.rb b/db/migrate/20181207011115_downcase_custom_emoji_domains.rb new file mode 100644 index 0000000000..c9db3800da --- /dev/null +++ b/db/migrate/20181207011115_downcase_custom_emoji_domains.rb @@ -0,0 +1,7 @@ +class DowncaseCustomEmojiDomains < ActiveRecord::Migration[5.2] + disable_ddl_transaction! + + def change + CustomEmoji.in_batches.update_all('domain = lower(domain)') + end +end diff --git a/db/schema.rb b/db/schema.rb index 6d643c27ca..51ac43e1d4 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2018_12_04_215309) do +ActiveRecord::Schema.define(version: 2018_12_07_011115) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" diff --git a/spec/models/custom_emoji_spec.rb b/spec/models/custom_emoji_spec.rb index 320a258d34..9de218b4fe 100644 --- a/spec/models/custom_emoji_spec.rb +++ b/spec/models/custom_emoji_spec.rb @@ -75,4 +75,13 @@ RSpec.describe CustomEmoji, type: :model do end end end + + describe 'pre_validation' do + let(:custom_emoji) { Fabricate(:custom_emoji, domain: 'wWw.MaStOdOn.CoM') } + + it 'should downcase' do + custom_emoji.valid? + expect(custom_emoji.domain).to eq('www.mastodon.com') + end + end end From 9650bbc8b21f8f32df6372e55d6f210a3fb676ef Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Tue, 11 Dec 2018 13:38:57 +0900 Subject: [PATCH 09/36] [i18n] Update Occitan (#9491) * Adds the Profil directory * Adds the line about directory * Harmonisation * Update oc.yml * i18n-tasks normalize && i18n-tasks remove-unused * yarn manage:translations --- app/javascript/mastodon/locales/ar.json | 1 + app/javascript/mastodon/locales/ast.json | 1 + app/javascript/mastodon/locales/bg.json | 1 + app/javascript/mastodon/locales/ca.json | 1 + app/javascript/mastodon/locales/co.json | 1 + app/javascript/mastodon/locales/cs.json | 1 + app/javascript/mastodon/locales/cy.json | 1 + app/javascript/mastodon/locales/da.json | 1 + app/javascript/mastodon/locales/de.json | 1 + .../mastodon/locales/defaultMessages.json | 4 +++ app/javascript/mastodon/locales/el.json | 1 + app/javascript/mastodon/locales/eo.json | 1 + app/javascript/mastodon/locales/es.json | 1 + app/javascript/mastodon/locales/eu.json | 1 + app/javascript/mastodon/locales/fa.json | 1 + app/javascript/mastodon/locales/fi.json | 1 + app/javascript/mastodon/locales/fr.json | 1 + app/javascript/mastodon/locales/gl.json | 1 + app/javascript/mastodon/locales/he.json | 1 + app/javascript/mastodon/locales/hr.json | 1 + app/javascript/mastodon/locales/hu.json | 1 + app/javascript/mastodon/locales/hy.json | 1 + app/javascript/mastodon/locales/id.json | 1 + app/javascript/mastodon/locales/io.json | 1 + app/javascript/mastodon/locales/it.json | 1 + app/javascript/mastodon/locales/ja.json | 1 + app/javascript/mastodon/locales/ka.json | 1 + app/javascript/mastodon/locales/ko.json | 1 + app/javascript/mastodon/locales/ms.json | 1 + app/javascript/mastodon/locales/nl.json | 1 + app/javascript/mastodon/locales/no.json | 1 + app/javascript/mastodon/locales/oc.json | 28 +++++++++---------- app/javascript/mastodon/locales/pt-BR.json | 1 + app/javascript/mastodon/locales/pt.json | 1 + app/javascript/mastodon/locales/ro.json | 1 + app/javascript/mastodon/locales/ru.json | 1 + app/javascript/mastodon/locales/sk.json | 1 + app/javascript/mastodon/locales/sl.json | 1 + app/javascript/mastodon/locales/sr-Latn.json | 1 + app/javascript/mastodon/locales/sr.json | 1 + app/javascript/mastodon/locales/sv.json | 1 + app/javascript/mastodon/locales/ta.json | 1 + app/javascript/mastodon/locales/te.json | 1 + app/javascript/mastodon/locales/th.json | 1 + app/javascript/mastodon/locales/tr.json | 1 + app/javascript/mastodon/locales/uk.json | 1 + app/javascript/mastodon/locales/zh-CN.json | 1 + app/javascript/mastodon/locales/zh-HK.json | 1 + app/javascript/mastodon/locales/zh-TW.json | 1 + config/locales/oc.yml | 25 +++++++++++++++-- config/locales/simple_form.oc.yml | 1 + 51 files changed, 88 insertions(+), 17 deletions(-) diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 2d73f84e09..88aa907e6e 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -17,6 +17,7 @@ "account.follows_you": "يتابعك", "account.hide_reblogs": "إخفاء ترقيات @{name}", "account.link_verified_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": "أُذكُر @{name}", "account.moved_to": "{name} إنتقل إلى :", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index e22c46e9ed..af7cfbc7d1 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -17,6 +17,7 @@ "account.follows_you": "Síguete", "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": "Mentar a @{name}", "account.moved_to": "{name} has moved to:", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 1a5a705935..c82fd8c814 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -17,6 +17,7 @@ "account.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": "Споменаване", "account.moved_to": "{name} has moved to:", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index bc1fd89504..d8e186b92c 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -17,6 +17,7 @@ "account.follows_you": "Et segueix", "account.hide_reblogs": "Amaga els impulsos de @{name}", "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {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": "Esmentar @{name}", "account.moved_to": "{name} s'ha mogut a:", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 45bf0dc435..98ee1b40d5 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -17,6 +17,7 @@ "account.follows_you": "Vi seguita", "account.hide_reblogs": "Piattà spartere da @{name}", "account.link_verified_on": "A prupietà di stu ligame hè stata verificata u {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": "Mintuvà @{name}", "account.moved_to": "{name} hè partutu nant'à:", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index 80fab00c35..dccb849c6a 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -17,6 +17,7 @@ "account.follows_you": "Sleduje vás", "account.hide_reblogs": "Skrýt boosty od uživatele @{name}", "account.link_verified_on": "Vlastnictví tohoto odkazu bylo zkontrolováno {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Média", "account.mention": "Zmínit uživatele @{name}", "account.moved_to": "{name} se přesunul/a na:", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 4047b54d60..b1fb769344 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -17,6 +17,7 @@ "account.follows_you": "Yn eich dilyn chi", "account.hide_reblogs": "Cuddio bwstiau o @{name}", "account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Cyfryngau", "account.mention": "Crybwyll @{name}", "account.moved_to": "Mae @{name} wedi symud i:", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 133f9e696a..745534c63c 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -17,6 +17,7 @@ "account.follows_you": "Følger dig", "account.hide_reblogs": "Skjul fremhævelserne fra @{name}", "account.link_verified_on": "Ejerskabet af dette link blev tjekket den %{date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Medie", "account.mention": "Nævn @{name}", "account.moved_to": "{name} er flyttet til:", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 6bba6114e5..e0ed432c3c 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -17,6 +17,7 @@ "account.follows_you": "Folgt dir", "account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen", "account.link_verified_on": "Besitz dieses Links wurde geprüft am {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Medien", "account.mention": "@{name} erwähnen", "account.moved_to": "{name} ist umgezogen auf:", diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index 350979212a..08f4c57d7e 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -643,6 +643,10 @@ "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" diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index ba332be3f6..ba2e748ab2 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -17,6 +17,7 @@ "account.follows_you": "Σε ακολουθεί", "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}", "account.link_verified_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": "Ανάφερε @{name}", "account.moved_to": "{name} μεταφέρθηκε στο:", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index f7a303cdd5..337ecd6dd3 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -17,6 +17,7 @@ "account.follows_you": "Sekvas vin", "account.hide_reblogs": "Kaŝi diskonigojn 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.media": "Aŭdovidaĵoj", "account.mention": "Mencii @{name}", "account.moved_to": "{name} moviĝis al:", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 7b8cfe3f3e..e05d7e010f 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -17,6 +17,7 @@ "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.media": "Media", "account.mention": "Mencionar a @{name}", "account.moved_to": "{name} se ha mudado a:", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index 8ce3b9ba3b..8b7cd22a4a 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -17,6 +17,7 @@ "account.follows_you": "Jarraitzen dizu", "account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak", "account.link_verified_on": "Esteka honen jabetzaren egiaztaketa data: {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": "Aipatu @{name}", "account.moved_to": "{name} hona lekualdatu da:", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index befdb38049..4e00b4f2f7 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -17,6 +17,7 @@ "account.follows_you": "پیگیر شماست", "account.hide_reblogs": "پنهان کردن بازبوق‌های @{name}", "account.link_verified_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": "نام‌بردن از @{name}", "account.moved_to": "{name} منتقل شده است به:", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index bb17255339..a9de659e0e 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -17,6 +17,7 @@ "account.follows_you": "Seuraa sinua", "account.hide_reblogs": "Piilota buustaukset käyttäjältä @{name}", "account.link_verified_on": "Tämän linkin omistaja tarkistettiin {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": "Mainitse @{name}", "account.moved_to": "{name} on muuttanut instanssiin:", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 85cafb18c0..205ec99712 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -17,6 +17,7 @@ "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": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Média", "account.mention": "Mentionner", "account.moved_to": "{name} a déménagé vers :", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index f2a8aec3a0..326297992f 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -17,6 +17,7 @@ "account.follows_you": "Séguena", "account.hide_reblogs": "Ocultar repeticións de @{name}", "account.link_verified_on": "A propiedade de esta ligazón foi comprobada en {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Medios", "account.mention": "Mencionar @{name}", "account.moved_to": "{name} marchou a:", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 3bcd825ae9..9c891e2e89 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -17,6 +17,7 @@ "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.media": "מדיה", "account.mention": "אזכור של @{name}", "account.moved_to": "החשבון {name} הועבר אל:", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index 33d2b3e373..ef6d482c1c 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -17,6 +17,7 @@ "account.follows_you": "te slijedi", "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": "Spomeni @{name}", "account.moved_to": "{name} has moved to:", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 51d65f98ca..85a5139041 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -17,6 +17,7 @@ "account.follows_you": "Követnek téged", "account.hide_reblogs": "Rejtsd el a tülkölést @{name}-tól/től", "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": "Média", "account.mention": "@{name} említése", "account.moved_to": "{name} átköltözött:", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 76c96ff038..63a93b1562 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -17,6 +17,7 @@ "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.media": "Մեդիա", "account.mention": "Նշել @{name}֊ին", "account.moved_to": "{name}֊ը տեղափոխվել է՝", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index 5280d96c26..eed96f8694 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -17,6 +17,7 @@ "account.follows_you": "Mengikuti anda", "account.hide_reblogs": "Sembunyikan boosts dari @{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": "Balasan @{name}", "account.moved_to": "{name} telah pindah ke:", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index a8a162d826..a31cc12cb3 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -17,6 +17,7 @@ "account.follows_you": "Sequas tu", "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": "Mencionar @{name}", "account.moved_to": "{name} has moved to:", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 7907909c51..acc75074c7 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -17,6 +17,7 @@ "account.follows_you": "Ti segue", "account.hide_reblogs": "Nascondi condivisioni da @{name}", "account.link_verified_on": "La proprietà di questo link è stata controllata il {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": "Menziona @{name}", "account.moved_to": "{name} si è trasferito su:", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index dd8e4a54e3..5c07da3fd5 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -17,6 +17,7 @@ "account.follows_you": "フォローされています", "account.hide_reblogs": "@{name}さんからのブーストを非表示", "account.link_verified_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": "@{name}さんにトゥート", "account.moved_to": "{name}さんは引っ越しました:", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index cbb6391367..07129594f3 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -17,6 +17,7 @@ "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.media": "მედია", "account.mention": "ასახელეთ @{name}", "account.moved_to": "{name} გადავიდა:", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index cd481b9e5c..b445823e71 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -17,6 +17,7 @@ "account.follows_you": "날 팔로우합니다", "account.hide_reblogs": "@{name}의 부스트를 숨기기", "account.link_verified_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": "@{name}에게 글쓰기", "account.moved_to": "{name}는 계정을 이동했습니다:", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index 3e243b743a..d5176b01dd 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -17,6 +17,7 @@ "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:", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index d8dea93d6d..c9a7c247b0 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -17,6 +17,7 @@ "account.follows_you": "Volgt jou", "account.hide_reblogs": "Verberg boosts van @{name}", "account.link_verified_on": "Eigendom van deze link is gecontroleerd op {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": "Vermeld @{name}", "account.moved_to": "{name} is verhuisd naar:", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index ea4e76de40..39c2365643 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -17,6 +17,7 @@ "account.follows_you": "Følger deg", "account.hide_reblogs": "Skjul fremhevinger fra @{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": "Nevn @{name}", "account.moved_to": "{name} har flyttet til:", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index a94e0336d3..072781e77d 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -150,32 +150,32 @@ "home.column_settings.show_reblogs": "Mostrar los partatges", "home.column_settings.show_replies": "Mostrar las responsas", "keyboard_shortcuts.back": "anar enrèire", - "keyboard_shortcuts.blocked": "per dobrir la lista d’utilizaires blocats", + "keyboard_shortcuts.blocked": "dobrir la lista d’utilizaires blocats", "keyboard_shortcuts.boost": "partejar", "keyboard_shortcuts.column": "centrar un estatut a una colomna", "keyboard_shortcuts.compose": "anar al camp tèxte", - "keyboard_shortcuts.description": "Descripcion", - "keyboard_shortcuts.direct": "per dobrir la colomna de messatges dirèctes", + "keyboard_shortcuts.description": "descripcion", + "keyboard_shortcuts.direct": "dobrir la colomna de messatges dirèctes", "keyboard_shortcuts.down": "far davalar dins la lista", "keyboard_shortcuts.enter": "dobrir los estatuts", "keyboard_shortcuts.favourite": "apondre als favorits", - "keyboard_shortcuts.favourites": "per dobrir la lista de favorits", - "keyboard_shortcuts.federated": "per dobrir lo flux public global", + "keyboard_shortcuts.favourites": "dobrir la lista de favorits", + "keyboard_shortcuts.federated": "dobrir lo flux public global", "keyboard_shortcuts.heading": "Acorchis clavièr", - "keyboard_shortcuts.home": "per dobrir lo flux public local", + "keyboard_shortcuts.home": "dobrir lo flux public local", "keyboard_shortcuts.hotkey": "Acorchis", "keyboard_shortcuts.legend": "mostrar aquesta legenda", - "keyboard_shortcuts.local": "per dobrir lo flux public local", + "keyboard_shortcuts.local": "dobrir lo flux public local", "keyboard_shortcuts.mention": "mencionar l’autor", - "keyboard_shortcuts.muted": "per dobrir la lista dels utilizaires silenciats", - "keyboard_shortcuts.my_profile": "per dobrir vòstre perfil", - "keyboard_shortcuts.notifications": "per dobrir la colomna de notificacions", - "keyboard_shortcuts.pinned": "per dobrir la lista dels tuts penjats", - "keyboard_shortcuts.profile": "per dobrir lo perfil de l’autor", + "keyboard_shortcuts.muted": "dobrir la lista dels utilizaires silenciats", + "keyboard_shortcuts.my_profile": "dobrir vòstre perfil", + "keyboard_shortcuts.notifications": "dobrir la colomna de notificacions", + "keyboard_shortcuts.pinned": "dobrir la lista dels tuts penjats", + "keyboard_shortcuts.profile": "dobrir lo perfil de l’autor", "keyboard_shortcuts.reply": "respondre", - "keyboard_shortcuts.requests": "per dorbir la lista de demanda d’abonament", + "keyboard_shortcuts.requests": "dorbir la lista de demanda d’abonament", "keyboard_shortcuts.search": "anar a la recèrca", - "keyboard_shortcuts.start": "per dobrir la colomna «Per començar»", + "keyboard_shortcuts.start": "dobrir la colomna « Per començar »", "keyboard_shortcuts.toggle_hidden": "mostrar/amagar lo tèxte dels avertiments", "keyboard_shortcuts.toot": "començar un estatut tot novèl", "keyboard_shortcuts.unfocus": "quitar lo camp tèxte/de recèrca", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 61811c53de..d1c4d0feda 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -17,6 +17,7 @@ "account.follows_you": "Segue você", "account.hide_reblogs": "Esconder compartilhamentos de @{name}", "account.link_verified_on": "A posse desse link foi verificada em {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Mídia", "account.mention": "Mencionar @{name}", "account.moved_to": "{name} se mudou para:", diff --git a/app/javascript/mastodon/locales/pt.json b/app/javascript/mastodon/locales/pt.json index c03001080a..cf56df0252 100644 --- a/app/javascript/mastodon/locales/pt.json +++ b/app/javascript/mastodon/locales/pt.json @@ -17,6 +17,7 @@ "account.follows_you": "É teu seguidor", "account.hide_reblogs": "Esconder partilhas 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.media": "Media", "account.mention": "Mencionar @{name}", "account.moved_to": "{name} mudou a sua conta para:", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index fc196e8203..d262b57b7e 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -17,6 +17,7 @@ "account.follows_you": "Te urmărește", "account.hide_reblogs": "Ascunde redistribuirile de la @{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": "Menționează @{name}", "account.moved_to": "{name} a fost mutat la:", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 3e2979c1b3..b1eb76afb8 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -17,6 +17,7 @@ "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.media": "Медиа", "account.mention": "Упомянуть", "account.moved_to": "Ищите {name} здесь:", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index e03cdef897..ffe4260165 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -17,6 +17,7 @@ "account.follows_you": "Následuje ťa", "account.hide_reblogs": "Skryť povýšenia od @{name}", "account.link_verified_on": "Vlastníctvo tohto odkazu bolo skontrolované {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Médiá", "account.mention": "Spomeň @{name}", "account.moved_to": "{name} sa presunul/a na:", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 080ab8ffcc..b85769f969 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -17,6 +17,7 @@ "account.follows_you": "Ti sledi", "account.hide_reblogs": "Skrij sunke od @{name}", "account.link_verified_on": "Lastništvo te povezave je bilo preverjeno {date}", + "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Mediji", "account.mention": "Omeni @{name}", "account.moved_to": "{name} se je premaknil na:", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index feaeb95c1b..6bc84adc3b 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -17,6 +17,7 @@ "account.follows_you": "Prati Vas", "account.hide_reblogs": "Sakrij podrške koje daje korisnika @{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": "Mediji", "account.mention": "Pomeni korisnika @{name}", "account.moved_to": "{name} se pomerio na:", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index 7e3c3f213c..a6dc1fc068 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -17,6 +17,7 @@ "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.media": "Медији", "account.mention": "Помени корисника @{name}", "account.moved_to": "{name} се померио на:", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index 6910b181d6..940f49c785 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -17,6 +17,7 @@ "account.follows_you": "Följer dig", "account.hide_reblogs": "Dölj knuffar från @{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": "Nämna @{name}", "account.moved_to": "{name} har flyttat till:", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index 3e243b743a..d5176b01dd 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -17,6 +17,7 @@ "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:", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index e5cfe4240f..86616ff423 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -17,6 +17,7 @@ "account.follows_you": "మిమ్మల్ని అనుసరిస్తున్నారు", "account.hide_reblogs": "@{name} నుంచి బూస్ట్ లను దాచిపెట్టు", "account.link_verified_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": "@{name}ను ప్రస్తావించు", "account.moved_to": "{name} ఇక్కడికి మారారు:", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index a85cc63dce..92dd298710 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -17,6 +17,7 @@ "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:", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index e1d0f33c4f..64a6204aa1 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -17,6 +17,7 @@ "account.follows_you": "Seni takip ediyor", "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": "Bahset @{name}", "account.moved_to": "{name} has moved to:", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 08c30833b3..c75940c253 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -17,6 +17,7 @@ "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.media": "Медіа", "account.mention": "Згадати @{name}", "account.moved_to": "{name} переїхав на:", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index e24910153b..da5cf4798d 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -17,6 +17,7 @@ "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.media": "媒体", "account.mention": "提及 @{name}", "account.moved_to": "{name} 已经迁移到:", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 7e1d4c73b1..16e803d927 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -17,6 +17,7 @@ "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.media": "媒體", "account.mention": "提及 @{name}", "account.moved_to": "{name} 已經遷移到:", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 4261c9345c..d2256c259a 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -17,6 +17,7 @@ "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.media": "媒體", "account.mention": "提到 @{name}", "account.moved_to": "{name} 已經移至:", diff --git a/config/locales/oc.yml b/config/locales/oc.yml index cc5ac8a819..8fe3e350a7 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -48,6 +48,7 @@ oc: other: Seguidors following: Abonaments joined: Arribèt en %{date} + last_active: darrièra activitat link_verified_on: La proprietat d’aqueste ligam foguèt verificada lo %{date} media: Mèdias moved_html: "%{name} a mudat a %{new_profile_link} :" @@ -114,9 +115,10 @@ oc: media_attachments: Mèdias enviats memorialize: Passar en memorial moderation: - all: Tot - silenced: Rescondut - suspended: Suspendut + active: Actius + all: Totes + silenced: Resconduts + suspended: Suspenduts title: Moderacion moderation_notes: Nòtas de moderacion most_recent_activity: Activitat mai recenta @@ -439,6 +441,14 @@ oc: proceed: Tractat title: Suspension de %{acct} warning_html: 'Suspendre aqueste compte suprimirà irreversiblament las donadas del compte, aquò compren :' + tags: + accounts: Comptes + hidden: Amagat + hide: Amagar dins l’annuari + name: Etiqueta + title: Etiquetas + unhide: Aparéisser dins l’annuari + visible: Visible title: Administracion admin_mailer: new_report: @@ -573,6 +583,15 @@ oc: success_msg: Compte ben suprimit warning_html: La supression del contengut d’aquesta instància es sola assegurada. Lo contengut fòrça partejat daissarà probablament de traças. Los servidors fòra-linha e los que vos sègon pas mai auràn pas la mesa a jorn de lor basa de donada. warning_title: Disponibilitat del contengut difusat + directories: + directory: Annuari de perfils + explanation: Trobar d’utilizaires segon lor interèsses + explore_mastodon: Explorar %{title} + most_popular: Mai populars + most_recently_active: Mai actius recentament + people: + one: "%{count} persona" + other: "%{count} personas" errors: '403': Avètz pas l’autorizacion de veire aquesta pagina. '404': La pagina que recercatz existís pas. diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml index bb9e3529ca..8694952e52 100644 --- a/config/locales/simple_form.oc.yml +++ b/config/locales/simple_form.oc.yml @@ -8,6 +8,7 @@ oc: bot: Avisar lo monde qu’aqueste compte es pas d’una persona context: Un o mai de contèxtes ont lo filtre deuriá s’aplicar digest: Solament enviat aprèp un long moment d’inactivitat e solament s’avètz recebut de messatges personals pendent vòstra abséncia + discoverable_html: L’annuari permet al monde de trobar de comptes segon lor interèsses e activitats. Requerís almens %{min_followers} seguidors email: Vos mandarem un corrièl de confirmacion fields: Podètz far veire cap a 4 elements sus vòstre perfil header: PNG, GIF o JPG. Maximum %{size}. Serà retalhada en %{dimensions}px From f1041637ffa05290bb229333eb5fb8dafab5d51b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Tue, 11 Dec 2018 05:40:01 +0100 Subject: [PATCH 10/36] Bump json-ld-preloaded from 2.2.3 to 3.0.0 (#9416) Bumps [json-ld-preloaded](https://github.com/ruby-rdf/json-ld-preloaded) from 2.2.3 to 3.0.0. - [Release notes](https://github.com/ruby-rdf/json-ld-preloaded/releases) - [Commits](https://github.com/ruby-rdf/json-ld-preloaded/compare/2.2.3...3.0.0) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 5d488087dc..a27cba7103 100644 --- a/Gemfile +++ b/Gemfile @@ -90,7 +90,7 @@ gem 'webpacker', '~> 3.5' gem 'webpush' gem 'json-ld', '~> 2.2' -gem 'json-ld-preloaded', '~> 2.2' +gem 'json-ld-preloaded', '~> 3.0' gem 'rdf-normalize', '~> 0.3' group :development, :test do diff --git a/Gemfile.lock b/Gemfile.lock index 6756bb5cde..9e93517221 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -290,10 +290,10 @@ GEM json-ld (2.2.1) multi_json (~> 1.12) rdf (>= 2.2.8, < 4.0) - json-ld-preloaded (2.2.3) + json-ld-preloaded (3.0.0) json-ld (>= 2.2, < 4.0) multi_json (~> 1.12) - rdf (>= 2.2, < 4.0) + rdf (~> 3.0) jsonapi-renderer (0.2.0) jwt (2.1.0) kaminari (1.1.1) @@ -471,7 +471,7 @@ GEM rb-fsevent (0.10.3) rb-inotify (0.9.10) ffi (>= 0.5.0, < 2) - rdf (3.0.2) + rdf (3.0.7) hamster (~> 3.0) link_header (~> 0.0, >= 0.0.8) rdf-normalize (0.3.3) @@ -697,7 +697,7 @@ DEPENDENCIES idn-ruby iso-639 json-ld (~> 2.2) - json-ld-preloaded (~> 2.2) + json-ld-preloaded (~> 3.0) kaminari (~> 1.1) letter_opener (~> 1.4) letter_opener_web (~> 1.3) From a48fe52375f207f538b3be675a943c3dd8603541 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Tue, 11 Dec 2018 14:34:02 +0900 Subject: [PATCH 11/36] Bump letter_opener from 1.6.0 to 1.7.0 (#9493) Bumps [letter_opener](https://github.com/ryanb/letter_opener) from 1.6.0 to 1.7.0. - [Release notes](https://github.com/ryanb/letter_opener/releases) - [Changelog](https://github.com/ryanb/letter_opener/blob/master/CHANGELOG.md) - [Commits](https://github.com/ryanb/letter_opener/compare/v1.6.0...v1.7.0) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index a27cba7103..b0284d8c04 100644 --- a/Gemfile +++ b/Gemfile @@ -124,7 +124,7 @@ group :development do gem 'better_errors', '~> 2.5' gem 'binding_of_caller', '~> 0.7' gem 'bullet', '~> 5.9' - gem 'letter_opener', '~> 1.4' + gem 'letter_opener', '~> 1.7' gem 'letter_opener_web', '~> 1.3' gem 'memory_profiler' gem 'rubocop', '~> 0.61', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 9e93517221..c42142aed1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -310,7 +310,7 @@ GEM kaminari-core (1.1.1) launchy (2.4.3) addressable (~> 2.3) - letter_opener (1.6.0) + letter_opener (1.7.0) launchy (~> 2.2) letter_opener_web (1.3.4) actionmailer (>= 3.2) @@ -699,7 +699,7 @@ DEPENDENCIES json-ld (~> 2.2) json-ld-preloaded (~> 3.0) kaminari (~> 1.1) - letter_opener (~> 1.4) + letter_opener (~> 1.7) letter_opener_web (~> 1.3) link_header (~> 0.0) lograge (~> 0.10) From 720daa81435b4c632cdf7b64044cf1ee59af977a Mon Sep 17 00:00:00 2001 From: ThibG Date: Tue, 11 Dec 2018 19:18:29 +0100 Subject: [PATCH 12/36] Add instance-wide setting to disable profile directory (#9497) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add instance-wide setting to disable profile directory Fixes #9496 When the profile directory is disabled: - The “discoverable” setting is hidden from users - The “profile directory” link is not shown on public pages - /explore returns 404 * Move Setting.profile_directory check to a before_action filter --- app/controllers/admin/dashboard_controller.rb | 1 + app/controllers/admin/settings_controller.rb | 2 ++ app/controllers/directories_controller.rb | 5 +++++ app/models/form/admin_settings.rb | 2 ++ app/views/admin/dashboard/index.html.haml | 6 ++++++ app/views/admin/settings/edit.html.haml | 3 +++ app/views/layouts/public.html.haml | 3 ++- app/views/settings/profiles/show.html.haml | 5 +++-- config/locales/en.yml | 4 ++++ config/settings.yml | 1 + 10 files changed, 29 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/dashboard_controller.rb b/app/controllers/admin/dashboard_controller.rb index 7be753c9b3..bb923c1859 100644 --- a/app/controllers/admin/dashboard_controller.rb +++ b/app/controllers/admin/dashboard_controller.rb @@ -28,6 +28,7 @@ module Admin @pam_enabled = ENV['PAM_ENABLED'] == 'true' @hidden_service = ENV['ALLOW_ACCESS_TO_HIDDEN_SERVICE'] == 'true' @trending_hashtags = TrendingTags.get(7) + @profile_directory = Setting.profile_directory end private diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index d9f2614899..4a049fc235 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -26,6 +26,7 @@ module Admin show_known_fediverse_at_about_page preview_sensitive_media custom_css + profile_directory ).freeze BOOLEAN_SETTINGS = %w( @@ -37,6 +38,7 @@ module Admin peers_api_enabled show_known_fediverse_at_about_page preview_sensitive_media + profile_directory ).freeze UPLOAD_SETTINGS = %w( diff --git a/app/controllers/directories_controller.rb b/app/controllers/directories_controller.rb index 265fd5fab2..b8565af4b5 100644 --- a/app/controllers/directories_controller.rb +++ b/app/controllers/directories_controller.rb @@ -3,6 +3,7 @@ class DirectoriesController < ApplicationController layout 'public' + before_action :check_enabled before_action :set_instance_presenter before_action :set_tag, only: :show before_action :set_tags @@ -18,6 +19,10 @@ class DirectoriesController < ApplicationController private + def check_enabled + return not_found unless Setting.profile_directory + end + def set_tag @tag = Tag.discoverable.find_by!(name: params[:id].downcase) end diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb index 9fef7da97f..eca71bf621 100644 --- a/app/models/form/admin_settings.rb +++ b/app/models/form/admin_settings.rb @@ -44,6 +44,8 @@ class Form::AdminSettings :preview_sensitive_media=, :custom_css, :custom_css=, + :profile_directory, + :profile_directory=, to: Setting ) end diff --git a/app/views/admin/dashboard/index.html.haml b/app/views/admin/dashboard/index.html.haml index 1996eef4d2..fa3d70e9ed 100644 --- a/app/views/admin/dashboard/index.html.haml +++ b/app/views/admin/dashboard/index.html.haml @@ -57,6 +57,12 @@ %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 diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml index 04b1a67540..7afa9ec371 100644 --- a/app/views/admin/settings/edit.html.haml +++ b/app/views/admin/settings/edit.html.haml @@ -62,6 +62,9 @@ .fields-group = f.input :preview_sensitive_media, as: :boolean, wrapper: :with_label, label: t('admin.settings.preview_sensitive_media.title'), hint: t('admin.settings.preview_sensitive_media.desc_html') + .fields-group + = f.input :profile_directory, as: :boolean, wrapper: :with_label, label: t('admin.settings.profile_directory.title'), hint: t('admin.settings.profile_directory.desc_html') + %hr.spacer/ .fields-group diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml index 831c7f012e..93ed12f189 100644 --- a/app/views/layouts/public.html.haml +++ b/app/views/layouts/public.html.haml @@ -9,7 +9,8 @@ = link_to root_url, class: 'brand' do = image_tag asset_pack_path('logo_full.svg'), alt: 'Mastodon' - = link_to t('directories.directory'), explore_path, class: 'nav-link' + - if Setting.profile_directory + = link_to t('directories.directory'), explore_path, class: 'nav-link' = link_to t('about.about_this'), about_more_path, class: 'nav-link' = link_to t('about.apps'), 'https://joinmastodon.org/apps', class: 'nav-link' .nav-center diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml index fa3869f6f9..eb232dc57b 100644 --- a/app/views/settings/profiles/show.html.haml +++ b/app/views/settings/profiles/show.html.haml @@ -26,8 +26,9 @@ .fields-group = f.input :bot, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.bot') - .fields-group - = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable_html', min_followers: Account::MIN_FOLLOWERS_DISCOVERY, path: explore_path) + - if Setting.profile_directory + .fields-group + = f.input :discoverable, as: :boolean, wrapper: :with_label, hint: t('simple_form.hints.defaults.discoverable_html', min_followers: Account::MIN_FOLLOWERS_DISCOVERY, path: explore_path) %hr.spacer/ diff --git a/config/locales/en.yml b/config/locales/en.yml index 243b513fd6..314787acd5 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -229,6 +229,7 @@ en: config: Configuration feature_deletions: Account deletions feature_invites: Invite links + feature_profile_directory: Profile directory feature_registrations: Registrations feature_relay: Federation relay features: Features @@ -376,6 +377,9 @@ en: 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 diff --git a/config/settings.yml b/config/settings.yml index 4036d419fe..b3d2e02403 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -15,6 +15,7 @@ defaults: &defaults site_contact_username: '' site_contact_email: '' open_registrations: true + profile_directory: true closed_registrations_message: '' open_deletion: true min_invite_role: 'admin' From cf6ee4ff243b66b2b53faaceed1266999b84c3c1 Mon Sep 17 00:00:00 2001 From: ThibG Date: Tue, 11 Dec 2018 19:28:03 +0100 Subject: [PATCH 13/36] Add admin ability to remove an user's header image (#9495) * Fix markup in admin/accounts/:id table for avatar * Add admin ability to remove an user's header image --- app/controllers/admin/accounts_controller.rb | 13 ++++++++++++- app/helpers/admin/action_logs_helper.rb | 2 +- app/policies/account_policy.rb | 4 ++++ app/views/admin/accounts/show.html.haml | 9 ++++++++- config/routes.rb | 1 + 5 files changed, 26 insertions(+), 3 deletions(-) diff --git a/app/controllers/admin/accounts_controller.rb b/app/controllers/admin/accounts_controller.rb index f155543ce2..771302db80 100644 --- a/app/controllers/admin/accounts_controller.rb +++ b/app/controllers/admin/accounts_controller.rb @@ -2,7 +2,7 @@ module Admin class AccountsController < BaseController - before_action :set_account, only: [:show, :subscribe, :unsubscribe, :redownload, :remove_avatar, :enable, :disable, :memorialize] + before_action :set_account, only: [:show, :subscribe, :unsubscribe, :redownload, :remove_avatar, :remove_header, :enable, :disable, :memorialize] before_action :require_remote_account!, only: [:subscribe, :unsubscribe, :redownload] before_action :require_local_account!, only: [:enable, :disable, :memorialize] @@ -71,6 +71,17 @@ module Admin redirect_to admin_account_path(@account.id) end + def remove_header + authorize @account, :remove_header? + + @account.header = nil + @account.save! + + log_action :remove_header, @account.user + + redirect_to admin_account_path(@account.id) + end + private def set_account diff --git a/app/helpers/admin/action_logs_helper.rb b/app/helpers/admin/action_logs_helper.rb index c28f0be6ba..68cf8c75dd 100644 --- a/app/helpers/admin/action_logs_helper.rb +++ b/app/helpers/admin/action_logs_helper.rb @@ -92,7 +92,7 @@ module Admin::ActionLogsHelper opposite_verbs?(log) ? 'negative' : 'positive' when :update, :reset_password, :disable_2fa, :memorialize, :change_email 'neutral' - when :demote, :silence, :disable, :suspend, :remove_avatar, :reopen + when :demote, :silence, :disable, :suspend, :remove_avatar, :remove_header, :reopen 'negative' when :destroy opposite_verbs?(log) ? 'positive' : 'negative' diff --git a/app/policies/account_policy.rb b/app/policies/account_policy.rb index efabe80d0d..07bae68efb 100644 --- a/app/policies/account_policy.rb +++ b/app/policies/account_policy.rb @@ -33,6 +33,10 @@ class AccountPolicy < ApplicationPolicy staff? end + def remove_header? + staff? + end + def subscribe? admin? end diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index c1a5fc1bd3..e9f7651078 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -16,11 +16,18 @@ %tr %th= t('admin.accounts.avatar') - %th + %td = link_to @account.avatar.url(:original) do = image_tag @account.avatar.url(:original), alt: '', width: 40, height: 40, class: 'avatar' - if @account.local? && @account.avatar? = table_link_to 'trash', t('admin.accounts.remove_avatar'), remove_avatar_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_avatar, @account) + %tr + %th= t('admin.accounts.header') + %td + = link_to @account.header.url(:original) do + = image_tag @account.header.url(:original), alt: '', width: 128, height: 40, class: 'header' + - if @account.local? && @account.header? + = table_link_to 'trash', t('admin.accounts.remove_header'), remove_header_admin_account_path(@account.id), method: :post, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:remove_header, @account) - if @account.local? %tr diff --git a/config/routes.rb b/config/routes.rb index 2628684137..4a0289465e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -176,6 +176,7 @@ Rails.application.routes.draw do post :disable post :redownload post :remove_avatar + post :remove_header post :memorialize end From 351ed12b2f0314f7dd6c31ef018d84ca2e48ad04 Mon Sep 17 00:00:00 2001 From: ysksn Date: Wed, 12 Dec 2018 13:54:09 +0900 Subject: [PATCH 14/36] Use find_or_initialize_by (#9504) --- app/services/pubsubhubbub/subscribe_service.rb | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/app/services/pubsubhubbub/subscribe_service.rb b/app/services/pubsubhubbub/subscribe_service.rb index 2dba05b12f..d2b85b85b2 100644 --- a/app/services/pubsubhubbub/subscribe_service.rb +++ b/app/services/pubsubhubbub/subscribe_service.rb @@ -58,12 +58,7 @@ class Pubsubhubbub::SubscribeService < BaseService end def locate_subscription - subscription = Subscription.find_by(account: account, callback_url: callback) - - if subscription.nil? - subscription = Subscription.new(account: account, callback_url: callback) - end - + subscription = Subscription.find_or_initialize_by(account: account, callback_url: callback) subscription.domain = domain subscription.save! subscription From 83975a2394ba6f9a6b8e6612187cb5546d4108ec Mon Sep 17 00:00:00 2001 From: ysksn Date: Wed, 12 Dec 2018 13:54:34 +0900 Subject: [PATCH 15/36] Remove redundant (#9503) --- .../pubsubhubbub/subscribe_service.rb | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/app/services/pubsubhubbub/subscribe_service.rb b/app/services/pubsubhubbub/subscribe_service.rb index d2b85b85b2..550da63281 100644 --- a/app/services/pubsubhubbub/subscribe_service.rb +++ b/app/services/pubsubhubbub/subscribe_service.rb @@ -19,31 +19,18 @@ class Pubsubhubbub::SubscribeService < BaseService private def process_subscribe - case subscribe_status - when :invalid_topic + if account.nil? ['Invalid topic URL', 422] - when :invalid_callback + elsif !valid_callback? ['Invalid callback URL', 422] - when :callback_not_allowed + elsif blocked_domain? ['Callback URL not allowed', 403] - when :valid + else confirm_subscription ['', 202] end end - def subscribe_status - if account.nil? - :invalid_topic - elsif !valid_callback? - :invalid_callback - elsif blocked_domain? - :callback_not_allowed - else - :valid - end - end - def confirm_subscription subscription = locate_subscription Pubsubhubbub::ConfirmationWorker.perform_async(subscription.id, 'subscribe', secret, lease_seconds) From 9983d21d35cad6ff1ad809baa7ae79dc430870f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Miko=C5=82ajczak?= Date: Wed, 12 Dec 2018 18:13:20 +0100 Subject: [PATCH 16/36] i18n: Update Polish translation (#9509) --- config/locales/pl.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/pl.yml b/config/locales/pl.yml index ef3b4b4d2a..4a0d654408 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -237,6 +237,7 @@ pl: config: Konfiguracja feature_deletions: Usuwanie kont feature_invites: Zaproszenia + feature_profile_directory: Katalog profilów feature_registrations: Rejestracja feature_relay: Przekazywanie federacji features: Możliwości @@ -382,6 +383,9 @@ pl: preview_sensitive_media: desc_html: Podgląd odnośników na innych instancjach będzie wyświetlał miniaturę nawet jeśli zawartość multimedialna zostanie oznaczona jako wrażliwa title: Wyświetlaj zawartość wrażliwą w podglądzie OpenGraph + profile_directory: + desc_html: Pozwalaj na poznawanie użytkowników + title: Włącz katalog profilów registrations: closed_message: desc_html: Wyświetlana na stronie głównej, gdy możliwość otwarej rejestracji nie jest dostępna. Możesz korzystać z tagów HTML From b048926e678e5b642cb1e939f629236e77944523 Mon Sep 17 00:00:00 2001 From: ysksn Date: Thu, 13 Dec 2018 06:32:13 +0900 Subject: [PATCH 17/36] Create Settings::BaseController (#9507) Define `Settings::BaseController#set_body_classes` so that sub classes inherit `Settings::BaseController` don't need to define `#set_body_classes` agein. --- app/controllers/settings/applications_controller.rb | 7 +------ app/controllers/settings/base_controller.rb | 11 +++++++++++ app/controllers/settings/deletes_controller.rb | 7 +------ app/controllers/settings/exports_controller.rb | 9 +-------- .../settings/follower_domains_controller.rb | 7 +------ app/controllers/settings/imports_controller.rb | 7 +------ app/controllers/settings/migrations_controller.rb | 7 +------ app/controllers/settings/notifications_controller.rb | 7 +------ app/controllers/settings/preferences_controller.rb | 7 +------ app/controllers/settings/profiles_controller.rb | 7 +------ app/controllers/settings/sessions_controller.rb | 7 +------ .../confirmations_controller.rb | 7 +------ .../recovery_codes_controller.rb | 9 +-------- .../settings/two_factor_authentications_controller.rb | 7 +------ 14 files changed, 24 insertions(+), 82 deletions(-) create mode 100644 app/controllers/settings/base_controller.rb diff --git a/app/controllers/settings/applications_controller.rb b/app/controllers/settings/applications_controller.rb index a1a2c57fa0..ed3f82a8e0 100644 --- a/app/controllers/settings/applications_controller.rb +++ b/app/controllers/settings/applications_controller.rb @@ -1,12 +1,11 @@ # frozen_string_literal: true -class Settings::ApplicationsController < ApplicationController +class Settings::ApplicationsController < Settings::BaseController layout 'admin' before_action :authenticate_user! before_action :set_application, only: [:show, :update, :destroy, :regenerate] before_action :prepare_scopes, only: [:create, :update] - before_action :set_body_classes def index @applications = current_user.applications.order(id: :desc).page(params[:page]) @@ -70,8 +69,4 @@ class Settings::ApplicationsController < ApplicationController scopes = params.fetch(:doorkeeper_application, {}).fetch(:scopes, nil) params[:doorkeeper_application][:scopes] = scopes.join(' ') if scopes.is_a? Array end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/base_controller.rb b/app/controllers/settings/base_controller.rb new file mode 100644 index 0000000000..9bb14afa2d --- /dev/null +++ b/app/controllers/settings/base_controller.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +class Settings::BaseController < ApplicationController + before_action :set_body_classes + + private + + def set_body_classes + @body_classes = 'admin' + end +end diff --git a/app/controllers/settings/deletes_controller.rb b/app/controllers/settings/deletes_controller.rb index 97f3946c87..dd19aadf63 100644 --- a/app/controllers/settings/deletes_controller.rb +++ b/app/controllers/settings/deletes_controller.rb @@ -1,11 +1,10 @@ # frozen_string_literal: true -class Settings::DeletesController < ApplicationController +class Settings::DeletesController < Settings::BaseController layout 'admin' before_action :check_enabled_deletion before_action :authenticate_user! - before_action :set_body_classes def show @confirmation = Form::DeleteConfirmation.new @@ -30,8 +29,4 @@ class Settings::DeletesController < ApplicationController def delete_params params.require(:form_delete_confirmation).permit(:password) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/exports_controller.rb b/app/controllers/settings/exports_controller.rb index 3a2334ef00..0135f21890 100644 --- a/app/controllers/settings/exports_controller.rb +++ b/app/controllers/settings/exports_controller.rb @@ -1,12 +1,11 @@ # frozen_string_literal: true -class Settings::ExportsController < ApplicationController +class Settings::ExportsController < Settings::BaseController include Authorization layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show @export = Export.new(current_account) @@ -21,10 +20,4 @@ class Settings::ExportsController < ApplicationController redirect_to settings_export_path end - - private - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/follower_domains_controller.rb b/app/controllers/settings/follower_domains_controller.rb index 9c39e66bbb..ce8ec985d6 100644 --- a/app/controllers/settings/follower_domains_controller.rb +++ b/app/controllers/settings/follower_domains_controller.rb @@ -1,10 +1,9 @@ # frozen_string_literal: true -class Settings::FollowerDomainsController < ApplicationController +class Settings::FollowerDomainsController < Settings::BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show @account = current_account @@ -26,8 +25,4 @@ class Settings::FollowerDomainsController < ApplicationController def bulk_params params.permit(select: []) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/imports_controller.rb b/app/controllers/settings/imports_controller.rb index e9548ce629..38f2e39c1d 100644 --- a/app/controllers/settings/imports_controller.rb +++ b/app/controllers/settings/imports_controller.rb @@ -1,11 +1,10 @@ # frozen_string_literal: true -class Settings::ImportsController < ApplicationController +class Settings::ImportsController < Settings::BaseController layout 'admin' before_action :authenticate_user! before_action :set_account - before_action :set_body_classes def show @import = Import.new @@ -32,8 +31,4 @@ class Settings::ImportsController < ApplicationController def import_params params.require(:import).permit(:data, :type) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/migrations_controller.rb b/app/controllers/settings/migrations_controller.rb index bd4f9c87af..59eb48779c 100644 --- a/app/controllers/settings/migrations_controller.rb +++ b/app/controllers/settings/migrations_controller.rb @@ -1,10 +1,9 @@ # frozen_string_literal: true -class Settings::MigrationsController < ApplicationController +class Settings::MigrationsController < Settings::BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show @migration = Form::Migration.new(account: current_account.moved_to_account) @@ -32,8 +31,4 @@ class Settings::MigrationsController < ApplicationController current_account.moved_to_account_id != @migration.account&.id && current_account.id != @migration.account&.id end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/notifications_controller.rb b/app/controllers/settings/notifications_controller.rb index d0754296cc..da8a03d964 100644 --- a/app/controllers/settings/notifications_controller.rb +++ b/app/controllers/settings/notifications_controller.rb @@ -1,10 +1,9 @@ # frozen_string_literal: true -class Settings::NotificationsController < ApplicationController +class Settings::NotificationsController < Settings::BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show; end @@ -30,8 +29,4 @@ class Settings::NotificationsController < ApplicationController interactions: %i(must_be_follower must_be_following must_be_following_dm) ) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/preferences_controller.rb b/app/controllers/settings/preferences_controller.rb index 70e71b4a24..41df3bde2f 100644 --- a/app/controllers/settings/preferences_controller.rb +++ b/app/controllers/settings/preferences_controller.rb @@ -1,10 +1,9 @@ # frozen_string_literal: true -class Settings::PreferencesController < ApplicationController +class Settings::PreferencesController < Settings::BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def show; end @@ -53,8 +52,4 @@ class Settings::PreferencesController < ApplicationController interactions: %i(must_be_follower must_be_following) ) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/profiles_controller.rb b/app/controllers/settings/profiles_controller.rb index 20a55785c5..db9081fdf0 100644 --- a/app/controllers/settings/profiles_controller.rb +++ b/app/controllers/settings/profiles_controller.rb @@ -1,13 +1,12 @@ # frozen_string_literal: true -class Settings::ProfilesController < ApplicationController +class Settings::ProfilesController < Settings::BaseController include ObfuscateFilename layout 'admin' before_action :authenticate_user! before_action :set_account - before_action :set_body_classes obfuscate_filename [:account, :avatar] obfuscate_filename [:account, :header] @@ -35,8 +34,4 @@ class Settings::ProfilesController < ApplicationController def set_account @account = current_user.account end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/sessions_controller.rb b/app/controllers/settings/sessions_controller.rb index 74cebc07b6..11b150ffd3 100644 --- a/app/controllers/settings/sessions_controller.rb +++ b/app/controllers/settings/sessions_controller.rb @@ -1,8 +1,7 @@ # frozen_string_literal: true -class Settings::SessionsController < ApplicationController +class Settings::SessionsController < Settings::BaseController before_action :set_session, only: :destroy - before_action :set_body_classes def destroy @session.destroy! @@ -15,8 +14,4 @@ class Settings::SessionsController < ApplicationController def set_session @session = current_user.session_activations.find(params[:id]) end - - def set_body_classes - @body_classes = 'admin' - end end diff --git a/app/controllers/settings/two_factor_authentication/confirmations_controller.rb b/app/controllers/settings/two_factor_authentication/confirmations_controller.rb index ee567c2a7c..d87117a50a 100644 --- a/app/controllers/settings/two_factor_authentication/confirmations_controller.rb +++ b/app/controllers/settings/two_factor_authentication/confirmations_controller.rb @@ -2,12 +2,11 @@ module Settings module TwoFactorAuthentication - class ConfirmationsController < ApplicationController + class ConfirmationsController < BaseController layout 'admin' before_action :authenticate_user! before_action :ensure_otp_secret - before_action :set_body_classes def new prepare_two_factor_form @@ -44,10 +43,6 @@ module Settings def ensure_otp_secret redirect_to settings_two_factor_authentication_path unless current_user.otp_secret end - - def set_body_classes - @body_classes = 'admin' - end end end end diff --git a/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb b/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb index bfb103620b..c78166c654 100644 --- a/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb +++ b/app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb @@ -2,11 +2,10 @@ module Settings module TwoFactorAuthentication - class RecoveryCodesController < ApplicationController + class RecoveryCodesController < BaseController layout 'admin' before_action :authenticate_user! - before_action :set_body_classes def create @recovery_codes = current_user.generate_otp_backup_codes! @@ -14,12 +13,6 @@ module Settings flash[:notice] = I18n.t('two_factor_authentication.recovery_codes_regenerated') render :index end - - private - - def set_body_classes - @body_classes = 'admin' - end end end end diff --git a/app/controllers/settings/two_factor_authentications_controller.rb b/app/controllers/settings/two_factor_authentications_controller.rb index e4d8aed413..e12c430746 100644 --- a/app/controllers/settings/two_factor_authentications_controller.rb +++ b/app/controllers/settings/two_factor_authentications_controller.rb @@ -1,12 +1,11 @@ # frozen_string_literal: true module Settings - class TwoFactorAuthenticationsController < ApplicationController + class TwoFactorAuthenticationsController < BaseController layout 'admin' before_action :authenticate_user! before_action :verify_otp_required, only: [:create] - before_action :set_body_classes def show @confirmation = Form::TwoFactorConfirmation.new @@ -44,9 +43,5 @@ module Settings current_user.validate_and_consume_otp!(confirmation_params[:code]) || current_user.invalidate_otp_backup_code!(confirmation_params[:code]) end - - def set_body_classes - @body_classes = 'admin' - end end end From 55abff8af75b9a8ab541ec68a3603c77e1339e23 Mon Sep 17 00:00:00 2001 From: ThibG Date: Wed, 12 Dec 2018 22:32:44 +0100 Subject: [PATCH 18/36] Various fixes to scrollable lists and media gallery (#9501) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Always use the scrollable class for the ScrollList component Fixes #9499 as well as empty timelines' scrollbar “blinking” between loading state and empty state. * Do not display empty message when the list is known to have more elements Fixes #9500 * Fix LoadMore usage in account media gallery (Even though that codepath is probably never actually used…) * Make account media gallery more consistent with account timeline Fixes #9498 Display “load more” more consistently, add a loading indicator on first load. * Fix “load more” button when no data has been fetched --- .../mastodon/components/scrollable_list.js | 11 ++++------- .../mastodon/components/status_list.js | 2 +- .../features/account_gallery/index.js | 19 +++++++++++++------ .../mastodon/features/followers/index.js | 1 - .../mastodon/features/following/index.js | 1 - 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/app/javascript/mastodon/components/scrollable_list.js b/app/javascript/mastodon/components/scrollable_list.js index ab4e7d59cf..774c8835da 100644 --- a/app/javascript/mastodon/components/scrollable_list.js +++ b/app/javascript/mastodon/components/scrollable_list.js @@ -30,7 +30,6 @@ export default class ScrollableList extends PureComponent { hasMore: PropTypes.bool, prepend: PropTypes.node, alwaysPrepend: PropTypes.bool, - alwaysShowScrollbar: PropTypes.bool, emptyMessage: PropTypes.node, children: PropTypes.node, }; @@ -206,11 +205,11 @@ export default class ScrollableList extends PureComponent { } render () { - const { children, scrollKey, trackScroll, shouldUpdateScroll, showLoading, isLoading, hasMore, prepend, alwaysPrepend, alwaysShowScrollbar, emptyMessage, onLoadMore } = this.props; + const { children, scrollKey, trackScroll, shouldUpdateScroll, showLoading, isLoading, hasMore, prepend, alwaysPrepend, emptyMessage, onLoadMore } = this.props; const { fullscreen } = this.state; const childrenCount = React.Children.count(children); - const loadMore = (hasMore && childrenCount > 0 && onLoadMore) ? : null; + const loadMore = (hasMore && onLoadMore) ? : null; let scrollableArea = null; if (showLoading) { @@ -225,7 +224,7 @@ export default class ScrollableList extends PureComponent { ); - } else if (isLoading || childrenCount > 0 || !emptyMessage) { + } else if (isLoading || childrenCount > 0 || hasMore || !emptyMessage) { scrollableArea = (
@@ -249,10 +248,8 @@ export default class ScrollableList extends PureComponent {
); } else { - const scrollable = alwaysShowScrollbar; - scrollableArea = ( -
+
{alwaysPrepend && prepend}
diff --git a/app/javascript/mastodon/components/status_list.js b/app/javascript/mastodon/components/status_list.js index 01cc056610..e417f9a2b9 100644 --- a/app/javascript/mastodon/components/status_list.js +++ b/app/javascript/mastodon/components/status_list.js @@ -55,7 +55,7 @@ export default class StatusList extends ImmutablePureComponent { } handleLoadOlder = debounce(() => { - this.props.onLoadMore(this.props.statusIds.last()); + this.props.onLoadMore(this.props.statusIds.size > 0 ? this.props.statusIds.last() : undefined); }, 300, { leading: true }) _selectChild (index) { diff --git a/app/javascript/mastodon/features/account_gallery/index.js b/app/javascript/mastodon/features/account_gallery/index.js index 32cb5ebdc9..0d66868ed8 100644 --- a/app/javascript/mastodon/features/account_gallery/index.js +++ b/app/javascript/mastodon/features/account_gallery/index.js @@ -36,7 +36,7 @@ class LoadMoreMedia extends ImmutablePureComponent { return ( ); } @@ -68,7 +68,7 @@ class AccountGallery extends ImmutablePureComponent { handleScrollToBottom = () => { if (this.props.hasMore) { - this.handleLoadMore(this.props.medias.last().getIn(['status', 'id'])); + this.handleLoadMore(this.props.medias.size > 0 ? this.props.medias.last().getIn(['status', 'id']) : undefined); } } @@ -103,8 +103,8 @@ class AccountGallery extends ImmutablePureComponent { ); } - if (!isLoading && medias.size > 0 && hasMore) { - loadOlder = ; + if (hasMore) { + loadOlder = ; } return ( @@ -112,14 +112,15 @@ class AccountGallery extends ImmutablePureComponent { -
+
-
+
{medias.map((media, index) => media === null ? ( 0 ? medias.getIn(index - 1, 'id') : null} + onLoadMore={this.handleLoadMore} /> ) : ( + + {isLoading && medias.size === 0 && ( +
+ +
+ )}
diff --git a/app/javascript/mastodon/features/followers/index.js b/app/javascript/mastodon/features/followers/index.js index b9ca7f3dda..ce56f270ca 100644 --- a/app/javascript/mastodon/features/followers/index.js +++ b/app/javascript/mastodon/features/followers/index.js @@ -73,7 +73,6 @@ class Followers extends ImmutablePureComponent { shouldUpdateScroll={shouldUpdateScroll} prepend={} alwaysPrepend - alwaysShowScrollbar emptyMessage={emptyMessage} > {accountIds.map(id => diff --git a/app/javascript/mastodon/features/following/index.js b/app/javascript/mastodon/features/following/index.js index b3e1602400..bda0438a0a 100644 --- a/app/javascript/mastodon/features/following/index.js +++ b/app/javascript/mastodon/features/following/index.js @@ -73,7 +73,6 @@ class Following extends ImmutablePureComponent { shouldUpdateScroll={shouldUpdateScroll} prepend={} alwaysPrepend - alwaysShowScrollbar emptyMessage={emptyMessage} > {accountIds.map(id => From 795bac44fd0191a7927e09337c9e13718af56dc1 Mon Sep 17 00:00:00 2001 From: ysksn Date: Thu, 13 Dec 2018 10:53:52 +0900 Subject: [PATCH 19/36] Add spec for Settings::ExportsController#create (#9512) --- .../settings/exports_controller_spec.rb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/spec/controllers/settings/exports_controller_spec.rb b/spec/controllers/settings/exports_controller_spec.rb index b7cab4d8f2..a46fe095d8 100644 --- a/spec/controllers/settings/exports_controller_spec.rb +++ b/spec/controllers/settings/exports_controller_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rails_helper' describe Settings::ExportsController do @@ -28,4 +30,23 @@ describe Settings::ExportsController do end end end + + describe 'POST #create' do + before do + sign_in Fabricate(:user), scope: :user + end + + it 'redirects to settings_export_path' do + post :create + expect(response).to redirect_to(settings_export_path) + end + + it 'queues BackupWorker job by 1' do + Sidekiq::Testing.fake! do + expect do + post :create + end.to change(BackupWorker.jobs, :size).by(1) + end + end + end end From 426d7191d9301360fa82c17195092246b1eb0c45 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 13 Dec 2018 05:19:52 +0100 Subject: [PATCH 20/36] Fix bootsnap cache directory being declared relatively (#9511) Resolve #9490 --- config/boot.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/boot.rb b/config/boot.rb index beb45a5ee2..f3e36203aa 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -4,7 +4,7 @@ require 'bundler/setup' # Set up gems listed in the Gemfile. require 'bootsnap' # Speed up boot time by caching expensive operations. Bootsnap.setup( - cache_dir: 'tmp/cache', + cache_dir: File.expand_path('../tmp/cache', __dir__), development_mode: ENV.fetch('RAILS_ENV', 'development') == 'development', load_path_cache: true, autoload_paths_cache: true, From 6d2080a74b58578de803a43ca381f5791231b873 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 13 Dec 2018 05:22:01 +0100 Subject: [PATCH 21/36] Add account hashtags to ActivityPub actor JSON (#9450) --- .../activitypub/actor_serializer.rb | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb index 5054bd6836..72c30dc733 100644 --- a/app/serializers/activitypub/actor_serializer.rb +++ b/app/serializers/activitypub/actor_serializer.rb @@ -105,7 +105,7 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer end def virtual_tags - object.emojis + object.emojis + object.tags end def virtual_attachments @@ -119,6 +119,24 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer class CustomEmojiSerializer < ActivityPub::EmojiSerializer end + class TagSerializer < ActiveModel::Serializer + include RoutingHelper + + attributes :type, :href, :name + + def type + 'Hashtag' + end + + def href + explore_hashtag_url(object) + end + + def name + "##{object.name}" + end + end + class Account::FieldSerializer < ActiveModel::Serializer attributes :type, :name, :value From 6eece70fca4ce79a8c5ff2bffb93d1e56a868e70 Mon Sep 17 00:00:00 2001 From: "Renato \"Lond\" Cerqueira" Date: Thu, 13 Dec 2018 16:59:51 +0100 Subject: [PATCH 22/36] Weblate translations (2018-12-13) (#9513) * Translated using Weblate (Czech) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cs/ * Translated using Weblate (Czech) Currently translated at 99.9% (697 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/ * Translated using Weblate (Esperanto) Currently translated at 99.7% (348 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/ * Translated using Weblate (Esperanto) Currently translated at 98.9% (88 of 89 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eo/ * Translated using Weblate (Corsican) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/co/ * Translated using Weblate (Catalan) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ca/ * Translated using Weblate (Greek) Currently translated at 100,0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/el/ * Translated using Weblate (Greek) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/el/ * Translated using Weblate (Slovak) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Slovak) Currently translated at 98.0% (684 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Dutch) Currently translated at 100,0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/ * Translated using Weblate (Dutch) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/ * Translated using Weblate (Galician) Currently translated at 100,0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/ * Translated using Weblate (Galician) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/ * Translated using Weblate (Czech) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cs/ * Translated using Weblate (Greek) Currently translated at 99.6% (695 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/el/ * Translated using Weblate (Czech) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cs/ * Translated using Weblate (Slovak) Currently translated at 100.0% (349 of 349 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Czech) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cs/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Slovak) Currently translated at 98.0% (684 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Greek) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/el/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Catalan) Currently translated at 100.0% (698 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ca/ * Translated using Weblate (Catalan) Currently translated at 100,0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ca/ * Translated using Weblate (Catalan) Currently translated at 100.0% (89 of 89 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ca/ * Translated using Weblate (Esperanto) Currently translated at 98.6% (345 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eo/ * Translated using Weblate (French) Currently translated at 99.7% (349 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (Czech) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cs/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Czech) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cs/ * Translated using Weblate (Corsican) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/co/ * Translated using Weblate (Italian) Currently translated at 99.7% (349 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/it/ * Translated using Weblate (Serbian) Currently translated at 99.7% (696 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sr/ * Translated using Weblate (French) Currently translated at 100,0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (Esperanto) Currently translated at 98.9% (690 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eo/ * Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt_BR/ * Translated using Weblate (Czech) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cs/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Basque) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/ * Translated using Weblate (Basque) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/ * Translated using Weblate (Dutch) Currently translated at 100,0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/ * Translated using Weblate (German) Currently translated at 99.9% (697 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/ * Translated using Weblate (Slovak) Currently translated at 98.0% (684 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (89 of 89 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/sk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (French) Currently translated at 99.9% (697 of 698 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (French) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (German) Currently translated at 98.5% (703 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/ * Translated using Weblate (Greek) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/el/ * Translated using Weblate (Greek) Currently translated at 100.0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/el/ * Translated using Weblate (Slovak) Currently translated at 97.1% (693 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/sk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/sk/ * Translated using Weblate (Galician) Currently translated at 100,0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/gl/ * Translated using Weblate (Galician) Currently translated at 100,0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/ * Translated using Weblate (Galician) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/ * Translated using Weblate (Czech) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Czech) Currently translated at 100.0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/cs/ * Translated using Weblate (Japanese) Currently translated at 97.9% (699 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/ * Translated using Weblate (French) Currently translated at 100,0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/fr/ * Translated using Weblate (French) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/fr/ * Translated using Weblate (Japanese) Currently translated at 99.7% (349 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/ * Translated using Weblate (Japanese) Currently translated at 97.8% (89 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ja/ * Translated using Weblate (Slovak) Currently translated at 97.9% (699 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Corsican) Currently translated at 100.0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/co/ * Translated using Weblate (Corsican) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/co/ * Translated using Weblate (Japanese) Currently translated at 97.9% (699 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ja/ * Translated using Weblate (Slovak) Currently translated at 98.0% (700 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Czech) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Basque) Currently translated at 100.0% (714 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/ * Translated using Weblate (Basque) Currently translated at 100.0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eu/ * Translated using Weblate (Italian) Currently translated at 100,0% (91 of 91 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/it/ * Translated using Weblate (Italian) Currently translated at 100,0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/it/ * Translated using Weblate (Italian) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/it/ * Translated using Weblate (Slovak) Currently translated at 100.0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/sk/ * Translated using Weblate (Chinese (Hong Kong)) Currently translated at 84.6% (296 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hant_HK/ * Translated using Weblate (Croatian) Currently translated at 47.4% (166 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/hr/ * Translated using Weblate (Danish) Currently translated at 96.6% (338 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/da/ * Translated using Weblate (Greek) Currently translated at 100.0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/el/ * Translated using Weblate (Greek) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/el/ * Translated using Weblate (Finnish) Currently translated at 94.6% (331 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fi/ * Translated using Weblate (Chinese (Simplified)) Currently translated at 82.9% (290 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/zh_Hans/ * Translated using Weblate (Georgian) Currently translated at 87.4% (306 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ka/ * Translated using Weblate (Armenian) Currently translated at 68.9% (241 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/hy/ * Translated using Weblate (Esperanto) Currently translated at 96.6% (690 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eo/ * Translated using Weblate (Arabic) Currently translated at 99.7% (349 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ar/ * Translated using Weblate (Arabic) Currently translated at 95.8% (684 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ar/ * Translated using Weblate (Czech) Currently translated at 100.0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/cs/ * Translated using Weblate (Slovak) Currently translated at 100.0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/sk/ * Translated using Weblate (Malay) Currently translated at 13.7% (48 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ms/ * Translated using Weblate (Tamil) Currently translated at 13.7% (48 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ta/ * Translated using Weblate (Russian) Currently translated at 91.7% (321 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ru/ * Translated using Weblate (German) Currently translated at 96.6% (338 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/ * Translated using Weblate (Korean) Currently translated at 97.1% (340 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ko/ * Translated using Weblate (Serbian (latin)) Currently translated at 70.0% (245 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sr_Latn/ * Translated using Weblate (Thai) Currently translated at 10.3% (36 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/th/ * Translated using Weblate (Ido) Currently translated at 36.0% (126 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/io/ * Translated using Weblate (Portuguese) Currently translated at 70.6% (247 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pt/ * Translated using Weblate (Telugu) Currently translated at 97.1% (340 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/te/ * Translated using Weblate (Swedish) Currently translated at 85.7% (300 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sv/ * Translated using Weblate (Welsh) Currently translated at 95.1% (333 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/cy/ * Translated using Weblate (Spanish) Currently translated at 94.6% (331 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/es/ * Translated using Weblate (Polish) Currently translated at 95.7% (335 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/pl/ * Translated using Weblate (Greek) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/el/ * Translated using Weblate (Turkish) Currently translated at 44.3% (155 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/tr/ * Translated using Weblate (Persian) Currently translated at 96.6% (338 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fa/ * Translated using Weblate (Norwegian (old code)) Currently translated at 72.0% (252 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/no/ * Translated using Weblate (Japanese) Currently translated at 99.7% (349 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ja/ * Translated using Weblate (Japanese) Currently translated at 95.7% (89 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/ja/ * Translated using Weblate (Dutch) Currently translated at 100,0% (714 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/ * Translated using Weblate (Dutch) Currently translated at 100.0% (62 of 62 strings) Translation: Mastodon/Devise Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/devise/nl/ * Translated using Weblate (Dutch) Currently translated at 100.0% (714 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/nl/ * Translated using Weblate (Dutch) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/nl/ * Translated using Weblate (Slovak) Currently translated at 99.7% (712 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Corsican) Currently translated at 100.0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/co/ * Translated using Weblate (German) Currently translated at 99.7% (349 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/de/ * Translated using Weblate (German) Currently translated at 98.9% (706 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/ * Translated using Weblate (German) Currently translated at 98.9% (706 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/de/ * Translated using Weblate (Danish) Currently translated at 96.9% (339 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/da/ * Translated using Weblate (Danish) Currently translated at 89.2% (83 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/da/ * Translated using Weblate (French) Currently translated at 100,0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/fr/ * Translated using Weblate (French) Currently translated at 100,0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (Slovak) Currently translated at 99.7% (712 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (French) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/fr/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Galician) Currently translated at 100,0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/ * Translated using Weblate (Galician) Currently translated at 100,0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/gl/ * Translated using Weblate (Galician) Currently translated at 100.0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/gl/ * Translated using Weblate (Slovak) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Dutch) Currently translated at 100,0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/nl/ * Translated using Weblate (Slovak) Currently translated at 99.7% (712 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/sk/ * Translated using Weblate (Basque) Currently translated at 100.0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/eu/ * Translated using Weblate (Basque) Currently translated at 100.0% (714 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/eu/ * Translated using Weblate (Basque) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/eu/ * Translated using Weblate (Slovak) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/sk/ * Translated using Weblate (Galician) Currently translated at 99,9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/ * Translated using Weblate (Galician) Currently translated at 100,0% (93 of 93 strings) Translation: Mastodon/Preferences Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/simple_form/gl/ * Normalize translations * Add missing translations for ar, cs, sk and sr * Translated using Weblate (Galician) Currently translated at 100.0% (350 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/gl/ * Translated using Weblate (Czech) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/cs/ * Translated using Weblate (Galician) Currently translated at 99.9% (713 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/gl/ * Normalize translations * Translated using Weblate (Asturian) Currently translated at 37.3% (266 of 714 strings) Translation: Mastodon/Backend Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/backend/ast/ * Translated using Weblate (Asturian) Currently translated at 68.3% (239 of 350 strings) Translation: Mastodon/React Translate-URL: https://weblate.joinmastodon.org/projects/mastodon/frontend/ast/ * Normalize translations --- app/javascript/mastodon/locales/ar.json | 18 ++--- app/javascript/mastodon/locales/ast.json | 2 +- app/javascript/mastodon/locales/ca.json | 22 +++---- app/javascript/mastodon/locales/co.json | 20 +++--- app/javascript/mastodon/locales/cs.json | 28 ++++---- app/javascript/mastodon/locales/da.json | 2 +- app/javascript/mastodon/locales/de.json | 24 +++---- app/javascript/mastodon/locales/el.json | 26 ++++---- app/javascript/mastodon/locales/eo.json | 76 +++++++++++----------- app/javascript/mastodon/locales/eu.json | 22 +++---- app/javascript/mastodon/locales/fr.json | 20 +++--- app/javascript/mastodon/locales/gl.json | 24 +++---- app/javascript/mastodon/locales/it.json | 20 +++--- app/javascript/mastodon/locales/ja.json | 4 +- app/javascript/mastodon/locales/nl.json | 22 +++---- app/javascript/mastodon/locales/pt-BR.json | 24 +++---- app/javascript/mastodon/locales/sk.json | 42 ++++++------ config/locales/ar.yml | 35 +++++++++- config/locales/ast.yml | 24 ++++++- config/locales/ca.yml | 2 +- config/locales/co.yml | 19 ++++++ config/locales/cs.yml | 24 ++++++- config/locales/de.yml | 18 +++-- config/locales/devise.nl.yml | 4 +- config/locales/el.yml | 25 ++++++- config/locales/eo.yml | 45 +++++++++++-- config/locales/eu.yml | 21 +++++- config/locales/fr.yml | 23 ++++++- config/locales/gl.yml | 35 +++++++--- config/locales/ja.yml | 18 +++++ config/locales/nl.yml | 33 ++++++++-- config/locales/simple_form.ca.yml | 2 +- config/locales/simple_form.co.yml | 4 ++ config/locales/simple_form.cs.yml | 4 ++ config/locales/simple_form.da.yml | 2 + config/locales/simple_form.el.yml | 4 ++ config/locales/simple_form.eo.yml | 12 ++++ config/locales/simple_form.eu.yml | 4 ++ config/locales/simple_form.fr.yml | 4 ++ config/locales/simple_form.gl.yml | 8 ++- config/locales/simple_form.it.yml | 2 + config/locales/simple_form.ja.yml | 3 + config/locales/simple_form.nl.yml | 4 ++ config/locales/simple_form.sk.yml | 10 ++- config/locales/sk.yml | 76 +++++++++++++++++----- config/locales/sr.yml | 67 ++++++++++++++++--- 46 files changed, 655 insertions(+), 273 deletions(-) diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 88aa907e6e..798c7bfd8d 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.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": "حظر @{name}", "account.block_domain": "إخفاء كل شيئ قادم من إسم النطاق {domain}", @@ -113,7 +113,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": "لم تتلق أية رسالة خاصة مباشِرة بعد. سوف يتم عرض الرسائل المباشرة هنا إن قمت بإرسال واحدة أو تلقيت البعض منها.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "ماستدون برنامج مفتوح المصدر. يمكنك المساهمة، أو الإبلاغ عن تقارير الأخطاء، على جيت هب {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.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_header.tag_mode.all": "و {additional}", + "hashtag.column_header.tag_mode.any": "أو {additional}", + "hashtag.column_header.tag_mode.none": "بدون {additional}", + "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", "home.column_settings.basic": "أساسية", "home.column_settings.show_reblogs": "عرض الترقيات", @@ -322,7 +322,7 @@ "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": "إلغاء الإقتراح", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index af7cfbc7d1..bb6d5c167b 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -209,7 +209,7 @@ "navigation_bar.follow_requests": "Solicitúes de siguimientu", "navigation_bar.info": "Tocante a esta instancia", "navigation_bar.keyboard_shortcuts": "Atayos", - "navigation_bar.lists": "Lists", + "navigation_bar.lists": "Llistes", "navigation_bar.logout": "Zarrar sesión", "navigation_bar.mutes": "Usuarios silenciaos", "navigation_bar.personal": "Personal", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index d8e186b92c..e4e9f183d3 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Afegir o Treure de les llistes", "account.badges.bot": "Bot", "account.block": "Bloca @{name}", "account.block_domain": "Amaga-ho tot de {domain}", @@ -17,7 +17,7 @@ "account.follows_you": "Et segueix", "account.hide_reblogs": "Amaga els impulsos de @{name}", "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.", "account.media": "Media", "account.mention": "Esmentar @{name}", "account.moved_to": "{name} s'ha mogut a:", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Resultats de la cerca", "emoji_button.symbols": "Símbols", "emoji_button.travel": "Viatges i Llocs", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "No hi ha toots aquí!", "empty_column.blocks": "Encara no has bloquejat cap usuari.", "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per fer rodar la pilota!", "empty_column.direct": "Encara no tens missatges directes. Quan enviïs o rebis un, es mostrarà aquí.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir o informar de problemes a GitHub a {github}.", "getting_started.security": "Seguretat", "getting_started.terms": "Termes del servei", - "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.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_header.tag_mode.all": "i {additional}", + "hashtag.column_header.tag_mode.any": "o {additional}", + "hashtag.column_header.tag_mode.none": "sense {additional}", + "hashtag.column_settings.tag_mode.all": "Tots aquests", + "hashtag.column_settings.tag_mode.any": "Qualsevol d’aquests", + "hashtag.column_settings.tag_mode.none": "Cap d’aquests", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Bàsic", "home.column_settings.show_reblogs": "Mostrar impulsos", @@ -322,11 +322,11 @@ "status.show_less_all": "Mostra menys per a tot", "status.show_more": "Mostra més", "status.show_more_all": "Mostra més per a tot", - "status.show_thread": "Show thread", + "status.show_thread": "Mostra el fil", "status.unmute_conversation": "Activar conversació", "status.unpin": "Deslliga del perfil", "suggestions.dismiss": "Descartar suggeriment", - "suggestions.header": "És possible que t’interessi…", + "suggestions.header": "És possible que estiguis interessat en…", "tabs_bar.federated_timeline": "Federada", "tabs_bar.home": "Inici", "tabs_bar.local_timeline": "Local", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 98ee1b40d5..1d8d61a7a8 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Aghjustà o toglie da e liste", "account.badges.bot": "Bot", "account.block": "Bluccà @{name}", "account.block_domain": "Piattà tuttu da {domain}", @@ -17,7 +17,7 @@ "account.follows_you": "Vi seguita", "account.hide_reblogs": "Piattà spartere da @{name}", "account.link_verified_on": "A prupietà di stu ligame hè stata verificata u {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "U statutu di vita privata di u contu hè chjosu. U pruprietariu esamina manualmente e dumande d'abbunamentu.", "account.media": "Media", "account.mention": "Mintuvà @{name}", "account.moved_to": "{name} hè partutu nant'à:", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Risultati di a cerca", "emoji_button.symbols": "Simbuli", "emoji_button.travel": "Lochi è Viaghju", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Nisun statutu quì!", "empty_column.blocks": "Per avà ùn avete bluccatu manc'un utilizatore.", "empty_column.community": "Ùn c'hè nunda indè a linea lucale. Scrivete puru qualcosa!", "empty_column.direct": "Ùn avete ancu nisun missaghju direttu. S'è voi mandate o ricevete unu, u vidarete quì.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon ghjè un lugiziale liberu. Pudete cuntribuisce à u codice o a traduzione, o palisà un bug, nant'à GitHub: {github}.", "getting_started.security": "Sicurità", "getting_started.terms": "Cundizione di u serviziu", - "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.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_header.tag_mode.all": "è {additional}", + "hashtag.column_header.tag_mode.any": "o {additional}", + "hashtag.column_header.tag_mode.none": "senza {additional}", + "hashtag.column_settings.tag_mode.all": "Tutti quessi", + "hashtag.column_settings.tag_mode.any": "Unu di quessi", + "hashtag.column_settings.tag_mode.none": "Nisunu di quessi", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Bàsichi", "home.column_settings.show_reblogs": "Vede e spartere", @@ -322,7 +322,7 @@ "status.show_less_all": "Ripiegà tuttu", "status.show_more": "Slibrà", "status.show_more_all": "Slibrà tuttu", - "status.show_thread": "Show thread", + "status.show_thread": "Vede u filu", "status.unmute_conversation": "Ùn piattà più a cunversazione", "status.unpin": "Spuntarulà da u prufile", "suggestions.dismiss": "Righjittà a pruposta", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index dccb849c6a..0d7f42656c 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Přidat nebo odstranit ze seznamů", "account.badges.bot": "Robot", "account.block": "Zablokovat uživatele @{name}", "account.block_domain": "Skrýt vše z {domain}", @@ -17,7 +17,7 @@ "account.follows_you": "Sleduje vás", "account.hide_reblogs": "Skrýt boosty od uživatele @{name}", "account.link_verified_on": "Vlastnictví tohoto odkazu bylo zkontrolováno {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "Stav soukromí tohoto účtu je nastaven na zamčeno. Jeho vlastník ručně posuzuje, kdo ho může sledovat.", "account.media": "Média", "account.mention": "Zmínit uživatele @{name}", "account.moved_to": "{name} se přesunul/a na:", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Výsledky hledání", "emoji_button.symbols": "Symboly", "emoji_button.travel": "Cestování a místa", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Tady nejsou žádné tooty!", "empty_column.blocks": "Ještě jste nezablokoval/a žádného uživatele.", "empty_column.community": "Místní časová osa je prázdná. Napište něco veřejně a rozhýbejte to tu!", "empty_column.direct": "Ještě nemáte žádné přímé zprávy. Pokud nějakou pošlete nebo dostanete, zobrazí se zde.", @@ -139,13 +139,13 @@ "getting_started.open_source_notice": "Mastodon je otevřený software. Na GitHubu k němu můžete přispět nebo nahlásit chyby: {github}.", "getting_started.security": "Zabezpečení", "getting_started.terms": "Podmínky používání", - "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.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": "a {additional}", + "hashtag.column_header.tag_mode.any": "nebo {additional}", + "hashtag.column_header.tag_mode.none": "bez {additional}", + "hashtag.column_settings.tag_mode.all": "Všechny z těchto", + "hashtag.column_settings.tag_mode.any": "Jakékoliv z těchto", + "hashtag.column_settings.tag_mode.none": "Žádné z těchto", + "hashtag.column_settings.tag_toggle": "Zahrnout v tomto sloupci dodatečné hashtagy", "home.column_settings.basic": "Základní", "home.column_settings.show_reblogs": "Zobrazit boosty", "home.column_settings.show_replies": "Zobrazit odpovědi", @@ -174,7 +174,7 @@ "keyboard_shortcuts.profile": "k otevření autorova profilu", "keyboard_shortcuts.reply": "k odpovězení", "keyboard_shortcuts.requests": "k otevření seznamu požadavků o sledování", - "keyboard_shortcuts.search": "k zaměření na vyhledávání", + "keyboard_shortcuts.search": "k zaměření na hledání", "keyboard_shortcuts.start": "k otevření sloupce „začínáme“", "keyboard_shortcuts.toggle_hidden": "k zobrazení/skrytí textu za varováním o obsahu", "keyboard_shortcuts.toot": "k napsání úplně nového tootu", @@ -189,7 +189,7 @@ "lists.edit": "Upravit seznam", "lists.new.create": "Přidat seznam", "lists.new.title_placeholder": "Název nového seznamu", - "lists.search": "Hledejte mezi uživateli, které sledujete", + "lists.search": "Hledejte mezi lidmi, které sledujete", "lists.subheading": "Vaše seznamy", "loading_indicator.label": "Načítám...", "media_gallery.toggle_visible": "Přepínat viditelnost", @@ -277,7 +277,7 @@ "report.submit": "Odeslat", "report.target": "Nahlásit {target}", "search.placeholder": "Hledat", - "search_popout.search_format": "Pokročilé vyhledávání", + "search_popout.search_format": "Pokročilé hledání", "search_popout.tips.full_text": "Jednoduchý textový výpis příspěvků, které jste napsal/a, oblíbil/a si, boostnul/a, nebo v nich byl/a zmíněn/a, včetně odpovídajících přezdívek, zobrazovaných jmen a hashtagů.", "search_popout.tips.hashtag": "hashtag", "search_popout.tips.status": "příspěvek", @@ -322,7 +322,7 @@ "status.show_less_all": "Zobrazit méně pro všechny", "status.show_more": "Zobrazit více", "status.show_more_all": "Zobrazit více pro všechny", - "status.show_thread": "Show thread", + "status.show_thread": "Zobrazit vlákno", "status.unmute_conversation": "Přestat ignorovat konverzaci", "status.unpin": "Odepnout z profilu", "suggestions.dismiss": "Odmítnout návrh", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 745534c63c..8fb002ae82 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Tilføj eller fjern fra lister", "account.badges.bot": "Robot", "account.block": "Bloker @{name}", "account.block_domain": "Skjul alt fra {domain}", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index e0ed432c3c..5ac95122f0 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -1,10 +1,10 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Hinzufügen oder Entfernen von Listen", "account.badges.bot": "Bot", "account.block": "@{name} blockieren", "account.block_domain": "Alles von {domain} verstecken", "account.blocked": "Blockiert", - "account.direct": "Direct Message @{name}", + "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", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Suchergebnisse", "emoji_button.symbols": "Symbole", "emoji_button.travel": "Reisen und Orte", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Keine Beiträge!", "empty_column.blocks": "Du hast keine Profile blockiert.", "empty_column.community": "Die lokale Zeitleiste ist leer. Schreibe einen öffentlichen Beitrag, um den Ball ins Rollen zu bringen!", "empty_column.direct": "Du hast noch keine Direktnachrichten erhalten. Wenn du eine sendest oder empfängst, wird sie hier zu sehen sein.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon ist quelloffene Software. Du kannst auf GitHub unter {github} dazu beitragen oder Probleme melden.", "getting_started.security": "Sicherheit", "getting_started.terms": "Nutzungsbedingungen", - "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.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_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.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", "home.column_settings.basic": "Einfach", "home.column_settings.show_reblogs": "Geteilte Beiträge anzeigen", @@ -322,11 +322,11 @@ "status.show_less_all": "Zeige weniger für alles", "status.show_more": "Mehr anzeigen", "status.show_more_all": "Zeige mehr für alles", - "status.show_thread": "Show thread", + "status.show_thread": "Zeige Thread", "status.unmute_conversation": "Stummschaltung von Thread aufheben", "status.unpin": "Vom Profil lösen", - "suggestions.dismiss": "Dismiss suggestion", - "suggestions.header": "You might be interested in…", + "suggestions.dismiss": "Hinweis ausblenden", + "suggestions.header": "Du bist vielleicht interessiert in…", "tabs_bar.federated_timeline": "Föderation", "tabs_bar.home": "Startseite", "tabs_bar.local_timeline": "Lokal", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index ba2e748ab2..468a4c728e 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.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": "Απόκλεισε τον/την @{name}", "account.block_domain": "Απόκρυψε τα πάντα από το {domain}", @@ -17,7 +17,7 @@ "account.follows_you": "Σε ακολουθεί", "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}", "account.link_verified_on": "Η ιδιοκτησία αυτού του συνδέσμου εκλέχθηκε την {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "Η κατάσταση απορρήτου αυτού του λογαριασμού είναι κλειδωμένη. Ο ιδιοκτήτης επιβεβαιώνει χειροκίνητα ποιος μπορεί να τον ακολουθήσει.", "account.media": "Πολυμέσα", "account.mention": "Ανάφερε @{name}", "account.moved_to": "{name} μεταφέρθηκε στο:", @@ -113,7 +113,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": "Δεν έχεις προσωπικά μηνύματα ακόμα. Όταν στείλεις ή λάβεις κανένα, θα εμφανιστεί εδώ.", @@ -139,12 +139,12 @@ "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.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_header.tag_mode.all": "και {additional}", + "hashtag.column_header.tag_mode.any": "ή {additional}", + "hashtag.column_header.tag_mode.none": "χωρίς {additional}", + "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", "home.column_settings.basic": "Βασικά", "home.column_settings.show_reblogs": "Εμφάνιση προωθήσεων", @@ -234,7 +234,7 @@ "notifications.group": "{count} ειδοποιήσεις", "onboarding.done": "Όλα έτοιμα", "onboarding.next": "Επόμενο", - "onboarding.page_five.public_timelines": "Η τοπική ροή δείχνει τις δημόσιες δημοσιεύσεις από όσους εδρεύουν στον κόμβο {domain}. Η ομοσπονδιακή ροή δείχνει τις δημόσιες δημοσιεύσεις εκείνων που οι χρήστες του {domain} ακολουθούν. Αυτές οι είναι Δημόσιες Ροές, ένας ωραίος τρόπος να ανακαλύψεις καινούριους ανθρώπους.", + "onboarding.page_five.public_timelines": "Η τοπική ροή δείχνει τις δημόσιες δημοσιεύσεις από όσους εδρεύουν στον κόμβο {domain}. Η ομοσπονδιακή ροή δείχνει τις δημόσιες δημοσιεύσεις εκείνων που οι χρήστες του {domain} ακολουθούν. Αυτές είναι οι Δημόσιες Ροές, ένας ωραίος τρόπος να ανακαλύψεις καινούριους ανθρώπους.", "onboarding.page_four.home": "Η αρχική ροή δείχνει καταστάσεις από ανθρώπους που ακολουθείς.", "onboarding.page_four.notifications": "Η στήλη ειδοποιήσεων δείχνει πότε κάποιος αλληλεπιδράει μαζί σου.", "onboarding.page_one.federation": "Το Mastodon είναι ένα δίκτυο ανεξάρτητων εξυπηρετητών (servers) που συνεργάζονται δημιουργώντας ένα μεγαλύτερο κοινωνικό δίκτυο. Τους εξυπηρετητές αυτούς τους λέμε κόμβους.", @@ -322,11 +322,11 @@ "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": "Τοπικά", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 337ecd6dd3..37304d8d1f 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Aldoni al aŭ forigi el listoj", "account.badges.bot": "Roboto", "account.block": "Bloki @{name}", "account.block_domain": "Kaŝi ĉion de {domain}", @@ -11,12 +11,12 @@ "account.endorse": "Montri en profilo", "account.follow": "Sekvi", "account.followers": "Sekvantoj", - "account.followers.empty": "No one follows this user yet.", + "account.followers.empty": "Neniu ankoraŭ sekvas ĉi tiun uzanton.", "account.follows": "Sekvatoj", - "account.follows.empty": "This user doesn't follow anyone yet.", + "account.follows.empty": "Ĉi tiu uzanto ne ankoraŭ sekvas iun.", "account.follows_you": "Sekvas vin", "account.hide_reblogs": "Kaŝi diskonigojn de @{name}", - "account.link_verified_on": "Ownership of this link was checked on {date}", + "account.link_verified_on": "Proprieto de ĉi tiu ligilo estis kontrolita je {date}", "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.media": "Aŭdovidaĵoj", "account.mention": "Mencii @{name}", @@ -92,9 +92,9 @@ "confirmations.mute.confirm": "Silentigi", "confirmations.mute.message": "Ĉu vi certas, ke vi volas silentigi {name}?", "confirmations.redraft.confirm": "Forigi kaj reskribi", - "confirmations.redraft.message": "Ĉu vi certas, ke vi volas forigi tiun mesaĝon kaj reskribi ĝin? Vi perdos ĉiujn respondojn, diskonigojn kaj stelumojn ligitajn al ĝi.", - "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.redraft.message": "Ĉu vi certas ke vi volas forigi tiun mesaĝon kaj reskribi ĝin? Ĉiuj diskonigoj kaj stelumoj estos perditaj, kaj respondoj al la originala mesaĝo estos orfigitaj.", + "confirmations.reply.confirm": "Respondi", + "confirmations.reply.message": "Respondi nun anstataŭigos la mesaĝon ke vi aktuale skribas. Ĉu vi certas ke vi volas daŭrigi?", "confirmations.unfollow.confirm": "Ne plu sekvi", "confirmations.unfollow.message": "Ĉu vi certas, ke vi volas ĉesi sekvi {name}?", "embed.instructions": "Enkorpigu ĉi tiun mesaĝon en vian retejon per kopio de la suba kodo.", @@ -113,20 +113,20 @@ "emoji_button.search_results": "Serĉaj rezultoj", "emoji_button.symbols": "Simboloj", "emoji_button.travel": "Vojaĝoj kaj lokoj", - "empty_column.account_timeline": "No toots here!", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.account_timeline": "Neniu mesaĝo ĉi tie!", + "empty_column.blocks": "Vi ne ankoraŭ blokis iun uzanton.", "empty_column.community": "La loka tempolinio estas malplena. Skribu ion por plenigi ĝin!", "empty_column.direct": "Vi ankoraŭ ne havas rektan mesaĝon. Kiam vi sendos aŭ ricevos iun, ĝi aperos ĉi tie.", - "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.domain_blocks": "Ankoraŭ estas neniu domajno blokita.", + "empty_column.favourited_statuses": "Vi ne ankoraŭ havas iun stelumitan mesaĝon. Kiam vi stelumos iun, tiu aperos ĉi tie.", + "empty_column.favourites": "Neniu ankoraŭ stelumis ĉi tiun mesaĝon. Kiam iu faros ĝin, tiu aperos ĉi tie.", + "empty_column.follow_requests": "Vi ne ankoraŭ havas iun peton de sekvado. Kiam vi ricevos unu, ĝi aperos ĉi tie.", "empty_column.hashtag": "Ankoraŭ estas nenio per ĉi tiu kradvorto.", "empty_column.home": "Via hejma tempolinio estas malplena! Vizitu {public} aŭ uzu la serĉilon por renkonti aliajn uzantojn.", "empty_column.home.public_timeline": "la publikan tempolinion", "empty_column.list": "Ankoraŭ estas nenio en ĉi tiu listo. Kiam membroj de ĉi tiu listo afiŝos novajn mesaĝojn, ili aperos ĉi tie.", "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.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 nodoj por plenigi la publikan tempolinion", "follow_request.authorize": "Rajtigi", @@ -142,40 +142,40 @@ "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.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_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", "home.column_settings.basic": "Bazaj agordoj", "home.column_settings.show_reblogs": "Montri diskonigojn", "home.column_settings.show_replies": "Montri respondojn", "keyboard_shortcuts.back": "por reveni", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "por malfermi la liston de blokitaj uzantoj", "keyboard_shortcuts.boost": "por diskonigi", "keyboard_shortcuts.column": "por fokusigi mesaĝon en unu el la kolumnoj", "keyboard_shortcuts.compose": "por fokusigi la tekstujon", "keyboard_shortcuts.description": "Priskribo", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "por malfermi la kolumnon de rektaj mesaĝoj", "keyboard_shortcuts.down": "por iri suben en la listo", "keyboard_shortcuts.enter": "por malfermi mesaĝon", "keyboard_shortcuts.favourite": "por stelumi", - "keyboard_shortcuts.favourites": "to open favourites list", - "keyboard_shortcuts.federated": "to open federated timeline", + "keyboard_shortcuts.favourites": "por malfermi la liston de stelumoj", + "keyboard_shortcuts.federated": "por malfermi la frataran tempolinion", "keyboard_shortcuts.heading": "Klavaraj mallongigoj", - "keyboard_shortcuts.home": "to open home timeline", + "keyboard_shortcuts.home": "por malfermi la hejman tempolinion", "keyboard_shortcuts.hotkey": "Rapidklavo", "keyboard_shortcuts.legend": "por montri ĉi tiun noton", - "keyboard_shortcuts.local": "to open local timeline", + "keyboard_shortcuts.local": "por malfermi la lokan tempolinion", "keyboard_shortcuts.mention": "por mencii la aŭtoron", - "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.muted": "por malfermi la liston de silentigitaj uzantoj", + "keyboard_shortcuts.my_profile": "por malfermi vian profilon", + "keyboard_shortcuts.notifications": "por malfermi la kolumnon de sciigoj", + "keyboard_shortcuts.pinned": "por malfermi la liston de alpinglitaj mesaĝoj", "keyboard_shortcuts.profile": "por malfermi la profilon de la aŭtoro", "keyboard_shortcuts.reply": "por respondi", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "por malfermi la liston de petoj de sekvado", "keyboard_shortcuts.search": "por fokusigi la serĉilon", - "keyboard_shortcuts.start": "to open \"get started\" column", + "keyboard_shortcuts.start": "por malfermi la kolumnon «por komenci»", "keyboard_shortcuts.toggle_hidden": "por montri/kaŝi tekston malantaŭ enhava averto", "keyboard_shortcuts.toot": "por komenci tute novan mesaĝon", "keyboard_shortcuts.unfocus": "por malfokusigi la tekstujon aŭ la serĉilon", @@ -196,10 +196,10 @@ "missing_indicator.label": "Ne trovita", "missing_indicator.sublabel": "Ĉi tiu elemento ne estis trovita", "mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn el ĉi tiu uzanto?", - "navigation_bar.apps": "Mobile apps", + "navigation_bar.apps": "Telefonaj aplikaĵoj", "navigation_bar.blocks": "Blokitaj uzantoj", "navigation_bar.community_timeline": "Loka tempolinio", - "navigation_bar.compose": "Compose new toot", + "navigation_bar.compose": "Redakti novan mesaĝon", "navigation_bar.direct": "Rektaj mesaĝoj", "navigation_bar.discover": "Esplori", "navigation_bar.domain_blocks": "Kaŝitaj domajnoj", @@ -292,7 +292,7 @@ "status.cancel_reblog_private": "Eksdiskonigi", "status.cannot_reblog": "Ĉi tiu mesaĝo ne diskonigeblas", "status.delete": "Forigi", - "status.detailed_status": "Detailed conversation view", + "status.detailed_status": "Detala konversacia vido", "status.direct": "Rekte mesaĝi @{name}", "status.embed": "Enkorpigi", "status.favourite": "Stelumi", @@ -306,11 +306,11 @@ "status.open": "Grandigi", "status.pin": "Alpingli profile", "status.pinned": "Alpinglita mesaĝo", - "status.read_more": "Read more", + "status.read_more": "Legi pli", "status.reblog": "Diskonigi", "status.reblog_private": "Diskonigi al la originala atentaro", "status.reblogged_by": "{name} diskonigis", - "status.reblogs.empty": "No one has boosted this toot yet. When someone does, they will show up here.", + "status.reblogs.empty": "Neniu ankoraŭ diskonigis ĉi tiun mesaĝon. Kiam iu faris ĝin, tiu aperos ĉi tie.", "status.redraft": "Forigi kaj reskribi", "status.reply": "Respondi", "status.replyAll": "Respondi al la fadeno", @@ -322,11 +322,11 @@ "status.show_less_all": "Malgrandigi ĉiujn", "status.show_more": "Grandigi", "status.show_more_all": "Grandigi ĉiujn", - "status.show_thread": "Show thread", + "status.show_thread": "Montri fadenon", "status.unmute_conversation": "Malsilentigi konversacion", "status.unpin": "Depingli de profilo", - "suggestions.dismiss": "Dismiss suggestion", - "suggestions.header": "You might be interested in…", + "suggestions.dismiss": "Forigi la proponon", + "suggestions.header": "Vi povus interesiĝi pri…", "tabs_bar.federated_timeline": "Fratara tempolinio", "tabs_bar.home": "Hejmo", "tabs_bar.local_timeline": "Loka tempolinio", @@ -335,7 +335,7 @@ "trends.count_by_accounts": "{count} {rawCount, pluraj, unu {person} alia(j) {people}} parolas", "ui.beforeunload": "Via malneto perdiĝos se vi eliras de Mastodon.", "upload_area.title": "Altreni kaj lasi por alŝuti", - "upload_button.label": "Aldoni aŭdovidaĵon", + "upload_button.label": "Aldoni aŭdovidaĵon (JPEG, PNG, GIF, WebM, MP4, MOV)", "upload_form.description": "Priskribi por misvidantaj homoj", "upload_form.focus": "Stuci", "upload_form.undo": "Forigi", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index 8b7cd22a4a..de4197604e 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Gehitu edo kendu zerrendetatik", "account.badges.bot": "Bot", "account.block": "Blokeatu @{name}", "account.block_domain": "Ezkutatu {domain} domeinuko guztia", @@ -17,7 +17,7 @@ "account.follows_you": "Jarraitzen dizu", "account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak", "account.link_verified_on": "Esteka honen jabetzaren egiaztaketa data: {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.", "account.media": "Media", "account.mention": "Aipatu @{name}", "account.moved_to": "{name} hona lekualdatu da:", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Bilaketaren emaitzak", "emoji_button.symbols": "Sinboloak", "emoji_button.travel": "Bidaiak eta tokiak", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Ez dago toot-ik hemen!", "empty_column.blocks": "Ez duzu erabiltzailerik blokeatu oraindik.", "empty_column.community": "Denbora-lerro lokala hutsik dago. Idatzi zerbait publikoki pilota biraka jartzeko!", "empty_column.direct": "Ez duzu mezu zuzenik oraindik. Baten bat bidali edo jasotzen duzunean, hemen agertuko da.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon software librea da. Ekarpenak egin ditzakezu edo akatsen berri eman GitHub bidez: {github}.", "getting_started.security": "Segurtasuna", "getting_started.terms": "Erabilera baldintzak", - "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.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_header.tag_mode.all": "eta {osagarria}", + "hashtag.column_header.tag_mode.any": "edo {osagarria}", + "hashtag.column_header.tag_mode.none": "gabe {osagarria}", + "hashtag.column_settings.tag_mode.all": "Hauetako guztiak", + "hashtag.column_settings.tag_mode.any": "Hautako edozein", + "hashtag.column_settings.tag_mode.none": "Hauetako bat ere ez", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Oinarrizkoa", "home.column_settings.show_reblogs": "Erakutsi bultzadak", @@ -316,13 +316,13 @@ "status.replyAll": "Erantzun harian", "status.report": "Salatu @{name}", "status.sensitive_toggle": "Egin klik ikusteko", - "status.sensitive_warning": "Eduki hunkigarria", + "status.sensitive_warning": "Kontuz: Eduki hunkigarria", "status.share": "Partekatu", "status.show_less": "Erakutsi gutxiago", "status.show_less_all": "Erakutsi denetarik gutxiago", "status.show_more": "Erakutsi gehiago", "status.show_more_all": "Erakutsi denetarik gehiago", - "status.show_thread": "Show thread", + "status.show_thread": "Erakutsi haria", "status.unmute_conversation": "Desmututu elkarrizketa", "status.unpin": "Desfinkatu profiletik", "suggestions.dismiss": "Errefusatu proposamena", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 205ec99712..38fe07abd9 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": "Add or Remove from lists", + "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}", @@ -17,7 +17,7 @@ "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": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "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", "account.moved_to": "{name} a déménagé vers :", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Résultats de la recherche", "emoji_button.symbols": "Symboles", "emoji_button.travel": "Lieux & Voyages", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Aucun pouet ici !", "empty_column.blocks": "Vous n’avez bloqué aucun utilisateur pour le moment.", "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.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon est un logiciel libre. Vous pouvez contribuer et envoyer vos commentaires et rapports de bogues via {github} sur GitHub.", "getting_started.security": "Sécurité", "getting_started.terms": "Conditions d’utilisation", - "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.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_header.tag_mode.all": "et {additional}", + "hashtag.column_header.tag_mode.any": "ou {additional}", + "hashtag.column_header.tag_mode.none": "sans {additional}", + "hashtag.column_settings.tag_mode.all": "Tous ces éléments", + "hashtag.column_settings.tag_mode.any": "Au moins un de ces éléments", + "hashtag.column_settings.tag_mode.none": "Aucun de ces éléments", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Basique", "home.column_settings.show_reblogs": "Afficher les partages", @@ -322,7 +322,7 @@ "status.show_less_all": "Tout replier", "status.show_more": "Déplier", "status.show_more_all": "Tout déplier", - "status.show_thread": "Show thread", + "status.show_thread": "Afficher le fil", "status.unmute_conversation": "Ne plus masquer la conversation", "status.unpin": "Retirer du profil", "suggestions.dismiss": "Rejeter la suggestion", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 326297992f..02c27602fe 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Engadir ou Eliminar das listas", "account.badges.bot": "Bot", "account.block": "Bloquear @{name}", "account.block_domain": "Ocultar calquer contido de {domain}", @@ -17,7 +17,7 @@ "account.follows_you": "Séguena", "account.hide_reblogs": "Ocultar repeticións de @{name}", "account.link_verified_on": "A propiedade de esta ligazón foi comprobada en {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "O estado da intimidade de esta conta estableceuse en pechado. A persoa dona da conta revisa quen pode seguila.", "account.media": "Medios", "account.mention": "Mencionar @{name}", "account.moved_to": "{name} marchou a:", @@ -100,7 +100,7 @@ "embed.instructions": "Copie o código inferior para incrustar no seu sitio web este estado.", "embed.preview": "Así será mostrado:", "emoji_button.activity": "Actividade", - "emoji_button.custom": "Personalizado", + "emoji_button.custom": "Persoalizado", "emoji_button.flags": "Marcas", "emoji_button.food": "Comida e Bebida", "emoji_button.label": "Insertar emoji", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Resultados da busca", "emoji_button.symbols": "Símbolos", "emoji_button.travel": "Viaxes e Lugares", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Sen toots por aquí!", "empty_column.blocks": "Non bloqueou ningunha usuaria polo de agora.", "empty_column.community": "A liña temporal local está baldeira. Escriba algo de xeito público para que rule!", "empty_column.direct": "Aínda non ten mensaxes directas. Cando envíe ou reciba unha, aparecerá aquí.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon é software de código aberto. Pode contribuír ou informar de fallos en GitHub en {github}.", "getting_started.security": "Seguridade", "getting_started.terms": "Termos do servizo", - "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.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_header.tag_mode.all": "e {additional}", + "hashtag.column_header.tag_mode.any": "ou {additional}", + "hashtag.column_header.tag_mode.none": "sen {additional}", + "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", "home.column_settings.basic": "Básico", "home.column_settings.show_reblogs": "Mostrar repeticións", @@ -212,7 +212,7 @@ "navigation_bar.lists": "Listas", "navigation_bar.logout": "Sair", "navigation_bar.mutes": "Usuarias acaladas", - "navigation_bar.personal": "Personal", + "navigation_bar.personal": "Persoal", "navigation_bar.pins": "Mensaxes fixadas", "navigation_bar.preferences": "Preferencias", "navigation_bar.public_timeline": "Liña temporal federada", @@ -322,7 +322,7 @@ "status.show_less_all": "Mostrar menos para todas", "status.show_more": "Mostrar máis", "status.show_more_all": "Mostrar máis para todas", - "status.show_thread": "Show thread", + "status.show_thread": "Mostrar fío", "status.unmute_conversation": "Non acalar a conversa", "status.unpin": "Despegar do perfil", "suggestions.dismiss": "Rexeitar suxestión", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index acc75074c7..2c1b59be9a 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Aggiungi o togli dalle liste", "account.badges.bot": "Bot", "account.block": "Blocca @{name}", "account.block_domain": "Nascondi tutto da {domain}", @@ -17,7 +17,7 @@ "account.follows_you": "Ti segue", "account.hide_reblogs": "Nascondi condivisioni da @{name}", "account.link_verified_on": "La proprietà di questo link è stata controllata il {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "Il livello di privacy di questo account è impostato a \"bloccato\". Il proprietario esamina manualmente le richieste di seguirlo.", "account.media": "Media", "account.mention": "Menziona @{name}", "account.moved_to": "{name} si è trasferito su:", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Risultati della ricerca", "emoji_button.symbols": "Simboli", "emoji_button.travel": "Viaggi e luoghi", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Non ci sono toot qui!", "empty_column.blocks": "Non hai ancora bloccato nessun utente.", "empty_column.community": "La timeline locale è vuota. Condividi qualcosa pubblicamente per dare inizio alla festa!", "empty_column.direct": "Non hai ancora nessun messaggio diretto. Quando ne manderai o riceverai qualcuno, apparirà qui.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon è un software open source. Puoi contribuire o segnalare errori su GitHub all'indirizzo {github}.", "getting_started.security": "Sicurezza", "getting_started.terms": "Condizioni del servizio", - "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.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_header.tag_mode.all": "e {additional}", + "hashtag.column_header.tag_mode.any": "o {additional}", + "hashtag.column_header.tag_mode.none": "senza {additional}", + "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", "home.column_settings.basic": "Semplice", "home.column_settings.show_reblogs": "Mostra post condivisi", @@ -322,7 +322,7 @@ "status.show_less_all": "Mostra meno per tutti", "status.show_more": "Mostra di più", "status.show_more_all": "Mostra di più per tutti", - "status.show_thread": "Show thread", + "status.show_thread": "Mostra thread", "status.unmute_conversation": "Annulla silenzia conversazione", "status.unpin": "Non fissare in cima al profilo", "suggestions.dismiss": "Elimina suggerimento", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 5c07da3fd5..cdb83d4589 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -17,7 +17,7 @@ "account.follows_you": "フォローされています", "account.hide_reblogs": "@{name}さんからのブーストを非表示", "account.link_verified_on": "このリンクの所有権は{date}に確認されました", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "このアカウントは承認制に設定されています。フォローするには所有者の確認が必要です。", "account.media": "メディア", "account.mention": "@{name}さんにトゥート", "account.moved_to": "{name}さんは引っ越しました:", @@ -136,7 +136,7 @@ "getting_started.find_friends": "Twitterの友達を探す", "getting_started.heading": "スタート", "getting_started.invite": "招待", - "getting_started.open_source_notice": "Mastodonはオープンソースソフトウェアです。誰でもGitHub({github})から開発に参加したり、問題を報告したりできます。", + "getting_started.open_source_notice": "Mastodonはオープンソースソフトウェアです。誰でもGitHub ( {github} ) から開発に参加したり、問題を報告したりできます。", "getting_started.security": "セキュリティ", "getting_started.terms": "プライバシーポリシー", "hashtag.column_header.tag_mode.all": "と {additional}", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index c9a7c247b0..0af479355b 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Toevoegen of verwijderen vanuit lijsten", "account.badges.bot": "Bot", "account.block": "Blokkeer @{name}", "account.block_domain": "Verberg alles van {domain}", @@ -17,7 +17,7 @@ "account.follows_you": "Volgt jou", "account.hide_reblogs": "Verberg boosts van @{name}", "account.link_verified_on": "Eigendom van deze link is gecontroleerd op {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "De privacystatus van dit account is op besloten gezet. De eigenaar bepaalt handmatig wie hen kan volgen.", "account.media": "Media", "account.mention": "Vermeld @{name}", "account.moved_to": "{name} is verhuisd naar:", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Zoekresultaten", "emoji_button.symbols": "Symbolen", "emoji_button.travel": "Reizen en plekken", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Hier zijn geen toots!", "empty_column.blocks": "Jij hebt nog geen enkele gebruiker geblokkeerd.", "empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de bal aan het rollen te krijgen!", "empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, zijn deze hier te zien.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon is vrije software. Je kunt bijdragen of problemen melden op GitHub via {github}.", "getting_started.security": "Beveiliging", "getting_started.terms": "Voorwaarden", - "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.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_header.tag_mode.all": "en {additional}", + "hashtag.column_header.tag_mode.any": "of {additional}", + "hashtag.column_header.tag_mode.none": "zonder {additional}", + "hashtag.column_settings.tag_mode.all": "Allemaal", + "hashtag.column_settings.tag_mode.any": "Een van deze", + "hashtag.column_settings.tag_mode.none": "Geen van deze", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Algemeen", "home.column_settings.show_reblogs": "Boosts tonen", @@ -210,7 +210,7 @@ "navigation_bar.info": "Over deze server", "navigation_bar.keyboard_shortcuts": "Sneltoetsen", "navigation_bar.lists": "Lijsten", - "navigation_bar.logout": "Afmelden", + "navigation_bar.logout": "Uitloggen", "navigation_bar.mutes": "Genegeerde gebruikers", "navigation_bar.personal": "Persoonlijk", "navigation_bar.pins": "Vastgezette toots", @@ -322,7 +322,7 @@ "status.show_less_all": "Alles minder tonen", "status.show_more": "Meer tonen", "status.show_more_all": "Alles meer tonen", - "status.show_thread": "Show thread", + "status.show_thread": "Gesprek tonen", "status.unmute_conversation": "Gesprek niet langer negeren", "status.unpin": "Van profielpagina losmaken", "suggestions.dismiss": "Suggestie verwerpen", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index d1c4d0feda..31c581aade 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Adicionar ou remover de listas", "account.badges.bot": "Robô", "account.block": "Bloquear @{name}", "account.block_domain": "Esconder tudo de {domain}", @@ -17,7 +17,7 @@ "account.follows_you": "Segue você", "account.hide_reblogs": "Esconder compartilhamentos de @{name}", "account.link_verified_on": "A posse desse link foi verificada em {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "Essa conta está trancada. Se você a seguir sua solicitação será revisada manualmente.", "account.media": "Mídia", "account.mention": "Mencionar @{name}", "account.moved_to": "{name} se mudou para:", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Resultados da busca", "emoji_button.symbols": "Símbolos", "emoji_button.travel": "Viagens & Lugares", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Não há toots aqui!", "empty_column.blocks": "Você ainda não bloqueou nenhum usuário.", "empty_column.community": "A timeline local está vazia. Escreva algo publicamente para começar!", "empty_column.direct": "Você não tem nenhuma mensagem direta ainda. Quando você enviar ou receber uma, as mensagens aparecerão por aqui.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon é um software de código aberto. Você pode contribuir ou reportar problemas na página do GitHub do projeto: {github}.", "getting_started.security": "Segurança", "getting_started.terms": "Termos de serviço", - "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.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_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.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", "home.column_settings.basic": "Básico", "home.column_settings.show_reblogs": "Mostrar compartilhamentos", @@ -322,11 +322,11 @@ "status.show_less_all": "Mostrar menos para todas as mensagens", "status.show_more": "Mostrar mais", "status.show_more_all": "Mostrar mais para todas as mensagens", - "status.show_thread": "Show thread", + "status.show_thread": "Mostrar sequência", "status.unmute_conversation": "Desativar silêncio desta conversa", "status.unpin": "Desafixar do perfil", - "suggestions.dismiss": "Dismiss suggestion", - "suggestions.header": "You might be interested in…", + "suggestions.dismiss": "Ignorar a sugestão", + "suggestions.header": "Você pode se interessar por…", "tabs_bar.federated_timeline": "Global", "tabs_bar.home": "Página inicial", "tabs_bar.local_timeline": "Local", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index ffe4260165..7b14118a31 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -1,5 +1,5 @@ { - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Pridaj, alebo odstráň zo zoznamov", "account.badges.bot": "Bot", "account.block": "Blokuj @{name}", "account.block_domain": "Ukry všetko z {domain}", @@ -13,11 +13,11 @@ "account.followers": "Sledujúci", "account.followers.empty": "Tohto užívateľa ešte nikto nenásleduje.", "account.follows": "Následuje", - "account.follows.empty": "Tento užívateľ ešte nikoho nenásleduje.", + "account.follows.empty": "Tento užívateľ tu ešte nikoho nenásleduje.", "account.follows_you": "Následuje ťa", "account.hide_reblogs": "Skryť povýšenia od @{name}", "account.link_verified_on": "Vlastníctvo tohto odkazu bolo skontrolované {date}", - "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", + "account.locked_info": "Stav súkromia pre tento účet je nastavený na zamknutý. Jeho vlastník sám prehodnocuje, kto ho môže sledovať.", "account.media": "Médiá", "account.mention": "Spomeň @{name}", "account.moved_to": "{name} sa presunul/a na:", @@ -25,7 +25,7 @@ "account.mute_notifications": "Stĺmiť oboznámenia od @{name}", "account.muted": "Utíšený/á", "account.posts": "Hlášky", - "account.posts_with_replies": "Príspevky s odpoveďami", + "account.posts_with_replies": "Hlášky s odpoveďami", "account.report": "Nahlás @{name}", "account.requested": "Čaká na schválenie. Kliknite pre zrušenie žiadosti", "account.share": "Zdieľať @{name} profil", @@ -56,7 +56,7 @@ "column.lists": "Zoznamy", "column.mutes": "Ignorovaní užívatelia", "column.notifications": "Oboznámenia", - "column.pins": "Pripnuté príspevky", + "column.pins": "Pripnuté hlášky", "column.public": "Federovaná časová os", "column_back_button.label": "Späť", "column_header.hide_settings": "Skryť nastavenia", @@ -113,7 +113,7 @@ "emoji_button.search_results": "Nájdené", "emoji_button.symbols": "Symboly", "emoji_button.travel": "Cestovanie a miesta", - "empty_column.account_timeline": "No toots here!", + "empty_column.account_timeline": "Niesú tu žiadne príspevky!", "empty_column.blocks": "Ešte si nikoho nezablokoval/a.", "empty_column.community": "Lokálna časová os je prázdna. Napíšte niečo, aby sa to tu začalo hýbať!", "empty_column.direct": "Ešte nemáš žiadne súkromné správy. Keď nejakú pošleš, alebo dostaneš, ukáže sa tu.", @@ -139,12 +139,12 @@ "getting_started.open_source_notice": "Mastodon je softvér s otvoreným kódom. Nahlásiť chyby, alebo prispievať môžeš na GitHube v {github}.", "getting_started.security": "Zabezpečenie", "getting_started.terms": "Podmienky prevozu", - "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.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_header.tag_mode.all": "a {additional}", + "hashtag.column_header.tag_mode.any": "alebo {additional}", + "hashtag.column_header.tag_mode.none": "bez {additional}", + "hashtag.column_settings.tag_mode.all": "Všetky tieto", + "hashtag.column_settings.tag_mode.any": "Hociktorý z týchto", + "hashtag.column_settings.tag_mode.none": "Žiaden z týchto", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", "home.column_settings.basic": "Základné", "home.column_settings.show_reblogs": "Zobraziť povýšené", @@ -194,8 +194,8 @@ "loading_indicator.label": "Načítam...", "media_gallery.toggle_visible": "Zapnúť/Vypnúť viditeľnosť", "missing_indicator.label": "Nenájdené", - "missing_indicator.sublabel": "Tento zdroj sa nepodarilo nájsť", - "mute_modal.hide_notifications": "Skryť notifikácie od tohoto užívateľa?", + "missing_indicator.sublabel": "Tento zdroj sa ešte nepodarilo nájsť", + "mute_modal.hide_notifications": "Skryť oboznámenia od tohoto užívateľa?", "navigation_bar.apps": "Mobilné aplikácie", "navigation_bar.blocks": "Blokovaní užívatelia", "navigation_bar.community_timeline": "Lokálna časová os", @@ -234,7 +234,7 @@ "notifications.group": "{count} oznámenia", "onboarding.done": "Koniec", "onboarding.next": "Ďalej", - "onboarding.page_five.public_timelines": "Lokálna časová os zobrazuje verejné správy od všetkých na {domain}. Federovaná časová os zobrazuje verejné správy od všetkých tých, čo následujú užívatrľov {domain} z iných serverov. Tieto sú takzvané Verejné Časové Osi, výborná možnosť ako nájsť a spoznať nových ľudí.", + "onboarding.page_five.public_timelines": "Lokálna časová os zobrazuje verejné správy od všetkých na {domain}. Federovaná časová os zobrazuje verejné správy od všetkých tých, čo následujú užívateľov {domain} z iných serverov. Tieto sú takzvané Verejné Časové Osi, výborná možnosť ako nájsť a spoznať nových ľudí.", "onboarding.page_four.home": "Domovská časová os zobrazí správy od ľudí ktorých sledujete.", "onboarding.page_four.notifications": "Stĺpec s notifikáciami zobrazí keď budete s niekým komunikovať.", "onboarding.page_one.federation": "Mastodon je sieť nezávislých serverov, spojením ktorých vzniká jedna veľká federovaná sociálna sieť.", @@ -285,8 +285,8 @@ "search_popout.tips.user": "používateľ", "search_results.accounts": "Ľudia", "search_results.hashtags": "Haštagy", - "search_results.statuses": "Príspevky", - "search_results.total": "{count, number} {count, plural, jeden {výsledok} ostatné {výsledky}}", + "search_results.statuses": "Hlášky", + "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.block": "Blokovať @{name}", "status.cancel_reblog_private": "Nezdieľaj", @@ -322,9 +322,9 @@ "status.show_less_all": "Všetkým ukáž menej", "status.show_more": "Ukáž viac", "status.show_more_all": "Všetkým ukáž viac", - "status.show_thread": "Show thread", - "status.unmute_conversation": "Prestať ignorovať konverzáciu", - "status.unpin": "Odopnúť z profilu", + "status.show_thread": "Ukáž diskusné vlákno", + "status.unmute_conversation": "Prestaň ignorovať konverzáciu", + "status.unpin": "Odopni z profilu", "suggestions.dismiss": "Zavrhni návrh", "suggestions.header": "Mohlo by ťa zaujímať…", "tabs_bar.federated_timeline": "Federovaná", @@ -332,7 +332,7 @@ "tabs_bar.local_timeline": "Lokálna", "tabs_bar.notifications": "Notifikácie", "tabs_bar.search": "Hľadaj", - "trends.count_by_accounts": "{count} {rawCount, viacerí, jeden {person} iní {people}} diskutujú", + "trends.count_by_accounts": "{count} {rawCount, plural, one {človek vraví} other {ľudia vravia}}", "ui.beforeunload": "Čo máš rozpísané sa stratí, ak opustíš Mastodon.", "upload_area.title": "Pretiahni a pusť pre nahratie", "upload_button.label": "Pridať médiálny súbor (JPEG, PNG, GIF, WebM, MP4, MOV)", diff --git a/config/locales/ar.yml b/config/locales/ar.yml index dd0cfd1f2a..eda99e24ca 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -60,6 +60,7 @@ ar: zero: متابِعون following: مُتابَع joined: انضم·ت في %{date} + last_active: آخر نشاط link_verified_on: تم التحقق مِن مالك هذا الرابط بتاريخ %{date} media: الوسائط moved_html: "%{name} إنتقلَ إلى %{new_profile_link} :" @@ -130,6 +131,7 @@ ar: media_attachments: الوسائط المرفقة memorialize: تحول إلى صفحة للذاكرة moderation: + active: نشِط all: الكل silenced: تم كتمه suspended: مُجَمَّد @@ -455,6 +457,12 @@ ar: hint_html: 'لتأكيد إجراء تعليق الحساب، يُرجى إدخال %{value} في الحقل التالي:' proceed: مواصلة title: تعليق الحساب %{acct} + tags: + accounts: الحسابات + hidden: المخفية + name: الوسم + title: الوسوم + visible: ظاهر title: الإدارة admin_mailer: new_report: @@ -531,6 +539,9 @@ ar: proceed: حذف حساب success_msg: تم حذف حسابك بنجاح warning_title: توافر المحتوى المنشور و المبعثَر + directories: + explore_mastodon: استكشف %{title} + most_popular: المشهورة errors: '403': ليس لك الصلاحيات الكافية لعرض هذه الصفحة. '404': إنّ الصفحة التي تبحث عنها لا وجود لها أصلا. @@ -645,7 +656,13 @@ ar: body: هذا هو مُلَخَّص الرسائل التي فاتتك وذلك منذ آخر زيارة لك في %{since} mention: "%{name} أشار إليك في :" new_followers_summary: رائع، لقد قام بمتابعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون ! - subject: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" + subject: + few: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" + many: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" + one: "إشعار واحد منذ آخر زيارة لك لـ \U0001F418" + other: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" + two: "إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" + zero: "إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" title: أثناء فترة غيابك … favourite: body: 'أُعجب %{name} بمنشورك :' @@ -763,8 +780,20 @@ ar: statuses: attached: description: 'مُرفَق : %{attached}' - image: "%{count} صُوَر" - video: "%{count} فيديوهات" + image: + few: "%{count} صور" + many: "%{count} صور" + one: صورة %{count} + other: "%{count} صور" + two: صور + zero: صور + video: + few: "%{count} فيديوهات" + many: "%{count} فيديوهات" + one: فيديو %{count} + other: "%{count} فيديوهات" + two: فيديوهات + zero: فيديوهات boosted_from_html: تم إعادة ترقيته مِن %{acct_link} content_warning: 'تحذير عن المحتوى : %{warning}' disallowed_hashtags: 'يحتوي على أحد الوسوم الممنوعة: %{tags}' diff --git a/config/locales/ast.yml b/config/locales/ast.yml index 795fac5ad4..e6c51b10e5 100644 --- a/config/locales/ast.yml +++ b/config/locales/ast.yml @@ -24,12 +24,14 @@ ast: status_count_after: estaos status_count_before: Que crearon terms: Términos del serviciu - user_count_after: usuarios + user_count_after: + one: usuariu + other: usuarios user_count_before: Ye'l llar de what_is_mastodon: "¿Qué ye Mastodon?" accounts: followers: - one: Siguidor + one: Xente que te sigue other: Siguidores joined: Xunióse en %{date} moved_html: "%{name} mudóse a %{new_profile_link}:" @@ -37,7 +39,11 @@ ast: nothing_here: "¡Equí nun hai nada!" people_followed_by: Persones a les que sigue %{name} people_who_follow: Persones que siguen a %{name} - posts: Toots + posts: + one: Toot + other: Toots + posts_tab_heading: Toots + posts_with_replies: Toots y rempuestes reserved_username: El nome d'usuariu ta acutáu roles: bot: Robó @@ -139,6 +145,7 @@ ast: cas: CAS saml: SAML register: Rexistrase + register_elsewhere: Rexistrase n'otru sirvidor security: Seguranza authorize_follow: already_following: Yá tas siguiendo a esta cuenta @@ -155,6 +162,10 @@ ast: deletes: bad_password_msg: "¡Bon intentu, crackers! Contraseña incorreuta" confirm_password: Introduz la contraseña pa verificar la to identidá + directories: + people: + one: "%{count} persona" + other: "%{count} persones" errors: '403': Nun tienes permisu pa ver esta páxina. '404': La páxina que tabes guetando nun esiste. @@ -167,8 +178,12 @@ ast: archive_takeout: date: Data hint_html: Pues solicitar un archivu colos tos toots y ficheros xubíos. Los datos esportaos van tar nel formatu ActivityPub, llexible pa cualesquier software que seya compatible. Pues solicitar un archivu cada 7 díes. + request: Solicitar l'archivu size: Tamañu + blocks: Xente que bloquiesti csv: CSV + follows: Xente que sigues + mutes: Xente que silenciesti filters: contexts: notifications: Avisos @@ -340,6 +355,7 @@ ast: lost_recovery_codes: Los códigos de recuperación permítente recuperar l'accesu a la cuenta si pierdes el teléfonu. Si tamién pierdes esos códigos, pues xeneralos de nueves equí. Los códigos de recuperación vieyos van invalidase. manual_instructions: 'Si nun pues escaniar el códigu QR y precises introducilu a mano, equí ta''l secretu en testu planu:' recovery_codes: Códigos de recuperación + recovery_codes_regenerated: Los códigos de recuperación rexeneráronse con ésitu user_mailer: welcome: full_handle_hint: Esto ye lo que-yos diríes a los collacios pa que puean unviate mensaxes o siguite dende otra instancia. @@ -348,3 +364,5 @@ ast: users: invalid_email: La direición de corréu nun ye válida seamless_external_login: Aniciesti sesión pente un serviciu esternu, polo que los axustes de la contraseña y corréu nun tán disponibles. + verification: + verification: Verificación diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 29a75f13bd..9540c9a41b 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -658,7 +658,7 @@ ca: title: Menció nova reblog: body: "%{name} ha impulsat el teu estat:" - subject: "%{name} ha retootejat el teu estat" + subject: "%{name} ha impulsat el teu estat" title: Nou impuls number: human: diff --git a/config/locales/co.yml b/config/locales/co.yml index b4458f602e..d2dcef9a41 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -48,6 +48,7 @@ co: other: Abbunati following: Abbunamenti joined: Quì dapoi %{date} + last_active: ultima attività link_verified_on: A pruprietà d'issu ligame hè stata verificata u %{date} media: Media moved_html: "%{name} hà cambiatu di contu, avà hè nant’à %{new_profile_link}:" @@ -114,6 +115,7 @@ co: media_attachments: Media aghjunti memorialize: Trasfurmà in mimuriale moderation: + active: Attivu all: Tutti silenced: Silenzati suspended: Suspesi @@ -439,6 +441,14 @@ co: proceed: Cuntinuà title: Suspende %{acct} warning_html: 'A suspensione di u contu sguasserà di manera irreversibile i so dati, cum''è:' + tags: + accounts: Conti + hidden: Piattatu + hide: Piattà di l'annuariu + name: Hashtag + title: Hashtag + unhide: Mustrà in l'annuariu + visible: Visibile title: Amministrazione admin_mailer: new_report: @@ -517,6 +527,15 @@ co: success_msg: U vostru contu hè statu sguassatu warning_html: Pudete esse sicuru·a solu chì u cuntenutu sarà sguassatu di st’istanza. S’ellu hè statu spartutu in altrò, sarà forse sempre quallà. warning_title: Dispunibilità di i cuntenuti sparsi + directories: + directory: Annuariu di i prufili + explanation: Scopre utilizatori à partesi di i so centri d'interessu + explore_mastodon: Scopre à %{title} + most_popular: I più pupulari + most_recently_active: Attività a più fresca + people: + one: "%{count} persona" + other: "%{count} persone" errors: '403': Ùn site micca auturizatu·a à vede sta pagina. '404': Sta pagina ùn esiste micca. diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 74e1b0e459..b2965b522a 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -48,9 +48,10 @@ cs: followers: few: Sledovatelé one: Sledovatel - other: Sledovatelé + other: Sledovatelů following: Sledovaných joined: Připojil/a se v %{date} + last_active: naposledy aktivní link_verified_on: Vlastnictví tohoto odkazu bylo zkontrolováno %{date} media: Média moved_html: 'Účet %{name} byl přesunut na %{new_profile_link}:' @@ -63,7 +64,7 @@ cs: posts: few: Tooty one: Toot - other: Tooty + other: Tootů posts_tab_heading: Tooty posts_with_replies: Tooty a odpovědi reserved_username: Toto uživatelské jméno je rezervováno @@ -118,6 +119,7 @@ cs: media_attachments: Mediální přílohy memorialize: Změnit na „in memoriam“ moderation: + active: Aktivní all: Vše silenced: Utišen/a suspended: Suspendován/a @@ -444,6 +446,14 @@ cs: proceed: Pokračovat title: Suspendovat účet %{acct} warning_html: 'Suspenzace tohoto účtu nenávratně smaže z tohoto účtu data, včetně:' + tags: + accounts: Účty + hidden: Skryté + hide: Skrýt z adresáře + name: Hashtag + title: Hashtagy + unhide: Zobrazit v adresáři + visible: Viditelné title: Administrace admin_mailer: new_report: @@ -522,6 +532,16 @@ cs: success_msg: Váš účet byl úspěšně odstraněn warning_html: Pouze vymazání obsahu z této konkrétní instance je zaručeno. Obsah, který byl široce sdílen, po sobě pravděpodobně zanechá stopy. U offline serverů a serverů, které vaše aktualizace již neodebírají, nebudou databáze aktualizovány. warning_title: Dostupnost rozšířeného obsahu + directories: + directory: Adresář profilů + explanation: Objevujte uživatele podle jejich zájmů + explore_mastodon: Prozkoumejte %{title} + most_popular: Nejpopulárnější + most_recently_active: Naposledy aktivní + people: + few: "%{count} lidí" + one: "%{count} člověk" + other: "%{count} lidí" errors: '403': Nemáte povolení zobrazit tuto stránku. '404': Stránka, kterou hledáte, neexistuje. diff --git a/config/locales/de.yml b/config/locales/de.yml index c614210384..988fa45a65 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -48,6 +48,7 @@ de: other: Follower following: Folgt joined: Beigetreten am %{date} + last_active: zuletzt aktiv link_verified_on: Besitz des Links wurde überprüft am %{date} media: Medien moved_html: "%{name} ist auf %{new_profile_link} umgezogen:" @@ -114,6 +115,7 @@ de: media_attachments: Medienanhänge memorialize: In Gedenkmal verwandeln moderation: + active: Aktiv all: Alle silenced: Stummgeschaltet suspended: Gesperrt @@ -439,6 +441,14 @@ de: proceed: Fortfahren title: "%{acct} sperren" warning_html: 'Die Sperrung des Benutzerkontos wird unwiederrufliche Schäden hervorrufen und alle Daten löschen, die folgendes beinhalten:' + tags: + accounts: Konten + hidden: Versteckt + hide: Vor Verzeichnis verstecken + name: Hashtag + title: Hashtags + unhide: Zeige in Verzeichnis + visible: Sichtbar title: Administration admin_mailer: new_report: @@ -815,7 +825,7 @@ de:

Wie beschützen wir deine Informationen?

-

Wir implementieren eine Reihe von Sicherheitsmaßnahmen, um die Sicherheit deiner persönlichen Information sicherzustellen, wenn du persönliche Informationen eingibst, übermittelst oder auf sie zugreifst. Neben anderen Dingen, wird sowohl deine Browsersitzung, als auch der Datenverkehr zischen deinen Anwendungen und der Programmierschnittstelle (API) mit SSL gesichert, dein Passwort wird mit einem starken Einwegalgorithmus gehasht. Du kannst Zwei-Faktor-Authentifizierung aktivieren, um den Zugriff auf dein Konto zusätzlich abzusichern.

+

Wir implementieren eine Reihe von Sicherheitsmaßnahmen, um die Sicherheit deiner persönlichen Information sicherzustellen, wenn du persönliche Informationen eingibst, übermittelst oder auf sie zugreifst. Neben anderen Dingen, wird sowohl deine Browsersitzung, als auch der Datenverkehr zwischen deinen Anwendungen und der Programmierschnittstelle (API) mit SSL gesichert, dein Passwort wird mit einem starken Einwegalgorithmus gehasht. Du kannst Zwei-Faktor-Authentifizierung aktivieren, um den Zugriff auf dein Konto zusätzlich abzusichern.


@@ -830,7 +840,7 @@ de:

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

-

Du kannst dein Konto unwiderruflich jederzeit löschen.

+

Du kannst dein Konto jederzeit unwiderruflich löschen.


@@ -864,9 +874,9 @@ de:

Änderung an unserer Datenschutzerklärung

-

Wenn wir uns entscheiden, Änderungen an unserer Datenschutzerklärung vorzunehmen, werden wird diese Änderungen auf dieser Seite bekannt geben.

+

Wenn wir uns entscheiden, Änderungen an unserer Datenschutzerklärung vorzunehmen, werden wird diese Änderungen auf dieser Seite bekannt gegeben.

-

Dies ist eine Übersetzung, Irrtümer und Übersetzungsfehler vorbehalten. Im Zweifelsfall gilt die englische Originalversion

+

Dies ist eine Übersetzung, Irrtümer und Übersetzungsfehler vorbehalten. Im Zweifelsfall gilt die englische Originalversion.

Dieses Dokument ist CC-BY-SA. Es wurde zuletzt aktualisiert am 7. März 2018.

diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml index 1d597d53d3..8400fb2d46 100644 --- a/config/locales/devise.nl.yml +++ b/config/locales/devise.nl.yml @@ -47,8 +47,8 @@ nl: unlock_instructions: subject: 'Mastodon: Instructies om opschorten account ongedaan te maken' omniauth_callbacks: - failure: Kon je niet aanmelden met jouw %{kind} account, omdat "%{reason}". - success: Successvol aangemeld met jouw %{kind} account. + failure: Kon je niet inloggen met jouw %{kind} account, omdat "%{reason}". + success: Succesvol met jouw %{kind} account ingelogd. passwords: no_token: Je kunt deze pagina niet benaderen zonder dat je een e-mail om je wachtwoord opnieuw in te stellen hebt ontvangen. send_instructions: Je ontvangt via e-mail instructies hoe je jouw wachtwoord opnieuw moet instellen. Kijk tussen je spam wanneer niks werd ontvangen. diff --git a/config/locales/el.yml b/config/locales/el.yml index 3ed577230b..342cad91ce 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -4,7 +4,7 @@ el: about_hashtag_html: Αυτά είναι κάποια από τα δημόσια τουτ σημειωμένα με #%{hashtag}. Μπορείς να αλληλεπιδράσεις με αυτά αν έχεις λογαριασμό οπουδήποτε στο fediverse. about_mastodon_html: Το Mastodon είναι ένα κοινωνικό δίκτυο που βασίζεται σε ανοιχτά δικτυακά πρωτόκολλα και ελεύθερο λογισμικό ανοιχτού κώδικα. Είναι αποκεντρωμένο όπως το e-mail. about_this: Σχετικά - administered_by: 'Διαχειρίζεται από:' + administered_by: 'Διαχειριστής:' api: API apps: Εφαρμογές κινητών closed_registrations: Αυτή τη στιγμή οι εγγραφές σε αυτό τον κόμβο είναι κλειστές. Αλλά! Μπορείς να βρεις έναν άλλο κόμβο για να ανοίξεις λογαριασμό και να έχεις πρόσβαση από εκεί στο ίδιο ακριβώς δίκτυο. @@ -48,6 +48,7 @@ el: other: Ακόλουθοι following: Ακολουθεί joined: Εγγράφηκε στις %{date} + last_active: τελευταία ενεργός/ή link_verified_on: Η κυριότητα αυτού του συνδέσμου ελέγχθηκε στις %{date} media: Πολυμέσα moved_html: 'Ο/Η %{name} μετακόμισε στο %{new_profile_link}:' @@ -114,6 +115,7 @@ el: media_attachments: Συνημμένα πολυμέσα memorialize: Μετατροπή σε νεκρολογία moderation: + active: Ενεργός/ή all: Όλα silenced: Αποσιωπημένα suspended: Σε αναστολή @@ -124,7 +126,7 @@ el: no_limits_imposed: Χωρίς όρια not_subscribed: Άνευ συνδρομής outbox_url: URL εξερχομένων - perform_full_suspension: Κάνε πλήρη αναστολή + perform_full_suspension: Αναστολή profile_url: URL προφίλ promote: Προβίβασε protocol: Πρωτόκολλο @@ -439,6 +441,14 @@ el: proceed: Συνέχεια title: Αναστολή %{acct} warning_html: 'Αναστέλλοντας αυτό το λογαριασμό θα διαγραφούν αμετάκλητα δεδομένα του, μεταξύ των οποίων:' + tags: + accounts: Λογαριασμοί + hidden: Κρυμμένες + hide: Απόκρυψη από κατάλογο + name: Ταμπέλα + title: Ταμπέλες + unhide: Εμφάνιση σε κατάλογο + visible: Εμφανείς title: Διαχείριση admin_mailer: new_report: @@ -461,7 +471,7 @@ el: warning: Μεγάλη προσοχή με αυτά τα στοιχεία. Μην τα μοιραστείς ποτέ με κανέναν! your_token: Το διακριτικό πρόσβασής σου (access token) auth: - agreement_html: Με την εγγραφή σου, συμφωνείς να ακολουθείς τους κανόνες αυτού του κόμβου και τους όρους χρήσης του. + agreement_html: Επιλέγοντας το "Εγγραφή", συμφωνείς πως δέχεσαι τους κανόνες αυτού του κόμβου και τους όρους χρήσης του. change_password: Συνθηματικό confirm_email: Επιβεβαίωση email delete_account: Διαγραφή email @@ -517,6 +527,15 @@ el: success_msg: Ο λογαριασμός σου διαγράφηκε με επιτυχία warning_html: Μόνο η διαγραφή περιεχομένου από αυτό τον συγκεκριμένο κόμβο είναι εγγυημένη. Το περιεχόμενο που έχει διαμοιραστεί ευρέως είναι πιθανό να αφήσει ίχνη. Όσοι διακομιστές είναι εκτός σύνδεσης και όσοι έχουν διακόψει τη λήψη των ενημερώσεων του κόμβου σου, δε θα ενημερώσουν τις βάσεις δεδομένων τους. warning_title: Διαθεσιμότητα ήδη διανεμημένου περιεχομένου + directories: + directory: Κατάλογος λογαριασμών + explanation: Βρες χρήστες βάσει των ενδιαφερόντων τους + explore_mastodon: Εξερεύνησε %{title} + most_popular: Δημοφιλείς + most_recently_active: Πρόσφατα ενεργοί + people: + one: "%{count} άτομο" + other: "%{count} άτομα" errors: '403': Δεν έχεις δικαίωμα πρόσβασης σε αυτή τη σελίδα. '404': Η σελίδα που ψάχνεις δεν υπάρχει. diff --git a/config/locales/eo.yml b/config/locales/eo.yml index eddefab059..f944b2a19e 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -30,18 +30,25 @@ eo: other_instances: Listo de nodoj privacy_policy: Privateca politiko source_code: Fontkodo - status_count_after: mesaĝoj + status_count_after: + one: mesaĝo + other: mesaĝoj status_count_before: Kie skribiĝis terms: Uzkondiĉoj - user_count_after: uzantoj + user_count_after: + one: uzanto + other: uzantoj user_count_before: Hejmo de what_is_mastodon: Kio estas Mastodon? accounts: choices_html: 'Proponoj de %{name}:' follow: Sekvi - followers: Sekvantoj + followers: + one: Sekvanto + other: Sekvantoj following: Sekvatoj joined: Aliĝis je %{date} + link_verified_on: Proprieto de ĉi tiu ligilo estis kontrolita je %{date} media: Aŭdovidaĵoj moved_html: "%{name} moviĝis al %{new_profile_link}:" network_hidden: Tiu informo ne estas disponebla @@ -50,7 +57,10 @@ eo: people_who_follow: Sekvantoj de %{name} pin_errors: following: Vi devas sekvi la homon, kiun vi volas proponi - posts: Mesaĝoj + posts: + one: Mesaĝo + other: Mesaĝoj + posts_tab_heading: Mesaĝoj posts_with_replies: Mesaĝoj kaj respondoj reserved_username: La uzantnomo estas rezervita roles: @@ -111,9 +121,10 @@ eo: moderation_notes: Kontrolaj notoj most_recent_activity: Lasta ago most_recent_ip: Lasta IP + no_limits_imposed: Neniu limito trudita not_subscribed: Ne abonita outbox_url: Elira URL - perform_full_suspension: Tute haltigi + perform_full_suspension: Haltigi profile_url: Profila URL promote: Plirangigi protocol: Protokolo @@ -142,8 +153,10 @@ eo: report: signalo targeted_reports: Signaloj kreitaj de ĉi tiu konto silence: Kaŝi + silenced: Silentigita statuses: Mesaĝoj subscribe: Aboni + suspended: Haltigita title: Kontoj unconfirmed_email: Nekonfirmita retadreso undo_silenced: Malfari kaŝon @@ -160,6 +173,7 @@ eo: create_domain_block: "%{name} blokis domajnon %{target}" create_email_domain_block: "%{name} metis en nigran liston domajnon %{target}" demote_user: "%{name} degradis uzanton %{target}" + destroy_custom_emoji: "%{name} neniigis la emoĝion %{target}" destroy_domain_block: "%{name} malblokis domajnon %{target}" destroy_email_domain_block: "%{name} metis en blankan liston domajnon %{target}" destroy_status: "%{name} forigis mesaĝojn de %{target}" @@ -287,9 +301,15 @@ eo: title: Invitoj relays: add_new: Aldoni novan ripetilon + delete: Forigi description_html: "Fratara ripetilo estas survoja servilo, kiu interŝanĝas grandan kvanton de publikaj mesaĝoj inter serviloj, kiuj abonas kaj publikigas al ĝi. Ĝi povas helpi etajn kaj mezgrandajn servilojn malkovri enhavon de la fediverse, kio normale postulus al lokaj uzantoj mane sekvi homojn de foraj serviloj." + disable: Malebligi + disabled: Malebligita + enable: Ebligi enable_hint: Post ebligo, via servilo abonos ĉiujn publikajn mesaĝojn de tiu ripetilo, kaj komencos sendi publikajn mesaĝojn de la servilo al ĝi. + enabled: Malebligita inbox_url: URL de la ripetilo + save_and_enable: Konservi kaj ebligi setup: Agordi konekton al ripetilo status: Stato title: Ripetiloj @@ -336,6 +356,9 @@ eo: contact_information: email: Publika retadreso username: Kontakta uzantnomo + custom_css: + desc_html: Ŝanĝi la aspekton per CSS ŝargita en ĉiu pago + title: Propra CSS hero: desc_html: Montrata en la ĉefpaĝo. Almenaŭ 600x100px rekomendita. Kiam ne agordita, la bildeto de la nodo estos uzata title: Kapbildo @@ -404,6 +427,11 @@ eo: last_delivery: Lasta livero title: WebSub topic: Temo + suspensions: + hint_html: 'Por konformi la haltigo de la konto, bonvolu enigi %{value} en la kampo sube:' + proceed: Daŭrigita + title: Haltigi %{acct} + warning_html: 'Haltigi ĉi tiu konton forigos senrevene datumojn de ĉi tiu konto, inklusive de:' title: Administrado admin_mailer: new_report: @@ -426,7 +454,7 @@ eo: warning: Estu tre atenta kun ĉi tiu datumo. Neniam diskonigu ĝin al iu ajn! your_token: Via alira ĵetono auth: - agreement_html: Per registriĝo, vi konsentas kun la reguloj de nia nodo kaj niaj uzkondiĉoj. + agreement_html: Klakante “Registriĝi” sube, vi konsentas kun la reguloj de la nodo kaj niaj uzkondiĉoj. change_password: Pasvorto confirm_email: Konfirmi retadreson delete_account: Forigi konton @@ -543,6 +571,7 @@ eo: resources: Rimedoj generic: changes_saved_msg: Ŝanĝoj sukcese konservitaj! + copy: Kopii save_changes: Konservi ŝanĝojn validation_errors: one: Io mise okazis! Bonvolu konsulti la suban erar-raporton @@ -762,6 +791,7 @@ eo: time: formats: default: "%Y-%m-%d %H:%M" + month: "%b %Y" two_factor_authentication: code_hint: Enmetu la kodon kreitan de via aŭtentiga aplikaĵo por konfirmi description_html: Se vi ebligas dufaktoran aŭtentigon, vi bezonos vian poŝtelefonon por ensaluti, ĉar ĝi kreos nombrojn, kiujn vi devos enmeti. @@ -802,8 +832,11 @@ eo: tips: Konsiloj title: Bonvenon, %{name}! users: + follow_limit_reached: Vi ne povas sekvi pli da %{limit} homojn invalid_email: La retadreso estas nevalida invalid_otp_token: Nevalida kodo de dufaktora aŭtentigo otp_lost_help_html: Se vi perdas aliron al ambaŭ, vi povas kontakti %{email} seamless_external_login: Vi estas ensalutinta per ekstera servo, do pasvortaj kaj retadresaj agordoj ne estas disponeblaj. signed_in_as: 'Ensalutinta kiel:' + verification: + verification: Kontrolo diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 122b074eb6..15307c76eb 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -48,6 +48,7 @@ eu: other: jarraitzaile following: Jarraitzen joined: "%{date}(e)an elkartua" + last_active: azkenekoz aktiboa link_verified_on: 'Esteka honen jabetzaren egiaztaketa data: %{date}' media: Multimedia moved_html: "%{name} hona lekualdatu da %{new_profile_link}:" @@ -114,6 +115,7 @@ eu: media_attachments: Multimedia eranskinak memorialize: Bihurtu memoriala moderation: + active: Aktiboa all: Denak silenced: Isilarazita suspended: Kanporatua @@ -439,6 +441,14 @@ eu: proceed: Jarraitu title: Kanporatu %{acct} warning_html: 'Kontu hau kanporatzeak behin betiko ezabatuko ditu kontu honetako datuak, hauek barne:' + tags: + accounts: Kontuak + hidden: Ezkutatuta + hide: Ezkutatu direktoriotik + name: Traola + title: Traolak + unhide: Erakutsi direktorioan + visible: Ikusgai title: Administrazioa admin_mailer: new_report: @@ -517,6 +527,15 @@ eu: success_msg: Zure kontua ongi ezabatu da warning_html: Instantzia honetako edukiak ezabatzea besterik ezin da bermatu. Asko partekatu den edukiaren arrastoak geratzea izan liteke. Deskonektatuta dauden zerbitzariak edo zure eguneraketetatik harpidetza kendu duten zerbitzariek ez dituzte beraien datu-baseak eguneratuko. warning_title: Sakabanatutako edukiaren eskuragarritasuna + directories: + directory: Profilen direktorioa + explanation: Deskubritu erabiltzaileak interesen arabera + explore_mastodon: Esploratu %{title} + most_popular: Puri-purian + most_recently_active: Azkenaldian aktibo + people: + one: pertsona %{count} + other: "%{count} pertsona" errors: '403': Ez duzu orri hau ikusteko baimenik. '404': Bilatu duzun orria ez da existitzen. @@ -786,7 +805,7 @@ eu: stream_entries: pinned: Finkatutako toot-a reblogged: "(r)en bultzada" - sensitive_content: Eduki hunkigarria + sensitive_content: 'Kontuz: Eduki hunkigarria' terms: body_html: |

Pribatutasun politika

diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 51b4fb1f84..de3070e8ab 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -48,6 +48,7 @@ fr: other: Abonné⋅e⋅s following: Abonnements joined: Inscrit·e en %{date} + 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} :" @@ -114,6 +115,7 @@ fr: media_attachments: Fichiers médias memorialize: Convertir en mémorial moderation: + active: Actif all: Tous silenced: Masqués suspended: Suspendus @@ -187,7 +189,7 @@ fr: remove_avatar_user: "%{name} a supprimé l’avatar de %{target}" reopen_report: "%{name} a rouvert le signalement %{target}" reset_password_user: "%{name} a réinitialisé le mot de passe de %{target}" - resolve_report: "%{name} a résolu la dénonciation de %{target}" + resolve_report: "%{name} a résolu le signalement %{target}" silence_account: "%{name} a mis le compte %{target} en mode silence" suspend_account: "%{name} a suspendu le compte %{target}" unassigned_report: "%{name} a désassigné le signalement %{target}" @@ -436,9 +438,17 @@ fr: suspensions: bad_acct_msg: La valeur de confirmation n'a pas correspondu. Êtes-vous certain de suspendre le bon compte ? hint_html: 'Pour confirmer la suspension du compte, veuillez entrer %{value} dans le champ ci-dessous :' - proceed: Traité + proceed: Confirmer title: Suspension de %{acct} warning_html: 'Suspendre ce compte effacera irréversiblement les données de ce compte, ce qui inclut :' + tags: + accounts: Comptes + hidden: Masqué + hide: Masquer dans l'annuaire + name: Hashtag + title: Hashtags + unhide: Afficher dans l'annuaire + visible: Visible title: Administration admin_mailer: new_report: @@ -517,6 +527,15 @@ fr: 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 serveurs hors-ligne ainsi que ceux n’étant plus abonnés à vos publications ne mettront pas leur base de données à jour. warning_title: Disponibilité du contenu disséminé + directories: + directory: Annuaire des profils + explanation: Découvrir des utilisateurs en se basant sur leurs centres d'intérêt + explore_mastodon: Explorer %{title} + most_popular: Les plus populaires + most_recently_active: Les actifs les plus récents + people: + one: "%{count} personne" + other: "%{count} personne" errors: '403': Vous n’avez pas accès à cette page. '404': La page que vous recherchez n’existe pas. diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 726b6e4009..8f12587d69 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -48,6 +48,7 @@ gl: other: Seguidoras following: Seguindo joined: Uneuse %{date} + last_active: última actividade link_verified_on: A propiedade de esta ligazón foi comprobada en %{date} media: Medios moved_html: "%{name} mudouse a %{new_profile_link}:" @@ -114,6 +115,7 @@ gl: media_attachments: Anexos de medios memorialize: Convertir a lembranza moderation: + active: Activa all: Todo silenced: Acalado suspended: Suspendido @@ -213,11 +215,11 @@ gl: image_hint: PNG ate 50KB listed: Listado new: - title: Engadir novo emoji personalizado + title: Engadir novo emoji persoalizado overwrite: Sobrescribir shortcode: Código corto shortcode_hint: Cando menos 2 caracteres, só caracteres alfanuméricos e subliñados - title: Emojis personalizados + title: Emojis persoalizados unlisted: Non listado update_failed_msg: Non se puido actualizar ese emoji updated_msg: Actualizouse correctamente o emoji! @@ -361,7 +363,7 @@ gl: username: Nome de usuaria de contacto custom_css: desc_html: Modificar o aspecto con CSS cargado en cada páxina - title: CSS personalizado + title: CSS persoalizado hero: desc_html: Mostrado na portada. Recoméndase 600x100px como mínimo. Si non se establece, mostrará a imaxe por omisión da instancia title: Imáxe Heróe @@ -398,13 +400,13 @@ gl: title: Descrición da instancia site_description_extended: desc_html: Un bo lugar para o seu código de conducta, regras, guías e outras cousas que distingan a súa instancia. Pode utilizar etiquetas HTML - title: Información extendida da personalización + title: Información extendida da persoalización site_short_description: desc_html: Mostrado na barra lateral e nas etiquetas meta. Describe o que é Mastodon e que fai especial a este servidor nun só parágrafo. Si está baldeiro, mostrará a descrición da instancia. title: Descrición curta da instancia site_terms: desc_html: Pode escribir a súa propia política de intimidade, termos de servizo ou aclaracións legais. Pode utilizar etiquetas HTML - title: Termos de servizo personalizados + title: Termos de servizo persoalizados site_title: Nome da instancia thumbnail: desc_html: Utilizado para vistas previsas vía OpenGraph e API. Recoméndase 1200x630px @@ -439,6 +441,14 @@ gl: proceed: Proceder title: Suspender %{acct} warning_html: 'Ao suspender esta conta eliminará de xeito irreversible os datos de esta conta, que inclúe:' + tags: + accounts: Contas + hidden: Ocultas + hide: Ocultar do directorio + name: Etiqueta + title: Etiquetas + unhide: Mostrar en directorio + visible: Visible title: Administración admin_mailer: new_report: @@ -517,6 +527,15 @@ gl: success_msg: A súa conta eliminouse correctamente warning_html: Só se garantiza a eliminación de contido de esta instancia. O contido que foi compartido con outras instancias é probable que deixe rastros. O servidores fora de liña e servidores que se desuscribiron das súas actualizacións non actualizarán as súas bases de datos. warning_title: Dispoñibilidade do contido espallado + directories: + directory: Directorio de perfil + explanation: Descubra usuarias según o seu interese + explore_mastodon: Explorar %{title} + most_popular: Máis popular + most_recently_active: Máis activa recentemente + people: + one: "%{count} persoa" + other: "%{count} persoas" errors: '403': Non ten permiso para ver esta páxina. '404': A páxina que está a buscar non existe. @@ -806,7 +825,7 @@ gl:

Toda a información que recollemos podería ser utilizada dos seguintes xeitos:

    -
  • Para proporcionar a funcionabiliade básica de Mastodon. Só pode interactuar co contido de outra xente e publicar o seu propio contido si está conectada. Por exemplo, podería seguir outra xente e ver as súas publicacións combinadas nunha liña temporal inicial personalizada.
  • +
  • Para proporcionar a funcionabiliade básica de Mastodon. Só pode interactuar co contido de outra xente e publicar o seu propio contido si está conectada. Por exemplo, podería seguir outra xente e ver as súas publicacións combinadas nunha liña temporal inicial persoalizada.
  • Para axudar a moderar a comunidade, por exemplo comparando o seu enderezo IP con outros coñecidos para evitar esquivar os rexeitamentos ou outras infraccións.
  • O endero de correo electrónico que nos proporciona podería ser utilizado para enviarlle información, notificacións sobre outra xente que interactúa cos seus contidos ou lle envía mensaxes, e para respostar a consultas, e/ou outras cuestións ou peticións.
@@ -815,7 +834,7 @@ gl:

Cómo proxetemos os seus datos?

-

Implementamos varias medidas de seguridade para protexer os seus datos personais cando introduce, envía ou accede a súa información personal. Entre outras medidas, a súa sesión de navegación, así como o tráfico entre os seus aplicativos e o API están aseguradas mediante SSL, e o seu contrasinal está camuflado utilizando un algoritmo potente de unha sóa vía. Pode habilitar a autenticación de doble factor para protexer o acceso a súa conta aínda máis.

+

Implementamos varias medidas de seguridade para protexer os seus datos personais cando introduce, envía ou accede a súa información persoal. Entre outras medidas, a súa sesión de navegación, así como o tráfico entre os seus aplicativos e o API están aseguradas mediante SSL, e o seu contrasinal está camuflado utilizando un algoritmo potente de unha sóa vía. Pode habilitar a autenticación de doble factor para protexer o acceso a súa conta aínda máis.


@@ -901,7 +920,7 @@ gl: title: Leve o ficheiro welcome: edit_profile_action: Configurar perfil - edit_profile_step: Vostede pode personalizar o seu perfil subindo un avatar, cabeceira, cambiar o seu nome público e aínda máis. Si restrinxe a súa conta pode revisar a conta das personas que solicitan seguilas antes de permitirlles o acceso aos seus toots. + edit_profile_step: Vostede pode persoalizar o seu perfil subindo un avatar, cabeceira, cambiar o seu nome público e aínda máis. Si restrinxe a súa conta pode revisar a conta das personas que solicitan seguilas antes de permitirlles o acceso aos seus toots. explanation: Aquí ten alunhas endereitas para ir aprendendo final_action: Comece a publicar final_step: 'Publique! Incluso sin seguidoras as súas mensaxes serán vistas por outras, por exemplo na liña temporal local e nas etiquetas. Podería presentarse no #fediverso utilizando a etiqueta #introductions.' diff --git a/config/locales/ja.yml b/config/locales/ja.yml index e0d76a4eed..50e9522bcd 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -48,6 +48,7 @@ ja: other: フォロワー following: フォロー中 joined: "%{date} に登録" + last_active: 最後の活動 link_verified_on: このリンクの所有権は %{date} に確認されました media: メディア moved_html: "%{name} さんは引っ越しました %{new_profile_link}:" @@ -114,6 +115,7 @@ ja: media_attachments: 添付されたメディア memorialize: 追悼アカウント化 moderation: + active: 有効 all: すべて silenced: サイレンス中 suspended: 停止中 @@ -439,6 +441,14 @@ ja: proceed: 完全に活動停止させる title: "%{acct} を停止" warning_html: 'このアカウントを停止すると、このアカウントから次のようなデータが不可逆的に削除されます:' + tags: + accounts: アカウント + hidden: 非表示 + hide: ディレクトリから隠す + name: ハッシュタグ + title: ハッシュタグ + unhide: ディレクトリに表示する + visible: 表示 title: 管理 admin_mailer: new_report: @@ -517,6 +527,14 @@ ja: success_msg: アカウントは正常に削除されました warning_html: 削除が保証されるのはこのインスタンス上のコンテンツのみです。他のインスタンス等、外部に広く共有されたコンテンツについては痕跡が残ることがあります。また、現在接続できないサーバーや、あなたの更新を受け取らなくなったサーバーに対しては、削除は反映されません。 warning_title: 共有されたコンテンツについて + directories: + directory: ディレクトリ + explore_mastodon: "%{title}を探索" + most_popular: 人気順 + most_recently_active: 直近の活動順 + people: + one: "%{count} 人" + other: "%{count} 人" errors: '403': このページを表示する権限がありません。 '404': お探しのページは見つかりませんでした。 diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 3c101fd770..30af6562aa 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -48,6 +48,7 @@ nl: other: Volgers following: Volgend joined: Geregistreerd in %{date} + last_active: laatst actief link_verified_on: Eigendom van deze link is gecontroleerd op %{date} media: Media moved_html: "%{name} is verhuisd naar %{new_profile_link}:" @@ -114,6 +115,7 @@ nl: media_attachments: Mediabijlagen memorialize: In gedenkpagina veranderen moderation: + active: Actief all: Alles silenced: Genegeerd suspended: Opgeschort @@ -179,7 +181,7 @@ nl: destroy_status: Toot van %{target} is door %{name} verwijderd disable_2fa_user: Vereisten tweestapsverificatie van %{target} zijn door %{name} uitgeschakeld disable_custom_emoji: Emoji %{target} is door %{name} uitgeschakeld - disable_user: Aanmelden voor %{target} is door %{name} uitgeschakeld + disable_user: Inloggen voor %{target} is door %{name} uitgeschakeld enable_custom_emoji: Emoji %{target} is door %{name} ingeschakeld enable_user: Inloggen voor %{target} is door %{name} ingeschakeld memorialize_account: Account %{target} is door %{name} in een gedenkpagina veranderd @@ -439,6 +441,14 @@ nl: proceed: Ga verder title: "%{acct} opschorten" warning_html: 'Door het opschorten van dit account worden gegevens van dit account permanent verwijderd, waaronder:' + tags: + accounts: Accounts + hidden: Verborgen + hide: Niet in gebruikersgids tonen + name: Hashtag + title: Hashtags + unhide: In gebruikersgids tonen + visible: Zichtbaar title: Beheer admin_mailer: new_report: @@ -469,12 +479,12 @@ nl: didnt_get_confirmation: Geen bevestigingsinstructies ontvangen? forgot_password: Wachtwoord vergeten? invalid_reset_password_token: De code om jouw wachtwoord opnieuw in te stellen is verlopen. Vraag een nieuwe aan. - login: Aanmelden - logout: Afmelden - migrate_account: Naar een andere account verhuizen + login: Inloggen + logout: Uitloggen + migrate_account: Naar een ander account verhuizen migrate_account_html: Wanneer je dit account naar een ander account wilt doorverwijzen, kun je dit hier instellen. or: of - or_log_in_with: Of aanmelden met + or_log_in_with: Of inloggen met providers: cas: CAS saml: SAML @@ -517,6 +527,15 @@ nl: success_msg: Jouw account is succesvol verwijderd warning_html: We kunnen alleen garanderen dat jouw gegevens op deze server worden verwijderd. Berichten (toots), incl. media, die veel zijn gedeeld laten mogelijk sporen achter. Offline servers en servers die niet meer op jouw updates zijn geabonneerd zullen niet hun databases updaten. warning_title: Verwijdering gegevens op andere servers + directories: + directory: Gebruikersgids + explanation: Ontdek gebruikers aan de hand van hun interesses + explore_mastodon: "%{title} verkennen" + most_popular: Meest populair + most_recently_active: Recentelijk actief + people: + one: "%{count} gebruikers" + other: "%{count} gebruikers" errors: '403': Jij hebt geen toestemming om deze pagina te bekijken. '404': De pagina waarnaar jij op zoek bent bestaat niet. @@ -880,13 +899,13 @@ nl: month: "%b %Y" two_factor_authentication: code_hint: Voer de code in die door de authenticatie-app gegenereerd is - description_html: Na het instellen van tweestapsverificatie, kun jij je alleen aanmelden als je jouw mobiele telefoon bij je hebt. Hiermee genereer je namelijk de in te voeren aanmeldcode. + description_html: Na het instellen van tweestapsverificatie, kun je alleen inloggen als je jouw mobiele telefoon bij je hebt. Hiermee genereer je namelijk de in te voeren aanmeldcode. disable: Uitschakelen enable: Inschakelen enabled: Tweestapsverificatie is ingeschakeld enabled_success: Inschakelen tweestapsverificatie geslaagd generate_recovery_codes: Herstelcodes genereren - instructions_html: "Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon. Van nu af aan genereert deze app aanmeldcodes die je bij het aanmelden moet invoeren." + instructions_html: "Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon. Van nu af aan genereert deze app aanmeldcodes die je bij het inloggen moet invoeren." lost_recovery_codes: Met herstelcodes kun je toegang tot jouw account krijgen wanneer je jouw telefoon bent kwijtgeraakt. Wanneer je jouw herstelcodes bent kwijtgeraakt, kan je ze hier opnieuw genereren. Jouw oude herstelcodes zijn daarna ongeldig. manual_instructions: Voor het geval je de QR-code niet kunt scannen en het handmatig moet invoeren, vind je hieronder geheime code in gewone tekst. recovery_codes: Herstelcodes back-uppen diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index 546a5bd14d..a895d38d04 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -64,7 +64,7 @@ ca: password: Contrasenya phrase: Paraula clau o frase setting_auto_play_gif: Reproducció automàtica de GIFs animats - setting_boost_modal: Mostra la finestra de confirmació abans d'un retoot + setting_boost_modal: Mostra la finestra de confirmació abans d'impulsar setting_default_language: Llengua de les publicacions setting_default_privacy: Privacitat de les publicacions setting_default_sensitive: Marca sempre els elements multimèdia com a sensibles diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml index b200dfb489..b8ad23b32b 100644 --- a/config/locales/simple_form.co.yml +++ b/config/locales/simple_form.co.yml @@ -8,6 +8,7 @@ co: bot: Stu contu hè autumatizatu è ùn hè forse micca survegliatu context: Cuntestu·i induve u filtru deve esse applicatu digest: Solu mandatu dopu à una longa perioda d’inattività, è solu s’elli ci sò novi missaghji diretti + discoverable_html: L'annuariu permette à a ghjente di truvà conti à partesi d'interessi è d'attività. Ci vole à avè almenu %{min_followers} abbunati email: Avete da riceve un'e-mail di cunfirmazione fields: Pudete avè fin’à 4 elementi mustrati cum’un tavulone nant’à u vostru prufile header: Furmatu PNG, GIF o JPG. %{size} o menu. Sarà ridottu à %{dimensions}px @@ -18,6 +19,7 @@ co: password: Ci volenu almenu 8 caratteri phrase: Sarà trovu senza primura di e maiuscule o di l'avertimenti scopes: L'API à quelle l'applicazione averà accessu. S'è voi selezziunate un parametru d'altu livellu, un c'hè micca bisognu di selezziunà quell'individuali. + setting_aggregate_reblogs: Ùn mustrà micca e nove spartere per i statuti chì sò stati spartuti da pocu (tocca solu e spartere più ricente) setting_default_language: A lingua di i vostri statuti pò esse induvinata autumaticamente, mà ùn marchja micca sempre bè setting_display_media_default: Piattà i media marcati cum'è sensibili setting_display_media_hide_all: Sempre piattà tutti i media @@ -48,6 +50,7 @@ co: context: Cuntesti di u filtru current_password: Chjave d’accessu attuale data: Dati + discoverable: Arregistrà stu contu indè l'annuariu display_name: Nome pubblicu email: Indirizzu e-mail expires_in: Spira dopu à @@ -63,6 +66,7 @@ co: otp_attempt: Codice d’identificazione à dui fattori password: Chjave d’accessu phrase: Parolla-chjave o frasa + setting_aggregate_reblogs: Gruppà e spartere indè e linee setting_auto_play_gif: Lettura autumatica di i GIF animati setting_boost_modal: Mustrà una cunfirmazione per sparte un statutu setting_default_language: Lingua di pubblicazione diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index b4f2e04c02..1e58f42536 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -8,6 +8,7 @@ cs: bot: Tento účet provádí hlavně automatizované akce a nemusí být spravován context: Jedno či více kontextů, ve kterých má být filtr uplatněn digest: Odesíláno pouze po dlouhé době nečinnosti a pouze, pokud jste při své nepřítomnosti obdržel/a osobní zprávy + discoverable_html: Adresář dovoluje lidem najít účty podle zájmů a aktivity. Vyžaduje alespoň %{min_followers} sledovatelů email: Bude vám poslán potvrzovací e-mail fields: Na profilu můžete mít až 4 položky zobrazené jako tabulka header: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px @@ -18,6 +19,7 @@ cs: password: Použijte alespoň 8 znaků phrase: Shoda bude nalezena bez ohledu na velikost písmen v těle tootu či varování o obsahu scopes: Které API bude aplikace povolena používat. Pokud vyberete rozsah nejvyššího stupně, nebudete je muset vybírat po jednom. + setting_aggregate_reblogs: Nezobrazovat nové boosty pro tooty, které byly nedávno boostnuty (ovlivňuje pouze nově přijaté boosty) setting_default_language: Jazyk vašich tootů může být detekován automaticky, není to však vždy přesné setting_display_media_default: Skrývat média označená jako citlivá setting_display_media_hide_all: Vždy skrývat všechna média @@ -48,6 +50,7 @@ cs: context: Kontexty filtrů current_password: Současné heslo data: Data + discoverable: Zveřejnit tento účet v adresáři display_name: Zobrazované jméno email: E-mailová adresa expires_in: Expirovat po @@ -63,6 +66,7 @@ cs: otp_attempt: Dvoufaktorový kód password: Heslo phrase: Klíčové slovo či fráze + setting_aggregate_reblogs: Seskupovat boosty v časových osách setting_auto_play_gif: Automaticky přehrávat animace GIF setting_boost_modal: Zobrazovat před boostnutím potvrzovací okno setting_default_language: Jazyk příspěvků diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml index 8dfb1ddec4..29a4b7651e 100644 --- a/config/locales/simple_form.da.yml +++ b/config/locales/simple_form.da.yml @@ -19,6 +19,8 @@ da: phrase: Vil blive parret uanset om der er store eller små bogstaver i teksten eller om der er en advarsel om et trut scopes: Hvilke APIs applikationen vil få adgang til. Hvis du vælger et højtlevel omfang, behøver du ikke vælge enkeltstående. setting_default_language: Sproget for dine trut kan blive fundet automatisk, men det er ikke altid præcist + setting_display_media_default: Skjul medier markeret som følsomt + setting_display_media_hide_all: Skjul altid alle medier setting_hide_network: Hvem du følger og hvem der følger dig vil ikke blive vist på din profil setting_noindex: Påvirker din offentlige profil og status sider setting_theme: Påvirker hvordan Mastodon ser ud når du er logget ind via en hvilken som helst enhed. diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml index a13b442375..599b2b5c79 100644 --- a/config/locales/simple_form.el.yml +++ b/config/locales/simple_form.el.yml @@ -8,6 +8,7 @@ el: bot: Ο λογαριασμός αυτός εκτελεί κυρίως αυτοματοποιημένες ενέργειες και ίσως να μην παρακολουθείται context: Ένα ή περισσότερα πλαίσια στα οποία μπορεί να εφαρμόζεται αυτό το φίλτρο digest: Αποστέλλεται μόνο μετά από μακρά περίοδο αδράνειας και μόνο αν έχεις λάβει προσωπικά μηνύματα κατά την απουσία σου + discoverable_html: "Ο κατάλογος \nσου επιτρέπει να βρεις λογαριασμούς βάσει ενδιαφερόντων και δραστηριότητας. Απαιτεί τουλάχιστον %{min_followers} ακόλουθους" email: Θα σου σταλεί email επιβεβαίωσης fields: Μπορείς να έχεις έως 4 σημειώσεις σε μορφή πίνακα στο προφίλ σου header: PNG, GIF ή JPG. Έως %{size}. Θα περιοριστεί σε διάσταση %{dimensions}px @@ -18,6 +19,7 @@ el: password: Χρησιμοποίησε τουλάχιστον 8 χαρακτήρες phrase: Θα ταιριάζει ανεξαρτήτως πεζών/κεφαλαίων ή προειδοποίησης περιεχομένου του τουτ scopes: Ποια API θα επιτρέπεται στην εφαρμογή να χρησιμοποιήσεις. Αν επιλέξεις κάποιο υψηλό εύρος εφαρμογής, δε χρειάζεται να επιλέξεις και εξειδικευμένα. + setting_aggregate_reblogs: Απόκρυψη των νέων προωθήσεωνγια τα τουτ που έχουν προωθηθεί πρόσφατα (επηρεάζει μόνο τις νέες προωθήσεις) setting_default_language: Η γλώσσα των τουτ σου μπορεί να ανιχνευτεί αυτόματα αλλά δεν είναι πάντα ακριβές setting_display_media_default: Απόκρυψη ευαίσθητων πολυμέσων setting_display_media_hide_all: Μόνιμη απόκρυψη όλων των πολυμέσων @@ -48,6 +50,7 @@ el: context: Πλαίσια φιλτραρίσματος current_password: Τρέχον συνθηματικό data: Δεδομένα + discoverable: Εμφάνιση αυτού του λογαριασμού στον κατάλογο display_name: Όνομα εμφάνισης email: Διεύθυνση email expires_in: Λήξη μετά από @@ -63,6 +66,7 @@ el: otp_attempt: Κωδικός δυο παραγόντων password: Συνθηματικό phrase: Λέξη ή φράση κλειδί + setting_aggregate_reblogs: Ομαδοποίηση προωθήσεων στις ροές setting_auto_play_gif: Αυτόματη αναπαραγωγή των GIF setting_boost_modal: Εμφάνιση ερώτησης επιβεβαίωσης πριν την προώθηση setting_default_language: Γλώσσα δημοσιεύσεων diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml index e8ddc075e3..b78d2dd813 100644 --- a/config/locales/simple_form.eo.yml +++ b/config/locales/simple_form.eo.yml @@ -8,17 +8,23 @@ eo: bot: Tiu konto ĉefe faras aŭtomatajn agojn, kaj povas esti ne kontrolata context: Unu ol pluraj kuntekstoj kie la filtrilo devus agi digest: Sendita nur post longa tempo de neaktiveco, kaj nur se vi ricevis personan mesaĝon en via foresto + email: Vi ricevos konfirman retmesaĝon fields: Vi povas havi ĝis 4 tabelajn elementojn en via profilo header: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px inbox_url: Kopiu la URL de la ĉefpaĝo de la ripetilo, kiun vi volas uzi irreversible: Elfiltritaj mesaĝoj malaperos por ĉiam, eĉ se la filtrilo estas poste forigita locale: La lingvo de la uzant-interfaco, retmesaĝoj kaj puŝ-sciigoj locked: Vi devos aprobi ĉiun peton de sekvado mane + password: Uzu almenaŭ 8 signojn phrase: Estos provita senzorge pri la uskleco de teksto aŭ averto pri enhavo de mesaĝo setting_default_language: La lingvo de viaj mesaĝoj povas esti aŭtomate detektitaj, sed tio ne ĉiam ĝustas + setting_display_media_default: Kaŝi aŭdovidaĵojn markitajn kiel tiklaj + setting_display_media_hide_all: Ĉiam kaŝi ĉiujn aŭdovidaĵojn + setting_display_media_show_all: Ĉiam montri aŭdovidaĵojn markitajn kiel tiklaj setting_hide_network: Tiuj, kiujn vi sekvas, kaj tiuj, kiuj sekvas vin ne estos videblaj en via profilo setting_noindex: Influas vian publikan profilon kaj mesaĝajn paĝojn setting_theme: Influas kiel Mastodon aspektas post ensaluto de ajna aparato. + username: Via uzantnomo estos unika ĉe %{domain} whole_word: Kiam la vorto aŭ frazo estas nur litera aŭ cifera, ĝi estos uzata nur se ĝi kongruas kun la tuta vorto imports: data: CSV-dosiero el alia nodo de Mastodon @@ -62,6 +68,11 @@ eo: setting_default_privacy: Mesaĝa videbleco setting_default_sensitive: Ĉiam marki aŭdovidaĵojn tiklaj setting_delete_modal: Montri fenestron por konfirmi antaŭ ol forigi mesaĝon + setting_display_media: Aŭdovidaĵa montrado + setting_display_media_default: Dekomenca + setting_display_media_hide_all: Kaŝi ĉiujn + setting_display_media_show_all: Montri ĉiujn + setting_expand_spoilers: Ĉiam grandigi mesaĝojn markitajn per avertoj pri enhavo setting_hide_network: Kaŝi viajn sekvantojn kaj sekvatojn setting_noindex: Ellistiĝi de retserĉila indeksado setting_reduce_motion: Malrapidigi animaciojn @@ -84,6 +95,7 @@ eo: follow_request: Sendi retmesaĝon kiam iu petas sekvi vin mention: Sendi retmesaĝon kiam iu mencias vin reblog: Sendi retmesaĝon kiam iu diskonigas vian mesaĝon + report: Sendi retmesaĝon kiam nova signalo estas sendita 'no': Ne required: mark: "*" diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml index e9ab97c870..9537df88d7 100644 --- a/config/locales/simple_form.eu.yml +++ b/config/locales/simple_form.eu.yml @@ -8,6 +8,7 @@ eu: bot: Kontu honek nagusiki automatizatutako ekintzak burutzen ditu eta agian ez du inork monitorizatzen context: Iragazkia aplikatzeko testuinguru bat edo batzuk digest: Soilik jarduerarik gabeko epe luze bat eta gero, eta soilik ez zeudela mezu pertsonalen bat jaso baduzu + discoverable_html: Direktorioak Jendea interesen eta jardueraren arabera aurkitzea ahalbidetzen du. Gutxienez %{min_followers} jarraitzaile behar dira bertan agertzeko email: Baieztapen e-mail bat bidaliko zaizu fields: 4 elementu bistaratu ditzakezu taula batean zure profilean header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da @@ -18,6 +19,7 @@ eu: password: Erabili 8 karaktere gutxienez phrase: Bat egingo du Maiuskula/minuskula kontuan hartu gabe eta edukiaren abisua kontuan hartu gabe scopes: Zeintzuk API atzitu ditzakeen aplikazioak. Goi mailako arloa aukeratzen baduzu, ez dituzu azpikoak aukeratu behar. + setting_aggregate_reblogs: Ez erakutsi buktzada berriak berriki bultzada jaso duten tootentzat (berriki jasotako bultzadei eragiten die besterik ez) setting_default_language: Zure Toot-en hizkuntza automatikoki antzeman daiteke, baina ez da beti zehatza setting_display_media_default: Ezkutatu hunkigarri gisa markatutako multimedia setting_display_media_hide_all: Ezkutatu multimedia guztia beti @@ -48,6 +50,7 @@ eu: context: Iragazkiaren testuinguruak current_password: Oraingo pasahitza data: Datuak + discoverable: Zerrendatu kontu hau direktorioan display_name: Pantaila-izena email: E-mail helbidea expires_in: Iraungitzea @@ -63,6 +66,7 @@ eu: otp_attempt: Bi faktoreetako kodea password: Pasahitza phrase: Hitz edo esaldi gakoa + setting_aggregate_reblogs: Taldekatu bultzadak denbora-lerroetan setting_auto_play_gif: Erreproduzitu GIF animatuak automatikoki setting_boost_modal: Erakutsi baieztapen elkarrizketa-koadroa bultzada eman aurretik setting_default_language: Argitalpenen hizkuntza diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 68f5dfede7..d68bee6c86 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -8,6 +8,7 @@ fr: bot: Ce compte exécute principalement des actions automatisées et pourrait ne pas être surveillé context: Un ou plusieurs contextes où le filtre devrait s’appliquer digest: Uniquement envoyé après une longue période d’inactivité et uniquement si vous avez reçu des messages personnels pendant votre absence + discoverable_html: Le répertoire permet aux gens de trouver des comptes en se basant sur les intérêts et les activités. Nécessite au moins %{min_followers} 2 abonnés email: Vous recevrez un courriel de confirmation fields: Vous pouvez avoir jusqu’à 4 éléments affichés en tant que tableau sur votre profil header: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px @@ -18,6 +19,7 @@ fr: password: Utilisez au moins 8 caractères phrase: Sera trouvé sans que la case ou l’avertissement de contenu du pouet soit pris en compte scopes: À quelles APIs l’application sera autorisée à accéder. Si vous sélectionnez un périmètre de haut-niveau, vous n’avez pas besoin de sélectionner les individuels. + setting_aggregate_reblogs: Ne pas afficher de nouveaux repartagés pour les pouets qui ont été récemment repartagés (n'affecte que les repartagés nouvellement reçus) setting_default_language: La langue de vos pouets peut être détectée automatiquement, mais ça n’est pas toujours pertinent setting_display_media_default: Masquer les supports marqués comme sensibles setting_display_media_hide_all: Toujours masquer tous les médias @@ -48,6 +50,7 @@ fr: context: Contextes du filtre current_password: Mot de passe actuel data: Données + discoverable: Inscrire ce compte dans l'annuaire display_name: Nom public email: Adresse courriel expires_in: Expire après @@ -63,6 +66,7 @@ fr: otp_attempt: Code d’identification à deux facteurs password: Mot de passe phrase: Mot-clé ou phrase + setting_aggregate_reblogs: Repartagés en groupe dans la ligne de temps setting_auto_play_gif: Lire automatiquement les GIFs animés setting_boost_modal: Afficher une fenêtre de confirmation avant de partager setting_default_language: Langue de publication diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index 04a0fffa3a..35bf5e0174 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -7,7 +7,8 @@ gl: avatar: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px bot: Esta conta realiza principalmente accións automatizadas e podería non estar monitorizada context: Un ou varios contextos onde se debería aplicar o filtro - digest: Enviar só tras un longo período de inactividade e só si recibeu algunha mensaxe personal na súa ausencia + digest: Enviar só tras un longo período de inactividade e só si recibeu algunha mensaxe persoal na súa ausencia + discoverable_html: O directorio permite atopar contas en función de intereses e actividade. Require ter ao menos %{min_followers} seguidoras email: Enviaráselle un correo-e de confirmación fields: Pode ter ate 4 elementos no seu perfil mostrados como unha táboa header: PNG, GIF ou JPG. Máximo %{size}. Será reducida a %{dimensions}px @@ -18,6 +19,7 @@ gl: password: Utilice 8 caracteres ao menos phrase: Concordará independentemente das maiúsculas ou avisos de contido no toot scopes: A que APIs terá acceso a aplicación. Si selecciona un ámbito de alto nivel, non precisa seleccionar elementos individuais. + setting_aggregate_reblogs: Non mostrar novas promocións de toots que foron promocionados recentemente (só afecta a promocións recén recibidas) setting_default_language: Pódese detectar automáticamente o idioma dos seus toots, mais non sempre é preciso setting_display_media_default: Ocultar medios marcados como sensibles setting_display_media_hide_all: Ocultar sempre os medios @@ -26,7 +28,7 @@ gl: setting_noindex: Afecta ao seu perfil público e páxinas de estado setting_theme: Afecta ao aspecto de Mastodon en calquer dispositivo cando está conectada. username: O seu nome de usuaria será único en %{domain} - whole_word: Si a chave ou frase de paso é só alfanumérica, só se aplicará si concorda a palabra completa + whole_word: Se a chave ou frase de paso é só alfanumérica, só se aplicará se concorda a palabra completa imports: data: Ficheiro CSV exportado desde outra instancia Mastodon sessions: @@ -48,6 +50,7 @@ gl: context: Contextos do filtro current_password: Contrasinal actual data: Datos + discoverable: Incluír esta conta no directorio display_name: Nome mostrado email: enderezo correo electrónico expires_in: Caducidade despois de @@ -63,6 +66,7 @@ gl: otp_attempt: Código de Doble-Factor password: Contrasinal phrase: Palabra chave ou frase + setting_aggregate_reblogs: Agrupar promocións nas liñas temporais setting_auto_play_gif: Reprodución automática de GIFs animados setting_boost_modal: Pedir confirmación antes de promocionar setting_default_language: Idioma de publicación diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml index 01d12b14b6..0fc1b5ba6e 100644 --- a/config/locales/simple_form.it.yml +++ b/config/locales/simple_form.it.yml @@ -8,6 +8,7 @@ it: bot: Questo account esegue principalmente operazioni automatiche e potrebbe non essere tenuto sotto controllo da una persona context: Uno o più contesti nei quali il filtro dovrebbe essere applicato digest: Inviata solo dopo un lungo periodo di inattività e solo se hai ricevuto qualche messaggio personale in tua assenza + discoverable_html: La directory permette alle persone di trovare account in base a determinati interessi o attività. Richiede almeno %{min_followers} seguaci email: Ti manderemo una email di conferma fields: Puoi avere fino a 4 voci visualizzate come una tabella sul tuo profilo header: PNG, GIF o JPG. Al massimo %{size}. Verranno scalate a %{dimensions}px @@ -48,6 +49,7 @@ it: context: Contesti del filtro current_password: Password corrente data: Data + discoverable: Inserisci questo account nella directory display_name: Nome visualizzato email: Indirizzo email expires_in: Scade dopo diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index c8d0a5a175..adc345080f 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -8,6 +8,7 @@ ja: bot: このアカウントは主に自動で動作し、人が見ていない可能性があります context: フィルターを適用する対象 (複数選択可) digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます + discoverable_html: ディレクトリ は興味や活動をもとにアカウントを見つけることを可能にします。 掲載には %{min_followers} 人以上のフォロワーが必要です email: 確認のメールが送信されます fields: プロフィールに表として4つまでの項目を表示することができます header: "%{size}までのPNG、GIF、JPGが利用可能です。 %{dimensions}pxまで縮小されます" @@ -48,6 +49,7 @@ ja: context: 除外対象 current_password: 現在のパスワード data: データ + discoverable: ディレクトリに掲載する display_name: 表示名 email: メールアドレス expires_in: 有効期限 @@ -63,6 +65,7 @@ ja: otp_attempt: 二段階認証コード password: パスワード phrase: キーワードまたはフレーズ + setting_aggregate_reblogs: ブーストをまとめる setting_auto_play_gif: アニメーションGIFを自動再生する setting_boost_modal: ブーストする前に確認ダイアログを表示する setting_default_language: 投稿する言語 diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 487f6320b5..972b983393 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -8,6 +8,7 @@ nl: bot: Dit is een geautomatiseerd account en wordt mogelijk niet gemonitord context: Een of meerdere locaties waar de filter actief moet zijn digest: Wordt alleen na een lange periode van inactiviteit verzonden en alleen wanneer je tijdens jouw afwezigheid persoonlijke berichten hebt ontvangen + discoverable_html: In de gebruikersgids kunnen mensen andere accounts vinden aan de hand van interesses en activiteit. Dit vereist tenminste %{min_followers} volgers email: Je krijgt een bevestigingsmail fields: Je kan maximaal 4 items als een tabel op je profiel weergeven header: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px @@ -18,6 +19,7 @@ nl: password: Gebruik tenminste 8 tekens phrase: Komt overeen ongeacht hoofd-/kleine letters of tekstwaarschuwingen scopes: Tot welke API's heeft de toepassing toegang. Wanneer je een toestemming van het bovenste niveau kiest, hoef je geen individuele toestemmingen meer te kiezen. + setting_aggregate_reblogs: Geen nieuwe boosts tonen voor toots die recentelijk nog zijn geboost (heeft alleen effect op nieuw ontvangen boosts) setting_default_language: De taal van jouw toots kan automatisch worden gedetecteerd, maar het is niet altijd accuraat setting_display_media_default: Als gevoelig gemarkeerde media verbergen setting_display_media_hide_all: Media altijd verbergen @@ -48,6 +50,7 @@ nl: context: Filterlocaties current_password: Huidig wachtwoord data: Gegevens + discoverable: Dit account in de gebruikersgids tonen display_name: Weergavenaam email: E-mailadres expires_in: Vervalt na @@ -63,6 +66,7 @@ nl: otp_attempt: Tweestaps-aanmeldcode password: Wachtwoord phrase: Trefwoord of zinsdeel + setting_aggregate_reblogs: Boosts in tijdlijnen groeperen setting_auto_play_gif: Speel geanimeerde GIF's automatisch af setting_boost_modal: Vraag voor het boosten van een toot een bevestiging setting_default_language: Taal van jouw toots diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml index 9916ce13ed..bbc95abb7d 100644 --- a/config/locales/simple_form.sk.yml +++ b/config/locales/simple_form.sk.yml @@ -8,16 +8,18 @@ sk: bot: Tento účet vykonáva hlavne automatizované akcie, a je pravdepodobne nespravovaný context: Jedno, alebo viac kritérií, v ktorých má byť filtrovanie uplatnené digest: Odoslané iba v prípade dlhodobej neprítomnosti, a len ak si obdŕžal/a nejaké osobné správy kým si bol/a preč + discoverable_html: Táto databáza umožňuje ľudom nájsť profily podľa záujmu a aktívnosti. Vyžaduje aby mali aspoň %{min_followers} sledovateľov email: Bude ti odoslaný potvrdzujúci email fields: Až štyri položky môžeš mať na svojom profile zobrazené vo forme tabuľky header: PNG, GIF, alebo JPG. Maximálne %{size}. Bude zmenšený na %{dimensions}px inbox_url: Skopíruj adresu z hlavnej stránky mostíka, ktorý chceš používať - irreversible: Vytriedené príspevky zmiznú nenávratne, aj keď triedenie neskôr zrušíš + irreversible: Vytriedené hlášky zmiznú nenávratne, aj keď triedenie neskôr zrušíš locale: Jazyk užívateľského rozhrania, emailových a nástenkových oboznámení locked: Vyžaduje manuálne schvalovať sledujúcich password: Zadaj aspoň osem znakov phrase: Zhoda sa nájde nezávisle od toho, či je text napísaný, veľkými, alebo malými písmenami, či už v tele, alebo v hlavičke scopes: Ktoré API budú povolené aplikácii pre prístup. Ak vyberieš vrcholný stupeň, nemusíš už potom vyberať po jednom. + setting_aggregate_reblogs: Neukazuj nové povýšenia pre hlášky, ktoré už boli len nedávno povýšené (týka sa iba nanovo získaných povýšení) setting_default_language: Jazyk tvojích príspevkov môže byť zistený automaticky, ale nieje to vždy presné setting_display_media_default: Skryť médiá označené ako citlivé setting_display_media_hide_all: Vždy ukryť všetky médiá @@ -48,6 +50,7 @@ sk: context: Triedenie kontextov current_password: Súčasné heslo data: Dáta + discoverable: Zaraď tento účet do databázy display_name: Meno email: Emailová adresa expires_in: Expirovať po @@ -63,8 +66,9 @@ sk: otp_attempt: Dvoj-faktorový overovací (2FA) kód password: Heslo phrase: Kľúčové slovo, alebo fráza - setting_auto_play_gif: Automaticky prehrávať animované GIFy - setting_boost_modal: Zobrazovať potvrdzovacie okno pred re-toot + setting_aggregate_reblogs: Zoskupuj povýšenia v časovej osi + setting_auto_play_gif: Automaticky prehrávaj animované GIFy + setting_boost_modal: Zobrazuj potvrdzovacie okno pred povýšením setting_default_language: Píšeš v jazyku setting_default_privacy: Súkromie príspevkov setting_default_sensitive: Označ všetky mediálne súbory ako chúlostivé diff --git a/config/locales/sk.yml b/config/locales/sk.yml index cdd8dead54..5f49a2d0ea 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -1,8 +1,8 @@ --- sk: about: - about_hashtag_html: Toto sú verejné toot príspevky otagované #%{hashtag}. Ak máš účet niekde vo fediverse, môžeš ich používať. - about_mastodon_html: Mastodon je sociálna sieť založená na otvorených webových protokoloch. Jej zrojový kód je otvorený a je decentralizovaná podobne ako email. + about_hashtag_html: Toto sú verejné hlášky otagované #%{hashtag}. Ak máš účet niekde vo fediverse, môžeš ich využívať. + about_mastodon_html: Mastodon je sociálna sieť založená na otvorených webových protokoloch a na slobodnom, otvorenom softvéri. Je decentralizovaná podobne ako email. about_this: O tejto instancii administered_by: 'Správcom je:' api: API @@ -16,12 +16,12 @@ sk:

Pravidlá

Žiadne zatiaľ nie sú

features: - humane_approach_body: Poučený z chýb iných sociálnych sietí, Mastodon sa snaží bojovať s nekalým používaním siete vytváraním etických možností. + humane_approach_body: Poučený z chýb iných sociálnych sietí, Mastodon sa snaží bojovať so zneužívaním siete voľbou etických návrhov. humane_approach_title: Ľudskejší prístup - not_a_product_body: Mastodon nie je komerčná sieť. Žiadne reklamy, žiadne dolovanie dát, žiadne múry. Žiadna centrálna autorita. - not_a_product_title: Si človek, nie produkt - real_conversation_body: S 500 znakmi a podporou pre varovania pri obrázkoch a videách sa môžeš vyjadriť tak ako budeš chcieť. - real_conversation_title: Vytvorený pre reálnu konverzáciu + not_a_product_body: Mastodon nie je komerčná sieť. Žiadne reklamy, žiadne dolovanie dát, žiadne múry. Nieje tu žiadna centrálna autorita. + not_a_product_title: Si človekom, nie produktom + real_conversation_body: K dispozícii s 500 znakmi a podporou pre varovania o obsahu a médiách sa môžeš vyjadriť tak ako budeš chcieť. + real_conversation_title: Vytvorený pre naozajstnú konverzáciu within_reach_body: Viacero aplikácií pre iOS, Android a iné platformy, ktoré ti vďaka jednoduchému API ekosystému dovoľujú byť online so svojimi priateľmi kdekoľvek. within_reach_title: Stále v dosahu generic_description: "%{domain} je jeden server v sieti" @@ -49,8 +49,9 @@ sk: few: Sledovatelia one: Sledujúci other: Sledovatelia - following: Sledovaných + following: Sledovaní joined: Pridal/a sa %{date} + last_active: poslednýkrát aktívny link_verified_on: Vlastníctvo tohto odkazu bolo skontrolované %{date} media: Médiá moved_html: "%{name} účet bol presunutý na %{new_profile_link}:" @@ -118,6 +119,7 @@ sk: media_attachments: Prílohy memorialize: Zmeniť na "Navždy budeme spomínať" moderation: + active: Aktívny/a all: Všetko silenced: Umlčané suspended: Suspendované @@ -393,10 +395,10 @@ sk: desc_html: Povoliť každému aby si mohli vytvoriť účet title: Verejná registrácia 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 statusy z lokálnej osi. - title: Ukázať celé známe fediversum na ukážke osi + 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 hlášky z miestnej osi. + title: Ukázať celé známe fediversum na náhľade osi show_staff_badge: - desc_html: Zobraziť moderátorsku značku na užívateľovej stránke + desc_html: Zobraz moderátorsku značku na užívateľovej stránke title: Zobraziť značku moderátora site_description: desc_html: Oboznamujúci paragraf na hlavnej stránke a pri meta tagoch. Môžete použiť HTML kód, presnejšie < a> a < em> . @@ -422,8 +424,8 @@ sk: back_to_account: Späť na účet batch: delete: Vymazať - nsfw_off: Obsah nieje chúlostivý - nsfw_on: Označ obeah aka chúlostivý + nsfw_off: Označ ako nechúlostivé + nsfw_on: Označ ako chúlostivé failed_to_execute: Nepodarilo sa vykonať media: title: Médiá @@ -444,6 +446,14 @@ sk: proceed: Pokračuj title: Zamraziť %{acct} warning_html: 'Zamrazením tohto účtu budú dáta na tomto účte nenávratne zmazané, zahŕňajúc:' + tags: + accounts: Účty + hidden: Skryté + hide: Ukri od databázy + name: Haštag + title: Haštagy + unhide: Ukáž v databázi + visible: Viditeľné title: Spravovanie admin_mailer: new_report: @@ -518,10 +528,20 @@ sk: bad_password_msg: Dobrý pokus, hakeri! Nesprávne heslo confirm_password: Napíšte svoje terajšie heslo pre overenie vašej identity description_html: Týmto natrvalo, nenavrátiteľne vymažeš obsah tvojho účtu, a deaktivuješ ho. Tvoja prezývka ale ostane rezervovaná ako prevencia pred budúcimi impersonáciami. - proceed: Vymazať účet - success_msg: Váš účet bol úspešne vymazaný - warning_html: Iba vymazanie obsahu z tejto konkrétnej instancie je garantované. Obsah ktorý bol zdieľaný široko-ďaleko pravdepodobne zanechá nejaké stopy. Servery ktoré sú offline a tie ktoré ignorujú tvoje zmeny teda nezaktualizujú svoje databázy. - warning_title: O dostupnosti distribuovaného obsahu + proceed: Vymaž účet + success_msg: Tvoj účet bol úspešne vymazaný + warning_html: Iba vymazanie obsahu z tejto konkrétnej instancie je zaručené. Obsah, ktorý bol zdieľaný široko-ďaleko pravdepodobne zanechá nejaké stopy. Servery ktoré sú offline a tie ktoré ignorujú tvoje zmeny teda nezaktualizujú svoje databázy. + warning_title: Dostupnosť rozšírovaného obsahu + directories: + directory: Databáza profilov + explanation: Pátraj po užívateľoch podľa ich záujmov + explore_mastodon: Prebádaj %{title} + most_popular: Najpopulárnejšie + most_recently_active: Naposledy aktívni + people: + few: "%{count} ľudia" + one: "%{count} človek" + other: "%{count} ľudia" errors: '403': Nemáš povolenie na zobrazenie tejto stránky. '404': Stránka ktorú si hľadal/a sa tu nenachádza. @@ -716,21 +736,32 @@ sk: firefox: Mozilla Firefox generic: Neznámy prehliadač ie: Internet Explorer + micro_messenger: MicroMessenger + nokia: Nokia Ovi Browser + opera: Opera otter: Prehliadač Otter + phantom_js: PhantomJS qq: QQ Prehliadač safari: Apple Safari + uc_browser: UCBrowser weibo: Sina/Tencent Weibo current_session: Aktuálna sezóna description: "%{browser} na %{platform}" explanation: Tieto sú prehliadače ktoré sú teraz prihlásené na tvoj Mastodon účet. ip: IP adresa platforms: + adobe_air: Adobe Air + android: Android + blackberry: Blackberry chrome_os: Google ChromeOS + firefox_os: Firefox OS ios: Apple iOS linux: GNU/Linux mac: MacOSX other: neznáma platforma windows: Microsoft Windows + windows_mobile: Windows Mobile + windows_phone: Windows Phone revoke: Zamietni revoke_success: Sezóna úspešne zamietnutá title: Sezóny @@ -776,6 +807,7 @@ sk: reblog: Pozdvihnutie sa nedá pripnúť show_more: Ukáž viac sign_in_to_participate: Prihlás sa pre zapojenie do diskusie + title: '%{name}: „%{quote}"' visibilities: private: Iba pre sledovateľov private_long: Ukáž iba následovateľom @@ -788,7 +820,14 @@ sk: reblogged: vyzdvihnutý sensitive_content: Senzitívny obsah terms: - title: Podmienky užívania, a pravidlá o súkromí pre %{instance} + body_html: | +

Podmienky súkromia

+ +

Aké informácie zbierame?

+ +
    +
  • Základné informácie o účte: Ak sa na tomto serveri zaregistruješ, budeš môcť byť požiadaný/á zadať prezývku, emailovú adresu a heslo. Budeš tiež môcť zadať aj ďalšie profilové údaje, ako napríklad meno a životopis, a nahrať profilovú fotku aj obrázok v záhlaví. Tvoja prezývka, meno, životopis, profilová fotka a obrázok v záhlaví sú vždy zobrazené verejne.
  • Príspevky, sledovania a iné verejné informácie: + title: Podmienky užívania, a pravidlá súkromia pre %{instance} themes: contrast: Vysoký kontrast default: Mastodon @@ -796,6 +835,7 @@ sk: time: formats: default: "%b %d, %R, %H:%M" + month: "%b %Y" two_factor_authentication: code_hint: Pre potvrdenie teraz zadaj kód vygenerovaný pomocou tvojej overovacej aplikácie description_html: Ak povolíš dvoj-faktorové overovanie, na prihlásenie potom budeš potrebovať svoj telefón, ktorý vygeneruje prístupové kódy, čo musíš zadať. diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 14354f8a68..da621a9103 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -30,18 +30,31 @@ sr: other_instances: Листа инстанци privacy_policy: Полиса приватности source_code: Изворни код - status_count_after: статуси + status_count_after: + few: статуси + many: статуси + one: статус + other: статуси status_count_before: Који су написали terms: Услови коришћења - user_count_after: корисници + user_count_after: + few: корисници + many: корисници + one: корисник + other: корисници user_count_before: Дом за what_is_mastodon: Шта је Мастодон? accounts: choices_html: "%{name}'s избори:" follow: Запрати - followers: Пратиоци + followers: + few: Пратиоци + many: Пратиоци + one: Пратиоц + other: Пратиоци following: Пратим joined: Придружио/ла се %{date} + link_verified_on: Власништво над овом везом је проверено %{date} media: Медији moved_html: "%{name} је прешао на %{new_profile_link}:" network_hidden: Ова информација није доступна @@ -50,7 +63,11 @@ sr: people_who_follow: Људи који прате %{name} pin_errors: following: Морате пратити ову особу ако хоћете да потврдите - posts: Трубе + posts: + few: Трубе + many: Трубе + one: Труба + other: Трубе posts_tab_heading: Трубе posts_with_replies: Трубе и одговори reserved_username: Корисничко име је резервисано @@ -112,9 +129,10 @@ sr: moderation_notes: Модераторске белешке most_recent_activity: Најскорија активност most_recent_ip: Најскорија IP адреса + no_limits_imposed: Нема ограничења not_subscribed: Није претплаћен outbox_url: Одлазно сандуче - perform_full_suspension: Изврши комплетно искључење + perform_full_suspension: Искључи profile_url: Адреса профила promote: Унапреди protocol: Протокол @@ -143,8 +161,10 @@ sr: report: пријава targeted_reports: Пријаве направљене о овом налогу silence: Ућуткај + silenced: Ућуткан statuses: Статуси subscribe: Претплати се + suspended: Суспендовани title: Налози unconfirmed_email: Непотврђена Е-пошта undo_silenced: Укини ћутање @@ -161,6 +181,7 @@ sr: create_domain_block: "%{name} је блокирао домен %{target}" create_email_domain_block: "%{name} је ставио на црну листу домен е-поште %{target}" demote_user: "%{name} је ражаловао корисника %{target}" + destroy_custom_emoji: "%{name} је уништио емоџи %{target}" destroy_domain_block: "%{name} је одблокирао домен %{target}" destroy_email_domain_block: "%{name} је ставио на белу листу домен е-поште %{target}" destroy_status: "%{name} је уклонио статус корисника %{target}" @@ -246,6 +267,8 @@ sr: title: Ново блокирање домена reject_media: Одбаци мултимедију reject_media_hint: Уклања локално ускладиштене мултимедијске фајлове и одбија да их скида убудуће. Небитно је за суспензију + reject_reports: Одбаци извештај + reject_reports_hint: Игнориши све извештаје који долазе са овог домена. Небитно је за суспензије severities: noop: Ништа silence: Ућуткавање @@ -290,8 +313,13 @@ sr: title: Позивнице relays: add_new: Додај нови релеј + delete: Обриши description_html: "Федерални релеј је посреднички сервер који размењује велике количине јавних труба између сервера на који је претплаћен и на који објављује.Може помоћи малим и средњим серверима да открију садржај из федиверса, који иначе захтева од локалних корисника да ручно пратити остале људе на удаљеним серверима." + disable: Искључи + disabled: Искључен + enable: Укључи enable_hint: Када се омогући, Ваш сервер ће бити претплаћен на све јавне трубе са овог релеја, и почеће да шаље своје јавне трубу на њега. + enabled: Укључен inbox_url: URL Релеја pending: Чека се одобрење релеја save_and_enable: Сачувај и омогући @@ -347,6 +375,9 @@ sr: hero: desc_html: Приказано на почетној страни. Препоручено је бар 600х100рх. Када се не одреди, враћа се на иконицу инстанце title: Лого слика + mascot: + desc_html: Приказано на више страна. Препоручено је бар 293×205px. Када није постављена, користи се подразумевана маскота + title: Слика маскоте peers_api_enabled: desc_html: Имена домена које је ова инстанца срела у федиверсу title: Објављуј списак откривених инстанци @@ -557,6 +588,7 @@ sr: resources: Ресурси generic: changes_saved_msg: Измене успешно сачуване! + copy: Копирај save_changes: Сними измене validation_errors: few: Нешто није баш како треба! Прегледајте %{count} грешке испод @@ -742,11 +774,23 @@ sr: statuses: attached: description: 'У прилогу: %{attached}' - image: "%{count} слике" - video: "%{count} видеа" + image: + few: "%{count} слика" + many: "%{count} слика" + one: "%{count} слику" + other: "%{count} слика" + video: + few: "%{count} видео записа" + many: "%{count} видео записа" + one: "%{count} видео запис" + other: "%{count} видео записа" boosted_from_html: Подржано од %{acct_link} content_warning: 'Упозорење на садржај: %{warning}' - disallowed_hashtags: 'садржи забрањене тарабе: %{tags}' + disallowed_hashtags: + few: 'садржи забрањене хештегове: %{tags}' + many: 'садржи забрањене хештегове: %{tags}' + one: 'садржи забрањени хештег: %{tags}' + other: 'садржи забрањене хештегове: %{tags}' language_detection: Аутоматскo откривање језика open_in_web: Отвори у вебу over_character_limit: ограничење од %{max} карактера прекорачено @@ -799,6 +843,7 @@ sr: backup_ready: explanation: Тражили сте потпуну резервну копију вашег Мастодон рачуна. Спремна за преузимање! subject: Ваша архива је спремна за преузимање + title: Извоз архиве welcome: edit_profile_action: Подеси профил edit_profile_step: Профил можете прилагодити постављањем аватара, заглавља, променом имена и још много тога. Ако желите да прегледате нове пратиоце пре него што буду дозвољени да вас прате, можете закључати свој налог. @@ -811,15 +856,19 @@ sr: review_preferences_step: Обавезно поставите своја подешавања, као што су какву Е-пошту желите да примите или на који ниво приватности желите да ваше поруке буду постављене. Ако немате морску болест или епилепсију, можете изабрати аутоматско покретање ГИФ-а. subject: Добродошли на Мастодон tip_bridge_html: Ако долазите са Твитера, можете пронаћи пријатеље користећи апликацију за премошћавање. Ово ради само ако и они користе исту апликацију! - tip_federated_timeline: Здружена временска линија је компетан увид у Мастодонову мрежу. Али она само укључује људе на којој су ваше комшије претплаћене, тако да није комплетна. + tip_federated_timeline: Здружена временска линија пружа комплетан увид у Мастодонову мрежу. Али она само укључује људе на које су ваше комшије претплаћене, тако да није комплетна. tip_following: Аутоматски пратите админа/не вашег сервера. Да пронађете занимљиве људе, проверите локалне и здружене временске линије. tip_local_timeline: Локална временска линија је комплетан увид људи у %{instance}. Ово су вам прве комшије! tip_mobile_webapp: Ако вам мобилни претраживач предложи да додате Мастодон на Ваш почетни екран, добијаћете мобилна обавештења. Делује као изворна апликација на много начина! tips: Савети title: Добродошли, %{name}! users: + follow_limit_reached: Не можете пратити више од %{limit} људи invalid_email: Адреса Е-поште није исправна invalid_otp_token: Неисправни двофакторски код otp_lost_help_html: Ако изгубите приступ за оба, можете ступити у контакт са %{email} seamless_external_login: Пријављени сте путем спољашње услуге, тако да лозинка и подешавања Е-поште нису доступни. signed_in_as: 'Пријављен/а као:' + verification: + explanation_html: 'Можете извршити проверу да сте Ви власник веза у Вашем профилу. Да би то радило, повезани веб сајт мора да садржи везу назад ка Вашем Мастодон профилу. Веза назад мора да има rel="me" атрибут. Текстуелни садржај везе није битан. Ево примера:' + verification: Провера From f20c0b8507b72dba9c36a71721113edd31567776 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 14 Dec 2018 01:41:38 +0100 Subject: [PATCH 23/36] Fix timeline pagination in the WebUI (#9516) The `hasMore` property of timelines in redux store was set whenever an API request returned only one page of results, *even* if the query only requested newer statuses (using `since_id`), causing `hasMore` to be incorrectly set to false whenever fetching new toots in a timeline, which happens each time an account's timeline or media gallery is visited. --- app/javascript/mastodon/actions/timelines.js | 7 +++++-- app/javascript/mastodon/reducers/timelines.js | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/javascript/mastodon/actions/timelines.js b/app/javascript/mastodon/actions/timelines.js index 215adc4eae..6e7bd027cb 100644 --- a/app/javascript/mastodon/actions/timelines.js +++ b/app/javascript/mastodon/actions/timelines.js @@ -74,12 +74,14 @@ export function expandTimeline(timelineId, path, params = {}, done = noOp) { params.since_id = timeline.getIn(['items', 0]); } + const isLoadingRecent = !!params.since_id; + dispatch(expandTimelineRequest(timelineId, isLoadingMore)); api(getState).get(path, { params }).then(response => { const next = getLinks(response).refs.find(link => link.rel === 'next'); dispatch(importFetchedStatuses(response.data)); - dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null, response.code === 206, isLoadingMore)); + dispatch(expandTimelineSuccess(timelineId, response.data, next ? next.uri : null, response.code === 206, isLoadingRecent, isLoadingMore)); done(); }).catch(error => { dispatch(expandTimelineFail(timelineId, error, isLoadingMore)); @@ -112,13 +114,14 @@ export function expandTimelineRequest(timeline, isLoadingMore) { }; }; -export function expandTimelineSuccess(timeline, statuses, next, partial, isLoadingMore) { +export function expandTimelineSuccess(timeline, statuses, next, partial, isLoadingRecent, isLoadingMore) { return { type: TIMELINE_EXPAND_SUCCESS, timeline, statuses, next, partial, + isLoadingRecent, skipLoading: !isLoadingMore, }; }; diff --git a/app/javascript/mastodon/reducers/timelines.js b/app/javascript/mastodon/reducers/timelines.js index 664d651514..beab2ea038 100644 --- a/app/javascript/mastodon/reducers/timelines.js +++ b/app/javascript/mastodon/reducers/timelines.js @@ -26,10 +26,10 @@ const initialTimeline = ImmutableMap({ items: ImmutableList(), }); -const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial) => { +const expandNormalizedTimeline = (state, timeline, statuses, next, isPartial, isLoadingRecent) => { return state.update(timeline, initialTimeline, map => map.withMutations(mMap => { mMap.set('isLoading', false); - if (!next) mMap.set('hasMore', false); + if (!next && !isLoadingRecent) mMap.set('hasMore', false); if (!statuses.isEmpty()) { mMap.update('items', ImmutableList(), oldIds => { @@ -126,7 +126,7 @@ export default function timelines(state = initialState, action) { case TIMELINE_EXPAND_FAIL: return state.update(action.timeline, initialTimeline, map => map.set('isLoading', false)); case TIMELINE_EXPAND_SUCCESS: - return expandNormalizedTimeline(state, action.timeline, fromJS(action.statuses), action.next, action.partial); + return expandNormalizedTimeline(state, action.timeline, fromJS(action.statuses), action.next, action.partial, action.isLoadingRecent); case TIMELINE_UPDATE: return updateTimeline(state, action.timeline, fromJS(action.status)); case TIMELINE_DELETE: From c58c00651b13520e22f0a59737d23a68e63b4840 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 14 Dec 2018 01:44:39 +0100 Subject: [PATCH 24/36] Fix padding on select elements in preferences (#9517) Add right-padding to select elements to take the up/down arrows into account. Thanks Tixie for finding the issue! --- app/javascript/styles/mastodon/forms.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 4f96204f28..6132dd1ae3 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -420,6 +420,7 @@ code { border: 1px solid darken($ui-base-color, 14%); border-radius: 4px; padding: 10px; + padding-right: 30px; height: 41px; } From 11a91592aac049c6c0efffbb9b17347663303d47 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 14 Dec 2018 01:47:50 +0100 Subject: [PATCH 25/36] Restore profile links in /admin/accounts (#9494) Fixes #9431 --- app/views/admin/accounts/_account.html.haml | 3 +++ app/views/admin/accounts/index.html.haml | 1 + 2 files changed, 4 insertions(+) diff --git a/app/views/admin/accounts/_account.html.haml b/app/views/admin/accounts/_account.html.haml index 0fadaae1e7..1e1bb1812b 100644 --- a/app/views/admin/accounts/_account.html.haml +++ b/app/views/admin/accounts/_account.html.haml @@ -13,3 +13,6 @@ %time.time-ago{ datetime: account.user_current_sign_in_at.iso8601, title: l(account.user_current_sign_in_at) }= l account.user_current_sign_in_at - else \- + %td + = table_link_to 'circle', t('admin.accounts.web'), web_path("accounts/#{account.id}") + = table_link_to 'globe', t('admin.accounts.public'), TagManager.instance.url_for(account) diff --git a/app/views/admin/accounts/index.html.haml b/app/views/admin/accounts/index.html.haml index 0d31eee367..91fddadf81 100644 --- a/app/views/admin/accounts/index.html.haml +++ b/app/views/admin/accounts/index.html.haml @@ -41,6 +41,7 @@ %th= t('admin.accounts.role') %th= t('admin.accounts.most_recent_ip') %th= t('admin.accounts.most_recent_activity') + %th %tbody = render @accounts From 769c2d2680c365cfafb35e27bc1d3b39deac118e Mon Sep 17 00:00:00 2001 From: Sumit Khanna Date: Thu, 13 Dec 2018 22:07:21 -0600 Subject: [PATCH 26/36] Error message for avatar image that's too large. #9204 (#9518) * Error message for avatar image that's too large. #9204 * Code climate/formatting * Removed avatar error message * Moved valid image dimentions check to update service * removed unnescessary begin block * code climate formatting * code climate indent fix --- app/services/update_account_service.rb | 3 +++ .../settings/profiles_controller_spec.rb | 22 ++++++++++++++++++ spec/fixtures/files/4096x4097.png | Bin 0 -> 58859 bytes 3 files changed, 25 insertions(+) create mode 100644 spec/fixtures/files/4096x4097.png diff --git a/app/services/update_account_service.rb b/app/services/update_account_service.rb index 36665177db..01756a73d4 100644 --- a/app/services/update_account_service.rb +++ b/app/services/update_account_service.rb @@ -12,6 +12,9 @@ class UpdateAccountService < BaseService check_links(account) process_hashtags(account) end + rescue Mastodon::DimensionsValidationError => de + account.errors.add(:avatar, de.message) + false end private diff --git a/spec/controllers/settings/profiles_controller_spec.rb b/spec/controllers/settings/profiles_controller_spec.rb index a453200af6..5b1fe3acad 100644 --- a/spec/controllers/settings/profiles_controller_spec.rb +++ b/spec/controllers/settings/profiles_controller_spec.rb @@ -26,4 +26,26 @@ RSpec.describe Settings::ProfilesController, type: :controller do expect(ActivityPub::UpdateDistributionWorker).to have_received(:perform_async).with(account.id) end end + + describe 'PUT #update with new profile image' do + it 'updates profile image' do + allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async) + account = Fabricate(:account, user: @user, display_name: 'AvatarTest') + expect(account.avatar.instance.avatar_file_name).to be_nil + + put :update, params: { account: { avatar: fixture_file_upload('files/avatar.gif', 'image/gif') } } + expect(response).to redirect_to(settings_profile_path) + expect(account.reload.avatar.instance.avatar_file_name).not_to be_nil + expect(ActivityPub::UpdateDistributionWorker).to have_received(:perform_async).with(account.id) + end + end + + describe 'PUT #update with oversized image' do + it 'gives the user an error message' do + allow(ActivityPub::UpdateDistributionWorker).to receive(:perform_async) + account = Fabricate(:account, user: @user, display_name: 'AvatarTest') + put :update, params: { account: { avatar: fixture_file_upload('files/4096x4097.png', 'image/png') } } + expect(response.body).to include('images are not supported') + end + end end diff --git a/spec/fixtures/files/4096x4097.png b/spec/fixtures/files/4096x4097.png new file mode 100644 index 0000000000000000000000000000000000000000..d1110cc2df0a299b47e9ad088ea61ccfd428cddb GIT binary patch literal 58859 zcmeI5OKeP07{|YF#)6V2*JDi+v1-DtmUiNi30;r~MVqkj2;;FJE*osbS`bSM zAtJFLn23c~Ni2v)BoZ{CyT-z6oYR`yKPJ^oq$88xO`3boOmFY>fBwJkyuRL^&93ii zm^OEsnKfj(J2#j$x?*D@RpU;#FZI54r~3Wfn-7{zpXI+2cH!b2_hMZxvu;)0n{>K% zVbhaq&j;O0ExUU*Ddt)^PF7DfrJ)}*!8 z*sHb3rf4sanTj>k=AUAU)PI|bSf^o0v95V_yOlY zhuDG85vUr_0UhcGI#yK!I-o=S03E6ZbT~Se-B|4AETg#qW8yFeVGc6p24=6!(8UeL z93)UV=toMAvTp9HTjX^*_5H!#t}82&BbrSeJ^j>gj!$!okKQmYxQ@(Y0od_WPtiLE zDhG&_ix^m`kH8A7)DO_1YCs2cs2`w1)qsvFqN8N0m~UXnkbq0&>?>Cc^%=l+0DP@ z0{HJBA3$^>DV_C2Cb>#>CY+A+u;&H|Ri~;`FF~E-3GrGN1liyCf zIv1Ys%YG~cE4wTOSJhH*v1u`RQ3-#>phNut9jXR&K!^GPI#dnlfDZKobf_B8@pn2(q>6b7d7c%|vl5h8 z(q~Cu>_9eYplUz|bf_OHzTri4&>Uk5FqUI1H|7STw<0`>9VR-KyZr8J-mJDE)7jqR zF2_ZB@n_PVll^iy^aF=ru<+q<@^gp((7&y(rkb}dC_H@JwA{a! NS+&0N`pVu@KLEZqli>gW literal 0 HcmV?d00001 From 7241db299c7299770791a8674f4d7efde0faff6d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Fri, 14 Dec 2018 06:52:06 +0100 Subject: [PATCH 27/36] Bump redis from 4.0.3 to 4.1.0 (#9520) Bumps [redis](https://github.com/redis/redis-rb) from 4.0.3 to 4.1.0. - [Release notes](https://github.com/redis/redis-rb/releases) - [Changelog](https://github.com/redis/redis-rb/blob/master/CHANGELOG.md) - [Commits](https://github.com/redis/redis-rb/compare/v4.0.3...v4.1.0) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index b0284d8c04..5007dc067b 100644 --- a/Gemfile +++ b/Gemfile @@ -69,7 +69,7 @@ gem 'rack-attack', '~> 5.4' gem 'rack-cors', '~> 1.0', require: 'rack/cors' gem 'rails-i18n', '~> 5.1' gem 'rails-settings-cached', '~> 0.6' -gem 'redis', '~> 4.0', require: ['redis', 'redis/connection/hiredis'] +gem 'redis', '~> 4.1', require: ['redis', 'redis/connection/hiredis'] gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock' gem 'rqrcode', '~> 0.10' gem 'sanitize', '~> 5.0' diff --git a/Gemfile.lock b/Gemfile.lock index c42142aed1..45ad8e4e33 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -476,7 +476,7 @@ GEM link_header (~> 0.0, >= 0.0.8) rdf-normalize (0.3.3) rdf (>= 2.2, < 4.0) - redis (4.0.3) + redis (4.1.0) redis-actionpack (5.0.2) actionpack (>= 4.0, < 6) redis-rack (>= 1, < 3) @@ -737,7 +737,7 @@ DEPENDENCIES rails-i18n (~> 5.1) rails-settings-cached (~> 0.6) rdf-normalize (~> 0.3) - redis (~> 4.0) + redis (~> 4.1) redis-namespace (~> 1.5) redis-rails (~> 5.0) rqrcode (~> 0.10) From 7c48688d85d0ab64501cea6b8a516867a786bb4c Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 14 Dec 2018 20:34:18 +0100 Subject: [PATCH 28/36] Make avatar and headers respect `auto_play_gif` (#9515) * Do not animate account header art if user's GIF autoplay setting is off Fixes #9472 * Honour currently logged-in user's GIF autoplay setting for account avatars Fixes #9467 * Fix avatar display on some public pages when data is stored on a different host * Use ternary operator instead of if/else for avatar/header URL --- app/helpers/home_helper.rb | 2 +- .../mastodon/features/account/components/header.js | 2 +- app/views/accounts/_header.html.haml | 7 ++----- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/helpers/home_helper.rb b/app/helpers/home_helper.rb index ba7c443c22..9b3f1380b1 100644 --- a/app/helpers/home_helper.rb +++ b/app/helpers/home_helper.rb @@ -23,7 +23,7 @@ module HomeHelper else link_to(path || TagManager.instance.url_for(account), class: 'account__display-name') do content_tag(:div, class: 'account__avatar-wrapper') do - content_tag(:div, '', class: 'account__avatar', style: "width: #{size}px; height: #{size}px; background-size: #{size}px #{size}px; background-image: url(#{account.avatar.url})") + content_tag(:div, '', class: 'account__avatar', style: "width: #{size}px; height: #{size}px; background-size: #{size}px #{size}px; background-image: url(#{full_asset_url(current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url)})") end + content_tag(:span, class: 'display-name') do content_tag(:bdi) do diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index 8604e71673..2ab25cde44 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -158,7 +158,7 @@ class Header extends ImmutablePureComponent { const badge = account.get('bot') ? (
    ) : null; return ( -
    +
    diff --git a/app/views/accounts/_header.html.haml b/app/views/accounts/_header.html.haml index 9ceae007d5..370e7e470f 100644 --- a/app/views/accounts/_header.html.haml +++ b/app/views/accounts/_header.html.haml @@ -1,12 +1,9 @@ .public-account-header{:class => ("inactive" if account.moved?)} .public-account-header__image - = image_tag account.header.url, class: 'parallax' + = image_tag (current_account&.user&.setting_auto_play_gif ? account.header_original_url : account.header_static_url), class: 'parallax' .public-account-header__bar = link_to short_account_url(account), class: 'avatar' do - - if current_account&.user&.setting_auto_play_gif - = image_tag account.avatar_original_url - - else - = image_tag account.avatar_static_url + = image_tag (current_account&.user&.setting_auto_play_gif ? account.avatar_original_url : account.avatar_static_url) .public-account-header__tabs .public-account-header__tabs__name %h1 From aa7a8a30310fc68385d1df7aa20ceca6c2aca497 Mon Sep 17 00:00:00 2001 From: ThibG Date: Fri, 14 Dec 2018 20:35:26 +0100 Subject: [PATCH 29/36] When posting in mobile mode, go back to previous history location (#9502) Fixes #7112 --- app/javascript/mastodon/actions/compose.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js index 86d83122fc..1c7f14b5ef 100644 --- a/app/javascript/mastodon/actions/compose.js +++ b/app/javascript/mastodon/actions/compose.js @@ -144,7 +144,11 @@ export function submitCompose(routerHistory) { if (response.data.visibility === 'direct' && getState().getIn(['conversations', 'mounted']) <= 0 && routerHistory) { routerHistory.push('/timelines/direct'); - } else if (response.data.visibility !== 'direct') { + } else if (routerHistory && routerHistory.location.pathname === '/statuses/new' && window.history.state) { + routerHistory.goBack(); + } + + if (response.data.visibility !== 'direct') { insertIfOnline('home'); } From c1600a0f69c1453c76c3baf45c41271c7b526146 Mon Sep 17 00:00:00 2001 From: ysksn Date: Sat, 15 Dec 2018 04:36:18 +0900 Subject: [PATCH 30/36] Add spec for Admin::DashboardController#index (#9523) --- .../controllers/admin/dashboard_controller_spec.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 spec/controllers/admin/dashboard_controller_spec.rb diff --git a/spec/controllers/admin/dashboard_controller_spec.rb b/spec/controllers/admin/dashboard_controller_spec.rb new file mode 100644 index 0000000000..73b50e7218 --- /dev/null +++ b/spec/controllers/admin/dashboard_controller_spec.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe Admin::DashboardController, type: :controller do + describe 'GET #index' do + it 'returns 200' do + sign_in Fabricate(:user, admin: true) + get :index + + expect(response).to have_http_status(200) + end + end +end From 458e2b0c5b982999d0bd6695b96da9ccfca66664 Mon Sep 17 00:00:00 2001 From: ysksn Date: Sat, 15 Dec 2018 04:36:40 +0900 Subject: [PATCH 31/36] Add specs for RemoteInteractionController (#9524) --- .../remote_interaction_controller_spec.rb | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 spec/controllers/remote_interaction_controller_spec.rb diff --git a/spec/controllers/remote_interaction_controller_spec.rb b/spec/controllers/remote_interaction_controller_spec.rb new file mode 100644 index 0000000000..bb0074b114 --- /dev/null +++ b/spec/controllers/remote_interaction_controller_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe RemoteInteractionController, type: :controller do + render_views + + let(:status) { Fabricate(:status) } + + describe 'GET #new' do + it 'returns 200' do + get :new, params: { id: status.id } + expect(response).to have_http_status(200) + end + end + + describe 'POST #create' do + context '@remote_follow is valid' do + it 'returns 302' do + allow_any_instance_of(RemoteFollow).to receive(:valid?) { true } + allow_any_instance_of(RemoteFollow).to receive(:addressable_template) do + Addressable::Template.new('https://hoge.com') + end + + post :create, params: { id: status.id, remote_follow: { acct: '@hoge' } } + expect(response).to have_http_status(302) + end + end + + context '@remote_follow is invalid' do + it 'returns 200' do + allow_any_instance_of(RemoteFollow).to receive(:valid?) { false } + post :create, params: { id: status.id, remote_follow: { acct: '@hoge' } } + + expect(response).to have_http_status(200) + end + end + end +end From 3c31c28605a8934ee509ddeb9b7b3ebb8d1c40ba Mon Sep 17 00:00:00 2001 From: ysksn Date: Sat, 15 Dec 2018 04:37:01 +0900 Subject: [PATCH 32/36] Add spec for Admin::ActionLogsController#index (#9522) --- .../admin/action_logs_controller_spec.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 spec/controllers/admin/action_logs_controller_spec.rb diff --git a/spec/controllers/admin/action_logs_controller_spec.rb b/spec/controllers/admin/action_logs_controller_spec.rb new file mode 100644 index 0000000000..4720ed2e2b --- /dev/null +++ b/spec/controllers/admin/action_logs_controller_spec.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe Admin::ActionLogsController, type: :controller do + describe 'GET #index' do + it 'returns 200' do + sign_in Fabricate(:user, admin: true) + get :index, params: { page: 1 } + + expect(response).to have_http_status(200) + end + end +end From fcc35f6ec1bdf1eff013e287a06ccb16eec6579a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" Date: Fri, 14 Dec 2018 20:37:29 +0100 Subject: [PATCH 33/36] Bump aws-sdk-s3 from 1.27.0 to 1.30.0 (#9429) Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.27.0 to 1.30.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/master/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) Signed-off-by: dependabot[bot] --- Gemfile | 2 +- Gemfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 5007dc067b..feaa75439e 100644 --- a/Gemfile +++ b/Gemfile @@ -15,7 +15,7 @@ gem 'makara', '~> 0.4' gem 'pghero', '~> 2.2' gem 'dotenv-rails', '~> 2.5' -gem 'aws-sdk-s3', '~> 1.27', require: false +gem 'aws-sdk-s3', '~> 1.30', require: false gem 'fog-core', '<= 2.1.0' gem 'fog-openstack', '~> 0.3', require: false gem 'paperclip', '~> 6.0' diff --git a/Gemfile.lock b/Gemfile.lock index 45ad8e4e33..d9fc1c6b68 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,8 +76,8 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.0.1) - aws-partitions (1.118.0) - aws-sdk-core (3.41.0) + aws-partitions (1.122.0) + aws-sdk-core (3.43.0) aws-eventstream (~> 1.0) aws-partitions (~> 1.0) aws-sigv4 (~> 1.0) @@ -85,7 +85,7 @@ GEM aws-sdk-kms (1.13.0) aws-sdk-core (~> 3, >= 3.39.0) aws-sigv4 (~> 1.0) - aws-sdk-s3 (1.27.0) + aws-sdk-s3 (1.30.0) aws-sdk-core (~> 3, >= 3.39.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.0) @@ -655,7 +655,7 @@ DEPENDENCIES active_record_query_trace (~> 1.5) addressable (~> 2.5) annotate (~> 2.7) - aws-sdk-s3 (~> 1.27) + aws-sdk-s3 (~> 1.30) better_errors (~> 2.5) binding_of_caller (~> 0.7) bootsnap (~> 1.3) From 67b924e324220885b46d9e26c8beb6ee8d3cf8bf Mon Sep 17 00:00:00 2001 From: Aditoo17 <42938951+Aditoo17@users.noreply.github.com> Date: Sat, 15 Dec 2018 09:08:54 +0100 Subject: [PATCH 34/36] I18n: Correct pluralization of Czech (#9527) * I18n: Correct pluralization of Czech * I18n: Correct pluralization of Czech --- config/locales/cs.yml | 20 ++++++++++---------- config/locales/devise.cs.yml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/config/locales/cs.yml b/config/locales/cs.yml index b2965b522a..a5a3c01845 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -31,7 +31,7 @@ cs: privacy_policy: Zásady soukromí source_code: Zdrojový kód status_count_after: - few: příspěvků + few: příspěvky one: příspěvek other: příspěvků status_count_before: Kteří napsali @@ -274,7 +274,7 @@ cs: severity: Přísnost show: affected_accounts: - few: "%{count} účtů v databázi bylo ovlivněno" + few: "%{count} účty v databázi byly ovlivněny" one: Jeden účet v databázi byl ovlivněn other: "%{count} účtů v databázi bylo ovlivněno" retroactive: @@ -539,7 +539,7 @@ cs: most_popular: Nejpopulárnější most_recently_active: Naposledy aktivní people: - few: "%{count} lidí" + few: "%{count} lidé" one: "%{count} člověk" other: "%{count} lidí" errors: @@ -590,9 +590,9 @@ cs: lock_link: Zamkněte svůj účet purge: Odstranit ze sledovatelů success: - few: V průběhu blokování sledovatelů z %{count} domény... + few: V průběhu blokování sledovatelů ze %{count} domén... one: V průběhu blokování sledovatelů z jedné domény... - other: V průběhu blokování sledovatelů z %{count} domény... + other: V průběhu blokování sledovatelů z %{count} domén... true_privacy_html: Berte prosím na vědomí, že skutečného soukromí se dá dosáhnout pouze za pomoci end-to-end šifrování. unlocked_warning_html: Kdokoliv vás může sledovat a okamžitě vidět vaše soukromé příspěvky. %{lock_link}, abyste mohl/a zkontrolovat a odmítnout sledovatele. unlocked_warning_title: Váš účet není zamknutý @@ -605,7 +605,7 @@ cs: copy: Kopírovat save_changes: Uložit změny validation_errors: - few: Něco ještě není úplně v pořádku! Prosím zkontrolujte %{count} chyb níže + 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 imports: @@ -660,11 +660,11 @@ cs: body: Zde najdete stručný souhrn zpráv, které jste zmeškal/a od vaší poslední návštěvy %{since} mention: "%{name} vás zmínil/a v:" new_followers_summary: - few: Navíc jste získal/a %{count} nových sledovatelů, zatímco jste byl/a pryč! Hurá! + few: Navíc jste získal/a %{count} nové sledovatele, zatímco jste byl/a pryč! Hurá! one: Navíc jste získal/a jednoho nového sledovatele, zatímco jste byl/a pryč! Hurá! other: Navíc jste získal/a %{count} nových sledovatelů, zatímco jste byl/a pryč! Hurá! subject: - few: "%{count} nových oznámení od vaší poslední návštěvy \U0001F418" + few: "%{count} nová oznámení od vaší poslední návštěvy \U0001F418" one: "1 nové oznámení od vaší poslední návštěvy \U0001F418" other: "%{count} nových oznámení od vaší poslední návštěvy \U0001F418" title: Ve vaší nepřítomnosti... @@ -784,11 +784,11 @@ cs: attached: description: 'Přiloženo: %{attached}' image: - few: "%{count} obrázků" + few: "%{count} obrázky" one: "%{count} obrázek" other: "%{count} obrázků" video: - few: "%{count} videí" + few: "%{count} videa" one: "%{count} video" other: "%{count} videí" boosted_from_html: Boostnuto z %{acct_link} diff --git a/config/locales/devise.cs.yml b/config/locales/devise.cs.yml index de23b5847a..f63d4d210e 100644 --- a/config/locales/devise.cs.yml +++ b/config/locales/devise.cs.yml @@ -78,6 +78,6 @@ cs: not_found: nenalezen not_locked: nebyl uzamčen not_saved: - few: "%{count} chyb zabránilo uložení tohoto %{resource}:" + few: "%{count} chyby zabránily uložení tohoto %{resource}:" one: '1 chyba zabránila uložení tohoto %{resource}:' other: "%{count} chyb zabránilo uložení tohoto %{resource}:" From 89e4ac67c87e919bf382c8ab57b5a92aa99b206c Mon Sep 17 00:00:00 2001 From: Thibaut Girka Date: Sun, 16 Dec 2018 13:34:01 +0100 Subject: [PATCH 35/36] [Glitch] Make animated header resoect `auto_play_gif` Port part of 7c48688d85d0ab64501cea6b8a516867a786bb4c to glitch-soc --- .../flavours/glitch/features/account/components/header.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/flavours/glitch/features/account/components/header.js b/app/javascript/flavours/glitch/features/account/components/header.js index f0d36947df..dc5b1447b4 100644 --- a/app/javascript/flavours/glitch/features/account/components/header.js +++ b/app/javascript/flavours/glitch/features/account/components/header.js @@ -7,7 +7,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component'; import Avatar from 'flavours/glitch/components/avatar'; import IconButton from 'flavours/glitch/components/icon_button'; -import { me } from 'flavours/glitch/util/initial_state'; +import { autoPlayGif, me } from 'flavours/glitch/util/initial_state'; import classNames from 'classnames'; const messages = defineMessages({ @@ -108,7 +108,7 @@ export default class Header extends ImmutablePureComponent { return (