diff options
115 files changed, 283 insertions, 444 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml index 1b7f1db42..4d2ebf00a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,8 +13,8 @@ aliases: ALLOW_NOPAM: true CONTINUOUS_INTEGRATION: true DISABLE_SIMPLECOV: true - PAM_ENABLED: true - PAM_DEFAULT_SERVICE: pam_test + PAM_ENABLED: true + PAM_DEFAULT_SERVICE: pam_test PAM_CONTROLLED_SERVICE: pam_test_controlled working_directory: ~/projects/mastodon/ @@ -178,6 +178,8 @@ jobs: - *attach_workspace - run: bundle exec i18n-tasks check-normalized - run: bundle exec i18n-tasks unused + - run: bundle exec i18n-tasks missing-plural-keys + - run: bundle exec i18n-tasks check-consistent-interpolations workflows: version: 2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 666ccd14b..f989f111e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,8 @@ All notable changes to this project will be documented in this file. - Add `description` meta tag (#8941) - Add `Content-Security-Policy` header (#8957) - Add cache for the instance info API (#8765) +- Add suggested follows to search screen in mobile layout (#9010) +- Add CORS header to `/.well-known/*` routes (#9083) ### Changed @@ -57,6 +59,7 @@ All notable changes to this project will be documented in this file. - Change style of success and failure messages (#8973) - Change DM filtering to always allow DMs from staff (#8993) - Change recommended Ruby version to 2.5.3 (#9003) +- Change docker-compose default to persist volumes in current directory (#9055) ### Deprecated @@ -85,6 +88,8 @@ All notable changes to this project will be documented in this file. - Fix crash in streaming API when tag param missing (#8955) - Fix hotkeys not working when no element is focused (#8998) - Fix some hotkeys not working on detailed status view (#9006) +- Fix og:url on status pages (#9047) +- Fix upload option buttons only being visible on hover (#9074) ## [2.5.2] - 2018-10-12 ### Security diff --git a/Gemfile b/Gemfile index ee9b746a6..71d54cede 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.21', require: false +gem 'aws-sdk-s3', '~> 1.23', require: false gem 'fog-core', '<= 2.1.0' gem 'fog-openstack', '~> 0.3', require: false gem 'paperclip', '~> 6.0' @@ -96,7 +96,7 @@ gem 'rdf-normalize', '~> 0.3' group :development, :test do gem 'fabrication', '~> 2.20' gem 'fuubar', '~> 2.3' - gem 'i18n-tasks', '~> 0.9', require: false + gem 'i18n-tasks', '~> 0.9', require: false, git: 'https://github.com/Gargron/i18n-tasks.git', ref: '7a57fbe7000f4f8120e250a757ab345c28c6885c' gem 'pry-byebug', '~> 3.6' gem 'pry-rails', '~> 0.3' gem 'rspec-rails', '~> 3.8' @@ -107,7 +107,7 @@ group :production, :test do end group :test do - gem 'capybara', '~> 3.9' + gem 'capybara', '~> 3.10' gem 'climate_control', '~> 0.2' gem 'faker', '~> 1.9' gem 'microformats', '~> 4.0' @@ -115,7 +115,7 @@ group :test do gem 'rspec-sidekiq', '~> 3.0' gem 'simplecov', '~> 0.16', require: false gem 'webmock', '~> 3.4' - gem 'parallel_tests', '~> 2.24' + gem 'parallel_tests', '~> 2.25' end group :development do diff --git a/Gemfile.lock b/Gemfile.lock index 283a6c25d..36115dff1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,4 +1,20 @@ GIT + remote: https://github.com/Gargron/i18n-tasks.git + revision: 7a57fbe7000f4f8120e250a757ab345c28c6885c + ref: 7a57fbe7000f4f8120e250a757ab345c28c6885c + specs: + i18n-tasks (0.9.27) + activesupport (>= 4.0.2) + ast (>= 2.1.0) + erubi + highline (>= 2.0.0) + i18n + parser (>= 2.2.3.0) + rails-i18n + rainbow (>= 2.2.2, < 4.0) + terminal-table (>= 1.5.1) + +GIT remote: https://github.com/rtomayko/posix-spawn revision: 58465d2e213991f8afb13b984854a49fcdcc980c ref: 58465d2e213991f8afb13b984854a49fcdcc980c @@ -76,16 +92,16 @@ GEM av (0.9.0) cocaine (~> 0.5.3) aws-eventstream (1.0.1) - aws-partitions (1.105.0) - aws-sdk-core (3.30.0) + aws-partitions (1.106.0) + aws-sdk-core (3.35.0) aws-eventstream (~> 1.0) aws-partitions (~> 1.0) aws-sigv4 (~> 1.0) jmespath (~> 1.0) - aws-sdk-kms (1.9.0) + aws-sdk-kms (1.11.0) aws-sdk-core (~> 3, >= 3.26.0) aws-sigv4 (~> 1.0) - aws-sdk-s3 (1.21.0) + aws-sdk-s3 (1.23.0) aws-sdk-core (~> 3, >= 3.26.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.0) @@ -126,13 +142,14 @@ GEM sshkit (~> 1.3) capistrano-yarn (2.0.2) capistrano (~> 3.0) - capybara (3.9.0) + capybara (3.10.0) addressable mini_mime (>= 0.1.3) nokogiri (~> 1.8) rack (>= 1.6.0) rack-test (>= 0.6.3) - xpath (~> 3.1) + regexp_parser (~> 1.2) + xpath (~> 3.2) case_transform (0.2) activesupport charlock_holmes (0.7.6) @@ -273,15 +290,6 @@ GEM rainbow (>= 2.0.0) i18n (1.1.1) concurrent-ruby (~> 1.0) - i18n-tasks (0.9.25) - activesupport (>= 4.0.2) - ast (>= 2.1.0) - erubi - highline (>= 2.0.0) - i18n - parser (>= 2.2.3.0) - rainbow (>= 2.2.2, < 4.0) - terminal-table (>= 1.5.1) idn-ruby (0.1.0) ipaddress (0.8.3) iso-639 (0.2.8) @@ -387,7 +395,7 @@ GEM av (~> 0.9.0) paperclip (>= 2.5.2) parallel (1.12.1) - parallel_tests (2.24.0) + parallel_tests (2.25.0) parallel parser (2.5.1.2) ast (~> 2.4.0) @@ -492,6 +500,7 @@ GEM redis-store (>= 1.2, < 2) redis-store (1.5.0) redis (>= 2.2, < 5) + regexp_parser (1.2.0) request_store (1.4.1) rack (>= 1.4) responders (2.4.0) @@ -503,13 +512,13 @@ GEM chunky_png (~> 1.0) rspec-core (3.8.0) rspec-support (~> 3.8.0) - rspec-expectations (3.8.1) + rspec-expectations (3.8.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.8.0) rspec-mocks (3.8.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.8.0) - rspec-rails (3.8.0) + rspec-rails (3.8.1) actionpack (>= 3.0) activesupport (>= 3.0) railties (>= 3.0) @@ -642,7 +651,7 @@ GEM websocket-extensions (>= 0.1.0) websocket-extensions (0.1.3) wisper (2.0.0) - xpath (3.1.0) + xpath (3.2.0) nokogiri (~> 1.8) PLATFORMS @@ -653,7 +662,7 @@ DEPENDENCIES active_record_query_trace (~> 1.5) addressable (~> 2.5) annotate (~> 2.7) - aws-sdk-s3 (~> 1.21) + aws-sdk-s3 (~> 1.23) better_errors (~> 2.5) binding_of_caller (~> 0.7) bootsnap (~> 1.3) @@ -665,7 +674,7 @@ DEPENDENCIES capistrano-rails (~> 1.4) capistrano-rbenv (~> 2.1) capistrano-yarn (~> 2.0) - capybara (~> 3.9) + capybara (~> 3.10) charlock_holmes (~> 0.7.6) chewy (~> 5.0) cld3 (~> 3.2.0) @@ -692,7 +701,7 @@ DEPENDENCIES http_accept_language (~> 2.1) http_parser.rb (~> 0.6)! httplog (~> 1.1) - i18n-tasks (~> 0.9) + i18n-tasks (~> 0.9)! idn-ruby iso-639 json-ld (~> 2.2) @@ -717,7 +726,7 @@ DEPENDENCIES ox (~> 2.10) paperclip (~> 6.0) paperclip-av-transcoder (~> 0.6) - parallel_tests (~> 2.24) + parallel_tests (~> 2.25) pg (~> 1.1) pghero (~> 2.2) pkg-config (~> 1.3) diff --git a/app/controllers/activitypub/inboxes_controller.rb b/app/controllers/activitypub/inboxes_controller.rb index af51e32d5..8f5e1887e 100644 --- a/app/controllers/activitypub/inboxes_controller.rb +++ b/app/controllers/activitypub/inboxes_controller.rb @@ -36,6 +36,6 @@ class ActivityPub::InboxesController < Api::BaseController end def process_payload - ActivityPub::ProcessingWorker.perform_async(signed_request_account.id, body.force_encoding('UTF-8')) + ActivityPub::ProcessingWorker.perform_async(signed_request_account.id, body.force_encoding('UTF-8'), @account&.id) end end diff --git a/app/controllers/admin/base_controller.rb b/app/controllers/admin/base_controller.rb index fc299f74c..f2190ddf9 100644 --- a/app/controllers/admin/base_controller.rb +++ b/app/controllers/admin/base_controller.rb @@ -9,6 +9,13 @@ module Admin before_action :require_staff! before_action :set_pack + before_action :set_body_classes + + private + + def set_body_classes + @body_classes = 'admin' + end def set_pack use_pack 'admin' diff --git a/app/controllers/filters_controller.rb b/app/controllers/filters_controller.rb index 0d1200fcc..f1e110d87 100644 --- a/app/controllers/filters_controller.rb +++ b/app/controllers/filters_controller.rb @@ -8,6 +8,7 @@ class FiltersController < ApplicationController before_action :set_filters, only: :index before_action :set_filter, only: [:edit, :update, :destroy] before_action :set_pack + before_action :set_body_classes def index @filters = current_account.custom_filters @@ -59,4 +60,8 @@ class FiltersController < ApplicationController def resource_params params.require(:custom_filter).permit(:phrase, :expires_in, :irreversible, :whole_word, context: []) end + + def set_body_classes + @body_classes = 'admin' + end end diff --git a/app/controllers/invites_controller.rb b/app/controllers/invites_controller.rb index 3dc934761..52cddc404 100644 --- a/app/controllers/invites_controller.rb +++ b/app/controllers/invites_controller.rb @@ -7,6 +7,7 @@ class InvitesController < ApplicationController before_action :authenticate_user! before_action :set_pack + before_action :set_body_classes def index authorize :invite, :create? @@ -49,4 +50,8 @@ class InvitesController < ApplicationController def resource_params params.require(:invite).permit(:max_uses, :expires_in, :autofollow) 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 index 7322d461b..34ef16568 100644 --- a/app/controllers/settings/base_controller.rb +++ b/app/controllers/settings/base_controller.rb @@ -5,8 +5,13 @@ class Settings::BaseController < ApplicationController before_action :authenticate_user! before_action :set_pack + before_action :set_body_classes def set_pack use_pack 'settings' end + + 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 83945df52..8aae379aa 100644 --- a/app/controllers/settings/follower_domains_controller.rb +++ b/app/controllers/settings/follower_domains_controller.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require 'sidekiq-bulk' - class Settings::FollowerDomainsController < Settings::BaseController def show @account = current_account diff --git a/app/controllers/settings/sessions_controller.rb b/app/controllers/settings/sessions_controller.rb index 780ea64b4..f235dd477 100644 --- a/app/controllers/settings/sessions_controller.rb +++ b/app/controllers/settings/sessions_controller.rb @@ -3,6 +3,7 @@ # Intentionally does not inherit from BaseController class Settings::SessionsController < ApplicationController before_action :set_session, only: :destroy + before_action :set_body_classes def destroy @session.destroy! @@ -15,4 +16,8 @@ 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/javascript/core/settings.js b/app/javascript/core/settings.js index af97c84f9..23a303747 100644 --- a/app/javascript/core/settings.js +++ b/app/javascript/core/settings.js @@ -1,30 +1,16 @@ // This file will be loaded on settings pages, regardless of theme. -const { length } = require('stringz'); const { delegate } = require('rails-ujs'); import emojify from '../mastodon/features/emoji/emoji'; delegate(document, '#account_display_name', 'input', ({ target }) => { - const nameCounter = document.querySelector('.name-counter'); - const name = document.querySelector('.card .display-name strong'); - - if (nameCounter) { - nameCounter.textContent = 30 - length(target.value); - } + const name = document.querySelector('.card .display-name strong'); if (name) { name.innerHTML = emojify(target.value); } }); -delegate(document, '#account_note', 'input', ({ target }) => { - const noteCounter = document.querySelector('.note-counter'); - - if (noteCounter) { - noteCounter.textContent = 500 - length(target.value); - } -}); - delegate(document, '#account_avatar', 'change', ({ target }) => { const avatar = document.querySelector('.card .avatar img'); const [file] = target.files || []; diff --git a/app/javascript/mastodon/actions/compose.js b/app/javascript/mastodon/actions/compose.js index fac8d32a1..86d83122f 100644 --- a/app/javascript/mastodon/actions/compose.js +++ b/app/javascript/mastodon/actions/compose.js @@ -142,7 +142,7 @@ export function submitCompose(routerHistory) { } }; - if (response.data.visibility === 'direct' && getState().getIn(['conversations', 'mounted']) <= 0) { + if (response.data.visibility === 'direct' && getState().getIn(['conversations', 'mounted']) <= 0 && routerHistory) { routerHistory.push('/timelines/direct'); } else if (response.data.visibility !== 'direct') { insertIfOnline('home'); diff --git a/app/javascript/mastodon/features/compose/components/compose_form.js b/app/javascript/mastodon/features/compose/components/compose_form.js index 1b1a4f8d4..4b56c7fdd 100644 --- a/app/javascript/mastodon/features/compose/components/compose_form.js +++ b/app/javascript/mastodon/features/compose/components/compose_form.js @@ -89,7 +89,7 @@ class ComposeForm extends ImmutablePureComponent { return; } - this.props.onSubmit(this.context.router.history); + this.props.onSubmit(this.context.router ? this.context.router.history : null); } onSuggestionsClearRequested = () => { diff --git a/app/javascript/mastodon/features/compose/components/upload.js b/app/javascript/mastodon/features/compose/components/upload.js index 66c93452c..a1e99dcbb 100644 --- a/app/javascript/mastodon/features/compose/components/upload.js +++ b/app/javascript/mastodon/features/compose/components/upload.js @@ -44,11 +44,13 @@ class Upload extends ImmutablePureComponent { this.props.onSubmit(this.context.router.history); } - handleUndoClick = () => { + handleUndoClick = e => { + e.stopPropagation(); this.props.onUndo(this.props.media.get('id')); } - handleFocalPointClick = () => { + handleFocalPointClick = e => { + e.stopPropagation(); this.props.onOpenFocalPoint(this.props.media.get('id')); } @@ -68,6 +70,10 @@ class Upload extends ImmutablePureComponent { this.setState({ focused: true }); } + handleClick = () => { + this.setState({ focused: true }); + } + handleInputBlur = () => { const { dirtyDescription } = this.state; @@ -88,7 +94,7 @@ class Upload extends ImmutablePureComponent { const y = ((focusY / -2) + .5) * 100; return ( - <div className='compose-form__upload' onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave}> + <div className='compose-form__upload' tabIndex='0' onMouseEnter={this.handleMouseEnter} onMouseLeave={this.handleMouseLeave} onClick={this.handleClick} role='button'> <Motion defaultStyle={{ scale: 0.8 }} style={{ scale: spring(1, { stiffness: 180, damping: 12 }) }}> {({ scale }) => ( <div className='compose-form__upload-thumbnail' style={{ transform: `scale(${scale})`, backgroundImage: `url(${media.get('preview_url')})`, backgroundPosition: `${x}% ${y}%` }}> diff --git a/app/javascript/mastodon/features/direct_timeline/components/conversation.js b/app/javascript/mastodon/features/direct_timeline/components/conversation.js index 7277b7f0f..ffcd6d281 100644 --- a/app/javascript/mastodon/features/direct_timeline/components/conversation.js +++ b/app/javascript/mastodon/features/direct_timeline/components/conversation.js @@ -56,6 +56,7 @@ export default class Conversation extends ImmutablePureComponent { otherAccounts={accounts} onMoveUp={this.handleHotkeyMoveUp} onMoveDown={this.handleHotkeyMoveDown} + onClick={this.handleClick} /> ); } diff --git a/app/javascript/mastodon/features/direct_timeline/components/conversations_list.js b/app/javascript/mastodon/features/direct_timeline/components/conversations_list.js index 4684548e0..635c03c1d 100644 --- a/app/javascript/mastodon/features/direct_timeline/components/conversations_list.js +++ b/app/javascript/mastodon/features/direct_timeline/components/conversations_list.js @@ -9,14 +9,14 @@ import { debounce } from 'lodash'; export default class ConversationsList extends ImmutablePureComponent { static propTypes = { - conversationIds: ImmutablePropTypes.list.isRequired, + conversations: ImmutablePropTypes.list.isRequired, hasMore: PropTypes.bool, isLoading: PropTypes.bool, onLoadMore: PropTypes.func, shouldUpdateScroll: PropTypes.func, }; - getCurrentIndex = id => this.props.conversationIds.indexOf(id) + getCurrentIndex = id => this.props.conversations.findIndex(x => x.get('id') === id) handleMoveUp = id => { const elementIndex = this.getCurrentIndex(id) - 1; @@ -41,22 +41,22 @@ export default class ConversationsList extends ImmutablePureComponent { } handleLoadOlder = debounce(() => { - const last = this.props.conversationIds.last(); + const last = this.props.conversations.last(); - if (last) { - this.props.onLoadMore(last); + if (last && last.get('last_status')) { + this.props.onLoadMore(last.get('last_status')); } }, 300, { leading: true }) render () { - const { conversationIds, onLoadMore, ...other } = this.props; + const { conversations, onLoadMore, ...other } = this.props; return ( <ScrollableList {...other} onLoadMore={onLoadMore && this.handleLoadOlder} scrollKey='direct' ref={this.setRef}> - {conversationIds.map(item => ( + {conversations.map(item => ( <ConversationContainer - key={item} - conversationId={item} + key={item.get('id')} + conversationId={item.get('id')} onMoveUp={this.handleMoveUp} onMoveDown={this.handleMoveDown} /> diff --git a/app/javascript/mastodon/features/direct_timeline/containers/conversations_list_container.js b/app/javascript/mastodon/features/direct_timeline/containers/conversations_list_container.js index 81ea812ad..57e17d96f 100644 --- a/app/javascript/mastodon/features/direct_timeline/containers/conversations_list_container.js +++ b/app/javascript/mastodon/features/direct_timeline/containers/conversations_list_container.js @@ -3,7 +3,7 @@ import ConversationsList from '../components/conversations_list'; import { expandConversations } from '../../../actions/conversations'; const mapStateToProps = state => ({ - conversationIds: state.getIn(['conversations', 'items']).map(x => x.get('id')), + conversations: state.getIn(['conversations', 'items']), isLoading: state.getIn(['conversations', 'isLoading'], true), hasMore: state.getIn(['conversations', 'hasMore'], false), }); diff --git a/app/javascript/packs/public.js b/app/javascript/packs/public.js index a62974ec0..9cf783c84 100644 --- a/app/javascript/packs/public.js +++ b/app/javascript/packs/public.js @@ -5,7 +5,6 @@ import { start } from '../mastodon/common'; start(); function main() { - const { length } = require('stringz'); const IntlMessageFormat = require('intl-messageformat').default; const { timeAgoString } = require('../mastodon/components/relative_timestamp'); const { delegate } = require('rails-ujs'); diff --git a/app/javascript/styles/mastodon/rtl.scss b/app/javascript/styles/mastodon/rtl.scss index a86e3e632..ccb53a090 100644 --- a/app/javascript/styles/mastodon/rtl.scss +++ b/app/javascript/styles/mastodon/rtl.scss @@ -130,17 +130,6 @@ body.rtl { float: left; } - .activity-stream .detailed-status.light .detailed-status__display-name > div { - float: right; - margin-right: 0; - margin-left: 10px; - } - - .activity-stream .detailed-status.light .detailed-status__meta span > span { - margin-left: 0; - margin-right: 6px; - } - .status__action-bar { &__counter { @@ -174,6 +163,10 @@ body.rtl { margin-right: 0; } + .detailed-status__display-name .display-name { + text-align: right; + } + .detailed-status__display-avatar { margin-right: 0; margin-left: 10px; diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 7e6702a63..ea9017b82 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -81,11 +81,22 @@ class ActivityPub::Activity::Create < ActivityPub::Activity @mentions << Mention.new(account: account, silent: true) # If there is at least one silent mention, then the status can be considered - # as a limited-audience status, and not strictly a direct message + # as a limited-audience status, and not strictly a direct message, but only + # if we considered a direct message in the first place next unless @params[:visibility] == :direct @params[:visibility] = :limited end + + # If the payload was delivered to a specific inbox, the inbox owner must have + # access to it, unless they already have access to it anyway + return if @options[:delivered_to_account_id].nil? || @mentions.any? { |mention| mention.account_id == @options[:delivered_to_account_id] } + + @mentions << Mention.new(account_id: @options[:delivered_to_account_id], silent: true) + + return unless @params[:visibility] == :direct + + @params[:visibility] = :limited end def attach_tags(status) diff --git a/app/models/account_conversation.rb b/app/models/account_conversation.rb index b7447d805..cc6b39279 100644 --- a/app/models/account_conversation.rb +++ b/app/models/account_conversation.rb @@ -58,6 +58,9 @@ class AccountConversation < ApplicationRecord def add_status(recipient, status) conversation = find_or_initialize_by(account: recipient, conversation_id: status.conversation_id, participant_account_ids: participants_from_status(recipient, status)) + + return conversation if conversation.status_ids.include?(status.id) + conversation.status_ids << status.id conversation.unread = status.account_id != recipient.id conversation.save diff --git a/app/services/fetch_link_card_service.rb b/app/services/fetch_link_card_service.rb index 4169c685b..4551aa7e0 100644 --- a/app/services/fetch_link_card_service.rb +++ b/app/services/fetch_link_card_service.rb @@ -17,7 +17,8 @@ class FetchLinkCardService < BaseService return if @url.nil? || @status.preview_cards.any? - @url = @url.to_s + @mentions = status.mentions + @url = @url.to_s RedisLock.acquire(lock_options) do |lock| if lock.acquired? @@ -81,9 +82,16 @@ class FetchLinkCardService < BaseService uri.host.blank? || TagManager.instance.local_url?(uri.to_s) || !%w(http https).include?(uri.scheme) end + def mention_link?(a) + return false if @mentions.nil? + @mentions.any? do |mention| + a['href'] == TagManager.instance.url_for(mention.target) + end + end + def skip_link?(a) # Avoid links for hashtags and mentions (microformats) - a['rel']&.include?('tag') || a['class']&.include?('u-url') + a['rel']&.include?('tag') || a['class']&.include?('u-url') || mention_link?(a) end def attempt_oembed diff --git a/app/services/verify_link_service.rb b/app/services/verify_link_service.rb index 3453b54c5..9f56249c7 100644 --- a/app/services/verify_link_service.rb +++ b/app/services/verify_link_service.rb @@ -25,7 +25,7 @@ class VerifyLinkService < BaseService end def link_back_present? - return false if @body.empty? + return false if @body.blank? links = Nokogiri::HTML(@body).xpath('//a[contains(concat(" ", normalize-space(@rel), " "), " me ")]|//link[contains(concat(" ", normalize-space(@rel), " "), " me ")]') diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml index 66382db50..0e52702dc 100644 --- a/app/views/layouts/admin.html.haml +++ b/app/views/layouts/admin.html.haml @@ -14,4 +14,4 @@ = yield -= render template: 'layouts/application', locals: { body_classes: 'admin' } += render template: 'layouts/application' diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml index 6b61fa9c9..516851b04 100644 --- a/app/views/settings/profiles/show.html.haml +++ b/app/views/settings/profiles/show.html.haml @@ -6,8 +6,8 @@ .fields-row .fields-row__column.fields-group.fields-row__column-6 - = f.input :display_name, wrapper: :with_label, hint: t('simple_form.hints.defaults.display_name', count: 30 - @account.display_name.size).html_safe - = f.input :note, wrapper: :with_label, hint: t('simple_form.hints.defaults.note', count: 500 - @account.note.size).html_safe + = f.input :display_name, wrapper: :with_label, input_html: { maxlength: 30 }, hint: false + = f.input :note, wrapper: :with_label, input_html: { maxlength: 500 }, hint: false .fields-row .fields-row__column.fields-row__column-6 @@ -36,8 +36,8 @@ = f.simple_fields_for :fields do |fields_f| .row - = fields_f.input :name, placeholder: t('simple_form.labels.account.fields.name') - = fields_f.input :value, placeholder: t('simple_form.labels.account.fields.value') + = fields_f.input :name, placeholder: t('simple_form.labels.account.fields.name'), input_html: { maxlength: 255 } + = fields_f.input :value, placeholder: t('simple_form.labels.account.fields.value'), input_html: { maxlength: 255 } .fields-row__column.fields-group.fields-row__column-6 %h6= t('verification.verification') diff --git a/app/views/stream_entries/_simple_status.html.haml b/app/views/stream_entries/_simple_status.html.haml index cd0531ba2..e996d5052 100644 --- a/app/views/stream_entries/_simple_status.html.haml +++ b/app/views/stream_entries/_simple_status.html.haml @@ -15,6 +15,7 @@ %span.display-name %bdi %strong.display-name__html.p-name.emojify= display_name(status.account, custom_emojify: true, autoplay: autoplay) + %span.display-name__account = acct(status.account) = fa_icon('lock') if status.account.locked? diff --git a/app/workers/activitypub/processing_worker.rb b/app/workers/activitypub/processing_worker.rb index 0e2e0eddd..a8a3ebf0f 100644 --- a/app/workers/activitypub/processing_worker.rb +++ b/app/workers/activitypub/processing_worker.rb @@ -5,7 +5,7 @@ class ActivityPub::ProcessingWorker sidekiq_options backtrace: true - def perform(account_id, body) - ActivityPub::ProcessCollectionService.new.call(body, Account.find(account_id), override_timestamps: true) + def perform(account_id, body, delivered_to_account_id = nil) + ActivityPub::ProcessCollectionService.new.call(body, Account.find(account_id), override_timestamps: true, delivered_to_account_id: delivered_to_account_id) end end diff --git a/config/initializers/cors.rb b/config/initializers/cors.rb index 36e2694e3..7b5b47b5e 100644 --- a/config/initializers/cors.rb +++ b/config/initializers/cors.rb @@ -9,6 +9,10 @@ Rails.application.config.middleware.insert_before 0, Rack::Cors do allow do origins '*' + resource '/.well-known/*', + headers: :any, + methods: [:get], + credentials: false resource '/@:username', headers: :any, methods: [:get], diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 4499830f9..afbb32088 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -30,22 +30,16 @@ ar: other_instances: خوادم أخرى privacy_policy: سياسة الخصوصية source_code: الشفرة المصدرية - status_count_after: - one: منشور - other: منشورات + status_count_after: منشورات status_count_before: نشروا terms: شروط الخدمة - user_count_after: - one: مستخدِم - other: مستخدِمين + user_count_after: مستخدِمين user_count_before: يستضيف what_is_mastodon: ما هو ماستدون ؟ accounts: choices_html: 'توصيات %{name} :' follow: إتبع - followers: - one: مُتابِع - other: مُتابِعون + followers: مُتابِعون following: مُتابَع joined: انضم·ت في %{date} link_verified_on: تم التحقق مِن مالك هذا الرابط بتاريخ %{date} @@ -57,9 +51,7 @@ ar: people_who_follow: الأشخاص الذين يتبعون %{name} pin_errors: following: يجب أن تكون مِن متابعي حساب الشخص الذي تريد إبرازه - posts: - one: تبويق - other: تبويقات + posts: تبويقات posts_tab_heading: تبويقات posts_with_replies: التبويقات و الردود reserved_username: إسم المستخدم محجوز @@ -170,8 +162,8 @@ ar: web: الويب action_logs: actions: - assigned_to_self_report: قام {name} بتعيين التقرير٪ {target} لأنفسهم - change_email_user: غيّر٪ {name} عنوان البريد الإلكتروني للمستخدم٪ {target} + assigned_to_self_report: قام %{name} بتعيين التقرير %{target} لأنفسهم + change_email_user: غيّر %{name} عنوان البريد الإلكتروني للمستخدم %{target} confirm_user: "%{name} قد قام بتأكيد عنوان البريد الإلكتروني لـ %{target}" create_custom_emoji: "%{name} قام برفع إيموجي جديد %{target}" create_domain_block: "%{name} قام بحجب نطاق %{target}" @@ -187,13 +179,13 @@ ar: enable_user: لقد قام %{name} بتنشيط تسجيل الدخول للمستخدِم %{target} memorialize_account: لقد قام %{name} بتحويل حساب %{target} إلى صفحة تذكارية promote_user: "%{name} قام بترقية المستخدم %{target}" - remove_avatar_user: تمت إزالة٪ {name} الصورة الرمزية٪ {target} - reopen_report: تمت إعادة فتح التقرير {name}٪ {target} + remove_avatar_user: تمت إزالة %{name} الصورة الرمزية %{target} + reopen_report: تمت إعادة فتح التقرير %{name} %{target} reset_password_user: "%{name} لقد قام بإعادة تعيين الكلمة السرية الخاصة بـ %{target}" resolve_report: قام %{name} بحل التقرير %{target} silence_account: لقد قام %{name} بكتم حساب %{target} suspend_account: لقد قام %{name} بتعليق حساب %{target} - unassigned_report: "٪ {name} تقرير غير معتمد٪ {target}" + unassigned_report: "%{name} تقرير غير معتمد %{target}" unsilence_account: لقد قام %{name} بإلغاء الكتم عن حساب %{target} unsuspend_account: لقد قام %{name} بإلغاء التعليق المفروض على حساب %{target} update_custom_emoji: "%{name} قام بتحديث الإيموجي %{target}" @@ -268,9 +260,7 @@ ar: suspend: تعليق severity: الشدة show: - affected_accounts: - one: حساب واحد معني في قاعدة البيانات - other: "%{count} حسابات معنية في قاعدة البيانات" + affected_accounts: "%{count} حسابات معنية في قاعدة البيانات" retroactive: silence: إلغاء الكتم عن كافة الحسابات المتواجدة على هذا النطاق suspend: إلغاء التعليق المفروض على كافة حسابات هذا النطاق @@ -441,7 +431,7 @@ ar: admin_mailer: new_report: body: قام %{reporter} بالإبلاغ عن %{target} - body_remote: أبلغ شخص ما من٪ {domain} عن٪ {target} + body_remote: أبلغ شخص ما من %{domain} عن %{target} subject: تقرير جديد ل%{instance} (#%{id}) application_mailer: notification_preferences: تعديل خيارات البريد الإلكتروني @@ -570,9 +560,7 @@ ar: generic: changes_saved_msg: تم حفظ التعديلات بنجاح ! save_changes: حفظ التغييرات - validation_errors: - one: هناك شيء ما لا يبدو أنه على ما يُرام بعدُ. يُرجى الإطلاع على الخطأ أدناه - other: هناك شيء ليس على ما يُرام! يُرجى معاينة الأخطاء الـ %{count} التالية + validation_errors: هناك شيء ليس على ما يُرام! يُرجى معاينة الأخطاء الـ %{count} التالية imports: preface: بإمكانك استيراد بيانات قد قُمتَ بتصديرها مِن مثيل خادوم آخَر، كقوائم المستخدِمين الذين كنتَ تتابِعهم أو قُمتَ بحظرهم. success: تم تحميل بياناتك بنجاح وسيتم معالجتها في الوقت المناسب @@ -595,9 +583,7 @@ ar: expires_in_prompt: أبدا generate: توليد invited_by: 'تمت دعوتك من طرف :' - max_uses: - one: استعمال واحد - other: "%{count} استخدامات" + max_uses: "%{count} استخدامات" max_uses_prompt: بلا حدود prompt: توليد و مشاركة روابط للسماح للآخَرين بالنفاذ إلى مثيل الخادوم هذا table: @@ -623,12 +609,8 @@ ar: action: معاينة كافة الإشعارات body: هذا هو مُلَخَّص الرسائل التي فاتتك وذلك منذ آخر زيارة لك في %{since} mention: "%{name} أشار إليك في :" - new_followers_summary: - one: و لقد تحصّلت أيضا على متابِع جديد أثناء فترة غيابك! يا للروعة! - other: رائع، لقد قام بمتابعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون ! - subject: - one: "إشعار جديد واحد منذ آخر زيارة لك لـ \U0001F418" - other: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" + new_followers_summary: رائع، لقد قام بمتابعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون ! + subject: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" title: أثناء فترة غيابك … favourite: body: 'أُعجب %{name} بمنشورك :' @@ -746,17 +728,11 @@ ar: statuses: attached: description: 'مُرفَق : %{attached}' - image: - one: "%{count} صورة" - other: "%{count} صُوَر" - video: - one: "%{count} فيديو" - other: "%{count} فيديوهات" + image: "%{count} صُوَر" + video: "%{count} فيديوهات" boosted_from_html: تم إعادة ترقيته مِن %{acct_link} content_warning: 'تحذير عن المحتوى : %{warning}' - disallowed_hashtags: - one: 'يحتوي على وسم ممنوع: %{tags}' - other: 'يحتوي على أحد الوسوم الممنوعة: %{tags}' + disallowed_hashtags: 'يحتوي على أحد الوسوم الممنوعة: %{tags}' language_detection: اكتشاف اللغة تلقائيا open_in_web: إفتح في الويب over_character_limit: تم تجاوز حد الـ %{max} حرف المسموح بها diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 8c11ac7b7..9813aea6f 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -61,9 +61,7 @@ bg: generic: changes_saved_msg: Успешно запазване на промените! save_changes: Запази промените - validation_errors: - one: Нещо все още не е наред! Моля, прегледай грешката по-долу - other: Нещо все още не е наред! Моля, прегледай грешките по-долу + validation_errors: Нещо все още не е наред! Моля, прегледай грешките по-долу imports: preface: Можеш да импортираш някои данни, като например всички хора, които следваш или блокираш в акаунта си на тази инстанция, от файлове, създадени чрез експорт в друга инстанция. success: Твоите данни бяха успешно качени и ще бъдат обработени впоследствие. @@ -77,7 +75,7 @@ bg: too_many: Не мога да прикача повече от 4 файла notification_mailer: digest: - body: 'Ето кратко резюме на нещата, които се случиха от последното ти посещение в %{instance} на %{since}:' + body: 'Ето кратко резюме на нещата, които се случиха от последното ти посещение на %{since}:' mention: "%{name} те спомена в:" new_followers_summary: one: Имаш един нов последовател! Ура! diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 42f657fd5..fdf271c9f 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -617,7 +617,7 @@ ca: notification_mailer: digest: action: Veure totes les notificacions - body: Un resum del que et vas perdre en %{instance} desde la darrera visita el %{since} + body: Un resum del que et vas perdre desde la darrera visita el %{since} mention: "%{name} t'ha mencionat en:" new_followers_summary: one: A més, has adquirit un nou seguidor durant la teva absència! Visca! diff --git a/config/locales/devise.ar.yml b/config/locales/devise.ar.yml index cadc4daa8..4d80176c6 100644 --- a/config/locales/devise.ar.yml +++ b/config/locales/devise.ar.yml @@ -77,6 +77,4 @@ ar: expired: إنتهت مدة صلاحيته، الرجاء طلب واحد جديد not_found: لا يوجد not_locked: ليس مقفلاً - not_saved: - one: 'خطأ واحد منَعَ %{resource} مِن القيام بالإحتفاظ :' - other: "%{count} أخطاء منعت %{resource} مِن القيام بالإحتفاظ :" + not_saved: "%{count} أخطاء منعت %{resource} مِن القيام بالإحتفاظ :" diff --git a/config/locales/devise.bg.yml b/config/locales/devise.bg.yml index 8e1ba6eb4..3c04af81b 100644 --- a/config/locales/devise.bg.yml +++ b/config/locales/devise.bg.yml @@ -8,16 +8,16 @@ bg: failure: already_authenticated: Вече си вътре в профила си. inactive: Профилът ти все още не е активиран. - invalid: Невалиден имейл адрес или парола. + invalid: Невалиден %{authentication_keys}. last_attempt: Разполагаш с още един опит преди профилът ти да бъде заключен. locked: Профилът ти е заключен. - not_found_in_database: Невалидни стойности за %{authentication_keys} или парола. + not_found_in_database: Невалиден %{authentication_keys}. timeout: Сесията ти изтече, моля влез отново, за да продължиш. unauthenticated: Преди да продължиш, трябва да влезеш в профила си или да се регистрираш. unconfirmed: Преди да продължиш, трябва да потвърдиш регистрацията си. mailer: confirmation_instructions: - subject: 'Mastodon: Инструкции за потвърждаване' + subject: 'Mastodon: Инструкции за потвърждаване %{instance}' password_change: subject: 'Mastodon: Паролата е променена' reset_password_instructions: diff --git a/config/locales/devise.ca.yml b/config/locales/devise.ca.yml index 808a5dd0a..4c17f3378 100644 --- a/config/locales/devise.ca.yml +++ b/config/locales/devise.ca.yml @@ -20,7 +20,7 @@ ca: action: Verifica l'adreça de correu explanation: Has creat un compte a %{host} amb aquesta adreça de correu electrònic. Estàs a un sol clic de l'activació. Si no fos així, ignora aquest correu electrònic. extra_html: Si us plau consulta també <a href="%{terms_path}"> les regles de la instància</a> i <a href="%{policy_path}"> les nostres condicions de servei</a>. - subject: 'Mastodon: Instruccions de confirmació' + subject: 'Mastodon: Instruccions de confirmació %{instance}' title: Verifica l'adreça de correu email_changed: explanation: 'L''adreça de correu del teu compte s''està canviant a:' diff --git a/config/locales/devise.fr.yml b/config/locales/devise.fr.yml index e9c98a63f..b6c9e5bd8 100644 --- a/config/locales/devise.fr.yml +++ b/config/locales/devise.fr.yml @@ -8,10 +8,10 @@ fr: failure: already_authenticated: Vous êtes déjà connecté⋅e. inactive: Votre compte n’est pas encore activé. - invalid: Courriel ou mot de passe incorrect. + invalid: "%{authentication_keys} incorrect." last_attempt: Vous avez droit à une tentative avant que votre compte ne soit verrouillé. locked: Votre compte est verrouillé. - not_found_in_database: Courriel ou mot de passe invalide. + not_found_in_database: "%{authentication_keys} invalide." timeout: Votre session a expiré. Veuillez vous reconnecter pour continuer. unauthenticated: Vous devez vous connecter ou vous inscrire pour continuer. unconfirmed: Vous devez valider votre compte pour continuer. diff --git a/config/locales/devise.he.yml b/config/locales/devise.he.yml index 4a2811b1f..3d8f7fa59 100644 --- a/config/locales/devise.he.yml +++ b/config/locales/devise.he.yml @@ -17,7 +17,7 @@ he: unconfirmed: יש לאמת את כתובת הדוא"ל על מנת להמשיך. mailer: confirmation_instructions: - subject: 'מסטודון: הוראות אימות' + subject: 'מסטודון: הוראות אימות %{instance}' password_change: subject: 'מסטודון: הסיסמא שונתה' reset_password_instructions: diff --git a/config/locales/devise.hr.yml b/config/locales/devise.hr.yml index d578e404f..07c0079ab 100644 --- a/config/locales/devise.hr.yml +++ b/config/locales/devise.hr.yml @@ -16,7 +16,7 @@ hr: unconfirmed: Moraš potvrditi svoju email adresu prije no što nastaviš. mailer: confirmation_instructions: - subject: 'Mastodon: Upute za potvrđivanje' + subject: 'Mastodon: Upute za potvrđivanje %{instance}' email_changed: subject: 'Mastodon: Email adresa je promijenjena' title: Nova email adresa diff --git a/config/locales/devise.hu.yml b/config/locales/devise.hu.yml index 79ee3b194..67baca016 100644 --- a/config/locales/devise.hu.yml +++ b/config/locales/devise.hu.yml @@ -20,7 +20,7 @@ hu: action: Erősítsd meg az e-mail címedet explanation: Ezzel az e-mail címmel kezdeményeztek regisztrációt a(z) %{host} oldalon. Csak egy kattintás, és a felhasználói fiókdat aktiváljuk. Ha a regisztrációt nem te kezdeményezted, kérjük tekintsd ezt az e-mailt tárgytalannak. extra_html: Kérjük tekintsd át a <a href="%{terms_path}">az instancia szabályzatát</a> és <a href="%{policy_path}">a felhasználási feltételeket</a>. - subject: 'Mastodon: Megerősítési lépések' + subject: 'Mastodon: Megerősítési lépések %{instance}' title: E-mail cím megerősítése email_changed: explanation: 'A fiókodhoz tartozó e-mail címet az alábbira módosítod:' diff --git a/config/locales/devise.io.yml b/config/locales/devise.io.yml index 6ba3038bd..fce061a65 100644 --- a/config/locales/devise.io.yml +++ b/config/locales/devise.io.yml @@ -8,16 +8,16 @@ io: failure: already_authenticated: Tu ya esas enirinta. inactive: Tua konto ankore ne konfirmesas. - invalid: Nejusta retpost-adreso o pasvorto. + invalid: Nejusta %{authentication_keys}. last_attempt: Tu ankore povas probar unfoye ante ke tua konto esos extingita. locked: Tua konto esas extingita. - not_found_in_database: Nejusta retpost-adreso o pasvorto. + not_found_in_database: Nejusta %{authentication_keys}. timeout: Tua kunsido expiris. Voluntez rienirar por durar. unauthenticated: Tu devas enirar o membreskar por durar. unconfirmed: Tu devas konfirmar tua konto por durar. mailer: confirmation_instructions: - subject: Instrucioni por konfirmar + subject: Instrucioni por konfirmar %{instance} password_change: subject: Tua pasvorto chanjesis senprobleme. reset_password_instructions: diff --git a/config/locales/devise.ja.yml b/config/locales/devise.ja.yml index 1f6395479..9df0c7332 100644 --- a/config/locales/devise.ja.yml +++ b/config/locales/devise.ja.yml @@ -20,7 +20,7 @@ ja: action: メールアドレスの確認 explanation: このメールアドレスで%{host}にアカウントを作成しました。有効にするまであと一歩です。もし心当たりがない場合、申し訳ありませんがこのメールを無視してください。 extra_html: また <a href="%{terms_path}">インスタンスのルール</a> と <a href="%{policy_path}">利用規約</a> もお読みください。 - subject: 'Mastodon: メールアドレスの確認' + subject: 'Mastodon: メールアドレスの確認 %{instance}' title: メールアドレスの確認 email_changed: explanation: 'アカウントのメールアドレスは以下のように変更されます:' diff --git a/config/locales/devise.nl.yml b/config/locales/devise.nl.yml index b21798deb..637b1e731 100644 --- a/config/locales/devise.nl.yml +++ b/config/locales/devise.nl.yml @@ -8,11 +8,11 @@ nl: failure: already_authenticated: Je bent al ingelogd. inactive: Jouw account is nog niet geactiveerd. - invalid: Ongeldig e-mailadres of wachtwoord. + invalid: Ongeldig %{authentication_keys}. invalid_token: Ongeldige bevestigingscode. last_attempt: Je hebt nog één poging over voordat jouw account wordt opgeschort. locked: Jouw account is opgeschort. - not_found_in_database: Ongeldig e-mailadres of wachtwoord. + not_found_in_database: Ongeldig %{authentication_keys}. timeout: Jouw sessie is verlopen, log opnieuw in. unauthenticated: Je dient in te loggen of te registreren. unconfirmed: Je dient eerst jouw account te bevestigen. diff --git a/config/locales/devise.no.yml b/config/locales/devise.no.yml index ca16c6ba5..222a91aa3 100644 --- a/config/locales/devise.no.yml +++ b/config/locales/devise.no.yml @@ -20,7 +20,7 @@ action: Bekreft e-postadresse explanation: Du har laget en konto på %{host} med denne e-postadressen. Du er ett klikk unna å aktivere den. Hvis dette ikke var deg, vennligst se bort fra denne e-posten. extra_html: Vennligst også sjekk ut <a href="%{terms_path}">instansens regler </a> og <a href="%{policy_path}">våre bruksvilkår</a>. - subject: 'Mastodon: Instruksjoner for å bekrefte e-postadresse' + subject: 'Mastodon: Instruksjoner for å bekrefte e-postadresse %{instance}' title: Bekreft e-postadresse email_changed: explanation: 'E-postadressen til din konto endres til:' diff --git a/config/locales/devise.oc.yml b/config/locales/devise.oc.yml index 06617af34..beecbb426 100644 --- a/config/locales/devise.oc.yml +++ b/config/locales/devise.oc.yml @@ -8,10 +8,10 @@ oc: failure: already_authenticated: Sètz ja connectat. inactive: Vòstre compte es pas encara activat. - invalid: Corrièl o senhal invalid. + invalid: "%{authentication_keys} invalid." last_attempt: Vos demòra un ensag abans que vòstre compte siasque blocat. locked: Vòstre compte es blocat. - not_found_in_database: Corrièl o senhal invalid. + not_found_in_database: "%{authentication_keys} invalid." timeout: Vòstra session a expirat. Mercés de vos tornar connectar per contunhar. unauthenticated: Vos cal vos connectar o marcar abans de contunhar. unconfirmed: Vos cal confirmar vòstra adreça de corrièl abans de contunhar. diff --git a/config/locales/devise.pl.yml b/config/locales/devise.pl.yml index 49fcca024..77afc4bf5 100644 --- a/config/locales/devise.pl.yml +++ b/config/locales/devise.pl.yml @@ -20,7 +20,7 @@ pl: action: Zweryfikuj adres e-mail explanation: Utworzyłeś(-aś) konto na %{host} podając ten adres e-mail. Jedno kliknięcie dzieli Cię od aktywacji tego konta. Jeżeli to nie Ty, zignoruj ten e-mail. extra_html: Przeczytaj też <a href="%{terms_path}">regulamin instancji</a> i <a href="%{policy_path}">nasze zasady użytkowania</a>. - subject: 'Mastodon: Instrukcje weryfikacji adresu e-mail' + subject: 'Mastodon: Instrukcje weryfikacji adresu e-mail na %{instance}' title: Zweryfikuj adres e-mail email_changed: explanation: 'Adres e-mail dla Twojego konta zostanie zmieniony na:' @@ -35,7 +35,7 @@ pl: reconfirmation_instructions: explanation: Potwierdź nowy adres aby zmienić e-mail. extra: Jeżeli nie próbowałeś(-aś) zmienić e-maila, zignoruj tą wiadomość. Adres e-mail przypisany do konta Mastodona nie ulegnie zmianie, jeżeli nie użyjesz powyższego odnośniku. - subject: 'Mastodon: Potwierdź adres e-mail na &{instance}' + subject: 'Mastodon: Potwierdź adres e-mail na %{instance}' title: Zweryfikuj adres e-mail reset_password_instructions: action: Zmień hasło diff --git a/config/locales/devise.pt-BR.yml b/config/locales/devise.pt-BR.yml index 5f47bc901..051329c20 100644 --- a/config/locales/devise.pt-BR.yml +++ b/config/locales/devise.pt-BR.yml @@ -20,7 +20,7 @@ pt-BR: action: Verificar endereço de e-mail explanation: Você criou uma conta em %{host} com esse endereço de e-mail. Você está a um clique de ativá-la. Se não foi você, por favor ignore esse e-mail. extra_html: Por favor confira também <a href="%{terms_path}">as regras da instância</a> e <a href="%{policy_path}">nossos termos de serviço</a>. - subject: 'Mastodon: Instruções de confirmação' + subject: 'Mastodon: Instruções de confirmação para %{instance}' title: Verifique o endereço de e-mail email_changed: explanation: 'O e-mail associado à sua conta será mudado para:' diff --git a/config/locales/devise.uk.yml b/config/locales/devise.uk.yml index 70ac6e4b2..149fc6ce5 100644 --- a/config/locales/devise.uk.yml +++ b/config/locales/devise.uk.yml @@ -17,7 +17,7 @@ uk: unconfirmed: Для продовження Вам потрібно підтвердити Вашу поштову скриньку. mailer: confirmation_instructions: - subject: 'Mastodon: Інструкції для підтвердження' + subject: 'Mastodon: Інструкції для підтвердження %{instance}' password_change: subject: 'Mastodon: Ваш пароль змінений' reset_password_instructions: diff --git a/config/locales/devise.zh-HK.yml b/config/locales/devise.zh-HK.yml index 79e5a3d25..b7d88ef94 100644 --- a/config/locales/devise.zh-HK.yml +++ b/config/locales/devise.zh-HK.yml @@ -20,7 +20,7 @@ zh-HK: action: 驗證電子郵件地址 explanation: 你在 %{host} 上使用這個電子郵件地址建立了一個帳戶。只需點擊下面的連結,即可啟用帳戶。如果你並沒有建立過帳戶,請忽略此郵件。 extra_html: 請記得閱讀本服務站的<a href="%{terms_path}">相關規定</a>和<a href="%{policy_path}">使用條款</a>。 - subject: 'Mastodon: 確認電郵地址' + subject: 'Mastodon: 確認電郵地址 %{instance}' title: 驗證電子郵件地址 email_changed: explanation: 你的帳戶的電子郵件地址即將變更為: diff --git a/config/locales/devise.zh-TW.yml b/config/locales/devise.zh-TW.yml index 571429429..195f167a0 100644 --- a/config/locales/devise.zh-TW.yml +++ b/config/locales/devise.zh-TW.yml @@ -20,7 +20,7 @@ zh-TW: action: 驗證 E-mail 地址 explanation: 您已經在 %{host} 上以此 E-mail 地址建立了一個帳號。您距離啟用它只剩一次點擊之遙了。如果這不是你,請忽略此 E-mail 。 extra_html: 同時也請看看<a href="%{terms_path}">該站點的規則</a>與<a href="%{policy_path}">我們的服務條款</a>。 - subject: 'Mastodon: 信箱驗證' + subject: 'Mastodon: 信箱驗證 %{instance}' title: 驗證 E-mail 地址 email_changed: explanation: 您帳號的 E-mail 地址被變更為: diff --git a/config/locales/he.yml b/config/locales/he.yml index 09d57da3b..79b1ed822 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -297,7 +297,7 @@ he: too_many: לא ניתן להוסיף יותר מארבעה קבצים notification_mailer: digest: - body: 'להלן סיכום זריז של הדברים שקרו על %{instance} מאז ביקורך האחרון ב-%{since}:' + body: 'להלן סיכום זריז של הדברים שקרו על מאז ביקורך האחרון ב-%{since}:' mention: "%{name} פנה אליך ב:" new_followers_summary: one: נוסף לך עוקב! סחתיין! diff --git a/config/locales/hr.yml b/config/locales/hr.yml index a6e7649f2..851b3623b 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -74,7 +74,7 @@ hr: upload: Upload notification_mailer: digest: - body: 'Ovo je kratak sažetak propuštenog %{instance} od tvog prošlog posjeta %{since}:' + body: 'Ovo je kratak sažetak propuštenog od tvog prošlog posjeta %{since}:' mention: "%{name} te je spomenuo:" new_followers_summary: one: Imaš novog sljedbenika! Yay! diff --git a/config/locales/id.yml b/config/locales/id.yml index 3da3583f6..8595fad99 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -204,9 +204,7 @@ id: generic: changes_saved_msg: Perubahan berhasil disimpan! save_changes: Simpan perubahan - validation_errors: - one: Ada yang tidak beres! Mohon tinjau error dibawah ini - other: Ada yang tidak beres! Mohon tinjau error dibawah ini + validation_errors: Ada yang tidak beres! Mohon tinjau error dibawah ini imports: preface: Anda bisa mengimpor data tertentu seperti orang-orang yang anda ikuti atau anda blokir di server ini, dari file yang dibuat oleh fitur expor di server lain. success: Data anda berhasil diupload dan akan diproses sesegera mungkin @@ -221,7 +219,7 @@ id: too_many: Tidak dapat melampirkan lebih dari 4 file notification_mailer: digest: - body: 'Ini adalah ringkasan singkat yang anda lewatkan pada %{instance} sejak kunjungan terakhir anda pada %{since}:' + body: 'Ini adalah ringkasan singkat yang anda lewatkan pada sejak kunjungan terakhir anda pada %{since}:' mention: "%{name} menyebut anda di:" new_followers_summary: one: Anda mendapatkan satu pengikut baru! Hore! diff --git a/config/locales/io.yml b/config/locales/io.yml index b739df3af..d07997663 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -201,7 +201,7 @@ io: too_many: Cannot attach more than 4 files notification_mailer: digest: - body: 'Yen mikra rezumo di to, quo eventis en %{instance}, depos ke tu laste vizitis en %{since}:' + body: 'Yen mikra rezumo di to, depos ke tu laste vizitis en %{since}:' mention: "%{name} mencionis tu en:" new_followers_summary: one: Tu obtenis nova sequanto! Yey! diff --git a/config/locales/pl.yml b/config/locales/pl.yml index c75f3ebc8..b8ba96ba8 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -136,7 +136,7 @@ pl: most_recent: Najnowsze title: Kolejność outbox_url: Adres skrzynki nadawczej - perform_full_suspension: Całkowicie zawieś + perform_full_suspension: Zawieś profile_url: Adres profilu promote: Podnieś uprawnienia protocol: Protokół @@ -185,6 +185,7 @@ pl: create_domain_block: "%{name} zablokował(a) domenę %{target}" create_email_domain_block: "%{name} dodał(a) domenę e-mail %{target} na czarną listę" demote_user: "%{name} zdegradował(a) użytkownika %{target}" + destroy_custom_emoji: "%{name} usunął(-ęła) emoji %{target}" destroy_domain_block: "%{name} odblokował(a) domenę %{target}" destroy_email_domain_block: "%{name} usunął(-ęła) domenę e-mail %{target} z czarnej listy" destroy_status: "%{name} usunął(-ęła) wpis użytkownika %{target}" @@ -270,6 +271,8 @@ pl: title: Nowa blokada domen reject_media: Odrzucaj pliki multimedialne reject_media_hint: Usuwa przechowywane lokalnie pliki multimedialne i nie pozwala na ich pobieranie. Nieprzydatne przy zawieszeniu + reject_reports: Odrzucaj zgłoszenia + reject_reports_hint: Zgłoszenia z tej instancji będą ignorowane. Nieprzydatne przy zawieszeniu severities: noop: Nic nie rób silence: Wycisz @@ -375,6 +378,9 @@ pl: hero: desc_html: Wyświetlany na stronie głównej. Zalecany jest rozmiar przynajmniej 600x100 pikseli. Jeżeli nie ustawiony, zostanie użyta miniatura instancji. title: Obraz bohatera + mascot: + desc_html: Wyświetlany na wielu stronach. Zalecany jest rozmiar przynajmniej 293px × 205px. Jeżeli nie ustawiono, zostanie użyta domyślna. + title: Obraz maskotki peers_api_enabled: desc_html: Nazwy domen, z którymi ta instancja wchodziła w interakcje title: Publikuj listę znanych instancji diff --git a/config/locales/pt.yml b/config/locales/pt.yml index 5f532ea37..b68ffbd7f 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -150,7 +150,7 @@ pt: enable_user: "%{name} ativou o acesso para o utilizador %{target}" memorialize_account: "%{name} transformou a conta de %{target} em um memorial" promote_user: "%{name} promoveu o utilizador %{target}" - reset_password_user: "%{name} restabeleceu a palavra-passe do utilizador %{target" + reset_password_user: "%{name} restabeleceu a palavra-passe do utilizador %{target}" resolve_report: "%{name} recusou o relatório %{target}" silence_account: "%{name} silenciou a conta de %{target}" suspend_account: "%{name} suspendeu a conta de %{target}" diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml index dcdc1ffc1..cdd3ddf25 100644 --- a/config/locales/simple_form.ar.yml +++ b/config/locales/simple_form.ar.yml @@ -8,7 +8,6 @@ ar: bot: يُعلِم أنّ هذا الحساب لا يمثل شخصًا context: واحد أو أكثر من السياقات التي يجب أن ينطبق عليها عامل التصفية digest: تُرسَل إليك بعد مُضيّ مدة مِن خمول نشاطك و فقط إذا ما تلقيت رسائل شخصية مباشِرة أثناء فترة غيابك مِن الشبكة - display_name: <span class="name-counter">%{count}</span> حرف باق email: سوف تتلقى رسالة إلكترونية للتأكيد fields: يُمكنك عرض 4 عناصر على شكل جدول في ملفك الشخصي header: ملف PNG أو GIF أو JPG. حجمه على أقصى تصدير %{size}. سيتم تصغيره إلى %{dimensions}px @@ -16,7 +15,6 @@ ar: irreversible: التبويقات التي تم تصفيتها ستختفي لا محالة حتى و إن تمت إزالة عامِل التصفية لاحقًا locale: لغة واجهة المستخدم و الرسائل الإلكترونية و الإشعارات locked: يتطلب منك الموافقة يدويا على طلبات المتابعة - note: <span class="note-counter">%{count}</span> حرف باق password: يُنصح باستخدام 8 أحرف على الأقل phrase: سوف يتم العثور عليه مهما كان نوع النص أو حتى و إن كان داخل الويب فيه تحذير عن المحتوى scopes: ما هي المجالات المسموح بها في التطبيق ؟ إن قمت باختيار أعلى المجالات فيمكنك الإستغناء عن الخَيار اليدوي. diff --git a/config/locales/simple_form.ast.yml b/config/locales/simple_form.ast.yml index a6b3e0733..0d78f419f 100644 --- a/config/locales/simple_form.ast.yml +++ b/config/locales/simple_form.ast.yml @@ -6,13 +6,7 @@ ast: autofollow: La xente que se rexistre pente la invitación va siguite automáticamente bot: Esta cuenta fai principalmente aiciones automatizaes y podría nun supervisase digest: Namái s'unvia tres un periodu llargu d'inactividá y namái si recibiesti cualesquier mensaxe personal na to ausencia - display_name: - one: Queda <span class="name-counter">1</span> caráuter - other: Queden <span class="name-counter">%{count}</span> caráuteres irreversible: Los toots peñeraos van desapaecer de mou irreversible, magar que se desanicie la peñera dempués - note: - one: Queda <span class="note-counter">1</span> caráuter - other: Queden <span class="note-counter">%{count}</span> caráuteres setting_hide_network: La xente que sigas y teas siguiendo nun va amosase nel perfil setting_theme: Afeuta al aspeutu de Mastodon cuando anicies sesión dende cualesquier preséu. labels: diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml index 938dacc95..9441e53b3 100644 --- a/config/locales/simple_form.bg.yml +++ b/config/locales/simple_form.bg.yml @@ -4,10 +4,8 @@ bg: hints: defaults: avatar: PNG, GIF или JPG. До %{size}. Ще бъде смалена до %{dimensions} пиксела - display_name: До 30 символа header: PNG, GIF или JPG. До %{size}. Ще бъде смалена до %{dimensions} пиксела locked: Изисква ръчно одобрение на последователите. По подразбиране, публикациите са достъпни само до последователи. - note: До 160 символа imports: data: CSV файл, експортиран от друга инстанция на Mastodon labels: diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index 53cf6db8e..6c8455a14 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -8,17 +8,11 @@ ca: bot: Aquest compte realitza principalment accions automatitzades i pot no estar controlat per cap persona context: Un o diversos contextos on s'ha d'aplicar el filtre digest: Només s'envia després d'un llarg període d'inactivitat amb un resum de les mencions que has rebut en la teva absència - display_name: - one: <span class="name-counter">1</span> càracter restant - other: <span class="name-counter">%{count}</span> càracters restans fields: Pots tenir fins a 4 elements que es mostren com a taula al teu perfil header: PNG, GIF o JPG. Màxim %{size}. S'escalarà a %{dimensions}px irreversible: Els nodes filtrats desapareixeran de manera irreversible, fins i tot si el filtre es retira més tard locale: El llenguatge de l’interfície d’usuari, els correus i les notificacions push locked: Requereix que aprovis manualment els seguidors - note: - one: <span class="note-counter">1</span> càracter restant - other: <span class="note-counter">%{count}</span> caràcters restants phrase: Es combinarà independentment del format en el text o l'avís de contingut d'un toot setting_default_language: La llengua dels teus toots pot ser detectada automàticament però no sempre acuradament setting_hide_network: Qui tu segueixes i els que et segueixen a tu no es mostraran en el teu perfil diff --git a/config/locales/simple_form.co.yml b/config/locales/simple_form.co.yml index c4a6bd169..b200dfb48 100644 --- a/config/locales/simple_form.co.yml +++ b/config/locales/simple_form.co.yml @@ -4,23 +4,17 @@ co: hints: defaults: autofollow: Quelli·e chì s'arregistranu cù l'invitazione saranu autumaticamente abbunati·e à voi - avatar: Furmatu PNG, GIF o JPG. 2Mo o menu. Sarà ridottu à %{dimensions}px + avatar: Furmatu PNG, GIF o JPG. %{size} o menu. Sarà ridottu à %{dimensions}px 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 - display_name: - one: Ci ferma <span class="name-counter">1</span> caratteru - other: Ci fermanu <span class="name-counter">%{count}</span> caratteri 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. 2Mo o menu. Sarà ridottu à %{dimensions}px + header: Furmatu PNG, GIF o JPG. %{size} o menu. Sarà ridottu à %{dimensions}px inbox_url: Cupiate l'URL di a pagina d'accolta di u ripetitore chì vulete utilizà irreversible: I statuti filtrati saranu sguassati di manera irreversibile, ancu s'ellu hè toltu u filtru locale: A lingua di l'interfaccia utilizatore, di l'e-mail è di e nutificazione push locked: Duvarete appruvà e dumande d’abbunamentu - note: - one: Ci ferma <span class="name-counter">1</span> caratteru - other: Ci fermanu <span class="name-counter">%{count}</span> caratteri 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. diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index ed50e13ff..c2fd93ee1 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -8,9 +8,6 @@ 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 - display_name: - one: Zbývá <span class="name-counter">1</span> znak - other: Zbývá vám <span class="name-counter">%{count}</span> znaků 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šena na %{dimensions} px @@ -18,9 +15,6 @@ cs: irreversible: Filtrované tooty nenávratně zmizí, i pokud bude filtr později odstraněn locale: Jazyk uživatelského rozhraní, e-mailů a oznámení push locked: Vyžaduje manuální schvalování sledovatelů - note: - one: Zbývá <span class="note-counter">1</span>znak - other: Zbývá <span class="note-counter">%{count}</span> znaků 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. diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml index 5a301f775..5653001b8 100644 --- a/config/locales/simple_form.cy.yml +++ b/config/locales/simple_form.cy.yml @@ -8,18 +8,12 @@ cy: bot: Mae'r cyfrif hwn yn perfformio gweithredoedd awtomataidd yn bennaf ac mae'n bosib nad yw'n cael ei fonitro context: Un neu fwy cyd-destun lle dylai'r hidlydd weithio digest: Dim ond yn cael eu hanfon ar ôl cyfnod hir o anweithgarwch ac ond os ydych wedi derbyn unrhyw negeseuon personol yn eich absenoldeb - display_name: - one: <span class="name-counter">1</span> nodyn ar ôl - other: <span class="name-counter">%{count}</span> nodyn ar ôl fields: Mae modd i chi arddangos hyd at 4 eitem fel tabl ar eich proffil header: PNG, GIF neu JPG. %{size} ar y mwyaf. Ceith ei israddio i %{dimensions}px inbox_url: Copïwch yr URL o dudalen flaen y relái yr ydych am ei ddefnyddio irreversible: Bydd tŵtiau wedi eu hidlo yn diflannu am byth, hyd yn oed os ceith yr hidlydd ei ddileu'n hwyrach locale: Iaith y rhyngwyneb, e-byst a hysbysiadau push locked: Ei wneud yn ofynnol arnoch chi i ganiatau dilynwyr a llaw - note: - one: <span class="note-counter">1</span> cymeriad ar ôl - other: <span class="note-counter">%{count}</span> o gymeriadau ar ôl scopes: Pa APIau y bydd gan y rhaglen ganiatad i gael mynediad iddynt. Os dewiswch maes lefel uchaf, yna nid oes angen dewis rhai unigol. setting_default_language: Mae modd adnabod iaith eich tŵtiau yn awtomatig, ond nid yw bob tro'n gywir setting_hide_network: Ni fydd pwy yr ydych yn ei ddilyn a phwy sy'n eich dilyn chi yn cael ei ddangos ar eich proffil diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml index 7550122fc..64cdab07c 100644 --- a/config/locales/simple_form.da.yml +++ b/config/locales/simple_form.da.yml @@ -8,18 +8,12 @@ da: bot: Denne konto udfører hovedsageligt automatiserede handlinger og bliver muligvis ikke overvåget context: En eller flere sammenhænge hvor filteret skal være gældende digest: Sendes kun efter en lang periode med inaktivitet og kun hvis du har modtaget nogle personlige beskeder mens du er væk - display_name: - one: <span class="name-counter">1</span> tegn tilbage - other: <span class="name-counter">%{count}</span>tegn tilbage fields: Du kan have op til 4 ting vist som en tabel på din profil header: PNG, GIF eller JPG. Højest %{size}. Vil blive skaleret ned til %{dimensions}px inbox_url: Kopiere linket fra forsiden af den relay som du ønsker at bruge irreversible: Filtrerede trut vil forsvinde fulstændigt, selv hvis filteret senere skulle blive fjernet locale: Sproget på interfacet, emails og push beskeder locked: Kræver, at du godkender følgere manuelt - note: - one: <span class="note-counter">1</span> tegn tilbage - other: <span class="note-counter">%{count}</span> tegn tilbage 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 diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml index cca9361e4..9c2defd9e 100644 --- a/config/locales/simple_form.de.yml +++ b/config/locales/simple_form.de.yml @@ -4,23 +4,17 @@ de: hints: defaults: autofollow: Leute die sich über deine Einladung registrieren werden dir automatisch folgen - avatar: PNG, GIF oder JPG. Maximal %{size}. Wird auf 400×400 px herunterskaliert + avatar: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert bot: Dieses Konto führt lediglich automatisierte Aktionen durch und wird möglicherweise nicht überwacht context: Ein oder mehrere Aspekte, wo der Filter greifen soll digest: Wenn du lange Zeit inaktiv bist, wird dir eine Zusammenfassung von Erwähnungen in deiner Abwesenheit zugeschickt - display_name: - one: <span class="name-counter">1</span> Zeichen verbleibt - other: <span class="name-counter">%{count}</span> Zeichen verbleiben email: Du wirst ein Bestätigungs-E-Mail erhalten fields: Du kannst bis zu 4 Elemente als Tabelle dargestellt auf deinem Profil anzeigen lassen - header: PNG, GIF oder JPG. Maximal %{size}. Wird auf 700×335 px herunterskaliert + header: PNG, GIF oder JPG. Maximal %{size}. Wird auf %{dimensions} px herunterskaliert inbox_url: Kopiere die URL von der Startseite des gewünschten Relays irreversible: Gefilterte Beiträge werden unwiderruflich gefiltert, selbst wenn der Filter später entfernt wurde locale: Die Sprache der Oberfläche, E-Mails und Push-Benachrichtigungen locked: Wer dir folgen möchte, muss um deine Erlaubnis bitten - note: - one: <span class="note-counter">1</span> Zeichen verbleibt - other: <span class="note-counter">%{count}</span> Zeichen verbleiben password: Verwende mindestens 8 Zeichen phrase: Wird unabhängig vom umgebenen Text oder Inhaltswarnung eines Beitrags verglichen scopes: Welche Schnittstellen der Applikation erlaubt sind. Wenn du einen Top-Level-Scope auswählst, dann musst du nicht jeden einzelnen darunter auswählen. diff --git a/config/locales/simple_form.el.yml b/config/locales/simple_form.el.yml index 823f25330..a13b44237 100644 --- a/config/locales/simple_form.el.yml +++ b/config/locales/simple_form.el.yml @@ -8,9 +8,6 @@ el: bot: Ο λογαριασμός αυτός εκτελεί κυρίως αυτοματοποιημένες ενέργειες και ίσως να μην παρακολουθείται context: Ένα ή περισσότερα πλαίσια στα οποία μπορεί να εφαρμόζεται αυτό το φίλτρο digest: Αποστέλλεται μόνο μετά από μακρά περίοδο αδράνειας και μόνο αν έχεις λάβει προσωπικά μηνύματα κατά την απουσία σου - display_name: - one: απομένει <span class="name-counter">1</span> χαρακτήρας - other: απομένουν <span class="name-counter">%{count}</span> χαρακτήρες email: Θα σου σταλεί email επιβεβαίωσης fields: Μπορείς να έχεις έως 4 σημειώσεις σε μορφή πίνακα στο προφίλ σου header: PNG, GIF ή JPG. Έως %{size}. Θα περιοριστεί σε διάσταση %{dimensions}px @@ -18,9 +15,6 @@ el: irreversible: Τα φιλτραρισμένα τουτ θα εξαφανιστούν αμετάκλητα, ακόμα και αν το φίλτρο αργότερα αφαιρεθεί locale: Η γλώσσα του περιβάλλοντος χρήσης, των email και των ειδοποιήσεων ώθησης locked: Απαιτεί να εγκρίνεις χειροκίνητα τους ακόλουθούς σου - note: - one: απομένει <span class="note-counter">1</span> χαρακτήρας - other: απομένουν <span class="note-counter">%{count}</span> χαρακτήρες password: Χρησιμοποίησε τουλάχιστον 8 χαρακτήρες phrase: Θα ταιριάζει ανεξαρτήτως πεζών/κεφαλαίων ή προειδοποίησης περιεχομένου του τουτ scopes: Ποια API θα επιτρέπεται στην εφαρμογή να χρησιμοποιήσεις. Αν επιλέξεις κάποιο υψηλό εύρος εφαρμογής, δε χρειάζεται να επιλέξεις και εξειδικευμένα. diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index b25ff26f4..e37952923 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -8,9 +8,6 @@ en: bot: This account mainly performs automated actions and might not be monitored context: One or multiple contexts where the filter should apply digest: Only sent after a long period of inactivity and only if you have received any personal messages in your absence - display_name: - one: <span class="name-counter">1</span> character left - other: <span class="name-counter">%{count}</span> characters left email: You will be sent a confirmation e-mail fields: You can have up to 4 items displayed as a table on your profile header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px @@ -18,9 +15,6 @@ en: irreversible: Filtered toots will disappear irreversibly, even if filter is later removed locale: The language of the user interface, e-mails and push notifications locked: Requires you to manually approve followers - note: - one: <span class="note-counter">1</span> character left - other: <span class="note-counter">%{count}</span> characters left password: Use at least 8 characters phrase: Will be matched regardless of casing in text or content warning of a toot scopes: Which APIs the application will be allowed to access. If you select a top-level scope, you don't need to select individual ones. diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml index 36f26035f..e8ddc075e 100644 --- a/config/locales/simple_form.eo.yml +++ b/config/locales/simple_form.eo.yml @@ -8,18 +8,12 @@ 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 - display_name: - one: <span class="name-counter">1</span> signo restas - other: <span class="name-counter">%{count}</span> signoj restas 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 - note: - one: <span class="note-counter">1</span> signo restas - other: <span class="note-counter">%{count}</span> signoj restas 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_hide_network: Tiuj, kiujn vi sekvas, kaj tiuj, kiuj sekvas vin ne estos videblaj en via profilo diff --git a/config/locales/simple_form.es.yml b/config/locales/simple_form.es.yml index 8c528144e..c0d72dc27 100644 --- a/config/locales/simple_form.es.yml +++ b/config/locales/simple_form.es.yml @@ -8,18 +8,12 @@ es: bot: Esta cuenta ejecuta principalmente acciones automatizadas y podría no ser monitorizada context: Uno o múltiples contextos en los que debe aplicarse el filtro digest: Solo enviado tras un largo periodo de inactividad y solo si has recibido mensajes personales durante tu ausencia - display_name: - one: <span class="name-counter">1</span> caracter restante - other: <span class="name-counter">%{count}</span> caracteres restantes fields: Puedes tener hasta 4 elementos mostrándose como una tabla en tu perfil header: PNG, GIF o JPG. Máximo %{size}. Será escalado a %{dimensions}px inbox_url: Copia la URL de la página principal del relés que quieres utilizar irreversible: Los toots filtrados desaparecerán irreversiblemente, incluso si este filtro es eliminado más adelante locale: El idioma de la interfaz de usuario, correos y notificaciones push locked: Requiere que manualmente apruebes seguidores y las publicaciones serán mostradas solamente a tus seguidores - note: - one: <span class="name-counter">1</span> carácter restante - other: <span class="name-counter">%{count}</span> caracteres restantes phrase: Se aplicará sin importar las mayúsculas o los avisos de contenido de un toot scopes: Qué APIs de la aplicación tendrán acceso. Si seleccionas el alcance de nivel mas alto, no necesitas seleccionar las individuales. setting_default_language: El idioma de tus toots podrá detectarse automáticamente, pero no siempre es preciso diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml index 7fa8319ae..a658038b8 100644 --- a/config/locales/simple_form.eu.yml +++ b/config/locales/simple_form.eu.yml @@ -8,18 +8,12 @@ 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 - display_name: - one: Karaktere <span class="name-counter">1</span> geratzen da - other: <span class="name-counter">%{count}</span> karaktere geratzen dira fields: 4 elementu bistaratu ditzakezu taula batean zure profilean header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da inbox_url: Kopiatu erabili nahi duzun errelearen hasiera orriaren URLa irreversible: Iragazitako toot-ak betirako galduko dira, geroago iragazkia kentzen baduzu ere locale: Erabiltzaile-interfazea, e-mail mezuen eta jakinarazpenen hizkuntza locked: Jarraitzaileak eskuz onartu behar dituzu - note: - one: Karaktere<span class="note-counter">1</span> geratzen da - other: <span class="note-counter"> %{count}</span> karaktere geratzen dira 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_default_language: Zure toot-en hizkuntza automatikoki antzeman daiteke, baina ez da beti zehatza diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index 3e2398d55..198fb7067 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -8,9 +8,6 @@ fa: bot: این حساب بیشتر به طور خودکار فعالیت میکند و نظارت پیوستهای روی آن وجود ندارد context: یک یا چند زمینه که فیلتر باید در آنها اعمال شود digest: تنها وقتی فرستاده میشود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصیای نوشته شده باشد - display_name: - one: <span class="name-counter">1</span> حرف باقی مانده - other: <span class="name-counter">%{count}</span> حرف باقی مانده email: به شما ایمیل تأییدی فرستاده خواهد شد fields: شما میتوانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید header: یکی از قالبهای PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -18,9 +15,6 @@ fa: irreversible: بوقهای فیلترشده به طور برگشتناپذیری ناپدید میشوند، حتی اگر فیلتر را بعداً بردارید locale: زبان محیط کاربری، ایمیلها، و اعلانها locked: باید پیگیران تازه را خودتان تأیید کنید - note: - one: <span class="note-counter">1</span> حرف باقی مانده - other: <span class="note-counter">%{count}</span> حرف باقی مانده password: دستکم باید ۸ نویسه داشته باشد phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای بوقها مقایسه میشود scopes: واسطهای برنامهنویسی که این برنامه به آن دسترسی دارد. اگر بالاترین سطح دسترسی را انتخاب کنید، دیگر نیازی به انتخاب سطحهای پایینی ندارید. diff --git a/config/locales/simple_form.fi.yml b/config/locales/simple_form.fi.yml index e90bd2e0b..b0f958f2f 100644 --- a/config/locales/simple_form.fi.yml +++ b/config/locales/simple_form.fi.yml @@ -3,17 +3,11 @@ fi: simple_form: hints: defaults: - avatar: PNG, GIF tai JPG. Enintään 2 Mt. Skaalataan kokoon 400 x 400 px + avatar: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px digest: Lähetetään vain pitkän poissaolon jälkeen ja vain, jos olet saanut suoria viestejä poissaolosi aikana - display_name: - one: <span class="name-counter">1</span> merkki jäljellä - other: <span class="name-counter">%{count}</span> merkkiä jäljellä fields: Sinulla voi olla korkeintaan 4 asiaa profiilissasi taulukossa - header: PNG, GIF tai JPG. Enintään 2 Mt. Skaalataan kokoon 700 x 335 px + header: PNG, GIF tai JPG. Enintään %{size}. Skaalataan kokoon %{dimensions} px locked: Sinun täytyy hyväksyä seuraajat manuaalisesti - note: - one: <span class="note-counter">1</span> merkki jäljellä - other: <span class="note-counter">%{count}</span> merkkiä jäljellä setting_noindex: Vaikuttaa julkiseen profiiliisi ja tilasivuihisi setting_theme: Vaikuttaa Mastodonin ulkoasuun millä tahansa laitteella kirjauduttaessa. imports: diff --git a/config/locales/simple_form.fr.yml b/config/locales/simple_form.fr.yml index 6403bced3..c4d664877 100644 --- a/config/locales/simple_form.fr.yml +++ b/config/locales/simple_form.fr.yml @@ -4,23 +4,17 @@ fr: hints: defaults: autofollow: Les personnes qui s’inscrivent grâce à l’invitation vous suivront automatiquement - avatar: Au format PNG, GIF ou JPG. 2 Mo maximum. Sera réduit à %{dimensions}px + avatar: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px 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 - display_name: - one: <span class="name-counter">1</span> caractère restant - other: <span class="name-counter">%{count}</span> caractères restants 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. 2 Mo maximum. Sera réduit à %{dimensions}px + header: Au format PNG, GIF ou JPG. %{size} maximum. Sera réduit à %{dimensions}px inbox_url: Copiez l’URL depuis la page d’accueil du relais que vous souhaitez utiliser irreversible: Les pouets filtrés disparaîtront irrémédiablement, même si le filtre est supprimé plus tard locale: La langue de l’interface, des courriels et des notifications locked: Vous devrez approuver chaque abonné⋅e et vos statuts ne s’afficheront qu’à vos abonné⋅es - note: - one: <span class="note-counter">1</span> caractère restant - other: <span class="note-counter">%{count}</span> caractères restants 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. diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index f81d34610..04a0fffa3 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -8,9 +8,6 @@ gl: 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 - display_name: - one: <span class="name-counter">1</span> caracter restante - other: <span class="name-counter">%{count}</span> caracteres restantes 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,9 +15,6 @@ gl: irreversible: Os toots filtrados desaparecerán de xeito irreversible, incluso si despois se elimina o filtro locale: O idioma da interface de usuaria, correos e notificacións locked: Require que vostede acepte as seguidoras de xeito manual - note: - one: <span class="note-counter">1</span> caracter restante - other: <span class="note-counter">%{count}</span> caracteres restantes 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. diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml index aa5c7e827..c86498c66 100644 --- a/config/locales/simple_form.he.yml +++ b/config/locales/simple_form.he.yml @@ -5,14 +5,8 @@ he: defaults: avatar: PNG, GIF או JPG. מקסימום %{size}. גודל התמונה יוקטן ל-%{dimensions}px digest: נשלח לאחר תקופה ארוכה של אי-פעילות עם סיכום איזכורים שקיבלת בהעדרך - display_name: - one: נותרה אות<span class="name-counter">אחת</span> - other: נותרו<span class="name-counter">%{count}</span> אותיות header: PNG, GIF או JPG. מקסימום %{size}. גודל התמונה יוקטן %{dimensions}px locked: מחייב אישור עוקבים באופן ידני. פרטיות ההודעות תהיה עוקבים-בלבד אלא אם יצוין אחרת - note: - one: נותרה אות<span class="note-counter">אחת</span> - other: נותרו <span class="note-counter">%{count}</span> אותיות setting_noindex: משפיע על הפרופיל הציבורי שלך ועמודי ההודעות setting_theme: משפיע על המראה של מסטודון בעת החיבור המזוהה מכל מכשיר שהוא. imports: diff --git a/config/locales/simple_form.hr.yml b/config/locales/simple_form.hr.yml index 2b3ebf91e..4b1d2b1e0 100644 --- a/config/locales/simple_form.hr.yml +++ b/config/locales/simple_form.hr.yml @@ -4,10 +4,8 @@ hr: hints: defaults: avatar: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjen na %{dimensions}px - display_name: Najviše 30 znakova header: PNG, GIF ili JPG. Najviše %{size}. Bit će smanjen na %{dimensions}px locked: traži te da ručno odobriš sljedbenike i postavlja privatnost postova na dostupnu samo sljedbenicima - note: Najviše 160 znakova imports: data: CSV fajl izvezen iz druge Mastodon instance labels: diff --git a/config/locales/simple_form.hu.yml b/config/locales/simple_form.hu.yml index ef915dec5..f36fabda1 100644 --- a/config/locales/simple_form.hu.yml +++ b/config/locales/simple_form.hu.yml @@ -5,14 +5,8 @@ hu: defaults: avatar: PNG, GIF vagy JPG. Maximum %{size}. Át lesz méretezve %{dimensions} pixelre digest: Csak hosszú távollét esetén küldve és csak ha személyes üzenetet kaptál távollétedben - display_name: - one: <span class="name-counter">1</span>karakter maradt - other: <span class="name-counter">%{count}</span>karakter maradt header: PNG, GIF vagy JPG. Maximum %{size}. Át lesz méretezve %{dimensions} pixelre locked: Egyenként engedélyezned kell a követőidet - note: - one: <span class="note-counter">1</span>karakter maradt - other: <span class="note-counter">%{count}</span>karakter maradt setting_noindex: A publikus profilodra és státusz oldalra vonatkozik setting_theme: A bármely eszközről bejelentkezett felület kinézetére vonatkozik. imports: diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml index fcd9d862c..c6da2beff 100644 --- a/config/locales/simple_form.id.yml +++ b/config/locales/simple_form.id.yml @@ -4,10 +4,8 @@ id: hints: defaults: avatar: PNG, GIF atau JPG. Maksimal %{size}. Ukuran dikecilkan menjadi %{dimensions}px - display_name: Maksimal 30 karakter header: PNG, GIF atau JPG. Maksimal %{size}. Ukuran dikecilkan menjadi %{dimensions}px locked: Anda harus menerima permintaan pengikut secara manual dan setting privasi postingan akan diubah khusus untuk pengikut - note: Maksimum 160 karakter imports: data: File CSV yang diexpor dari server Mastodon lain sessions: diff --git a/config/locales/simple_form.io.yml b/config/locales/simple_form.io.yml index cf87aa6d9..c9fd9899e 100644 --- a/config/locales/simple_form.io.yml +++ b/config/locales/simple_form.io.yml @@ -3,11 +3,9 @@ io: simple_form: hints: defaults: - avatar: En la formato PNG, GIF o JPG. Til 2Mo. Esos mikrigita a %{dimensions}px - display_name: 30 signi maxime - header: En la formato PNG, GIF o JPG. Til 2Mo. Esos mikrigita a %{dimensions}px + avatar: En la formato PNG, GIF o JPG. Til %{size}. Esos mikrigita a %{dimensions}px + header: En la formato PNG, GIF o JPG. Til %{size}. Esos mikrigita a %{dimensions}px locked: Tu devos aprobar omna demandi di sequado, e tua mesaji esos senchanje nur por tua sequanti. - note: 160 signi maxime imports: data: Dosiero CSV de altra instaluro di Mastodon sessions: diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml index 841e65faa..4c6bb5acf 100644 --- a/config/locales/simple_form.it.yml +++ b/config/locales/simple_form.it.yml @@ -8,18 +8,12 @@ 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 - display_name: - one: <span class="name-counter">1</span> carattere rimanente - other: <span class="name-counter">%{count}</span> caratteri rimanenti 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 inbox_url: Copia la URL dalla pagina iniziale del ripetitore che vuoi usare irreversible: I toot filtrati scompariranno in modo irreversibile, anche se il filtro viene eliminato locale: La lingua dell'interfaccia utente, di email e notifiche push locked: Richiede che approvi i follower manualmente - note: - one: <span class="note-counter">1</span> carattere rimanente - other: <span class="note-counter">%{count}</span> caratteri rimanenti phrase: Il confronto sarà eseguito ignorando minuscole/maiuscole e i content warning scopes: A quali API l'applicazione potrà avere accesso. Se selezionate un ambito di alto livello, non c'è bisogno di selezionare quelle singole. setting_default_language: La lingua dei tuoi toot può essere individuata automaticamente, ma il risultato non è sempre accurato diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index 413fe4d41..1b17f1976 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -8,7 +8,6 @@ ja: bot: このアカウントは主に自動で動作し、人が見ていない可能性があります context: フィルターを適用する対象 (複数選択可) digest: 長期間使用していない場合と不在時に返信を受けた場合のみ送信されます - display_name: あと<span class="name-counter">%{count}</span>文字入力できます。 email: 確認のメールが送信されます fields: プロフィールに表として4つまでの項目を表示することができます header: "%{size}までのPNG、GIF、JPGが利用可能です。 %{dimensions}pxまで縮小されます" @@ -16,7 +15,6 @@ ja: irreversible: フィルターが後で削除されても、除外されたトゥートは元に戻せなくなります locale: ユーザーインターフェース、メールやプッシュ通知の言語 locked: フォロワーを手動で承認する必要があります - note: あと<span class="note-counter">%{count}</span>文字入力できます。 password: 少なくとも8文字は入力してください phrase: トゥートの大文字小文字や閲覧注意に関係なく一致 scopes: アプリの API に許可するアクセス権を選択してください。最上位のスコープを選択する場合、個々のスコープを選択する必要はありません。 diff --git a/config/locales/simple_form.ka.yml b/config/locales/simple_form.ka.yml index b1b29a7ce..6bccb3134 100644 --- a/config/locales/simple_form.ka.yml +++ b/config/locales/simple_form.ka.yml @@ -8,18 +8,12 @@ ka: bot: ეს ანგარიში უმთავრესად ასრულებს ავტომატურ მოქმედებებს და შესაძლოა არ იყოს მონიტორინგის ქვეშ context: ერთ ან მრავალი კონტექსტი სადაც ფილტრი უნდა შესრულდეს digest: იგზავნება მხოლოდ ხანგრძლივი უაქტივობის პერიოდის შემდეგ და არყოფნისას თუ მიიღეთ ერთი წერილი მაინც - display_name: - one: დარჩა <span class="name-counter">ერთი</span> ნიშანი - other: დარჩა <span class="name-counter">%{count}</span> ნიშანი fields: პროფილზე ტაბულის სახით შესაძლოა საჩვენებლად გაგაჩნდეთ მაქს. 4 პუნქტი header: პნგ, გიფ ან ჯპგ. მაქს. %{size}. ზომა დაპატარავდება %{dimensions}პიქს.-ზე inbox_url: ურლ დააკოირეთ გამოყენებისთვის სასურველი რილეის წინა გვერდიდან irreversible: გაფილტრული ტუტები გაუქმდება აღუდგენლად, იმ შემთხვევაშიც კი თუ ფილტრი სამომავლოდ გაუქმდება locale: მომხმარებლის ინტერფეისის, ელ-ფოსტის წერილების და ფუშ შეტყობინებების ენა locked: საჭიროებს თქვენ მიერ მიმდევრების ხელით დადასტურებას - note: - one: დარჩა <span class="note-counter">ერთი</span> ნიშანი - other: დარჩა <span class="note-counter">%{count}</span> ნიშანი phrase: დამთხვევა მოხდება დიდი და პატარა ასოების ან კონტენტის გაფრთხილების გათვალისწინების გარეშე scopes: რომელი აპიებისადმი ექნება აპლიკაციას ცვდომა. თუ არიჩევთ უმთავრეს ფარგლებს, არ დაგჭირდებათ ინდივიდუალურების ამორჩევა. setting_default_language: თქვენი ტუტების ენა შეიძლება დადგინდეს ავტომატურად, მაგრამ ეს არაა ყოველთვის ზუსტი diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index 232844df8..4bf717c6d 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -8,18 +8,12 @@ ko: bot: 사람들에게 계정이 사람이 아님을 알립니다 context: 필터를 적용 할 한 개 이상의 컨텍스트 digest: 오랫동안 활동하지 않았을 때 받은 멘션들에 대한 요약 받기 - display_name: - one: <span class="name-counter">1</span> 글자 남음 - other: <span class="name-counter">%{count}</span> 글자 남음 fields: 당신의 프로파일에 최대 4개까지 표 형식으로 나타낼 수 있습니다 header: PNG, GIF 혹은 JPG. 최대 %{size}. %{dimensions}px로 다운스케일 됨 inbox_url: 사용 할 릴레이 서버의 프론트페이지에서 URL을 복사합니다 irreversible: 필터링 된 툿은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다 locale: 유저 인터페이스, 이메일, 푸시 알림 언어 locked: 수동으로 팔로워를 승인하고, 기본 툿 프라이버시 설정을 팔로워 전용으로 변경 - note: - one: <span class="note-counter">1</span> 글자 남음 - other: <span class="note-counter">%{count}</span> 글자 남음 phrase: 툿 내용이나 CW 내용 안에서 대소문자 구분 없이 매칭 됩니다 scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다. setting_default_language: 작성한 툿의 언어는 자동으로 인식할 수 있지만, 언제나 정확한 건 아닙니다 diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 32ad8d52c..516c1bddf 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -8,18 +8,12 @@ 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 - display_name: - one: <span class="name-counter">1</span> teken over - other: <span class="name-counter">%{count}</span> tekens over 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 inbox_url: Kopieer de URL van de voorpagina van de relayserver die je wil gebruiken irreversible: Gefilterde toots verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd locale: De taal van de gebruikersomgeving, e-mails en pushmeldingen locked: Vereist dat je handmatig volgers moet accepteren - note: - one: <span class="note-counter">1</span> teken over - other: <span class="note-counter">%{count}</span> tekens over 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_default_language: De taal van jouw toots kan automatisch worden gedetecteerd, maar het is niet altijd accuraat diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml index 98c6b82fe..fc339c3f2 100644 --- a/config/locales/simple_form.no.yml +++ b/config/locales/simple_form.no.yml @@ -5,14 +5,8 @@ defaults: avatar: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px digest: Kun sendt etter en lang periode med inaktivitet og bare dersom du har mottatt noen personlige meldinger mens du var borte - display_name: - one: <span class="name-counter">1</span> tegn igjen - other: <span class="name-counter">%{count}</span> tegn igjen header: PNG, GIF eller JPG. Maksimalt %{size}. Vil bli nedskalert til %{dimensions}px locked: Krever at du manuelt godkjenner følgere - note: - one: <span class="note-counter">1</span> tegn igjen - other: <span class="note-counter">%{count}</span> tegn igjen setting_noindex: Påvirker din offentlige profil og statussider setting_theme: Påvirker hvordan Mastodon ser ut når du er logget inn fra uansett enhet. imports: diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml index 5363aa02a..11bf1dc8b 100644 --- a/config/locales/simple_form.oc.yml +++ b/config/locales/simple_form.oc.yml @@ -4,22 +4,16 @@ oc: hints: defaults: autofollow: Lo monde que se marcan gràcia a l’invitacion vos segràn automaticament - avatar: PNG, GIF o JPG. Maximum 2 Mo. Serà retalhat en %{dimensions}px + avatar: PNG, GIF o JPG. Maximum %{size}. Serà retalhat en %{dimensions}px 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 - display_name: - one: Demòra encara <span class="name-counter">1</span> caractèr - other: Demòran encara <span class="name-counter">%{count}</span> caractèrs fields: Podètz far veire cap a 4 elements sus vòstre perfil - header: PNG, GIF o JPG. Maximum 2 Mo. Serà retalhada en %{dimensions}px + header: PNG, GIF o JPG. Maximum %{size}. Serà retalhada en %{dimensions}px inbox_url: Copiatz l’URL de la pagina màger del relai que volètz utilizar irreversible: Los tuts filtrats desapareisseràn irreversiblament, encara que lo filtre siá suprimit mai tard locale: La lenga de l’interfàcia d’utilizacion, los messatges e las notificacions locked: Demanda qu’acceptetz manualament lo mond que vos sègon e botarà la visibilitat de vòstras publicacions coma accessiblas a vòstres seguidors solament - note: - one: Demòra encara <span class="name-counter">1</span> caractèr - other: Demòran encara <span class="name-counter">%{count}</span> caractèrs phrase: Serà pres en compte que siá en majuscula o minuscula o dins un avertiment de contengut sensible scopes: A quinas APIs poiràn accedir las aplicacions. Se seleccionatz un encastre de naut nivèl, fa pas mestièr de seleccionar los nivèls mai basses. setting_default_language: La lenga de vòstres tuts pòt èsser detectada automaticament, mas de còps es pas corrèctament determinada diff --git a/config/locales/simple_form.pl.yml b/config/locales/simple_form.pl.yml index d994eb6f5..b4c876826 100644 --- a/config/locales/simple_form.pl.yml +++ b/config/locales/simple_form.pl.yml @@ -8,22 +8,12 @@ pl: bot: To konto wykonuje głównie zautomatyzowane działania i może nie być monitorowane context: Jedno lub wiele miejsc, w których filtr zostanie zastosowany digest: Wysyłane tylko po długiej nieaktywności, jeżeli w tym czasie otrzymaleś jakąś wiadomość bezpośrednią - display_name: - few: Pozostały <span class="name-counter">%{count}</span> znaki. - many: Pozostało <span class="name-counter">%{count}</span> znaków - one: Pozostał <span class="name-counter">1</span> znak - other: Pozostało <span class="name-counter">%{count}</span> znaków fields: Możesz ustawić maksymalnie 4 niestandardowe pola wyświetlane jako tabela na Twoim profilu header: PNG, GIF lub JPG. Maksymalnie %{size}. Zostanie zmniejszony do %{dimensions}px inbox_url: Skopiuj adres ze strony głównej przekaźnika, którego chcesz użyć irreversible: Filtrowane wpisy znikną bezpowrotnie, nawet gdy filtr zostanie usunięty locale: Język interfejsu, wiadomości e-mail i powiadomieniach push locked: Musisz akceptować prośby o śledzenie - note: - few: Pozostały <span class="name-counter">%{count}</span> znaki. - many: Pozostało <span class="name-counter">%{count}</span> znaków - one: Pozostał <span class="name-counter">1</span> znak - other: Pozostało <span class="name-counter">%{count}</span> znaków phrase: Zostanie wykryte nawet, gdy znajduje się za ostrzeżeniem o zawartości scopes: Wybór API, do których aplikacja będzie miała dostęp. Jeżeli wybierzesz nadrzędny zakres, nie musisz wybierać jego elementów. setting_default_language: Język Twoich wpisów może być wykrywany automatycznie, ale nie zawsze jest to dokładne diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index 23272c41f..6fc5ca061 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -8,18 +8,12 @@ pt-BR: bot: Essa conta executa principalmente ações automatizadas e pode não ser monitorada context: Um ou mais contextos onde o filtro deve ser aplicado digest: Enviado após um longo período de inatividade com um resumo das menções que você recebeu em sua ausência - display_name: - one: <span class="name-counter">1</span> caracter restante - other: <span class="name-counter">%{count}</span> caracteres restantes fields: Você pode ter até 4 itens exibidos em forma de tabela no seu perfil header: PNG, GIF or JPG. Arquivos de até %{size}. Eles serão diminuídos para %{dimensions}px inbox_url: Copie a URL da página inicial do repetidor que você quer usar irreversible: Os toots filtrados vão desaparecer irreversivelmente, mesmo se o filtro for removido depois locale: O idioma das telas de usuário, e-mails e notificações push locked: Requer aprovação manual de seguidores - note: - one: <span class="note-counter">1</span> caracter restante - other: <span class="note-counter">%{count}</span> caracteres restantes phrase: Vai coincidir, independente de maiúsculas ou minúsculas, no texto ou no aviso de conteúdo de um toot scopes: Quais APIs a aplicação vai ter permissão de acessar. Se você selecionar um escopo de alto nível, você não precisa selecionar individualmente os outros. setting_default_language: O idioma de seus toots pode ser detectado automaticamente, mas isso nem sempre é preciso diff --git a/config/locales/simple_form.pt.yml b/config/locales/simple_form.pt.yml index 8c515c1de..88be3ac70 100644 --- a/config/locales/simple_form.pt.yml +++ b/config/locales/simple_form.pt.yml @@ -5,14 +5,8 @@ pt: defaults: avatar: PNG, GIF or JPG. Arquivos até %{size}. Vão ser reduzidos para %{dimensions}px digest: Enviado após um longo período de inatividade e apenas se foste mencionado na tua ausência - display_name: - one: <span class="name-counter">1</span> caracter restante - other: <span class="name-counter">%{count}</span> caracteres restantes header: PNG, GIF or JPG. Arquivos até %{size}. Vão ser reduzidos para %{dimensions}px locked: Requer aprovação manual de seguidores - note: - one: <span class="note-counter">1</span> caracter restante - other: <span class="note-counter">%{count}</span> caracteres restantes setting_noindex: Afecta o teu perfil público e as páginas das tuas publicações setting_theme: Afecta a aparência do Mastodon quando entras na tua conta em qualquer dispositivo. imports: diff --git a/config/locales/simple_form.ru.yml b/config/locales/simple_form.ru.yml index daeb7300a..44cd7ccd6 100644 --- a/config/locales/simple_form.ru.yml +++ b/config/locales/simple_form.ru.yml @@ -8,22 +8,12 @@ ru: bot: Этот аккаунт обычно выполяет автоматизированные действия и может не просматриваться владельцем context: Один или несколько контекстов, к которым должны быть применены фильтры digest: Отсылается лишь после длительной неактивности, если Вы в это время получали личные сообщения - display_name: - few: Осталось <span class="name-counter">%{count}</span> символа - many: Осталось <span class="name-counter">%{count}</span> символов - one: Остался <span class="name-counter">1</span> символ - other: Осталось <span class="name-counter">%{count}</span> символов fields: В профиле можно отобразить до 4 пунктов как таблицу header: PNG, GIF или JPG. Максимально %{size}. Будет уменьшено до %{dimensions}px inbox_url: Копировать URL с главной страницы ретранслятора, который Вы хотите использовать irreversible: Отфильтрованные статусы будут утеряны навсегда, даже если в будущем фильтр будет убран locale: Язык интерфейса, e-mail писем и push-уведомлений locked: Потребует от Вас ручного подтверждения подписчиков, изменит приватность постов по умолчанию на "только для подписчиков" - note: - few: Осталось <span class="name-counter">%{count}</span> символа - many: Осталось <span class="name-counter">%{count}</span> символов - one: Остался <span class="name-counter">1</span> символ - other: Осталось <span class="name-counter">%{count}</span> символов phrase: Будет сопоставлено независимо от присутствия в тексте или предупреждения о содержании статуса scopes: Какие API приложению будет позволено использовать. Если Вы выберите самый верхний, нижестоящие будут выбраны автоматически. setting_default_language: Язык Ваших статусов может быть определён автоматически, но не всегда правильно diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml index 0fd8f66b6..3ff75c2f2 100644 --- a/config/locales/simple_form.sk.yml +++ b/config/locales/simple_form.sk.yml @@ -8,20 +8,12 @@ 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č - display_name: - few: Ostávajú ti <span class="name-counter">%{count}</span> znaky - one: Ostáva ti <span class="name-counter">1</span> znak - other: Ostáva ti <span class="name-counter">%{count}</span> znakov fields: Môžeš mať 4 položky 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šíš locale: Jazyk užívateľského rozhrania, emailových a nástenkových oboznámení locked: Vyžaduje manuálne schvalovať sledujúcich - note: - few: Ostávajú ti <span class="note-counter">%{count}</span> znaky - one: Ostáva ti <span class="note-counter">1</span> znak - other: Ostáva ti <span class="note-counter">%{count}</span> 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_default_language: Jazyk tvojích príspevkov môže byť zistený automaticky, ale nieje to vždy presné diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml index 0f86841d3..3c3a21480 100644 --- a/config/locales/simple_form.sl.yml +++ b/config/locales/simple_form.sl.yml @@ -6,9 +6,6 @@ sl: avatar: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px bot: Opozarja ljudi, da račun ne predstavlja osebe digest: Pošlje se le po dolgem obdobju nedejavnosti in samo, če ste prejeli osebna sporočila v vaši odsotnosti - display_name: - one: <span class="name-counter">1</span> znak ostane - other: <span class="name-counter">%{count}</span> znakov ostane fields: Na svojem profilu lahko imate do 4 predmete prikazane kot tabelo. header: PNG, GIF ali JPG. Največ %{size}. Zmanjšana bo na %{dimensions}px imports: diff --git a/config/locales/simple_form.sr-Latn.yml b/config/locales/simple_form.sr-Latn.yml index 259ac0046..0ef85eaba 100644 --- a/config/locales/simple_form.sr-Latn.yml +++ b/config/locales/simple_form.sr-Latn.yml @@ -5,18 +5,8 @@ sr-Latn: defaults: avatar: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px digest: Poslato posle dužeg perioda neaktivnosti sa pregledom svih bitnih stvari koje ste dobili dok ste bili odsutni - display_name: - few: <span class="name-counter">%{count}</span> karaktera preostala - many: <span class="name-counter">%{count}</span> karaktera preostalo - one: <span class="name-counter">1</span> karakter preostao - other: <span class="name-counter">%{count}</span> karaktera preostalo header: PNG, GIF ili JPG. Najviše %{size}. Biće smanjena na %{dimensions}px locked: Zahteva da pojedinačno odobrite pratioce - note: - few: <span class="note-counter">%{count}</span> karaktera preostal - many: <span class="note-counter">%{count}</span> karaktera preostalo - one: <span class="note-counter">1</span> karakter preostao - other: <span class="note-counter">%{count}</span> karaktera preostalo setting_noindex: Utiče na Vaš javni profil i statusne strane setting_theme: Utiče kako će Mastodont izgledati kada ste prijavljeni sa bilo kog uređaja. imports: diff --git a/config/locales/simple_form.sr.yml b/config/locales/simple_form.sr.yml index 333685ed5..1af52a41c 100644 --- a/config/locales/simple_form.sr.yml +++ b/config/locales/simple_form.sr.yml @@ -8,22 +8,12 @@ sr: bot: Овај налог углавном врши аутоматизоване радње и можда се не надгледа context: Један или више контекста у којима треба да се примени филтер digest: Послато после дужег периода неактивности са прегледом свих битних ствари које сте добили док сте били одсутни - display_name: - few: <span class="name-counter">%{count}</span> карактера преостала - many: <span class="name-counter">%{count}</span> карактера преостало - one: <span class="name-counter">1</span> карактер преостао - other: <span class="name-counter">%{count}</span> карактера преостало fields: Можете имати до 4 ставке приказане као табела на вашем профилу header: PNG, GIF или JPG. Највише %{size}. Биће смањена на %{dimensions}px inbox_url: Копирајте URL са насловне стране релеја који желите користити irreversible: Филтриранe трубе ће нестати неповратно, чак и ако је филтер касније уклоњен locale: Језик корисничког интерфејса, е-поште и мобилних обавештења locked: Захтева да појединачно одобрите пратиоце - note: - few: <span class="note-counter">%{count}</span> карактера преостал - many: <span class="note-counter">%{count}</span> карактера преостало - one: <span class="note-counter">1</span> карактер преостао - other: <span class="note-counter">%{count}</span> карактера преостало phrase: Биће упарена без обзира на велико или мало слово у тексту или упозорења о садржају трубе scopes: Којим API-јима ће апликација дозволити приступ. Ако изаберете опсег највишег нивоа, не морате одабрати појединачне. setting_default_language: Језик ваших труба може бити аутоматски откривен, али није увек прецизан diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml index 6f2e4b58f..8bc82c609 100644 --- a/config/locales/simple_form.sv.yml +++ b/config/locales/simple_form.sv.yml @@ -7,16 +7,10 @@ sv: avatar: Högst %{size}. Kommer att skalas ner till %{dimensions}px bot: Detta konto utför huvudsakligen automatiserade åtgärder och kanske inte övervakas digest: Skickas endast efter en lång period av inaktivitet och endast om du har fått några personliga meddelanden i din frånvaro - display_name: - one: <span class="name-counter">1</span> tecken kvar - other: <span class="name-counter">%{count}</span> tecken kvar fields: Du kan ha upp till 4 objekt visade som en tabell på din profil header: NG, GIF eller JPG. Högst %{size}. Kommer nedskalas till %{dimensions}px locale: Användargränssnittets språk, e-post och push aviseringar locked: Kräver att du manuellt godkänner följare - note: - one: <span class="note-counter">1</span> tecken kvar - other: <span class="note-counter">%{count}</span> tecken kvar setting_default_language: Språket av dina inlägg kan upptäckas automatiskt, men det är inte alltid rätt setting_hide_network: Vem du följer och vilka som följer dig kommer inte att visas på din profilsida setting_noindex: Påverkar din offentliga profil och statussidor diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 29491de0b..a8611c2f7 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -4,14 +4,8 @@ th: hints: defaults: avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px - display_name: - one: <span class="name-counter">1</span> character left - other: <span class="name-counter">%{count}</span> characters left header: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px locked: Requires you to manually approve followers and defaults post privacy to followers-only - note: - one: <span class="name-counter">1</span> character left - other: <span class="note-counter">%{count}</span> characters left imports: data: CSV file exported from another Mastodon instance sessions: diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml index bd5c65d83..d0b50609b 100644 --- a/config/locales/simple_form.tr.yml +++ b/config/locales/simple_form.tr.yml @@ -4,10 +4,8 @@ tr: hints: defaults: avatar: En fazla %{size} olacak şekilde PNG, GIF veya JPG formatında yükleyiniz. %{dimensions}px büyüklüğüne indirgenecektir - display_name: <span class="name-counter">%{count}</span> karakter kaldı header: En fazla %{size} olacak şekilde PNG, GIF veya JPG formatında yükleyiniz. %{dimensions}px büyüklüğüne indirgenecektir. locked: Takipçilerinizi manuel olarak kabul etmenizi ve gönderilerinizi varsayılan olarak sadece takipçilerinizin göreceği şekilde paylaşmanızı sağlar. - note: <span class="note-counter">%{count}</span> karakter kaldı imports: data: Diğer Mastodon sunucusundan dışarı aktardığınız CSV dosyası sessions: diff --git a/config/locales/simple_form.uk.yml b/config/locales/simple_form.uk.yml index 834631fdf..05d57509e 100644 --- a/config/locales/simple_form.uk.yml +++ b/config/locales/simple_form.uk.yml @@ -3,12 +3,10 @@ uk: simple_form: hints: defaults: - avatar: PNG, GIF, або JPG. Максимум - 2МБ. Буде зменшено до %{dimensions}px + avatar: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px bot: Цей аккаунт в основному виконує автоматичні дії та може не відстежуватіся - display_name: 'Залишилося символів: <span class="name-counter">%{count}</span>' - header: PNG, GIF, або JPG. Максимум - 2МБ. Буде зменшено до %{dimensions}px + header: PNG, GIF, або JPG. Максимум - %{size}. Буде зменшено до %{dimensions}px locked: Буде вимагати від Вас самостійного підтверждення підписників, змінить приватність постів за замовчуванням на "тільки для підписників" - note: 'Осталось символов: <span class="note-counter">%{count}</span>' imports: data: Файл CSV, экспортированный с другого узла Mastodon sessions: diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 36b5a3f66..cfa6840a6 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -4,15 +4,13 @@ zh-CN: hints: defaults: autofollow: 通过邀请链接注册的用户将会自动关注你 - avatar: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 400×400px + avatar: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px bot: 来自这个帐户的绝大多数操作都是自动进行的,并且可能无人监控 digest: 仅在你长时间未登录,且收到了私信时发送 - display_name: 还能输入 <span class="name-counter">%{count}</span> 个字符 fields: 这将会在个人资料页上以表格的形式展示,最多 4 个项目 - header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 700×335px + header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px locale: 用户界面、电子邮件和推送通知中使用的语言 locked: 你需要手动审核所有关注请求 - note: 还能输入 <span class="note-counter">%{count}</span> 个字符 setting_default_language: 嘟文语言自动检测的结果有可能不准确(此设置仅影响你的嘟文) setting_hide_network: 你关注的人和关注你的人将不会在你的个人资料页上展示 setting_noindex: 此设置会影响到你的公开个人资料以及嘟文页面 diff --git a/config/locales/simple_form.zh-HK.yml b/config/locales/simple_form.zh-HK.yml index 447b9ce7a..e28f935c2 100644 --- a/config/locales/simple_form.zh-HK.yml +++ b/config/locales/simple_form.zh-HK.yml @@ -7,16 +7,10 @@ zh-HK: avatar: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px bot: 提醒用戶本帳號是機械人 digest: 僅在你長時間未登錄,且收到了私信時發送 - display_name: - one: 尚餘 <span class="name-counter">1</span> 個字 - other: 尚餘 <span class="name-counter">%{count}</span> 個字 fields: 個人資料頁可顯示多至 4 個項目 header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px locale: 使用者介面、電郵和通知的語言 locked: 你必須人手核准每個用戶對你的關注請求,而你的文章私隱會被預設為「只有關注你的人能看」 - note: - one: 尚餘 <span class="note-counter">1</span> 個字 - other: 尚餘 <span class="note-counter">%{count}</span> 個字 setting_default_language: 你文章的語言會被自動偵測,但不一定完全準確 setting_hide_network: 你關注的人和關注你的人將不會在你的個人資料頁上顯示 setting_noindex: 此設定會影響到你的公開個人資料以及文章頁面 diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml index 7eae7e190..3747fbb98 100644 --- a/config/locales/simple_form.zh-TW.yml +++ b/config/locales/simple_form.zh-TW.yml @@ -8,18 +8,12 @@ zh-TW: bot: 這個帳號由程式進行自動式操作 context: 應該套用過濾器的一項或多項內容 digest: 僅在你長時間未登入,並且收到了私訊時發送 - display_name: - one: 尚餘 <span class="name-counter">1</span> 個字 - other: 尚餘 <span class="name-counter">%{count}</span> 個字 fields: 個人資訊頁至多可顯示 4 個項目 header: 支援 PNG, GIF 或 JPG 圖片,檔案最大為 %{size},會縮裁成 %{dimensions}px inbox_url: 從您想要使用的中繼首頁複製 URL irreversible: 已過濾的嘟文將會不可逆的消失,即便過濾器之後也一樣 locale: 使用者介面、 E-mail 與通知的語言 locked: 你必須手動核准每個使用者對你的關注請求,而你的貼文隱私將會被設定為「只有關注你的人能看」 - note: - one: 尚餘 <span class="note-counter">1</span> 個字 - other: 尚餘 <span class="note-counter">%{count}</span> 個字 phrase: 無論是嘟文的本文或是內容警告都會被過濾 scopes: 應用程式將會被允許存取哪些 API。若您選取了最高階的範圍,您就不需要再選取單獨的了。 setting_default_language: 你嘟文的語言會被自動偵測,但不一定完全準確 diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 024b9ad20..ba3d77a04 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -332,7 +332,7 @@ sk: delete: Vymaž placeholder: Opíš aké opatrenia boli urobené, alebo akékoľvek iné súvisiace aktualizácie… reopen: Znovu otvor report - report: Nahlásiť + report: 'Nahlásiť #%{id}' reported_account: Nahlásený účet reported_by: Nahlásené užívateľom resolved: Vyriešené diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index ff31203c8..12867f4eb 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -465,7 +465,7 @@ sr-Latn: title: Moderacija notification_mailer: digest: - body: 'Evo kratak pregled šta ste propustili na instanci %{instance} od poslednje posete od %{since}:' + body: 'Evo kratak pregled šta ste propustili od poslednje posete od %{since}:' mention: "%{name} Vas je pomenuo u:" new_followers_summary: few: Dobili ste %{count} nova pratioca! Sjajno! diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 4f80a46f1..465a9b127 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -808,7 +808,7 @@ sv: tip_bridge_html: Om du kommer från Twitter kan du hitta dina vänner på Mastodon genom att använda <a href="%{bridge_url}">bridge-appen</a>. Det fungerar dock bara om de också har använt bridge-appen! tip_federated_timeline: Den förenade tidslinjen är en störtflodsvy av Mastodon-nätverket. Men det inkluderar bara människor som dina grannar följer, så det är inte komplett. tip_following: Du följer din servers administratör(er) som standard. För att hitta fler intressanta personer, kolla de lokala och förenade tidslinjerna. - tip_local_timeline: Den lokala tidslinjen är en störtflodsvy av personer på% {instance}. Det här är dina närmaste grannar! + tip_local_timeline: Den lokala tidslinjen är en störtflodsvy av personer på %{instance}. Det här är dina närmaste grannar! tip_mobile_webapp: Om din mobila webbläsare erbjuder dig att lägga till Mastodon till ditt hemskärm kan du få push-meddelanden. Det fungerar som en inbyggd app på många sätt! tips: Tips title: Välkommen ombord, %{name}! diff --git a/config/locales/th.yml b/config/locales/th.yml index 3ed73c7f5..44ed5b99e 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -224,7 +224,6 @@ th: too_many: แนบมากกว่า 4 ไฟล์ไม่ได้ notification_mailer: digest: - body: 'Here is a brief summary of what you missed on %{instance} since your last visit on %{since}:' mention: "%{name} ส่งข้อความถึงคุณ:" new_followers_summary: one: ยินดีด้วยคุณได้ผู้ติดตามคนใหม่! Yay! diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 99ba89397..3a7c2e68e 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -222,7 +222,7 @@ tr: too_many: 4'ten fazla dosya ekleyemezsiniz notification_mailer: digest: - body: 'Son ziyaretiniz olan %{since}''den beri %{instance}''da kaçırdığınız şeylerin özeti:' + body: 'Son ziyaretiniz olan %{since}''den beri''da kaçırdığınız şeylerin özeti:' mention: "%{name} senden bahsetti:" new_followers_summary: one: Yeni bir takipçiniz var! diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index db7c0c47c..939093595 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -224,9 +224,7 @@ zh-HK: suspend: 自動刪除 severity: 阻隔分級 show: - affected_accounts: - one: 資料庫中有 %{count} 個用戶受影響 - other: 資料庫中有%{count}個用戶受影響 + affected_accounts: 資料庫中有%{count}個用戶受影響 retroactive: silence: 對此域名的所有用戶取消靜音 suspend: 對此域名的所有用戶取消除名 @@ -530,7 +528,7 @@ zh-HK: notification_mailer: digest: action: 查看所有通知 - body: 這是自從你在%{since}使用%{instance}以後,你錯失了的訊息︰ + body: 這是自從你在%{since}使用以後,你錯失了的訊息︰ mention: "%{name} 在此提及了你︰" new_followers_summary: one: 你新獲得了 1 位關注者了!恭喜! diff --git a/db/migrate/20181024224956_migrate_account_conversations.rb b/db/migrate/20181024224956_migrate_account_conversations.rb new file mode 100644 index 000000000..1821e8c27 --- /dev/null +++ b/db/migrate/20181024224956_migrate_account_conversations.rb @@ -0,0 +1,43 @@ +class MigrateAccountConversations < ActiveRecord::Migration[5.2] + disable_ddl_transaction! + + def up + say '' + say 'WARNING: This migration may take a *long* time for large instances' + say 'It will *not* lock tables for any significant time, but it may run' + say 'for a very long time. We will pause for 10 seconds to allow you to' + say 'interrupt this migration if you are not ready.' + say '' + + 10.downto(1) do |i| + say "Continuing in #{i} second#{i == 1 ? '' : 's'}...", true + sleep 1 + end + + local_direct_statuses.find_each do |status| + AccountConversation.add_status(status.account, status) + end + + notifications_about_direct_statuses.find_each do |notification| + AccountConversation.add_status(notification.account, notification.target_status) + end + end + + def down + end + + private + + def local_direct_statuses + Status.unscoped + .local + .where(visibility: :direct) + .includes(:account, mentions: :account) + end + + def notifications_about_direct_statuses + Notification.joins(mention: :status) + .where(activity_type: 'Mention', statuses: { visibility: :direct }) + .includes(:account, mention: { status: [:account, mentions: :account] }) + end +end diff --git a/db/schema.rb b/db/schema.rb index 5bfb2d067..01ab9c17b 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_10_18_205649) do +ActiveRecord::Schema.define(version: 2018_10_24_224956) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" diff --git a/lib/cli.rb b/lib/cli.rb index 208df660f..bff6d5809 100644 --- a/lib/cli.rb +++ b/lib/cli.rb @@ -9,6 +9,10 @@ require_relative 'mastodon/settings_cli' module Mastodon class CLI < Thor + def self.exit_on_failure? + true + end + desc 'media SUBCOMMAND ...ARGS', 'Manage media files' subcommand 'media', Mastodon::MediaCLI diff --git a/lib/mastodon/accounts_cli.rb b/lib/mastodon/accounts_cli.rb index a32bc9533..055333080 100644 --- a/lib/mastodon/accounts_cli.rb +++ b/lib/mastodon/accounts_cli.rb @@ -7,6 +7,9 @@ require_relative 'cli_helper' module Mastodon class AccountsCLI < Thor + def self.exit_on_failure? + true + end option :all, type: :boolean desc 'rotate [USERNAME]', 'Generate and broadcast new keys' long_desc <<-LONG_DESC diff --git a/lib/mastodon/emoji_cli.rb b/lib/mastodon/emoji_cli.rb index 5bc51d034..1987c6394 100644 --- a/lib/mastodon/emoji_cli.rb +++ b/lib/mastodon/emoji_cli.rb @@ -7,6 +7,9 @@ require_relative 'cli_helper' module Mastodon class EmojiCLI < Thor + def self.exit_on_failure? + true + end option :prefix option :suffix option :overwrite, type: :boolean diff --git a/lib/mastodon/feeds_cli.rb b/lib/mastodon/feeds_cli.rb index cca65cf87..817ed4e79 100644 --- a/lib/mastodon/feeds_cli.rb +++ b/lib/mastodon/feeds_cli.rb @@ -6,6 +6,9 @@ require_relative 'cli_helper' module Mastodon class FeedsCLI < Thor + def self.exit_on_failure? + true + end option :all, type: :boolean, default: false option :background, type: :boolean, default: false option :dry_run, type: :boolean, default: false diff --git a/lib/mastodon/media_cli.rb b/lib/mastodon/media_cli.rb index 8aa9f7903..95d2a8d64 100644 --- a/lib/mastodon/media_cli.rb +++ b/lib/mastodon/media_cli.rb @@ -6,6 +6,9 @@ require_relative 'cli_helper' module Mastodon class MediaCLI < Thor + def self.exit_on_failure? + true + end option :days, type: :numeric, default: 7 option :background, type: :boolean, default: false option :verbose, type: :boolean, default: false diff --git a/lib/mastodon/settings_cli.rb b/lib/mastodon/settings_cli.rb index 87c321013..69485600a 100644 --- a/lib/mastodon/settings_cli.rb +++ b/lib/mastodon/settings_cli.rb @@ -6,6 +6,9 @@ require_relative 'cli_helper' module Mastodon class RegistrationsCLI < Thor + def self.exit_on_failure? + true + end desc 'open', 'Open registrations' def open Setting.open_registrations = true diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index b4b88dfdc..8748d9619 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -21,7 +21,7 @@ module Mastodon end def flags - 'rc1' + 'rc2' end def to_a |