mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-11-22 07:08:07 +01:00
Merge remote-tracking branch 'upstream/main' into develop
# Conflicts: # app/controllers/settings/preferences_controller.rb # app/javascript/mastodon/utils/resize_image.js # app/lib/user_settings_decorator.rb # app/models/media_attachment.rb # app/models/user.rb # app/views/settings/preferences/appearance/show.html.haml # app/workers/scheduler/indexing_scheduler.rb # config/settings.yml # db/schema.rb
This commit is contained in:
commit
68101baae1
349 changed files with 4185 additions and 2801 deletions
|
@ -1,39 +0,0 @@
|
|||
version: '2'
|
||||
checks:
|
||||
argument-count:
|
||||
enabled: false
|
||||
complex-logic:
|
||||
enabled: false
|
||||
file-lines:
|
||||
enabled: false
|
||||
method-complexity:
|
||||
enabled: false
|
||||
method-count:
|
||||
enabled: false
|
||||
method-lines:
|
||||
enabled: false
|
||||
nested-control-flow:
|
||||
enabled: false
|
||||
return-statements:
|
||||
enabled: false
|
||||
similar-code:
|
||||
enabled: false
|
||||
identical-code:
|
||||
enabled: false
|
||||
plugins:
|
||||
brakeman:
|
||||
enabled: true
|
||||
bundler-audit:
|
||||
enabled: false
|
||||
eslint:
|
||||
enabled: false
|
||||
rubocop:
|
||||
enabled: false
|
||||
sass-lint:
|
||||
enabled: false
|
||||
exclude_patterns:
|
||||
- spec/
|
||||
- vendor/asset/
|
||||
|
||||
- app/javascript/mastodon/locales/**/*.json
|
||||
- config/locales/**/*.yml
|
|
@ -15,6 +15,7 @@
|
|||
"forwardPorts": [3000, 4000],
|
||||
|
||||
// Use 'postCreateCommand' to run commands after the container is created.
|
||||
"onCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
|
||||
"postCreateCommand": ".devcontainer/post-create.sh",
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ services:
|
|||
environment:
|
||||
RAILS_ENV: development
|
||||
NODE_ENV: development
|
||||
|
||||
BIND: 0.0.0.0
|
||||
REDIS_HOST: redis
|
||||
REDIS_PORT: '6379'
|
||||
DB_HOST: db
|
||||
|
@ -23,6 +23,10 @@ services:
|
|||
LIBRE_TRANSLATE_ENDPOINT: http://libretranslate:5000
|
||||
# Overrides default command so things don't shut down after the process ends.
|
||||
command: sleep infinity
|
||||
ports:
|
||||
- '127.0.0.1:3000:3000'
|
||||
- '127.0.0.1:4000:4000'
|
||||
- '127.0.0.1:80:3000'
|
||||
networks:
|
||||
- external_network
|
||||
- internal_network
|
||||
|
@ -66,15 +70,19 @@ services:
|
|||
hard: -1
|
||||
|
||||
libretranslate:
|
||||
image: libretranslate/libretranslate:v1.2.9
|
||||
image: libretranslate/libretranslate:v1.3.10
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- lt-data:/home/libretranslate/.local
|
||||
networks:
|
||||
- external_network
|
||||
- internal_network
|
||||
|
||||
volumes:
|
||||
postgres-data:
|
||||
redis-data:
|
||||
es-data:
|
||||
lt-data:
|
||||
|
||||
networks:
|
||||
external_network:
|
||||
|
|
|
@ -14,6 +14,9 @@ git checkout -- Gemfile.lock
|
|||
# [re]create, migrate, and seed the test database
|
||||
RAILS_ENV=test ./bin/rails db:setup
|
||||
|
||||
# [re]create, migrate, and seed the development database
|
||||
RAILS_ENV=development ./bin/rails db:setup
|
||||
|
||||
# Precompile assets for development
|
||||
RAILS_ENV=development ./bin/rails assets:precompile
|
||||
|
||||
|
|
4
.github/workflows/lint-haml.yml
vendored
4
.github/workflows/lint-haml.yml
vendored
|
@ -30,7 +30,9 @@ jobs:
|
|||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install native Ruby dependencies
|
||||
run: sudo apt-get install -y libicu-dev libidn11-dev
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libicu-dev libidn11-dev
|
||||
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
|
|
|
@ -16,7 +16,7 @@ jobs:
|
|||
- id: skip_check
|
||||
uses: fkirc/skip-duplicate-actions@v5
|
||||
with:
|
||||
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-one-step.yml"]'
|
||||
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-one-step.yml", "lib/tasks/tests.rake"]'
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -64,7 +64,9 @@ jobs:
|
|||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install native Ruby dependencies
|
||||
run: sudo apt-get install -y libicu-dev libidn11-dev
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libicu-dev libidn11-dev
|
||||
|
||||
- name: Set up bundler cache
|
||||
uses: ruby/setup-ruby@v1
|
||||
|
|
|
@ -16,7 +16,7 @@ jobs:
|
|||
- id: skip_check
|
||||
uses: fkirc/skip-duplicate-actions@v5
|
||||
with:
|
||||
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-two-step.yml"]'
|
||||
paths: '["Gemfile*", ".ruby-version", "**/*.rb", ".github/workflows/test-migrations-two-step.yml", "lib/tasks/tests.rake"]'
|
||||
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
|
@ -63,7 +63,9 @@ jobs:
|
|||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install native Ruby dependencies
|
||||
run: sudo apt-get install -y libicu-dev libidn11-dev
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libicu-dev libidn11-dev
|
||||
|
||||
- name: Set up bundler cache
|
||||
uses: ruby/setup-ruby@v1
|
||||
|
|
7
.github/workflows/test-ruby.yml
vendored
7
.github/workflows/test-ruby.yml
vendored
|
@ -32,7 +32,9 @@ jobs:
|
|||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Install native Ruby dependencies
|
||||
run: sudo apt-get install -y libicu-dev libidn11-dev
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libicu-dev libidn11-dev
|
||||
|
||||
- name: Set up bundler cache
|
||||
uses: ruby/setup-ruby@v1
|
||||
|
@ -119,6 +121,9 @@ jobs:
|
|||
path: './public'
|
||||
name: ${{ github.sha }}
|
||||
|
||||
- name: Update package index
|
||||
run: sudo apt-get update
|
||||
|
||||
- name: Install native Ruby dependencies
|
||||
run: sudo apt-get install -y libicu-dev libidn11-dev
|
||||
|
||||
|
|
4
.husky/pre-commit
Executable file
4
.husky/pre-commit
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
. "$(dirname "$0")/_/husky.sh"
|
||||
|
||||
yarn lint-staged
|
88
.rubocop.yml
88
.rubocop.yml
|
@ -1,5 +1,7 @@
|
|||
# Can be removed once all rules are addressed or moved to this file as documented overrides
|
||||
inherit_from: .rubocop_todo.yml
|
||||
|
||||
# Used for merging with exclude lists with .rubocop_todo.yml
|
||||
inherit_mode:
|
||||
merge:
|
||||
- Exclude
|
||||
|
@ -11,13 +13,13 @@ require:
|
|||
- rubocop-capybara
|
||||
|
||||
AllCops:
|
||||
TargetRubyVersion: 2.7
|
||||
TargetRubyVersion: 2.7 # Set to minimum supported version of CI
|
||||
DisplayCopNames: true
|
||||
DisplayStyleGuide: true
|
||||
ExtraDetails: true
|
||||
UseCache: true
|
||||
CacheRootDirectory: tmp
|
||||
NewCops: enable
|
||||
NewCops: enable # Opt-in to newly added rules
|
||||
Exclude:
|
||||
- db/schema.rb
|
||||
- 'bin/*'
|
||||
|
@ -25,12 +27,16 @@ AllCops:
|
|||
- 'node_modules/**/*'
|
||||
- 'Vagrantfile'
|
||||
- 'vendor/**/*'
|
||||
- 'lib/json_ld/*'
|
||||
- 'lib/json_ld/*' # Generated files
|
||||
- 'lib/templates/**/*'
|
||||
|
||||
# Reason: Prefer Hashes without extreme indentation
|
||||
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutfirsthashelementindentation
|
||||
Layout/FirstHashElementIndentation:
|
||||
EnforcedStyle: consistent
|
||||
|
||||
# Reason: Currently disabled in .rubocop_todo.yml
|
||||
# https://docs.rubocop.org/rubocop/cops_layout.html#layoutlinelength
|
||||
Layout/LineLength:
|
||||
AllowedPatterns:
|
||||
# Allow comments to be long lines
|
||||
|
@ -41,20 +47,50 @@ Layout/LineLength:
|
|||
- db/*migrate/**/*
|
||||
- db/seeds/**/*
|
||||
|
||||
# Reason:
|
||||
# https://docs.rubocop.org/rubocop/cops_lint.html#lintuselessaccessmodifier
|
||||
Lint/UselessAccessModifier:
|
||||
ContextCreatingMethods:
|
||||
- class_methods
|
||||
|
||||
# Reason: Currently disabled in .rubocop_todo.yml
|
||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsabcsize
|
||||
Metrics/AbcSize:
|
||||
Exclude:
|
||||
- 'lib/**/*cli*.rb'
|
||||
- db/*migrate/**/*
|
||||
|
||||
# Reason: Some functions cannot be broken up, but others may be refactor candidates
|
||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocklength
|
||||
Metrics/BlockLength:
|
||||
CountAsOne: [array, heredoc]
|
||||
CountAsOne: ['array', 'hash', 'heredoc', 'method_call']
|
||||
Exclude:
|
||||
- 'lib/mastodon/*_cli.rb'
|
||||
- 'lib/tasks/*.rake'
|
||||
- 'app/models/concerns/account_associations.rb'
|
||||
- 'app/models/concerns/account_interactions.rb'
|
||||
- 'app/models/concerns/ldap_authenticable.rb'
|
||||
- 'app/models/concerns/omniauthable.rb'
|
||||
- 'app/models/concerns/pam_authenticable.rb'
|
||||
- 'app/models/concerns/remotable.rb'
|
||||
- 'app/services/suspend_account_service.rb'
|
||||
- 'app/services/unsuspend_account_service.rb'
|
||||
- 'app/views/accounts/show.rss.ruby'
|
||||
- 'app/views/tags/show.rss.ruby'
|
||||
- 'config/environments/development.rb'
|
||||
- 'config/environments/production.rb'
|
||||
- 'config/initializers/devise.rb'
|
||||
- 'config/initializers/doorkeeper.rb'
|
||||
- 'config/initializers/omniauth.rb'
|
||||
- 'config/initializers/simple_form.rb'
|
||||
- 'config/navigation.rb'
|
||||
- 'config/routes.rb'
|
||||
- 'db/post_migrate/20221101190723_backfill_admin_action_logs.rb'
|
||||
- 'db/post_migrate/20221206114142_backfill_admin_action_logs_again.rb'
|
||||
- 'lib/paperclip/gif_transcoder.rb'
|
||||
|
||||
# Reason:
|
||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsblocknesting
|
||||
Metrics/BlockNesting:
|
||||
Exclude:
|
||||
- 'lib/mastodon/*_cli.rb'
|
||||
|
@ -103,22 +139,32 @@ Metrics/ClassLength:
|
|||
- 'app/services/update_status_service.rb'
|
||||
- 'lib/paperclip/color_extractor.rb'
|
||||
|
||||
# Reason: Currently disabled in .rubocop_todo.yml
|
||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricscyclomaticcomplexity
|
||||
Metrics/CyclomaticComplexity:
|
||||
Exclude:
|
||||
- lib/mastodon/*cli*.rb
|
||||
- db/*migrate/**/*
|
||||
|
||||
# Reason: Currently disabled in .rubocop_todo.yml
|
||||
# https://docs.rubocop.org/rubocop/cops_metrics.html#metricsmethodlength
|
||||
Metrics/MethodLength:
|
||||
CountAsOne: [array, heredoc]
|
||||
Exclude:
|
||||
- 'lib/mastodon/*_cli.rb'
|
||||
|
||||
# Reason:
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror
|
||||
Metrics/ModuleLength:
|
||||
CountAsOne: [array, heredoc]
|
||||
|
||||
# Reason: Prevailing style uses numeric status codes, matches RSpec/Rails/HttpStatus
|
||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railshttpstatus
|
||||
Rails/HttpStatus:
|
||||
EnforcedStyle: numeric
|
||||
|
||||
# Reason: Allowed only in the `tootctl` CLI application code
|
||||
# https://docs.rubocop.org/rubocop-rails/cops_rails.html#railsexit
|
||||
Rails/Exit:
|
||||
Exclude:
|
||||
- 'lib/mastodon/*_cli.rb'
|
||||
|
@ -146,9 +192,18 @@ RSpec/FilePath:
|
|||
- 'spec/controllers/concerns/signature_verification_spec.rb'
|
||||
- 'spec/controllers/concerns/user_tracking_concern_spec.rb'
|
||||
|
||||
# Reason:
|
||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnamedsubject
|
||||
RSpec/NamedSubject:
|
||||
EnforcedStyle: named_only
|
||||
|
||||
# Reason: Prevailing style choice
|
||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec.html#rspecnottonot
|
||||
RSpec/NotToNot:
|
||||
EnforcedStyle: to_not
|
||||
|
||||
# Reason: Prevailing style uses numeric status codes, matches Rails/HttpStatus
|
||||
# https://docs.rubocop.org/rubocop-rspec/cops_rspec_rails.html#rspecrailshttpstatus
|
||||
RSpec/Rails/HttpStatus:
|
||||
EnforcedStyle: numeric
|
||||
|
||||
|
@ -162,26 +217,45 @@ Style/ClassAndModuleChildren:
|
|||
Style/Documentation:
|
||||
Enabled: false
|
||||
|
||||
# Reason: Enforce modern Ruby style
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylehashsyntax
|
||||
Style/HashSyntax:
|
||||
EnforcedStyle: ruby19_no_mixed_keys
|
||||
|
||||
# Reason:
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylenumericliterals
|
||||
Style/NumericLiterals:
|
||||
AllowedPatterns:
|
||||
- \d{4}_\d{2}_\d{2}_\d{6} # For DB migration date version number readability
|
||||
|
||||
# Reason:
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylepercentliteraldelimiters
|
||||
Style/PercentLiteralDelimiters:
|
||||
PreferredDelimiters:
|
||||
'%i': '()'
|
||||
'%w': '()'
|
||||
|
||||
# Reason: Prefer less indentation in conditional assignments
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#styleredundantbegin
|
||||
Style/RedundantBegin:
|
||||
Enabled: false
|
||||
|
||||
# Reason: Overridden to reduce implicit StandardError rescues
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylerescuestandarderror
|
||||
Style/RescueStandardError:
|
||||
EnforcedStyle: implicit
|
||||
|
||||
# Reason: Originally disabled for CodeClimate, and no config consensus has been found
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#stylesymbolarray
|
||||
Style/SymbolArray:
|
||||
Enabled: false
|
||||
|
||||
# Reason:
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainarrayliteral
|
||||
Style/TrailingCommaInArrayLiteral:
|
||||
EnforcedStyleForMultiline: 'comma'
|
||||
|
||||
# Reason:
|
||||
# https://docs.rubocop.org/rubocop/cops_style.html#styletrailingcommainhashliteral
|
||||
Style/TrailingCommaInHashLiteral:
|
||||
EnforcedStyleForMultiline: 'comma'
|
||||
|
||||
Style/SymbolArray:
|
||||
Enabled: false
|
||||
|
|
|
@ -117,7 +117,6 @@ Lint/ConstantDefinitionInBlock:
|
|||
- 'spec/lib/activitypub/adapter_spec.rb'
|
||||
- 'spec/lib/connection_pool/shared_connection_pool_spec.rb'
|
||||
- 'spec/lib/connection_pool/shared_timed_stack_spec.rb'
|
||||
- 'spec/lib/settings/extend_spec.rb'
|
||||
- 'spec/models/concerns/remotable_spec.rb'
|
||||
|
||||
# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
|
||||
|
@ -233,11 +232,6 @@ Lint/Void:
|
|||
Metrics/AbcSize:
|
||||
Max: 150
|
||||
|
||||
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode.
|
||||
# AllowedMethods: refine
|
||||
Metrics/BlockLength:
|
||||
Max: 544
|
||||
|
||||
# Configuration parameters: CountBlocks, Max.
|
||||
Metrics/BlockNesting:
|
||||
Exclude:
|
||||
|
@ -259,6 +253,7 @@ Metrics/ModuleLength:
|
|||
- 'app/helpers/jsonld_helper.rb'
|
||||
- 'app/helpers/statuses_helper.rb'
|
||||
- 'app/models/concerns/account_interactions.rb'
|
||||
- 'app/models/concerns/has_user_settings.rb'
|
||||
|
||||
# Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters.
|
||||
Metrics/ParameterLists:
|
||||
|
@ -730,7 +725,6 @@ RSpec/LeakyConstantDeclaration:
|
|||
- 'spec/lib/activitypub/adapter_spec.rb'
|
||||
- 'spec/lib/connection_pool/shared_connection_pool_spec.rb'
|
||||
- 'spec/lib/connection_pool/shared_timed_stack_spec.rb'
|
||||
- 'spec/lib/settings/extend_spec.rb'
|
||||
- 'spec/models/concerns/remotable_spec.rb'
|
||||
|
||||
RSpec/LetSetup:
|
||||
|
@ -880,204 +874,6 @@ RSpec/MultipleSubjects:
|
|||
- 'spec/controllers/follower_accounts_controller_spec.rb'
|
||||
- 'spec/controllers/following_accounts_controller_spec.rb'
|
||||
|
||||
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
|
||||
# SupportedStyles: always, named_only
|
||||
RSpec/NamedSubject:
|
||||
Exclude:
|
||||
- 'spec/controllers/admin/account_moderation_notes_controller_spec.rb'
|
||||
- 'spec/controllers/admin/accounts_controller_spec.rb'
|
||||
- 'spec/controllers/admin/confirmations_controller_spec.rb'
|
||||
- 'spec/controllers/admin/custom_emojis_controller_spec.rb'
|
||||
- 'spec/controllers/admin/domain_blocks_controller_spec.rb'
|
||||
- 'spec/controllers/admin/instances_controller_spec.rb'
|
||||
- 'spec/controllers/admin/invites_controller_spec.rb'
|
||||
- 'spec/controllers/admin/report_notes_controller_spec.rb'
|
||||
- 'spec/controllers/api/v1/accounts/notes_controller_spec.rb'
|
||||
- 'spec/controllers/api/v1/accounts/pins_controller_spec.rb'
|
||||
- 'spec/controllers/api/v1/admin/domain_blocks_controller_spec.rb'
|
||||
- 'spec/controllers/auth/passwords_controller_spec.rb'
|
||||
- 'spec/controllers/auth/registrations_controller_spec.rb'
|
||||
- 'spec/controllers/home_controller_spec.rb'
|
||||
- 'spec/controllers/invites_controller_spec.rb'
|
||||
- 'spec/controllers/oauth/authorizations_controller_spec.rb'
|
||||
- 'spec/controllers/oauth/authorized_applications_controller_spec.rb'
|
||||
- 'spec/controllers/relationships_controller_spec.rb'
|
||||
- 'spec/controllers/settings/featured_tags_controller_spec.rb'
|
||||
- 'spec/controllers/settings/migrations_controller_spec.rb'
|
||||
- 'spec/controllers/settings/sessions_controller_spec.rb'
|
||||
- 'spec/controllers/settings/two_factor_authentication/confirmations_controller_spec.rb'
|
||||
- 'spec/controllers/well_known/webfinger_controller_spec.rb'
|
||||
- 'spec/features/log_in_spec.rb'
|
||||
- 'spec/features/profile_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/accept_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/add_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/announce_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/block_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/create_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/delete_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/flag_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/follow_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/like_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/move_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/reject_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/remove_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/undo_spec.rb'
|
||||
- 'spec/lib/activitypub/activity/update_spec.rb'
|
||||
- 'spec/lib/activitypub/adapter_spec.rb'
|
||||
- 'spec/lib/activitypub/dereferencer_spec.rb'
|
||||
- 'spec/lib/activitypub/linked_data_signature_spec.rb'
|
||||
- 'spec/lib/activitypub/tag_manager_spec.rb'
|
||||
- 'spec/lib/connection_pool/shared_connection_pool_spec.rb'
|
||||
- 'spec/lib/connection_pool/shared_timed_stack_spec.rb'
|
||||
- 'spec/lib/delivery_failure_tracker_spec.rb'
|
||||
- 'spec/lib/emoji_formatter_spec.rb'
|
||||
- 'spec/lib/entity_cache_spec.rb'
|
||||
- 'spec/lib/fast_ip_map_spec.rb'
|
||||
- 'spec/lib/feed_manager_spec.rb'
|
||||
- 'spec/lib/hashtag_normalizer_spec.rb'
|
||||
- 'spec/lib/html_aware_formatter_spec.rb'
|
||||
- 'spec/lib/link_details_extractor_spec.rb'
|
||||
- 'spec/lib/ostatus/tag_manager_spec.rb'
|
||||
- 'spec/lib/plain_text_formatter_spec.rb'
|
||||
- 'spec/lib/request_pool_spec.rb'
|
||||
- 'spec/lib/request_spec.rb'
|
||||
- 'spec/lib/sanitize_config_spec.rb'
|
||||
- 'spec/lib/status_finder_spec.rb'
|
||||
- 'spec/lib/status_reach_finder_spec.rb'
|
||||
- 'spec/lib/suspicious_sign_in_detector_spec.rb'
|
||||
- 'spec/lib/text_formatter_spec.rb'
|
||||
- 'spec/lib/vacuum/access_tokens_vacuum_spec.rb'
|
||||
- 'spec/lib/vacuum/backups_vacuum_spec.rb'
|
||||
- 'spec/lib/vacuum/feeds_vacuum_spec.rb'
|
||||
- 'spec/lib/vacuum/media_attachments_vacuum_spec.rb'
|
||||
- 'spec/lib/vacuum/preview_cards_vacuum_spec.rb'
|
||||
- 'spec/lib/vacuum/statuses_vacuum_spec.rb'
|
||||
- 'spec/lib/vacuum/system_keys_vacuum_spec.rb'
|
||||
- 'spec/models/account/field_spec.rb'
|
||||
- 'spec/models/account_migration_spec.rb'
|
||||
- 'spec/models/account_spec.rb'
|
||||
- 'spec/models/account_statuses_cleanup_policy_spec.rb'
|
||||
- 'spec/models/account_statuses_filter_spec.rb'
|
||||
- 'spec/models/admin/account_action_spec.rb'
|
||||
- 'spec/models/canonical_email_block_spec.rb'
|
||||
- 'spec/models/concerns/account_interactions_spec.rb'
|
||||
- 'spec/models/custom_emoji_filter_spec.rb'
|
||||
- 'spec/models/custom_emoji_spec.rb'
|
||||
- 'spec/models/follow_spec.rb'
|
||||
- 'spec/models/home_feed_spec.rb'
|
||||
- 'spec/models/media_attachment_spec.rb'
|
||||
- 'spec/models/notification_spec.rb'
|
||||
- 'spec/models/public_feed_spec.rb'
|
||||
- 'spec/models/relationship_filter_spec.rb'
|
||||
- 'spec/models/remote_follow_spec.rb'
|
||||
- 'spec/models/report_spec.rb'
|
||||
- 'spec/models/session_activation_spec.rb'
|
||||
- 'spec/models/setting_spec.rb'
|
||||
- 'spec/models/status_spec.rb'
|
||||
- 'spec/models/tag_spec.rb'
|
||||
- 'spec/models/trends/statuses_spec.rb'
|
||||
- 'spec/models/trends/tags_spec.rb'
|
||||
- 'spec/models/user_role_spec.rb'
|
||||
- 'spec/models/user_spec.rb'
|
||||
- 'spec/models/web/push_subscription_spec.rb'
|
||||
- 'spec/policies/account_moderation_note_policy_spec.rb'
|
||||
- 'spec/policies/account_policy_spec.rb'
|
||||
- 'spec/policies/backup_policy_spec.rb'
|
||||
- 'spec/policies/custom_emoji_policy_spec.rb'
|
||||
- 'spec/policies/domain_block_policy_spec.rb'
|
||||
- 'spec/policies/email_domain_block_policy_spec.rb'
|
||||
- 'spec/policies/instance_policy_spec.rb'
|
||||
- 'spec/policies/invite_policy_spec.rb'
|
||||
- 'spec/policies/relay_policy_spec.rb'
|
||||
- 'spec/policies/report_note_policy_spec.rb'
|
||||
- 'spec/policies/report_policy_spec.rb'
|
||||
- 'spec/policies/settings_policy_spec.rb'
|
||||
- 'spec/policies/status_policy_spec.rb'
|
||||
- 'spec/policies/tag_policy_spec.rb'
|
||||
- 'spec/policies/user_policy_spec.rb'
|
||||
- 'spec/presenters/familiar_followers_presenter_spec.rb'
|
||||
- 'spec/serializers/activitypub/note_serializer_spec.rb'
|
||||
- 'spec/serializers/activitypub/update_poll_serializer_spec.rb'
|
||||
- 'spec/serializers/rest/account_serializer_spec.rb'
|
||||
- 'spec/services/account_search_service_spec.rb'
|
||||
- 'spec/services/account_statuses_cleanup_service_spec.rb'
|
||||
- 'spec/services/activitypub/fetch_remote_account_service_spec.rb'
|
||||
- 'spec/services/activitypub/fetch_remote_actor_service_spec.rb'
|
||||
- 'spec/services/activitypub/fetch_remote_status_service_spec.rb'
|
||||
- 'spec/services/activitypub/fetch_replies_service_spec.rb'
|
||||
- 'spec/services/activitypub/process_account_service_spec.rb'
|
||||
- 'spec/services/activitypub/process_collection_service_spec.rb'
|
||||
- 'spec/services/activitypub/process_status_update_service_spec.rb'
|
||||
- 'spec/services/after_block_domain_from_account_service_spec.rb'
|
||||
- 'spec/services/after_block_service_spec.rb'
|
||||
- 'spec/services/app_sign_up_service_spec.rb'
|
||||
- 'spec/services/authorize_follow_service_spec.rb'
|
||||
- 'spec/services/batched_remove_status_service_spec.rb'
|
||||
- 'spec/services/block_domain_service_spec.rb'
|
||||
- 'spec/services/block_service_spec.rb'
|
||||
- 'spec/services/bootstrap_timeline_service_spec.rb'
|
||||
- 'spec/services/clear_domain_media_service_spec.rb'
|
||||
- 'spec/services/delete_account_service_spec.rb'
|
||||
- 'spec/services/fan_out_on_write_service_spec.rb'
|
||||
- 'spec/services/favourite_service_spec.rb'
|
||||
- 'spec/services/fetch_link_card_service_spec.rb'
|
||||
- 'spec/services/fetch_oembed_service_spec.rb'
|
||||
- 'spec/services/fetch_remote_status_service_spec.rb'
|
||||
- 'spec/services/fetch_resource_service_spec.rb'
|
||||
- 'spec/services/follow_service_spec.rb'
|
||||
- 'spec/services/import_service_spec.rb'
|
||||
- 'spec/services/mute_service_spec.rb'
|
||||
- 'spec/services/notify_service_spec.rb'
|
||||
- 'spec/services/post_status_service_spec.rb'
|
||||
- 'spec/services/precompute_feed_service_spec.rb'
|
||||
- 'spec/services/process_mentions_service_spec.rb'
|
||||
- 'spec/services/purge_domain_service_spec.rb'
|
||||
- 'spec/services/reblog_service_spec.rb'
|
||||
- 'spec/services/reject_follow_service_spec.rb'
|
||||
- 'spec/services/remove_from_followers_service_spec.rb'
|
||||
- 'spec/services/remove_status_service_spec.rb'
|
||||
- 'spec/services/report_service_spec.rb'
|
||||
- 'spec/services/resolve_account_service_spec.rb'
|
||||
- 'spec/services/resolve_url_service_spec.rb'
|
||||
- 'spec/services/search_service_spec.rb'
|
||||
- 'spec/services/suspend_account_service_spec.rb'
|
||||
- 'spec/services/unallow_domain_service_spec.rb'
|
||||
- 'spec/services/unblock_domain_service_spec.rb'
|
||||
- 'spec/services/unblock_service_spec.rb'
|
||||
- 'spec/services/unfollow_service_spec.rb'
|
||||
- 'spec/services/unsuspend_account_service_spec.rb'
|
||||
- 'spec/services/update_account_service_spec.rb'
|
||||
- 'spec/services/update_status_service_spec.rb'
|
||||
- 'spec/services/verify_link_service_spec.rb'
|
||||
- 'spec/validators/blacklisted_email_validator_spec.rb'
|
||||
- 'spec/validators/email_mx_validator_spec.rb'
|
||||
- 'spec/validators/note_length_validator_spec.rb'
|
||||
- 'spec/validators/reaction_validator_spec.rb'
|
||||
- 'spec/validators/status_length_validator_spec.rb'
|
||||
- 'spec/validators/status_pin_validator_spec.rb'
|
||||
- 'spec/validators/unique_username_validator_spec.rb'
|
||||
- 'spec/workers/activitypub/delivery_worker_spec.rb'
|
||||
- 'spec/workers/activitypub/distribute_poll_update_worker_spec.rb'
|
||||
- 'spec/workers/activitypub/distribution_worker_spec.rb'
|
||||
- 'spec/workers/activitypub/fetch_replies_worker_spec.rb'
|
||||
- 'spec/workers/activitypub/move_distribution_worker_spec.rb'
|
||||
- 'spec/workers/activitypub/processing_worker_spec.rb'
|
||||
- 'spec/workers/activitypub/status_update_distribution_worker_spec.rb'
|
||||
- 'spec/workers/activitypub/update_distribution_worker_spec.rb'
|
||||
- 'spec/workers/admin/domain_purge_worker_spec.rb'
|
||||
- 'spec/workers/domain_block_worker_spec.rb'
|
||||
- 'spec/workers/domain_clear_media_worker_spec.rb'
|
||||
- 'spec/workers/feed_insert_worker_spec.rb'
|
||||
- 'spec/workers/move_worker_spec.rb'
|
||||
- 'spec/workers/publish_scheduled_announcement_worker_spec.rb'
|
||||
- 'spec/workers/publish_scheduled_status_worker_spec.rb'
|
||||
- 'spec/workers/refollow_worker_spec.rb'
|
||||
- 'spec/workers/regeneration_worker_spec.rb'
|
||||
- 'spec/workers/scheduler/accounts_statuses_cleanup_scheduler_spec.rb'
|
||||
- 'spec/workers/scheduler/user_cleanup_scheduler_spec.rb'
|
||||
- 'spec/workers/unfollow_follow_worker_spec.rb'
|
||||
- 'spec/workers/web/push_notification_worker_spec.rb'
|
||||
|
||||
# Configuration parameters: AllowedGroups.
|
||||
RSpec/NestedGroups:
|
||||
Max: 6
|
||||
|
@ -1476,7 +1272,6 @@ Rails/CompactBlank:
|
|||
- 'app/helpers/statuses_helper.rb'
|
||||
- 'app/models/concerns/attachmentable.rb'
|
||||
- 'app/models/poll.rb'
|
||||
- 'app/models/user.rb'
|
||||
- 'app/services/import_service.rb'
|
||||
- 'config/initializers/paperclip.rb'
|
||||
|
||||
|
@ -1527,7 +1322,6 @@ Rails/FilePath:
|
|||
- 'app/validators/reaction_validator.rb'
|
||||
- 'config/environments/test.rb'
|
||||
- 'db/migrate/20170716191202_add_hide_notifications_to_mute.rb'
|
||||
- 'db/migrate/20170918125918_ids_to_bigints.rb'
|
||||
- 'db/migrate/20171005171936_add_disabled_to_custom_emojis.rb'
|
||||
- 'db/migrate/20171028221157_add_reblogs_to_follows.rb'
|
||||
- 'db/migrate/20171107143332_add_memorial_to_accounts.rb'
|
||||
|
@ -1637,18 +1431,6 @@ Rails/I18nLocaleTexts:
|
|||
- 'lib/tasks/mastodon.rake'
|
||||
- 'spec/helpers/flashes_helper_spec.rb'
|
||||
|
||||
# This cop supports unsafe autocorrection (--autocorrect-all).
|
||||
Rails/IgnoredColumnsAssignment:
|
||||
Exclude:
|
||||
- 'app/models/account.rb'
|
||||
- 'app/models/account_stat.rb'
|
||||
- 'app/models/admin/action_log.rb'
|
||||
- 'app/models/custom_filter.rb'
|
||||
- 'app/models/email_domain_block.rb'
|
||||
- 'app/models/report.rb'
|
||||
- 'app/models/status_edit.rb'
|
||||
- 'app/models/user.rb'
|
||||
|
||||
# Configuration parameters: IgnoreScopes, Include.
|
||||
# Include: app/models/**/*.rb
|
||||
Rails/InverseOf:
|
||||
|
@ -2425,11 +2207,6 @@ Style/HashTransformValues:
|
|||
- 'app/serializers/rest/web_push_subscription_serializer.rb'
|
||||
- 'app/services/import_service.rb'
|
||||
|
||||
# This cop supports unsafe autocorrection (--autocorrect-all).
|
||||
Style/IdenticalConditionalBranches:
|
||||
Exclude:
|
||||
- 'config/initializers/content_security_policy.rb'
|
||||
|
||||
# This cop supports safe autocorrection (--autocorrect).
|
||||
Style/IfUnlessModifier:
|
||||
Exclude:
|
||||
|
@ -2529,11 +2306,6 @@ Style/PreferredHashMethods:
|
|||
Exclude:
|
||||
- 'config/initializers/paperclip.rb'
|
||||
|
||||
# This cop supports safe autocorrection (--autocorrect).
|
||||
Style/RedundantBegin:
|
||||
Exclude:
|
||||
- 'config/initializers/simple_form.rb'
|
||||
|
||||
# This cop supports safe autocorrection (--autocorrect).
|
||||
Style/RedundantConstantBase:
|
||||
Exclude:
|
||||
|
|
|
@ -44,3 +44,6 @@ Gruntfile.js
|
|||
# for specific ignore
|
||||
!.svgo.yml
|
||||
!sass-lint/**/*.yml
|
||||
|
||||
# breaks lint-staged or generally anything using https://github.com/eemeli/yaml/issues/384
|
||||
!**/yaml/dist/**/doc
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# This needs to be bullseye-slim because the Ruby image is built on bullseye-slim
|
||||
ARG NODE_VERSION="16.19-bullseye-slim"
|
||||
|
||||
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.1-slim as ruby
|
||||
FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.2-slim as ruby
|
||||
FROM node:${NODE_VERSION} as build
|
||||
|
||||
COPY --link --from=ruby /opt/ruby /opt/ruby
|
||||
|
|
4
Gemfile
4
Gemfile
|
@ -87,10 +87,10 @@ gem 'simple-navigation', '~> 4.4'
|
|||
gem 'simple_form', '~> 5.2'
|
||||
gem 'sprockets-rails', '~> 3.4', require: 'sprockets/railtie'
|
||||
gem 'stoplight', '~> 3.0.1'
|
||||
gem 'strong_migrations', '~> 0.7'
|
||||
gem 'strong_migrations', '~> 0.8'
|
||||
gem 'tty-prompt', '~> 0.23', require: false
|
||||
gem 'twitter-text', '~> 3.1.0'
|
||||
gem 'tzinfo-data', '~> 1.2022'
|
||||
gem 'tzinfo-data', '~> 1.2023'
|
||||
gem 'webpacker', '~> 5.4'
|
||||
gem 'webpush', github: 'ClearlyClaire/webpush', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9'
|
||||
gem 'webauthn', '~> 3.0'
|
||||
|
|
14
Gemfile.lock
14
Gemfile.lock
|
@ -109,16 +109,16 @@ GEM
|
|||
attr_required (1.0.1)
|
||||
awrence (1.2.1)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.711.0)
|
||||
aws-sdk-core (3.170.0)
|
||||
aws-partitions (1.735.0)
|
||||
aws-sdk-core (3.171.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.62.0)
|
||||
aws-sdk-kms (1.63.0)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.119.1)
|
||||
aws-sdk-s3 (1.119.2)
|
||||
aws-sdk-core (~> 3, >= 3.165.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.4)
|
||||
|
@ -719,7 +719,7 @@ GEM
|
|||
unf (~> 0.1.0)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
tzinfo-data (1.2022.7)
|
||||
tzinfo-data (1.2023.2)
|
||||
tzinfo (>= 1.0.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
|
@ -885,11 +885,11 @@ DEPENDENCIES
|
|||
sprockets-rails (~> 3.4)
|
||||
stackprof
|
||||
stoplight (~> 3.0.1)
|
||||
strong_migrations (~> 0.7)
|
||||
strong_migrations (~> 0.8)
|
||||
thor (~> 1.2)
|
||||
tty-prompt (~> 0.23)
|
||||
twitter-text (~> 3.1.0)
|
||||
tzinfo-data (~> 1.2022)
|
||||
tzinfo-data (~> 1.2023)
|
||||
webauthn (~> 3.0)
|
||||
webmock (~> 3.18)
|
||||
webpacker (~> 5.4)
|
||||
|
|
|
@ -13,7 +13,7 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
|
|||
def update
|
||||
@account = current_account
|
||||
UpdateAccountService.new.call(@account, account_params, raise_error: true)
|
||||
UserSettingsDecorator.new(current_user).update(user_settings_params) if user_settings_params
|
||||
current_user.update(user_params) if user_params
|
||||
ActivityPub::UpdateDistributionWorker.perform_async(@account.id)
|
||||
render json: @account, serializer: REST::CredentialAccountSerializer
|
||||
end
|
||||
|
@ -34,15 +34,17 @@ class Api::V1::Accounts::CredentialsController < Api::BaseController
|
|||
)
|
||||
end
|
||||
|
||||
def user_settings_params
|
||||
def user_params
|
||||
return nil if params[:source].blank?
|
||||
|
||||
source_params = params.require(:source)
|
||||
|
||||
{
|
||||
'setting_default_privacy' => source_params.fetch(:privacy, @account.user.setting_default_privacy),
|
||||
'setting_default_sensitive' => source_params.fetch(:sensitive, @account.user.setting_default_sensitive),
|
||||
'setting_default_language' => source_params.fetch(:language, @account.user.setting_default_language),
|
||||
settings_attributes: {
|
||||
default_privacy: source_params.fetch(:privacy, @account.user.setting_default_privacy),
|
||||
default_sensitive: source_params.fetch(:sensitive, @account.user.setting_default_sensitive),
|
||||
default_language: source_params.fetch(:language, @account.user.setting_default_language),
|
||||
},
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ class Api::V1::StreamingController < Api::BaseController
|
|||
if Rails.configuration.x.streaming_api_base_url == request.host
|
||||
not_found
|
||||
else
|
||||
redirect_to streaming_api_url, status: 301
|
||||
redirect_to streaming_api_url, status: 301, allow_other_host: true
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController
|
|||
super(hash)
|
||||
|
||||
resource.locale = I18n.locale
|
||||
resource.invite_code = params[:invite_code] if resource.invite_code.blank?
|
||||
resource.invite_code = @invite&.code if resource.invite_code.blank?
|
||||
resource.registration_form_time = session[:registration_form_time]
|
||||
resource.sign_up_ip = request.remote_ip
|
||||
|
||||
|
|
|
@ -13,7 +13,11 @@ class BackupsController < ApplicationController
|
|||
when :s3
|
||||
redirect_to @backup.dump.expiring_url(10)
|
||||
when :fog
|
||||
redirect_to @backup.dump.expiring_url(Time.now.utc + 10)
|
||||
if Paperclip::Attachment.default_options.dig(:storage, :fog_credentials, :openstack_temp_url_key).present?
|
||||
redirect_to @backup.dump.expiring_url(Time.now.utc + 10)
|
||||
else
|
||||
redirect_to full_asset_url(@backup.dump.url)
|
||||
end
|
||||
when :filesystem
|
||||
redirect_to full_asset_url(@backup.dump.url)
|
||||
end
|
||||
|
|
|
@ -10,7 +10,8 @@ module AccountControllerConcern
|
|||
|
||||
included do
|
||||
before_action :set_instance_presenter
|
||||
before_action :set_link_headers, if: -> { request.format.nil? || request.format == :html }
|
||||
|
||||
after_action :set_link_headers, if: -> { request.format.nil? || request.format == :html }
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -23,7 +23,7 @@ class MediaProxyController < ApplicationController
|
|||
redownload! if @media_attachment.needs_redownload? && !reject_media?
|
||||
end
|
||||
|
||||
redirect_to full_asset_url(@media_attachment.file.url(version))
|
||||
redirect_to full_asset_url(@media_attachment.file.url(version)), allow_other_host: true
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -21,18 +21,8 @@ class Settings::FlavoursController < Settings::BaseController
|
|||
end
|
||||
|
||||
def update
|
||||
user_settings.update(user_settings_params)
|
||||
current_user.settings.update(flavour: params.require(:flavour), skin: params.dig(:user, :setting_skin))
|
||||
current_user.save
|
||||
redirect_to action: 'show', flavour: params[:flavour]
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def user_settings
|
||||
UserSettingsDecorator.new(current_user)
|
||||
end
|
||||
|
||||
def user_settings_params
|
||||
{ setting_flavour: params.require(:flavour),
|
||||
setting_skin: params.dig(:user, :setting_skin) }.with_indifferent_access
|
||||
end
|
||||
end
|
||||
|
|
|
@ -4,8 +4,6 @@ class Settings::PreferencesController < Settings::BaseController
|
|||
def show; end
|
||||
|
||||
def update
|
||||
user_settings.update(user_settings_params.to_h)
|
||||
|
||||
if current_user.update(user_params)
|
||||
I18n.locale = current_user.locale
|
||||
redirect_to after_update_redirect_path, notice: I18n.t('generic.changes_saved_msg')
|
||||
|
@ -20,47 +18,7 @@ class Settings::PreferencesController < Settings::BaseController
|
|||
settings_preferences_path
|
||||
end
|
||||
|
||||
def user_settings
|
||||
UserSettingsDecorator.new(current_user)
|
||||
end
|
||||
|
||||
def user_params
|
||||
params.require(:user).permit(
|
||||
:locale,
|
||||
chosen_languages: []
|
||||
)
|
||||
end
|
||||
|
||||
def user_settings_params
|
||||
params.require(:user).permit(
|
||||
:setting_default_privacy,
|
||||
:setting_default_sensitive,
|
||||
:setting_default_language,
|
||||
:setting_unfollow_modal,
|
||||
:setting_boost_modal,
|
||||
:setting_favourite_modal,
|
||||
:setting_delete_modal,
|
||||
:setting_auto_play_gif,
|
||||
:setting_display_media,
|
||||
:setting_expand_spoilers,
|
||||
:setting_reduce_motion,
|
||||
:setting_disable_swiping,
|
||||
:setting_system_font_ui,
|
||||
:setting_system_emoji_font,
|
||||
:setting_noindex,
|
||||
:setting_hide_followers_count,
|
||||
:setting_aggregate_reblogs,
|
||||
:setting_show_application,
|
||||
:setting_advanced_layout,
|
||||
:setting_default_content_type,
|
||||
:setting_use_blurhash,
|
||||
:setting_use_pending_items,
|
||||
:setting_trends,
|
||||
:setting_crop_images,
|
||||
:setting_visible_reactions,
|
||||
:setting_always_send_emails,
|
||||
notification_emails: %i(follow follow_request reblog favourite mention report pending_account trending_tag trending_link trending_status appeal),
|
||||
interactions: %i(must_be_follower must_be_following must_be_following_dm)
|
||||
)
|
||||
params.require(:user).permit(:locale, chosen_languages: [], settings_attributes: UserSettings.keys)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,11 +9,12 @@ class StatusesController < ApplicationController
|
|||
before_action :require_account_signature!, only: [:show, :activity], if: -> { request.format == :json && authorized_fetch_mode? }
|
||||
before_action :set_status
|
||||
before_action :set_instance_presenter
|
||||
before_action :set_link_headers
|
||||
before_action :redirect_to_original, only: :show
|
||||
before_action :set_cache_headers
|
||||
before_action :set_body_classes, only: :embed
|
||||
|
||||
after_action :set_link_headers
|
||||
|
||||
skip_around_action :set_locale, if: -> { request.format == :json }
|
||||
skip_before_action :require_functional!, only: [:show, :embed], unless: :whitelist_mode?
|
||||
|
||||
|
@ -71,6 +72,6 @@ class StatusesController < ApplicationController
|
|||
end
|
||||
|
||||
def redirect_to_original
|
||||
redirect_to ActivityPub::TagManager.instance.url_for(@status.reblog) if @status.reblog?
|
||||
redirect_to(ActivityPub::TagManager.instance.url_for(@status.reblog), allow_other_host: true) if @status.reblog?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -28,7 +28,7 @@ module AccountsHelper
|
|||
end
|
||||
|
||||
def hide_followers_count?(account)
|
||||
Setting.hide_followers_count || account.user&.setting_hide_followers_count
|
||||
Setting.hide_followers_count || account.user&.settings['hide_followers_count']
|
||||
end
|
||||
|
||||
def account_description(account)
|
||||
|
|
|
@ -8,7 +8,7 @@ module HomeHelper
|
|||
end
|
||||
|
||||
def account_link_to(account, button = '', path: nil)
|
||||
content_tag(:div, class: 'account') do
|
||||
content_tag(:div, class: 'account account--minimal') do
|
||||
content_tag(:div, class: 'account__wrapper') do
|
||||
section = if account.nil?
|
||||
content_tag(:div, class: 'account__display-name') do
|
||||
|
|
|
@ -88,7 +88,9 @@ class Explore extends React.PureComponent {
|
|||
<Route path='/explore/tags' component={Tags} />
|
||||
<Route path='/explore/links' component={Links} />
|
||||
<Route path='/explore/suggestions' component={Suggestions} />
|
||||
<Route exact path={['/explore', '/explore/posts', '/search']} component={Statuses} componentParams={{ multiColumn }} />
|
||||
<Route exact path={['/explore', '/explore/posts', '/search']}>
|
||||
<Statuses multiColumn={multiColumn} />
|
||||
</Route>
|
||||
</Switch>
|
||||
|
||||
<Helmet>
|
||||
|
|
|
@ -12,6 +12,7 @@ if (process.env.NODE_ENV === 'development') {
|
|||
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1331135
|
||||
performance.setResourceTimingBufferSize(Infinity);
|
||||
}
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||
marky = require('marky');
|
||||
// allows us to easily do e.g. ReactPerf.printWasted() while debugging
|
||||
//window.ReactPerf = require('react-addons-perf');
|
||||
|
|
|
@ -4,7 +4,6 @@ import { defineMessages } from 'react-intl';
|
|||
import api from 'mastodon/api';
|
||||
import { search as emojiSearch } from 'mastodon/features/emoji/emoji_mart_search_light';
|
||||
import { tagHistory } from 'mastodon/settings';
|
||||
import resizeImage from 'mastodon/utils/resize_image';
|
||||
import { showAlert, showAlertForError } from './alerts';
|
||||
import { useEmoji } from './emojis';
|
||||
import { importFetchedAccounts, importFetchedStatus } from './importer';
|
||||
|
@ -276,46 +275,42 @@ export function uploadCompose(files) {
|
|||
|
||||
dispatch(uploadComposeRequest());
|
||||
|
||||
for (const [i, f] of Array.from(files).entries()) {
|
||||
for (const [i, file] of Array.from(files).entries()) {
|
||||
if (media.size + i > 3) break;
|
||||
|
||||
resizeImage(f).then(file => {
|
||||
const data = new FormData();
|
||||
data.append('file', file);
|
||||
// Account for disparity in size of original image and resized data
|
||||
total += file.size - f.size;
|
||||
const data = new FormData();
|
||||
data.append('file', file);
|
||||
|
||||
return api(getState).post('/api/v2/media', data, {
|
||||
onUploadProgress: function({ loaded }){
|
||||
progress[i] = loaded;
|
||||
dispatch(uploadComposeProgress(progress.reduce((a, v) => a + v, 0), total));
|
||||
},
|
||||
}).then(({ status, data }) => {
|
||||
// If server-side processing of the media attachment has not completed yet,
|
||||
// poll the server until it is, before showing the media attachment as uploaded
|
||||
api(getState).post('/api/v2/media', data, {
|
||||
onUploadProgress: function({ loaded }){
|
||||
progress[i] = loaded;
|
||||
dispatch(uploadComposeProgress(progress.reduce((a, v) => a + v, 0), total));
|
||||
},
|
||||
}).then(({ status, data }) => {
|
||||
// If server-side processing of the media attachment has not completed yet,
|
||||
// poll the server until it is, before showing the media attachment as uploaded
|
||||
|
||||
if (status === 200) {
|
||||
dispatch(uploadComposeSuccess(data, f));
|
||||
} else if (status === 202) {
|
||||
dispatch(uploadComposeProcessing());
|
||||
if (status === 200) {
|
||||
dispatch(uploadComposeSuccess(data, file));
|
||||
} else if (status === 202) {
|
||||
dispatch(uploadComposeProcessing());
|
||||
|
||||
let tryCount = 1;
|
||||
let tryCount = 1;
|
||||
|
||||
const poll = () => {
|
||||
api(getState).get(`/api/v1/media/${data.id}`).then(response => {
|
||||
if (response.status === 200) {
|
||||
dispatch(uploadComposeSuccess(response.data, f));
|
||||
} else if (response.status === 206) {
|
||||
const retryAfter = (Math.log2(tryCount) || 1) * 1000;
|
||||
tryCount += 1;
|
||||
setTimeout(() => poll(), retryAfter);
|
||||
}
|
||||
}).catch(error => dispatch(uploadComposeFail(error)));
|
||||
};
|
||||
const poll = () => {
|
||||
api(getState).get(`/api/v1/media/${data.id}`).then(response => {
|
||||
if (response.status === 200) {
|
||||
dispatch(uploadComposeSuccess(response.data, file));
|
||||
} else if (response.status === 206) {
|
||||
const retryAfter = (Math.log2(tryCount) || 1) * 1000;
|
||||
tryCount += 1;
|
||||
setTimeout(() => poll(), retryAfter);
|
||||
}
|
||||
}).catch(error => dispatch(uploadComposeFail(error)));
|
||||
};
|
||||
|
||||
poll();
|
||||
}
|
||||
});
|
||||
poll();
|
||||
}
|
||||
}).catch(error => dispatch(uploadComposeFail(error)));
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import React, { Fragment } from 'react';
|
||||
import React from 'react';
|
||||
import ImmutablePropTypes from 'react-immutable-proptypes';
|
||||
import PropTypes from 'prop-types';
|
||||
import Avatar from './avatar';
|
||||
|
@ -10,6 +10,10 @@ import { me } from '../initial_state';
|
|||
import RelativeTimestamp from './relative_timestamp';
|
||||
import Skeleton from 'mastodon/components/skeleton';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { counterRenderer } from 'mastodon/components/common_counter';
|
||||
import ShortNumber from 'mastodon/components/short_number';
|
||||
import Icon from 'mastodon/components/icon';
|
||||
import classNames from 'classnames';
|
||||
|
||||
const messages = defineMessages({
|
||||
follow: { id: 'account.follow', defaultMessage: 'Follow' },
|
||||
|
@ -23,6 +27,26 @@ const messages = defineMessages({
|
|||
block: { id: 'account.block', defaultMessage: 'Block @{name}' },
|
||||
});
|
||||
|
||||
class VerifiedBadge extends React.PureComponent {
|
||||
|
||||
static propTypes = {
|
||||
link: PropTypes.string.isRequired,
|
||||
verifiedAt: PropTypes.string.isRequired,
|
||||
};
|
||||
|
||||
render () {
|
||||
const { link } = this.props;
|
||||
|
||||
return (
|
||||
<span className='verified-badge'>
|
||||
<Icon id='check' className='verified-badge__mark' />
|
||||
<span dangerouslySetInnerHTML={{ __html: link }} />
|
||||
</span>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class Account extends ImmutablePureComponent {
|
||||
|
||||
static propTypes = {
|
||||
|
@ -34,6 +58,7 @@ class Account extends ImmutablePureComponent {
|
|||
onMuteNotifications: PropTypes.func.isRequired,
|
||||
intl: PropTypes.object.isRequired,
|
||||
hidden: PropTypes.bool,
|
||||
minimal: PropTypes.bool,
|
||||
actionIcon: PropTypes.string,
|
||||
actionTitle: PropTypes.string,
|
||||
defaultAction: PropTypes.string,
|
||||
|
@ -69,15 +94,19 @@ class Account extends ImmutablePureComponent {
|
|||
};
|
||||
|
||||
render () {
|
||||
const { account, intl, hidden, onActionClick, actionIcon, actionTitle, defaultAction, size } = this.props;
|
||||
const { account, intl, hidden, onActionClick, actionIcon, actionTitle, defaultAction, size, minimal } = this.props;
|
||||
|
||||
if (!account) {
|
||||
return (
|
||||
<div className='account'>
|
||||
<div className={classNames('account', { 'account--minimal': minimal })}>
|
||||
<div className='account__wrapper'>
|
||||
<div className='account__display-name'>
|
||||
<div className='account__avatar-wrapper'><Skeleton width={36} height={36} /></div>
|
||||
<DisplayName />
|
||||
<div className='account__avatar-wrapper'><Skeleton width={size} height={size} /></div>
|
||||
|
||||
<div>
|
||||
<DisplayName />
|
||||
<Skeleton width='7ch' />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -86,10 +115,10 @@ class Account extends ImmutablePureComponent {
|
|||
|
||||
if (hidden) {
|
||||
return (
|
||||
<Fragment>
|
||||
<>
|
||||
{account.get('display_name')}
|
||||
{account.get('username')}
|
||||
</Fragment>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -117,10 +146,10 @@ class Account extends ImmutablePureComponent {
|
|||
hidingNotificationsButton = <IconButton active icon='bell-slash' title={intl.formatMessage(messages.mute_notifications, { name: account.get('username') })} onClick={this.handleMuteNotifications} />;
|
||||
}
|
||||
buttons = (
|
||||
<Fragment>
|
||||
<>
|
||||
<IconButton active icon='volume-up' title={intl.formatMessage(messages.unmute, { name: account.get('username') })} onClick={this.handleMute} />
|
||||
{hidingNotificationsButton}
|
||||
</Fragment>
|
||||
</>
|
||||
);
|
||||
} else if (defaultAction === 'mute') {
|
||||
buttons = <IconButton icon='volume-off' title={intl.formatMessage(messages.mute, { name: account.get('username') })} onClick={this.handleMute} />;
|
||||
|
@ -131,23 +160,39 @@ class Account extends ImmutablePureComponent {
|
|||
}
|
||||
}
|
||||
|
||||
let mute_expires_at;
|
||||
let muteTimeRemaining;
|
||||
|
||||
if (account.get('mute_expires_at')) {
|
||||
mute_expires_at = <div><RelativeTimestamp timestamp={account.get('mute_expires_at')} futureDate /></div>;
|
||||
muteTimeRemaining = <>· <RelativeTimestamp timestamp={account.get('mute_expires_at')} futureDate /></>;
|
||||
}
|
||||
|
||||
let verification;
|
||||
|
||||
const firstVerifiedField = account.get('fields').find(item => !!item.get('verified_at'));
|
||||
|
||||
if (firstVerifiedField) {
|
||||
verification = <>· <VerifiedBadge link={firstVerifiedField.get('value')} verifiedAt={firstVerifiedField.get('verified_at')} /></>;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='account'>
|
||||
<div className={classNames('account', { 'account--minimal': minimal })}>
|
||||
<div className='account__wrapper'>
|
||||
<Link key={account.get('id')} className='account__display-name' title={account.get('acct')} to={`/@${account.get('acct')}`}>
|
||||
<div className='account__avatar-wrapper'><Avatar account={account} size={size} /></div>
|
||||
{mute_expires_at}
|
||||
<DisplayName account={account} />
|
||||
<div className='account__avatar-wrapper'>
|
||||
<Avatar account={account} size={size} />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<DisplayName account={account} />
|
||||
{!minimal && <><ShortNumber value={account.get('followers_count')} renderer={counterRenderer('followers')} /> {verification} {muteTimeRemaining}</>}
|
||||
</div>
|
||||
</Link>
|
||||
|
||||
<div className='account__relationship'>
|
||||
{buttons}
|
||||
</div>
|
||||
{!minimal && (
|
||||
<div className='account__relationship'>
|
||||
{buttons}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
|
|
@ -59,7 +59,7 @@ class ServerBanner extends React.PureComponent {
|
|||
<div className='server-banner__meta__column'>
|
||||
<h4><FormattedMessage id='server_banner.administered_by' defaultMessage='Administered by:' /></h4>
|
||||
|
||||
<Account id={server.getIn(['contact', 'account', 'id'])} size={36} />
|
||||
<Account id={server.getIn(['contact', 'account', 'id'])} size={36} minimal />
|
||||
</div>
|
||||
|
||||
<div className='server-banner__meta__column'>
|
||||
|
|
|
@ -391,6 +391,13 @@ class Status extends ImmutablePureComponent {
|
|||
|
||||
account = status.get('account');
|
||||
status = status.get('reblog');
|
||||
} else if (status.get('visibility') === 'direct') {
|
||||
prepend = (
|
||||
<div className='status__prepend'>
|
||||
<div className='status__prepend-icon-wrapper'><Icon id='at' className='status__prepend-icon' fixedWidth /></div>
|
||||
<FormattedMessage id='status.direct_indicator' defaultMessage='Private mention' />
|
||||
</div>
|
||||
);
|
||||
} else if (showThread && status.get('in_reply_to_id') && status.get('in_reply_to_account_id') === status.getIn(['account', 'id'])) {
|
||||
const display_name_html = { __html: status.getIn(['account', 'display_name_html']) };
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ const messages = defineMessages({
|
|||
delete: { id: 'status.delete', defaultMessage: 'Delete' },
|
||||
redraft: { id: 'status.redraft', defaultMessage: 'Delete & re-draft' },
|
||||
edit: { id: 'status.edit', defaultMessage: 'Edit' },
|
||||
direct: { id: 'status.direct', defaultMessage: 'Direct message @{name}' },
|
||||
direct: { id: 'status.direct', defaultMessage: 'Privately mention @{name}' },
|
||||
mention: { id: 'status.mention', defaultMessage: 'Mention @{name}' },
|
||||
mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' },
|
||||
block: { id: 'account.block', defaultMessage: 'Block @{name}' },
|
||||
|
|
|
@ -123,7 +123,7 @@ class About extends React.PureComponent {
|
|||
<div className='about__meta__column'>
|
||||
<h4><FormattedMessage id='server_banner.administered_by' defaultMessage='Administered by:' /></h4>
|
||||
|
||||
<Account id={server.getIn(['contact', 'account', 'id'])} size={36} />
|
||||
<Account id={server.getIn(['contact', 'account', 'id'])} size={36} minimal />
|
||||
</div>
|
||||
|
||||
<hr className='about__meta__divider' />
|
||||
|
|
|
@ -28,7 +28,7 @@ const messages = defineMessages({
|
|||
linkVerifiedOn: { id: 'account.link_verified_on', defaultMessage: 'Ownership of this link was checked on {date}' },
|
||||
account_locked: { id: 'account.locked_info', defaultMessage: 'This account privacy status is set to locked. The owner manually reviews who can follow them.' },
|
||||
mention: { id: 'account.mention', defaultMessage: 'Mention @{name}' },
|
||||
direct: { id: 'account.direct', defaultMessage: 'Direct message @{name}' },
|
||||
direct: { id: 'account.direct', defaultMessage: 'Privately mention @{name}' },
|
||||
unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },
|
||||
block: { id: 'account.block', defaultMessage: 'Block @{name}' },
|
||||
mute: { id: 'account.mute', defaultMessage: 'Mute @{name}' },
|
||||
|
|
|
@ -11,7 +11,7 @@ import ColumnHeader from 'mastodon/components/column_header';
|
|||
import ConversationsListContainer from './containers/conversations_list_container';
|
||||
|
||||
const messages = defineMessages({
|
||||
title: { id: 'column.direct', defaultMessage: 'Direct messages' },
|
||||
title: { id: 'column.direct', defaultMessage: 'Private mentions' },
|
||||
});
|
||||
|
||||
class DirectTimeline extends React.PureComponent {
|
||||
|
@ -91,7 +91,7 @@ class DirectTimeline extends React.PureComponent {
|
|||
timelineId='direct'
|
||||
onLoadMore={this.handleLoadMore}
|
||||
prepend={<div className='follow_requests-unlocked_explanation'><span><FormattedMessage id='compose_form.encryption_warning' defaultMessage='Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.' /> <a href='/terms' target='_blank'><FormattedMessage id='compose_form.direct_message_warning_learn_more' defaultMessage='Learn more' /></a></span></div>}
|
||||
emptyMessage={<FormattedMessage id='empty_column.direct' defaultMessage="You don't have any direct messages yet. When you send or receive one, it will show up here." />}
|
||||
emptyMessage={<FormattedMessage id='empty_column.direct' defaultMessage="You don't have any private mentions yet. When you send or receive one, it will show up here." />}
|
||||
/>
|
||||
|
||||
<Helmet>
|
||||
|
|
|
@ -88,7 +88,9 @@ class Explore extends React.PureComponent {
|
|||
<Route path='/explore/tags' component={Tags} />
|
||||
<Route path='/explore/links' component={Links} />
|
||||
<Route path='/explore/suggestions' component={Suggestions} />
|
||||
<Route exact path={['/explore', '/explore/posts', '/search']} component={Statuses} componentParams={{ multiColumn }} />
|
||||
<Route exact path={['/explore', '/explore/posts', '/search']}>
|
||||
<Statuses multiColumn={multiColumn} />
|
||||
</Route>
|
||||
</Switch>
|
||||
|
||||
<Helmet>
|
||||
|
|
|
@ -23,7 +23,7 @@ const messages = defineMessages({
|
|||
settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings' },
|
||||
community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },
|
||||
explore: { id: 'navigation_bar.explore', defaultMessage: 'Explore' },
|
||||
direct: { id: 'navigation_bar.direct', defaultMessage: 'Direct messages' },
|
||||
direct: { id: 'navigation_bar.direct', defaultMessage: 'Private mentions' },
|
||||
bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' },
|
||||
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
|
||||
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
|
||||
|
|
|
@ -14,7 +14,7 @@ const messages = defineMessages({
|
|||
delete: { id: 'status.delete', defaultMessage: 'Delete' },
|
||||
redraft: { id: 'status.redraft', defaultMessage: 'Delete & re-draft' },
|
||||
edit: { id: 'status.edit', defaultMessage: 'Edit' },
|
||||
direct: { id: 'status.direct', defaultMessage: 'Direct message @{name}' },
|
||||
direct: { id: 'status.direct', defaultMessage: 'Privately mention @{name}' },
|
||||
mention: { id: 'status.mention', defaultMessage: 'Mention @{name}' },
|
||||
reply: { id: 'status.reply', defaultMessage: 'Reply' },
|
||||
reblog: { id: 'status.reblog', defaultMessage: 'Boost' },
|
||||
|
|
|
@ -6,7 +6,7 @@ import DisplayName from '../../../components/display_name';
|
|||
import StatusContent from '../../../components/status_content';
|
||||
import MediaGallery from '../../../components/media_gallery';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { injectIntl, defineMessages, FormattedDate } from 'react-intl';
|
||||
import { injectIntl, defineMessages, FormattedDate, FormattedMessage } from 'react-intl';
|
||||
import Card from './card';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import Video from '../../video';
|
||||
|
@ -266,7 +266,13 @@ class DetailedStatus extends ImmutablePureComponent {
|
|||
|
||||
return (
|
||||
<div style={outerStyle}>
|
||||
<div ref={this.setRef} className={classNames('detailed-status', `detailed-status-${status.get('visibility')}`, { compact })}>
|
||||
<div ref={this.setRef} className={classNames('detailed-status', { compact })}>
|
||||
{status.get('visibility') === 'direct' && (
|
||||
<div className='status__prepend'>
|
||||
<div className='status__prepend-icon-wrapper'><Icon id='at' className='status__prepend-icon' fixedWidth /></div>
|
||||
<FormattedMessage id='status.direct_indicator' defaultMessage='Private mention' />
|
||||
</div>
|
||||
)}
|
||||
<a href={`/@${status.getIn(['account', 'acct'])}`} onClick={this.handleAccountClick} className='detailed-status__display-name'>
|
||||
<div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={46} /></div>
|
||||
<DisplayName account={status.get('account')} localDomain={this.props.domain} />
|
||||
|
|
|
@ -646,7 +646,7 @@ class Status extends ImmutablePureComponent {
|
|||
{ancestors}
|
||||
|
||||
<HotKeys handlers={handlers}>
|
||||
<div className={classNames('focusable', 'detailed-status__wrapper')} tabIndex='0' aria-label={textForScreenReader(intl, status, false)}>
|
||||
<div className={classNames('focusable', 'detailed-status__wrapper', `detailed-status__wrapper-${status.get('visibility')}`)} tabIndex='0' aria-label={textForScreenReader(intl, status, false)}>
|
||||
<DetailedStatus
|
||||
key={`details-${status.get('id')}`}
|
||||
status={status}
|
||||
|
|
|
@ -18,7 +18,7 @@ const messages = defineMessages({
|
|||
explore: { id: 'explore.title', defaultMessage: 'Explore' },
|
||||
local: { id: 'tabs_bar.local_timeline', defaultMessage: 'Local' },
|
||||
federated: { id: 'tabs_bar.federated_timeline', defaultMessage: 'Federated' },
|
||||
direct: { id: 'navigation_bar.direct', defaultMessage: 'Direct messages' },
|
||||
direct: { id: 'navigation_bar.direct', defaultMessage: 'Private mentions' },
|
||||
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },
|
||||
bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' },
|
||||
lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' },
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Borrar",
|
||||
"status.detailed_status": "Vista de conversación detallada",
|
||||
"status.direct": "Mensache directo a @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Editar",
|
||||
"status.edited": "Editau {date}",
|
||||
"status.edited_x_times": "Editau {count, plural, one {{count} vez} other {{count} veces}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "احذف",
|
||||
"status.detailed_status": "تفاصيل المحادثة",
|
||||
"status.direct": "رسالة خاصة إلى @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "تعديل",
|
||||
"status.edited": "عُدّل في {date}",
|
||||
"status.edited_x_times": "عُدّل {count, plural, zero {} one {مرةً واحدة} two {مرّتان} few {{count} مرات} many {{count} مرة} other {{count} مرة}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Desaniciar",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Unviar un mensaxe direutu a @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Editóse'l {date}",
|
||||
"status.edited_x_times": "Editóse {count, plural, one {{count} vegada} other {{count} vegaes}}",
|
||||
|
|
|
@ -163,7 +163,7 @@
|
|||
"confirmations.domain_block.confirm": "Заблакіраваць дамен цалкам",
|
||||
"confirmations.domain_block.message": "Вы абсалютна дакладна ўпэўнены, што хочаце заблакіраваць {domain} зусім? У большасці выпадкаў, дастаткова некалькіх мэтавых блакіровак ці ігнараванняў. Вы перастанеце бачыць змесціва з гэтага дамену ва ўсіх стужках і апавяшчэннях. Вашы падпіскі з гэтага дамену будуць выдаленыя.",
|
||||
"confirmations.edit.confirm": "Рэдагаваць",
|
||||
"confirmations.edit.message": "Editing now will overwrite the message you are currently composing. Are you sure you want to proceed?",
|
||||
"confirmations.edit.message": "Калі вы зменіце зараз, гэта ператрэ паведамленне, якое вы пішаце. Вы ўпэўнены, што хочаце працягнуць?",
|
||||
"confirmations.logout.confirm": "Выйсці",
|
||||
"confirmations.logout.message": "Вы ўпэўненыя, што хочаце выйсці?",
|
||||
"confirmations.mute.confirm": "Ігнараваць",
|
||||
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Выдаліць",
|
||||
"status.detailed_status": "Дэтальны агляд размовы",
|
||||
"status.direct": "Асабістае паведамленне @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Рэдагаваць",
|
||||
"status.edited": "Адрэдагавана {date}",
|
||||
"status.edited_x_times": "Рэдагавана {count, plural, one {{count} раз} few {{count} разы} many {{count} разоў} other {{count} разу}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Изтриване",
|
||||
"status.detailed_status": "Подробен изглед на разговора",
|
||||
"status.direct": "Директно съобщение до @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Редактиране",
|
||||
"status.edited": "Редактирано на {date}",
|
||||
"status.edited_x_times": "Редактирано {count, plural,one {{count} път} other {{count} пъти}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "মুছে ফেলতে",
|
||||
"status.detailed_status": "বিস্তারিত কথোপকথনের হিসেবে দেখতে",
|
||||
"status.direct": "@{name} কে সরাসরি লেখা পাঠাতে",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Dilemel",
|
||||
"status.detailed_status": "Gwel kaozeadenn munudek",
|
||||
"status.direct": "Kas ur c'hannad eeun da @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Kemmañ",
|
||||
"status.edited": "Aozet {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Elimina",
|
||||
"status.detailed_status": "Vista detallada de la conversa",
|
||||
"status.direct": "Missatge directe a @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edita",
|
||||
"status.edited": "Editat {date}",
|
||||
"status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "سڕینەوە",
|
||||
"status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری",
|
||||
"status.direct": "پەیامی ڕاستەوخۆ @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "دەستکاری",
|
||||
"status.edited": "بەشداری {date}",
|
||||
"status.edited_x_times": "دەستکاریکراوە {count, plural, one {{count} کات} other {{count} کات}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Toglie",
|
||||
"status.detailed_status": "Vista in ditagliu di a cunversazione",
|
||||
"status.direct": "Mandà un missaghju @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Smazat",
|
||||
"status.detailed_status": "Podrobné zobrazení konverzace",
|
||||
"status.direct": "Poslat @{name} přímou zprávu",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Upravit",
|
||||
"status.edited": "Upraveno {date}",
|
||||
"status.edited_x_times": "Upraveno {count, plural, one {{count}krát} few {{count}krát} many {{count}krát} other {{count}krát}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Dileu",
|
||||
"status.detailed_status": "Golwg manwl o'r sgwrs",
|
||||
"status.direct": "Neges breifat @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Golygu",
|
||||
"status.edited": "Golygwyd {date}",
|
||||
"status.edited_x_times": "Golygwyd {count, plural, one {waith} two {waith} other {{count} gwaith}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Slet",
|
||||
"status.detailed_status": "Detaljeret samtalevisning",
|
||||
"status.direct": "Direkte besked til @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Redigér",
|
||||
"status.edited": "Redigeret {date}",
|
||||
"status.edited_x_times": "Redigeret {count, plural, one {{count} gang} other {{count} gange}}",
|
||||
|
|
|
@ -560,6 +560,7 @@
|
|||
"status.delete": "Beitrag löschen",
|
||||
"status.detailed_status": "Detaillierte Ansicht der Unterhaltung",
|
||||
"status.direct": "Direktnachricht an @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Beitrag bearbeiten",
|
||||
"status.edited": "Bearbeitet {date}",
|
||||
"status.edited_x_times": "{count, plural, one {{count} mal} other {{count} mal}} bearbeitet",
|
||||
|
|
|
@ -560,7 +560,7 @@
|
|||
"id": "status.edit"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Direct message @{name}",
|
||||
"defaultMessage": "Privately mention @{name}",
|
||||
"id": "status.direct"
|
||||
},
|
||||
{
|
||||
|
@ -761,6 +761,10 @@
|
|||
"defaultMessage": "{name} boosted",
|
||||
"id": "status.reblogged_by"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Private mention",
|
||||
"id": "status.direct_indicator"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Replied to {name}",
|
||||
"id": "status.replied_to"
|
||||
|
@ -1109,7 +1113,7 @@
|
|||
"id": "account.mention"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Direct message @{name}",
|
||||
"defaultMessage": "Privately mention @{name}",
|
||||
"id": "account.direct"
|
||||
},
|
||||
{
|
||||
|
@ -1627,7 +1631,7 @@
|
|||
"id": "privacy.private.long"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Mentioned people only",
|
||||
"defaultMessage": "Private mention",
|
||||
"id": "privacy.direct.short"
|
||||
},
|
||||
{
|
||||
|
@ -1925,7 +1929,7 @@
|
|||
{
|
||||
"descriptors": [
|
||||
{
|
||||
"defaultMessage": "Direct messages",
|
||||
"defaultMessage": "Private mentions",
|
||||
"id": "column.direct"
|
||||
},
|
||||
{
|
||||
|
@ -1937,7 +1941,7 @@
|
|||
"id": "compose_form.direct_message_warning_learn_more"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
|
||||
"defaultMessage": "You don't have any private mentions yet. When you send or receive one, it will show up here.",
|
||||
"id": "empty_column.direct"
|
||||
}
|
||||
],
|
||||
|
@ -2432,7 +2436,7 @@
|
|||
"id": "navigation_bar.explore"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Direct messages",
|
||||
"defaultMessage": "Private mentions",
|
||||
"id": "navigation_bar.direct"
|
||||
},
|
||||
{
|
||||
|
@ -3550,7 +3554,7 @@
|
|||
"id": "status.edit"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Direct message @{name}",
|
||||
"defaultMessage": "Privately mention @{name}",
|
||||
"id": "status.direct"
|
||||
},
|
||||
{
|
||||
|
@ -4199,7 +4203,7 @@
|
|||
"id": "tabs_bar.federated_timeline"
|
||||
},
|
||||
{
|
||||
"defaultMessage": "Direct messages",
|
||||
"defaultMessage": "Private mentions",
|
||||
"id": "navigation_bar.direct"
|
||||
},
|
||||
{
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Διαγραφή",
|
||||
"status.detailed_status": "Προβολή λεπτομερειών συζήτησης",
|
||||
"status.direct": "Προσωπικό μήνυμα προς @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Επεξεργασία",
|
||||
"status.edited": "Επεξεργάστηκε στις {date}",
|
||||
"status.edited_x_times": "Επεξεργάστηκε {count, plural, one {{count} φορά} other {{count} φορές}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
"account.blocked": "Blocked",
|
||||
"account.browse_more_on_origin_server": "Browse more on the original profile",
|
||||
"account.cancel_follow_request": "Withdraw follow request",
|
||||
"account.direct": "Direct message @{name}",
|
||||
"account.direct": "Privately mention @{name}",
|
||||
"account.disable_notifications": "Stop notifying me when @{name} posts",
|
||||
"account.domain_blocked": "Domain blocked",
|
||||
"account.edit_profile": "Edit profile",
|
||||
|
@ -102,7 +102,7 @@
|
|||
"column.blocks": "Blocked users",
|
||||
"column.bookmarks": "Bookmarks",
|
||||
"column.community": "Local timeline",
|
||||
"column.direct": "Direct messages",
|
||||
"column.direct": "Private mentions",
|
||||
"column.directory": "Browse profiles",
|
||||
"column.domain_blocks": "Blocked domains",
|
||||
"column.favourites": "Favourites",
|
||||
|
@ -220,7 +220,7 @@
|
|||
"empty_column.blocks": "You haven't blocked any users yet.",
|
||||
"empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
|
||||
"empty_column.direct": "You don't have any private mentions yet. When you send or receive one, it will show up here.",
|
||||
"empty_column.domain_blocks": "There are no blocked domains yet.",
|
||||
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
|
||||
"empty_column.favourited_statuses": "You don't have any favourite posts yet. When you favourite one, it will show up here.",
|
||||
|
@ -318,7 +318,7 @@
|
|||
"keyboard_shortcuts.column": "Focus column",
|
||||
"keyboard_shortcuts.compose": "Focus compose textarea",
|
||||
"keyboard_shortcuts.description": "Description",
|
||||
"keyboard_shortcuts.direct": "to open direct messages column",
|
||||
"keyboard_shortcuts.direct": "to open private mentions column",
|
||||
"keyboard_shortcuts.down": "Move down in the list",
|
||||
"keyboard_shortcuts.enter": "Open post",
|
||||
"keyboard_shortcuts.favourite": "Favourite post",
|
||||
|
@ -380,7 +380,7 @@
|
|||
"navigation_bar.bookmarks": "Bookmarks",
|
||||
"navigation_bar.community_timeline": "Local timeline",
|
||||
"navigation_bar.compose": "Compose new post",
|
||||
"navigation_bar.direct": "Direct messages",
|
||||
"navigation_bar.direct": "Private mentions",
|
||||
"navigation_bar.discover": "Discover",
|
||||
"navigation_bar.domain_blocks": "Blocked domains",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
|
@ -564,7 +564,8 @@
|
|||
"status.copy": "Copy link to post",
|
||||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct": "Privately mention @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Forigi",
|
||||
"status.detailed_status": "Detala konversacia vido",
|
||||
"status.direct": "Rekte mesaĝi @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Redakti",
|
||||
"status.edited": "Redaktita {date}",
|
||||
"status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Eliminar",
|
||||
"status.detailed_status": "Vista de conversación detallada",
|
||||
"status.direct": "Mensaje directo para @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Editar",
|
||||
"status.edited": "Editado {date}",
|
||||
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Borrar",
|
||||
"status.detailed_status": "Vista de conversación detallada",
|
||||
"status.direct": "Enviar mensaje a @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Editar",
|
||||
"status.edited": "Editado {date}",
|
||||
"status.edited_x_times": "Editado {count, plural, one {{count} time} other {{count} veces}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Borrar",
|
||||
"status.detailed_status": "Vista de conversación detallada",
|
||||
"status.direct": "Mensaje directo a @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Editar",
|
||||
"status.edited": "Editado {date}",
|
||||
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
|
||||
|
|
|
@ -491,7 +491,7 @@
|
|||
"report.category.title_status": "postitusega",
|
||||
"report.close": "Valmis",
|
||||
"report.comment.title": "Kas arvad, et on veel midagi, mida me peaks teadma?",
|
||||
"report.forward": "Edasta kasutajale {target}",
|
||||
"report.forward": "Edasta ka {target} domeeni",
|
||||
"report.forward_hint": "See kasutaja on teisest serverist. Kas saadan anonümiseeritud koopia sellest teatest sinna ka?",
|
||||
"report.mute": "Vaigista",
|
||||
"report.mute_explanation": "Sa ei näe tema postitusi. Ta võib ikka sind jälgida ja su postitusi näha. Ta ei saa teada, et ta on vaigistatud.",
|
||||
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Kustuta",
|
||||
"status.detailed_status": "Detailne vestluskuva",
|
||||
"status.direct": "Saada otsesõnum @{name}'ile",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Muuda",
|
||||
"status.edited": "{date} muudetud",
|
||||
"status.edited_x_times": "Muudetud {count, plural, one{{count} kord} other {{count} korda}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Ezabatu",
|
||||
"status.detailed_status": "Elkarrizketaren ikuspegi xehetsua",
|
||||
"status.direct": "Mezu zuzena @{name}(r)i",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Editatu",
|
||||
"status.edited": "Editatua {date}",
|
||||
"status.edited_x_times": "{count, plural, one {behin} other {{count} aldiz}} editatua",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "حذف",
|
||||
"status.detailed_status": "نمایش کامل گفتگو",
|
||||
"status.direct": "پیام مستقیم به @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "ویرایش",
|
||||
"status.edited": "ویرایش شده در {date}",
|
||||
"status.edited_x_times": "{count, plural, one {{count} مرتبه} other {{count} مرتبه}} ویرایش شد",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"about.blocks": "Moderoidut palvelimet",
|
||||
"about.contact": "Yhteystiedot:",
|
||||
"about.contact": "Ota yhteyttä:",
|
||||
"about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.",
|
||||
"about.domain_blocks.no_reason_available": "Syytä ei ole ilmoitettu",
|
||||
"about.domain_blocks.preamble": "Yleisesti Mastodonin avulla voidaan tarkastella minkä tahansa muun fediverse-palvelinten sisältöä ja vuorovaikuttaa eri palvelinten käyttäjien kanssa. Nämä ovat tälle palvelimelle määritetyt poikkeukset.",
|
||||
|
@ -9,7 +9,7 @@
|
|||
"about.domain_blocks.suspended.explanation": "Mitään tämän palvelimen tietoja ei käsitellä, tallenneta tai vaihdeta, mikä tekee vuorovaikutuksesta ja viestinnästä sen käyttäjien kanssa mahdotonta.",
|
||||
"about.domain_blocks.suspended.title": "Jäädytetty",
|
||||
"about.not_available": "Näitä tietoja ei ole julkaistu tällä palvelimella.",
|
||||
"about.powered_by": "Hajautettu sosiaalinen media, tarjoaa {mastodon}",
|
||||
"about.powered_by": "Hajautetun sosiaalisen median tarjoaa {mastodon}",
|
||||
"about.rules": "Palvelimen säännöt",
|
||||
"account.account_note_header": "Muistiinpano",
|
||||
"account.add_or_remove_from_list": "Lisää tai poista listoilta",
|
||||
|
@ -21,8 +21,8 @@
|
|||
"account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
|
||||
"account.cancel_follow_request": "Peruuta seurantapyyntö",
|
||||
"account.direct": "Yksityisviesti käyttäjälle @{name}",
|
||||
"account.disable_notifications": "Lopeta @{name}:n julkaisuista ilmoittaminen",
|
||||
"account.domain_blocked": "Verkko-osoite estetty",
|
||||
"account.disable_notifications": "Lopeta ilmoittamasta minulle, kun @{name} julkaisee",
|
||||
"account.domain_blocked": "Palvelu estetty",
|
||||
"account.edit_profile": "Muokkaa profiilia",
|
||||
"account.enable_notifications": "Ilmoita kun käyttäjä @{name} julkaisee viestin",
|
||||
"account.endorse": "Suosittele profiilissasi",
|
||||
|
@ -50,7 +50,7 @@
|
|||
"account.mute_notifications": "Mykistä käyttäjän @{name} ilmoitukset",
|
||||
"account.muted": "Mykistetty",
|
||||
"account.open_original_page": "Avaa alkuperäinen sivu",
|
||||
"account.posts": "Viestit",
|
||||
"account.posts": "Julkaisut",
|
||||
"account.posts_with_replies": "Viestit ja vastaukset",
|
||||
"account.report": "Ilmoita käyttäjästä @{name}",
|
||||
"account.requested": "Odottaa hyväksyntää. Peruuta seuraamispyyntö klikkaamalla",
|
||||
|
@ -58,7 +58,7 @@
|
|||
"account.share": "Jaa käyttäjän @{name} profiili",
|
||||
"account.show_reblogs": "Näytä tehostukset käyttäjältä @{name}",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} viesti} other {{counter} viestiä}}",
|
||||
"account.unblock": "Salli @{name}",
|
||||
"account.unblock": "Poista esto: @{name}",
|
||||
"account.unblock_domain": "Salli palvelu {domain}",
|
||||
"account.unblock_short": "Poista esto",
|
||||
"account.unendorse": "Poista suosittelu profiilistasi",
|
||||
|
@ -104,7 +104,7 @@
|
|||
"column.community": "Paikallinen aikajana",
|
||||
"column.direct": "Yksityisviestit",
|
||||
"column.directory": "Selaa profiileja",
|
||||
"column.domain_blocks": "Estetytr verkkotunnukset",
|
||||
"column.domain_blocks": "Estetyt palvelut",
|
||||
"column.favourites": "Suosikit",
|
||||
"column.follow_requests": "Seuraamispyynnöt",
|
||||
"column.home": "Koti",
|
||||
|
@ -149,7 +149,7 @@
|
|||
"compose_form.spoiler.unmarked": "Lisää sisältövaroitus",
|
||||
"compose_form.spoiler_placeholder": "Kirjoita varoituksesi tähän",
|
||||
"confirmation_modal.cancel": "Peruuta",
|
||||
"confirmations.block.block_and_report": "Estä ja raportoi",
|
||||
"confirmations.block.block_and_report": "Estä ja ilmianna",
|
||||
"confirmations.block.confirm": "Estä",
|
||||
"confirmations.block.message": "Haluatko varmasti estää käyttäjän {name}?",
|
||||
"confirmations.cancel_follow_request.confirm": "Peruuta pyyntö",
|
||||
|
@ -163,7 +163,7 @@
|
|||
"confirmations.domain_block.confirm": "Estä koko palvelu",
|
||||
"confirmations.domain_block.message": "Haluatko aivan varmasti estää palvelun {domain} täysin? Useimmiten muutama kohdistettu esto tai mykistys on riittävä ja suositeltava toimenpide. Et näe kyseisen sisältöä kyseiseltä verkkoalueelta missään julkisissa aikajanoissa tai ilmoituksissa. Tälle verkkoalueelle kuuluvat seuraajasi poistetaan.",
|
||||
"confirmations.edit.confirm": "Muokkaa",
|
||||
"confirmations.edit.message": "Tässä tilanteessa muokkaus korvaa tällä hetkellä työstämäsi viestin. Haluatko varmasti jatkaa?",
|
||||
"confirmations.edit.message": "Muokkaaminen nyt korvaa viestin, jota paraikaa työstät. Haluatko varmasti jatkaa?",
|
||||
"confirmations.logout.confirm": "Kirjaudu ulos",
|
||||
"confirmations.logout.message": "Haluatko varmasti kirjautua ulos?",
|
||||
"confirmations.mute.confirm": "Mykistä",
|
||||
|
@ -210,15 +210,15 @@
|
|||
"emoji_button.search_results": "Hakutulokset",
|
||||
"emoji_button.symbols": "Symbolit",
|
||||
"emoji_button.travel": "Matkailu ja paikat",
|
||||
"empty_column.account_suspended": "Tilin käyttäminen jäädytetty",
|
||||
"empty_column.account_suspended": "Tili jäädytetty",
|
||||
"empty_column.account_timeline": "Ei viestejä täällä.",
|
||||
"empty_column.account_unavailable": "Profiilia ei löydy",
|
||||
"empty_column.blocks": "Et ole vielä estänyt käyttäjiä.",
|
||||
"empty_column.blocks": "Et ole estänyt käyttäjiä.",
|
||||
"empty_column.bookmarked_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
|
||||
"empty_column.community": "Paikallinen aikajana on tyhjä. Kirjoita jotain julkista, niin homma lähtee käyntiin!",
|
||||
"empty_column.direct": "Sinulla ei ole vielä yksityisviestejä. Kun lähetät tai vastaanotat sellaisen, se näkyy tässä.",
|
||||
"empty_column.domain_blocks": "Palveluita ei ole vielä estetty.",
|
||||
"empty_column.explore_statuses": "Mikään ei ole nyt trendi. Tarkista myöhemmin!",
|
||||
"empty_column.explore_statuses": "Mikään ei trendaa nyt. Tarkista myöhemmin uudelleen!",
|
||||
"empty_column.favourited_statuses": "Et ole vielä lisännyt viestejä kirjanmerkkeihisi. Kun lisäät yhden, se näkyy tässä.",
|
||||
"empty_column.favourites": "Kukaan ei ole vielä lisännyt tätä viestiä suosikkeihinsa. Kun joku tekee niin, näkyy kyseinen henkilö tässä.",
|
||||
"empty_column.follow_recommendations": "Näyttää siltä, että sinulle ei voi luoda ehdotuksia. Voit yrittää etsiä ihmisiä, jotka saatat tuntea tai tutkia trendaavia aihetunnisteita.",
|
||||
|
@ -230,8 +230,8 @@
|
|||
"empty_column.list": "Tässä luettelossa ei ole vielä mitään. Kun tämän luettelon jäsenet julkaisevat uusia viestejä, ne näkyvät täällä.",
|
||||
"empty_column.lists": "Sinulla ei ole vielä yhtään listaa. Kun luot sellaisen, näkyy se tässä.",
|
||||
"empty_column.mutes": "Et ole mykistänyt vielä yhtään käyttäjää.",
|
||||
"empty_column.notifications": "Sinulla ei ole vielä ilmoituksia. Kun muut ihmiset ovat vuorovaikutuksessa kanssasi, näet sen täällä.",
|
||||
"empty_column.public": "Täällä ei ole mitään! Kirjoita jotain julkisesti tai manuaalisesti seuraa muiden palvelimien käyttäjiä niin saat sisältöä",
|
||||
"empty_column.notifications": "Sinulla ei ole vielä ilmoituksia. Kun keskustelet muille, näet sen täällä.",
|
||||
"empty_column.public": "Täällä ei ole mitään! Kirjoita jotain julkisesti. Voit myös seurata muiden palvelimien käyttäjiä",
|
||||
"error.unexpected_crash.explanation": "Sivua ei voi näyttää oikein, johtuen bugista tai ongelmasta selaimen yhteensopivuudessa.",
|
||||
"error.unexpected_crash.explanation_addons": "Sivua ei voitu näyttää oikein. Tämä virhe johtuu todennäköisesti selaimen lisäosasta tai automaattisista käännöstyökaluista.",
|
||||
"error.unexpected_crash.next_steps": "Kokeile sivun päivitystä. Jos se ei auta, voi Mastodonin käyttö silti olla mahdollista eri selaimella tai natiivilla sovelluksella.",
|
||||
|
@ -242,7 +242,7 @@
|
|||
"explore.suggested_follows": "Sinulle",
|
||||
"explore.title": "Selaa",
|
||||
"explore.trending_links": "Uutiset",
|
||||
"explore.trending_statuses": "Viestit",
|
||||
"explore.trending_statuses": "Julkaisut",
|
||||
"explore.trending_tags": "Aihetunnisteet",
|
||||
"filter_modal.added.context_mismatch_explanation": "Tämä suodatinluokka ei koske asiayhteyttä, jossa olet käyttänyt tätä viestiä. Jos haluat, että viesti suodatetaan myös tässä yhteydessä, sinun on muokattava suodatinta.",
|
||||
"filter_modal.added.context_mismatch_title": "Asiayhteys ei täsmää!",
|
||||
|
@ -265,7 +265,7 @@
|
|||
"follow_recommendations.lead": "Seuraamiesi julkaisut näkyvät aikajärjestyksessä kotisyötteessä. Älä pelkää seurata vahingossa, voit lopettaa seuraamisen yhtä helposti!",
|
||||
"follow_request.authorize": "Valtuuta",
|
||||
"follow_request.reject": "Hylkää",
|
||||
"follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, palvelun {domain} ylläpito on arvioinut, että voi olla halukas tarkistamaan nämä seurauspyynnöt erikseen.",
|
||||
"follow_requests.unlocked_explanation": "Vaikkei tiliäsi ole lukittu, on palvelun {domain} ylläpito arvioinut, että saatat olla halukas tarkistamaan nämä seurauspyynnöt erikseen.",
|
||||
"followed_tags": "Seuratut aihetunnisteet",
|
||||
"footer.about": "Tietoja",
|
||||
"footer.directory": "Profiilihakemisto",
|
||||
|
@ -316,7 +316,7 @@
|
|||
"keyboard_shortcuts.description": "Kuvaus",
|
||||
"keyboard_shortcuts.direct": "avataksesi yksityisviestisarakkeen",
|
||||
"keyboard_shortcuts.down": "Siirry listassa alaspäin",
|
||||
"keyboard_shortcuts.enter": "Avaa viesti",
|
||||
"keyboard_shortcuts.enter": "Avaa julkaisu",
|
||||
"keyboard_shortcuts.favourite": "Lisää suosikkeihin",
|
||||
"keyboard_shortcuts.favourites": "Avaa lista suosikeista",
|
||||
"keyboard_shortcuts.federated": "Avaa yleinen aikajana",
|
||||
|
@ -328,7 +328,7 @@
|
|||
"keyboard_shortcuts.mention": "Mainitse julkaisija",
|
||||
"keyboard_shortcuts.muted": "Avaa lista mykistetyistä käyttäjistä",
|
||||
"keyboard_shortcuts.my_profile": "Avaa profiilisi",
|
||||
"keyboard_shortcuts.notifications": "Avaa ilmoitukset-sarake",
|
||||
"keyboard_shortcuts.notifications": "Avaa ilmoitukset-valikko",
|
||||
"keyboard_shortcuts.open_media": "Avaa media",
|
||||
"keyboard_shortcuts.pinned": "Avaa lista kiinnitetyistä viesteistä",
|
||||
"keyboard_shortcuts.profile": "Avaa kirjoittajan profiili",
|
||||
|
@ -336,10 +336,10 @@
|
|||
"keyboard_shortcuts.requests": "Avaa lista seurauspyynnöistä",
|
||||
"keyboard_shortcuts.search": "siirry hakukenttään",
|
||||
"keyboard_shortcuts.spoilers": "Näytä/piilota sisältövaroituskenttä",
|
||||
"keyboard_shortcuts.start": "avaa \"Aloitus\"-sarake",
|
||||
"keyboard_shortcuts.start": "avaa \"Aloitus\"",
|
||||
"keyboard_shortcuts.toggle_hidden": "näytä/piilota sisältövaroituksella merkitty teksti",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "näytä/piilota media",
|
||||
"keyboard_shortcuts.toot": "Aloita uusi viesti",
|
||||
"keyboard_shortcuts.toot": "Luo uusi julkaisu",
|
||||
"keyboard_shortcuts.unfocus": "Poistu teksti-/hakukentästä",
|
||||
"keyboard_shortcuts.up": "Siirry listassa ylöspäin",
|
||||
"lightbox.close": "Sulje",
|
||||
|
@ -375,7 +375,7 @@
|
|||
"navigation_bar.blocks": "Estetyt käyttäjät",
|
||||
"navigation_bar.bookmarks": "Kirjanmerkit",
|
||||
"navigation_bar.community_timeline": "Paikallinen aikajana",
|
||||
"navigation_bar.compose": "Luo uusi viesti",
|
||||
"navigation_bar.compose": "Julkaise",
|
||||
"navigation_bar.direct": "Yksityisviestit",
|
||||
"navigation_bar.discover": "Löydä uutta",
|
||||
"navigation_bar.domain_blocks": "Estetyt palvelut",
|
||||
|
@ -395,10 +395,10 @@
|
|||
"navigation_bar.public_timeline": "Yleinen aikajana",
|
||||
"navigation_bar.search": "Haku",
|
||||
"navigation_bar.security": "Turvallisuus",
|
||||
"not_signed_in_indicator.not_signed_in": "Sinun täytyy kirjautua sisään päästäksesi käsiksi tähän resurssiin.",
|
||||
"notification.admin.report": "{name} ilmoitti {target}",
|
||||
"not_signed_in_indicator.not_signed_in": "Sinun tulee kirjautua sisään nähdäksesi tämän.",
|
||||
"notification.admin.report": "{name} teki ilmoituksen käytäjästä {target}",
|
||||
"notification.admin.sign_up": "{name} rekisteröityi",
|
||||
"notification.favourite": "{name} tykkäsi viestistäsi",
|
||||
"notification.favourite": "{name} tykkäsi julkaisustasi",
|
||||
"notification.follow": "{name} seurasi sinua",
|
||||
"notification.follow_request": "{name} haluaa seurata sinua",
|
||||
"notification.mention": "{name} mainitsi sinut",
|
||||
|
@ -409,7 +409,7 @@
|
|||
"notification.update": "{name} muokkasi viestiä",
|
||||
"notifications.clear": "Tyhjennä ilmoitukset",
|
||||
"notifications.clear_confirmation": "Haluatko varmasti poistaa kaikki ilmoitukset pysyvästi?",
|
||||
"notifications.column_settings.admin.report": "Uudet raportit:",
|
||||
"notifications.column_settings.admin.report": "Uudet ilmoitukset:",
|
||||
"notifications.column_settings.admin.sign_up": "Uudet kirjautumiset:",
|
||||
"notifications.column_settings.alert": "Työpöytäilmoitukset",
|
||||
"notifications.column_settings.favourite": "Tykkäykset:",
|
||||
|
@ -424,7 +424,7 @@
|
|||
"notifications.column_settings.reblog": "Tehostukset:",
|
||||
"notifications.column_settings.show": "Näytä sarakkeessa",
|
||||
"notifications.column_settings.sound": "Äänimerkki",
|
||||
"notifications.column_settings.status": "Uudet viestit:",
|
||||
"notifications.column_settings.status": "Uudet julkaisut:",
|
||||
"notifications.column_settings.unread_notifications.category": "Lukemattomat ilmoitukset",
|
||||
"notifications.column_settings.unread_notifications.highlight": "Korosta lukemattomat ilmoitukset",
|
||||
"notifications.column_settings.update": "Muokkaukset:",
|
||||
|
@ -474,32 +474,32 @@
|
|||
"relative_time.full.just_now": "juuri nyt",
|
||||
"relative_time.full.minutes": "{number, plural, one {# minuutti} other {# minuuttia}} sitten",
|
||||
"relative_time.full.seconds": "{number, plural, one {# sekunti} other {# sekuntia}} sitten",
|
||||
"relative_time.hours": "{number} tuntia",
|
||||
"relative_time.hours": "{number} t",
|
||||
"relative_time.just_now": "nyt",
|
||||
"relative_time.minutes": "{number} min",
|
||||
"relative_time.seconds": "{number} sek",
|
||||
"relative_time.seconds": "{number} s",
|
||||
"relative_time.today": "tänään",
|
||||
"reply_indicator.cancel": "Peruuta",
|
||||
"report.block": "Estä",
|
||||
"report.block_explanation": "Et näe heidän viestejään, eivätkä he voi nähdä viestejäsi tai seurata sinua. He näkevät, että heidät on estetty.",
|
||||
"report.categories.other": "Muu",
|
||||
"report.block_explanation": "Et näe hänen viestejään, eikä hän voi nähdä viestejäsi tai seurata sinua. Hän näkevät, että olet estänyt hänet.",
|
||||
"report.categories.other": "muu",
|
||||
"report.categories.spam": "Roskaposti",
|
||||
"report.categories.violation": "Sisältö rikkoo yhtä tai useampaa palvelimen sääntöä",
|
||||
"report.category.subtitle": "Valitse paras vastaavuus",
|
||||
"report.category.title": "Kerro meille miksi tämä {type} pitää raportoida",
|
||||
"report.category.subtitle": "Valitse se, mikä sopii parhaiten",
|
||||
"report.category.title": "Kerro meille, miksi ilmiannat tämän: {type} ",
|
||||
"report.category.title_account": "profiili",
|
||||
"report.category.title_status": "viesti",
|
||||
"report.category.title_status": "julkaisu",
|
||||
"report.close": "Valmis",
|
||||
"report.comment.title": "Pitäisikö meidän tietää jotain muuta?",
|
||||
"report.comment.title": "Olisiko jotain muuta, mitä meidän pitäisi tietää?",
|
||||
"report.forward": "Välitä kohteeseen {target}",
|
||||
"report.forward_hint": "Tämä tili on toisella palvelimella. Haluatko lähettää nimettömän raportin myös sinne?",
|
||||
"report.mute": "Mykistä",
|
||||
"report.mute_explanation": "Et näe heidän viestejään. He voivat silti seurata sinua ja nähdä viestisi eivätkä tiedä, että heidät on mykistetty.",
|
||||
"report.mute_explanation": "Et näe hänen viestejään. Hän voi silti seurata sinua ja nähdä viestisi. Hän ei tiedä, että on mykistetty.",
|
||||
"report.next": "Seuraava",
|
||||
"report.placeholder": "Lisäkommentit",
|
||||
"report.reasons.dislike": "En pidä siitä",
|
||||
"report.reasons.dislike_description": "Et halua nähdä sitä",
|
||||
"report.reasons.other": "Se on jotain muuta",
|
||||
"report.reasons.other": "Jotain muuta",
|
||||
"report.reasons.other_description": "Ongelma ei sovi muihin kategorioihin",
|
||||
"report.reasons.spam": "Se on roskapostia",
|
||||
"report.reasons.spam_description": "Haitalliset linkit, väärennetyt sitoutumiset tai toistuvat vastaukset",
|
||||
|
@ -507,27 +507,27 @@
|
|||
"report.reasons.violation_description": "Tiedät, että se rikkoo tiettyjä sääntöjä",
|
||||
"report.rules.subtitle": "Valitse kaikki jotka sopivat",
|
||||
"report.rules.title": "Mitä sääntöjä rikotaan?",
|
||||
"report.statuses.subtitle": "Valitse kaikki jotka sopivat",
|
||||
"report.statuses.subtitle": "Valitse kaikki sopivat",
|
||||
"report.statuses.title": "Onko olemassa yhtään viestiä, jotka tukevat tätä raporttia?",
|
||||
"report.submit": "Lähetä",
|
||||
"report.target": "Raportoidaan {target}",
|
||||
"report.thanks.take_action": "Tässä on vaihtoehtosi hallita näkemääsi Mastodonissa:",
|
||||
"report.thanks.take_action_actionable": "Sillä välin kun tarkistamme tätä, voit ryhtyä toimenpiteisiin käyttäjää @{name} vastaan:",
|
||||
"report.thanks.title": "Etkö halua nähdä tätä?",
|
||||
"report.thanks.title_actionable": "Kiitos raportista, tutkimme asiaa.",
|
||||
"report.thanks.title_actionable": "Kiitos ilmoituksesta, tarkistamme asian.",
|
||||
"report.unfollow": "Lopeta käyttäjän @{name} seuraaminen",
|
||||
"report.unfollow_explanation": "Seuraat tätä tiliä. Jotta et enää näe tilin viestejä, lopeta tilin seuraaminen.",
|
||||
"report_notification.attached_statuses": "{count, plural, one {{count} viesti} other {{count} viestiä}} liitteenä",
|
||||
"report_notification.categories.other": "Muu",
|
||||
"report_notification.categories.spam": "Roskaposti",
|
||||
"report_notification.categories.violation": "Sääntöjen rikkominen",
|
||||
"report_notification.open": "Avaa raportti",
|
||||
"report_notification.open": "Avaa ilmoitus",
|
||||
"search.placeholder": "Hae",
|
||||
"search.search_or_paste": "Etsi tai kirjoita URL-osoite",
|
||||
"search_popout.search_format": "Tarkennettu haku",
|
||||
"search_popout.tips.full_text": "Tekstihaku listaa tilapäivitykset, jotka olet kirjoittanut, lisännyt suosikkeihisi, tehostanut tai joissa sinut mainitaan, sekä tekstin sisältävät käyttäjänimet, nimimerkit ja aihetunnisteet.",
|
||||
"search_popout.tips.hashtag": "aihetunnisteet",
|
||||
"search_popout.tips.status": "viesti",
|
||||
"search_popout.tips.status": "julkaisu",
|
||||
"search_popout.tips.text": "Tekstihaku listaa hakua vastaavat nimimerkit, käyttäjänimet ja aihetunnisteet",
|
||||
"search_popout.tips.user": "käyttäjä",
|
||||
"search_results.accounts": "Ihmiset",
|
||||
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Poista",
|
||||
"status.detailed_status": "Yksityiskohtainen keskustelunäkymä",
|
||||
"status.direct": "Yksityisviesti käyttäjälle @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Muokkaa",
|
||||
"status.edited": "Muokattu {date}",
|
||||
"status.edited_x_times": "Muokattu {count, plural, one {{count} kerran} other {{count} kertaa}}",
|
||||
|
@ -576,7 +577,7 @@
|
|||
"status.mute_conversation": "Mykistä keskustelu",
|
||||
"status.open": "Laajenna julkaisu",
|
||||
"status.pin": "Kiinnitä profiiliin",
|
||||
"status.pinned": "Kiinnitetty viesti",
|
||||
"status.pinned": "Kiinnitetty julkaisu",
|
||||
"status.read_more": "Näytä enemmän",
|
||||
"status.reblog": "Tehosta",
|
||||
"status.reblog_private": "Tehosta alkuperäiselle yleisölle",
|
||||
|
@ -597,7 +598,7 @@
|
|||
"status.show_more_all": "Näytä lisää kaikista",
|
||||
"status.show_original": "Näytä alkuperäinen",
|
||||
"status.translate": "Käännä",
|
||||
"status.translated_from_with": "Käännetty kielestä {lang} käyttäen palvelua {provider}",
|
||||
"status.translated_from_with": "Käännetty kielestä {lang} käyttäen {provider}",
|
||||
"status.uncached_media_warning": "Ei saatavilla",
|
||||
"status.unmute_conversation": "Poista keskustelun mykistys",
|
||||
"status.unpin": "Irrota profiilista",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Strika",
|
||||
"status.detailed_status": "Útgreinað samrøðusýni",
|
||||
"status.direct": "Beinleiðis boð @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Rætta",
|
||||
"status.edited": "Rættað {date}",
|
||||
"status.edited_x_times": "Rættað {count, plural, one {{count} ferð} other {{count} ferð}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Supprimer",
|
||||
"status.detailed_status": "Vue détaillée de la conversation",
|
||||
"status.direct": "Envoyer un message direct à @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Modifier",
|
||||
"status.edited": "Modifiée le {date}",
|
||||
"status.edited_x_times": "Modifiée {count, plural, one {{count} fois} other {{count} fois}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Supprimer",
|
||||
"status.detailed_status": "Vue détaillée de la conversation",
|
||||
"status.direct": "Envoyer un message direct à @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Éditer",
|
||||
"status.edited": "Édité le {date}",
|
||||
"status.edited_x_times": "Edité {count, plural, one {{count} fois} other {{count} fois}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Fuortsmite",
|
||||
"status.detailed_status": "Detaillearre petearoersjoch",
|
||||
"status.direct": "@{name} in direkt berjocht stjoere",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Bewurkje",
|
||||
"status.edited": "Bewurke op {date}",
|
||||
"status.edited_x_times": "{count, plural, one {{count} kear} other {{count} kearen}} bewurke",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Scrios",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Seol teachtaireacht dhíreach chuig @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Cuir in eagar",
|
||||
"status.edited": "Curtha in eagar in {date}",
|
||||
"status.edited_x_times": "Curtha in eagar {count, plural, one {{count} uair amháin} two {{count} uair} few {{count} uair} many {{count} uair} other {{count} uair}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Sguab às",
|
||||
"status.detailed_status": "Mion-shealladh a’ chòmhraidh",
|
||||
"status.direct": "Cuir teachdaireachd dhìreach gu @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Deasaich",
|
||||
"status.edited": "Air a dheasachadh {date}",
|
||||
"status.edited_x_times": "Chaidh a dheasachadh {count, plural, one {{counter} turas} two {{counter} thuras} few {{counter} tursan} other {{counter} turas}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Eliminar",
|
||||
"status.detailed_status": "Vista detallada da conversa",
|
||||
"status.direct": "Mensaxe directa a @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Editar",
|
||||
"status.edited": "Editado {date}",
|
||||
"status.edited_x_times": "Editado {count, plural, one {{count} vez} other {{count} veces}}",
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
"confirmations.block.confirm": "לחסום",
|
||||
"confirmations.block.message": "האם את/ה בטוח/ה שברצונך למחוק את \"{name}\"?",
|
||||
"confirmations.cancel_follow_request.confirm": "ויתור על בקשה",
|
||||
"confirmations.cancel_follow_request.message": "האם באמת לוותר על בקשת המעקב אחרי {name}?",
|
||||
"confirmations.cancel_follow_request.message": "לבטל את בקשת המעקב אחרי {name}?",
|
||||
"confirmations.delete.confirm": "למחוק",
|
||||
"confirmations.delete.message": "בטוח/ה שאת/ה רוצה למחוק את ההודעה?",
|
||||
"confirmations.delete_list.confirm": "למחוק",
|
||||
|
@ -163,7 +163,7 @@
|
|||
"confirmations.domain_block.confirm": "חסמו לגמרי את שם המתחם (דומיין)",
|
||||
"confirmations.domain_block.message": "בטוחה שברצונך באמת לחסום את קהילת {domain}? ברב המקרים השתקה וחסימה של מספר משתמשים עשוייה להספיק. לא תראי תוכל מכלל שם המתחם בפידים הציבוריים או בהתראות שלך. העוקבים שלך מהקהילה הזאת יוסרו",
|
||||
"confirmations.edit.confirm": "עריכה",
|
||||
"confirmations.edit.message": "עריכת תגובה קודמת תדרוס את ההודעה שכבר התחלת לכתוב. האם את.ה בטוח.ה שברצונך להמשיך?",
|
||||
"confirmations.edit.message": "עריכה תדרוס את ההודעה שכבר התחלת לכתוב. האם להמשיך?",
|
||||
"confirmations.logout.confirm": "התנתקות",
|
||||
"confirmations.logout.message": "האם אתם בטוחים שאתם רוצים להתנתק?",
|
||||
"confirmations.mute.confirm": "להשתיק",
|
||||
|
@ -172,7 +172,7 @@
|
|||
"confirmations.redraft.confirm": "מחיקה ועריכה מחדש",
|
||||
"confirmations.redraft.message": "בטוחה שאת רוצה למחוק ולהתחיל טיוטה חדשה? חיבובים והדהודים יאבדו, ותגובות להודעה המקורית ישארו יתומות.",
|
||||
"confirmations.reply.confirm": "תגובה",
|
||||
"confirmations.reply.message": "תגובה עכשיו תדרוס את ההודעה שכבר התחלתים לכתוב. האם אתם בטוחים שברצונכם להמשיך?",
|
||||
"confirmations.reply.message": "תגובה עכשיו תמחק את ההודעה שכבר התחלת לכתוב. להמשיך?",
|
||||
"confirmations.unfollow.confirm": "הפסקת מעקב",
|
||||
"confirmations.unfollow.message": "להפסיק מעקב אחרי {name}?",
|
||||
"conversation.delete": "מחיקת שיחה",
|
||||
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "מחיקה",
|
||||
"status.detailed_status": "תצוגת שיחה מפורטת",
|
||||
"status.direct": "הודעה ישירה ל@{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "עריכה",
|
||||
"status.edited": "נערך ב{date}",
|
||||
"status.edited_x_times": "נערך {count, plural, one {פעם {count}} other {{count} פעמים}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Obriši",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Uredi",
|
||||
"status.edited": "Uređeno {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
"account.followers.empty": "Ezt a felhasználót még senki sem követi.",
|
||||
"account.followers_counter": "{count, plural, one {{counter} Követő} other {{counter} Követő}}",
|
||||
"account.following": "Követve",
|
||||
"account.following_counter": "{count, plural, one {{counter} Követett} other {{counter} Követett}}",
|
||||
"account.following_counter": "{count, plural, one {{counter} követett} other {{counter} követett}}",
|
||||
"account.follows.empty": "Ez a felhasználó még senkit sem követ.",
|
||||
"account.follows_you": "Követ téged",
|
||||
"account.go_to_profile": "Ugrás a profilhoz",
|
||||
|
@ -53,8 +53,8 @@
|
|||
"account.posts": "Bejegyzések",
|
||||
"account.posts_with_replies": "Bejegyzések és válaszok",
|
||||
"account.report": "@{name} jelentése",
|
||||
"account.requested": "Jóváhagysára vár. Kattints a követési kérés visszavonásához",
|
||||
"account.requested_follow": "{name} kérte, hogy követhessen téged",
|
||||
"account.requested": "Jóváhagysára vár. Kattintás a követési kérés törléséhez",
|
||||
"account.requested_follow": "{name} kérte, hogy követhessen",
|
||||
"account.share": "@{name} profiljának megosztása",
|
||||
"account.show_reblogs": "@{name} megtolásainak mutatása",
|
||||
"account.statuses_counter": "{count, plural, one {{counter} Bejegyzés} other {{counter} Bejegyzés}}",
|
||||
|
@ -66,7 +66,7 @@
|
|||
"account.unmute": "@{name} némításának feloldása",
|
||||
"account.unmute_notifications": "@{name} némított értesítéseinek feloldása",
|
||||
"account.unmute_short": "Némitás feloldása",
|
||||
"account_note.placeholder": "Kattints jegyzet hozzáadásához",
|
||||
"account_note.placeholder": "Kattintás jegyzet hozzáadásához",
|
||||
"admin.dashboard.daily_retention": "Napi regisztráció utáni felhasználómegtartási arány",
|
||||
"admin.dashboard.monthly_retention": "Havi regisztráció utáni felhasználómegtartási arány",
|
||||
"admin.dashboard.retention.average": "Átlag",
|
||||
|
@ -96,7 +96,7 @@
|
|||
"closed_registrations.other_server_instructions": "Mivel a Mastdon decentralizált, létrehozhatsz egy fiókot egy másik kiszolgálón és mégis kapcsolódhatsz ehhez.",
|
||||
"closed_registrations_modal.description": "Fiók létrehozása a {domain} kiszolgálón jelenleg nem lehetséges, de jó, ha tudod, hogy nem szükséges fiókkal rendelkezni pont a {domain} kiszolgálón, hogy használhasd a Mastodont.",
|
||||
"closed_registrations_modal.find_another_server": "Másik kiszolgáló keresése",
|
||||
"closed_registrations_modal.preamble": "A Mastodon decentralizált, így teljesen mindegy, hol hozod létre a fiókodat, követhetsz és kapcsolódhatsz bárkivel ezen a kiszolgálón is. Saját magad is üzemeltethetsz kiszolgálót!",
|
||||
"closed_registrations_modal.preamble": "A Mastodon nem központosított, így teljesen mindegy, hol történik a fiók létrehozása, követhető bárki és kapcsolatba lehet lépni bárkivel ezen a kiszolgálón is. Saját magunk is üzemeltethetünk kiszolgálót!",
|
||||
"closed_registrations_modal.title": "Regisztráció a Mastodonra",
|
||||
"column.about": "Névjegy",
|
||||
"column.blocks": "Letiltott felhasználók",
|
||||
|
@ -131,7 +131,7 @@
|
|||
"compose_form.hashtag_warning": "Ez a bejegyzésed nem fog megjelenni semmilyen hashtag alatt, mivel nem nyilvános. Csak a nyilvános bejegyzések kereshetők hashtaggel.",
|
||||
"compose_form.lock_disclaimer": "A fiókod nincs {locked}. Bárki követni tud, hogy megtekintse a kizárólag követőknek szánt bejegyzéseket.",
|
||||
"compose_form.lock_disclaimer.lock": "lezárva",
|
||||
"compose_form.placeholder": "Mi jár a fejedben?",
|
||||
"compose_form.placeholder": "Mire gondolunk éppen?",
|
||||
"compose_form.poll.add_option": "Lehetőség hozzáadása",
|
||||
"compose_form.poll.duration": "Szavazás időtartama",
|
||||
"compose_form.poll.option_placeholder": "{number}. lehetőség",
|
||||
|
@ -145,25 +145,25 @@
|
|||
"compose_form.sensitive.hide": "{count, plural, one {Média kényesnek jelölése} other {Média kényesnek jelölése}}",
|
||||
"compose_form.sensitive.marked": "{count, plural, one {A médiát kényesnek jelölték} other {A médiát kényesnek jelölték}}",
|
||||
"compose_form.sensitive.unmarked": "{count, plural, one {A médiát nem jelölték kényesnek} other {A médiát nem jelölték kényesnek}}",
|
||||
"compose_form.spoiler.marked": "Tartalmi figyelmeztetés törlése",
|
||||
"compose_form.spoiler.marked": "Tartalmi figyelmeztetés eltávolítása",
|
||||
"compose_form.spoiler.unmarked": "Tartalmi figyelmeztetés hozzáadása",
|
||||
"compose_form.spoiler_placeholder": "Írd ide a figyelmeztetést",
|
||||
"confirmation_modal.cancel": "Mégse",
|
||||
"compose_form.spoiler_placeholder": "A figyelmeztetés beírása ide",
|
||||
"confirmation_modal.cancel": "Mégsem",
|
||||
"confirmations.block.block_and_report": "Letiltás és jelentés",
|
||||
"confirmations.block.confirm": "Letiltás",
|
||||
"confirmations.block.message": "Biztos, hogy letiltod: {name}?",
|
||||
"confirmations.cancel_follow_request.confirm": "Kérés visszavonása",
|
||||
"confirmations.cancel_follow_request.message": "Biztos, hogy visszavonod a(z) {name} felhasználóra vonatkozó követési kérésedet?",
|
||||
"confirmations.cancel_follow_request.message": "Biztosan visszavonásra kerüljön {name} felhasználóra vonatkozó követési kérés?",
|
||||
"confirmations.delete.confirm": "Törlés",
|
||||
"confirmations.delete.message": "Biztos, hogy törölni szeretnéd ezt a bejegyzést?",
|
||||
"confirmations.delete_list.confirm": "Törlés",
|
||||
"confirmations.delete_list.message": "Biztos, hogy véglegesen törölni szeretnéd ezt a listát?",
|
||||
"confirmations.discard_edit_media.confirm": "Elvetés",
|
||||
"confirmations.discard_edit_media.message": "Elmentetlen változtatásaid vannak a média leírásában vagy előnézetében. Eldobjuk őket?",
|
||||
"confirmations.domain_block.confirm": "Teljes domain elrejtése",
|
||||
"confirmations.discard_edit_media.message": "Elmentetlen változtatások vannak a média leírásában vagy előnézetében. Elvetésre kerüljenek?",
|
||||
"confirmations.domain_block.confirm": "Teljes tartomány tiltása",
|
||||
"confirmations.domain_block.message": "Biztos, hogy le szeretnéd tiltani a teljes {domain} domaint? A legtöbb esetben néhány célzott tiltás vagy némítás elegendő, és kívánatosabb megoldás. Semmilyen tartalmat nem fogsz látni ebből a domainből se az idővonalakon, se az értesítésekben. Az ebben a domainben lévő követőidet is eltávolítjuk.",
|
||||
"confirmations.edit.confirm": "Szerkesztés",
|
||||
"confirmations.edit.message": "Ha most szerkeszted, ez felülírja a most szerkesztés alatt álló üzenetet. Mégis ezt szeretnéd?",
|
||||
"confirmations.edit.message": "A szerkesztés felülírja a most összeállítás alatt álló üzenetet. Folytatás?",
|
||||
"confirmations.logout.confirm": "Kijelentkezés",
|
||||
"confirmations.logout.message": "Biztos, hogy kijelentkezel?",
|
||||
"confirmations.mute.confirm": "Némítás",
|
||||
|
@ -178,21 +178,21 @@
|
|||
"conversation.delete": "Beszélgetés törlése",
|
||||
"conversation.mark_as_read": "Megjelölés olvasottként",
|
||||
"conversation.open": "Beszélgetés megtekintése",
|
||||
"conversation.with": "{names}-el/al",
|
||||
"conversation.with": "{names} is",
|
||||
"copypaste.copied": "Másolva",
|
||||
"copypaste.copy": "Másolás",
|
||||
"directory.federated": "Az ismert fediverzumból",
|
||||
"directory.local": "Csak innen: {domain}",
|
||||
"directory.local": "Csak {domain} tartományból",
|
||||
"directory.new_arrivals": "Új csatlakozók",
|
||||
"directory.recently_active": "Nemrég aktív",
|
||||
"disabled_account_banner.account_settings": "Fiókbeállítások",
|
||||
"disabled_account_banner.text": "A(z) {disabledAccount} fiókod jelenleg le van tiltva.",
|
||||
"dismissable_banner.community_timeline": "Ezek a legfrissebb nyilvános bejegyzések, amelyeket a(z) {domain} kiszolgáló fiókjait használó emberek tették közzé.",
|
||||
"dismissable_banner.dismiss": "Eltüntetés",
|
||||
"dismissable_banner.explore_links": "Jelenleg ezekről a hírekről beszélgetnek az ezen és a decentralizált hálózat többi kiszolgálóján lévő emberek.",
|
||||
"dismissable_banner.explore_statuses": "Jelenleg ezek a bejegyzések hódítanak teret ezen és a decentralizált hálózat egyéb kiszolgálóin.",
|
||||
"dismissable_banner.explore_tags": "Jelenleg ezek a hashtagek hódítanak teret ezen és a decentralizált hálózat többi kiszolgálóján lévő emberek körében.",
|
||||
"dismissable_banner.public_timeline": "Ezek a legfrissebb bejegyzések azoktól, akik a decentralizált hálózat más kiszolgálóin vannak, és ez a kiszolgáló tud róluk.",
|
||||
"disabled_account_banner.text": "{disabledAccount} fiók jelenleg letilzásra került.",
|
||||
"dismissable_banner.community_timeline": "Ezek a legfrissebb nyilvános bejegyzések, amelyeket {domain} tartományban levő kiszolgáló fiókjait használó emberek tettek közzé.",
|
||||
"dismissable_banner.dismiss": "Elvetés",
|
||||
"dismissable_banner.explore_links": "Jelenleg ezekről a hírekről beszélgetnek az ezen és a központosítás nélküli hálózat többi kiszolgálóján lévő emberek.",
|
||||
"dismissable_banner.explore_statuses": "Jelenleg ezek a bejegyzések hódítanak teret ezen és a központosítás nélküli hálózat egyéb kiszolgálóin.",
|
||||
"dismissable_banner.explore_tags": "Jelenleg ezek a #címke elemek hódítanak teret ezen és a központosítás nélküli hálózat többi kiszolgálóján lévő emberek körében.",
|
||||
"dismissable_banner.public_timeline": "Ezek a legfrissebb bejegyzések azoktól, akik a központosítás nélküli hálózat más kiszolgálóin vannak és ez a kiszolgáló tud róluk.",
|
||||
"embed.instructions": "Ágyazd be ezt a bejegyzést a weboldaladba az alábbi kód kimásolásával.",
|
||||
"embed.preview": "Így fog kinézni:",
|
||||
"emoji_button.activity": "Tevékenység",
|
||||
|
@ -210,67 +210,67 @@
|
|||
"emoji_button.search_results": "Keresési találatok",
|
||||
"emoji_button.symbols": "Szimbólumok",
|
||||
"emoji_button.travel": "Utazás és Helyek",
|
||||
"empty_column.account_suspended": "Fiók felfüggesztve",
|
||||
"empty_column.account_suspended": "A fiók felfüggesztésre került",
|
||||
"empty_column.account_timeline": "Itt nincs bejegyzés!",
|
||||
"empty_column.account_unavailable": "A profil nem érhető el",
|
||||
"empty_column.blocks": "Még senkit sem tiltottál le.",
|
||||
"empty_column.blocks": "Még senki sem került letiltásra.",
|
||||
"empty_column.bookmarked_statuses": "Még nincs egyetlen könyvjelzőzött bejegyzésed sem. Ha könyvjelzőzöl egyet, itt fog megjelenni.",
|
||||
"empty_column.community": "A helyi idővonal üres. Tégy közzé valamit nyilvánosan, hogy elindítsd az eseményeket!",
|
||||
"empty_column.direct": "Még nincs egy közvetlen üzeneted sem. Ha küldesz vagy kapsz egyet, itt fog megjelenni.",
|
||||
"empty_column.domain_blocks": "Még nem rejtettél el egyetlen domaint sem.",
|
||||
"empty_column.direct": "Még nincs egy közvetlen üzenet sem. Küldéskor vagy fogadáskor itt fog megjelenni.",
|
||||
"empty_column.domain_blocks": "Még nem lett letiltva egyetlen tartomány sem.",
|
||||
"empty_column.explore_statuses": "Jelenleg semmi sem felkapott. Nézz vissza később!",
|
||||
"empty_column.favourited_statuses": "Még nincs egyetlen kedvenc bejegyzésed sem. Ha kedvencnek jelölsz egyet, itt fog megjelenni.",
|
||||
"empty_column.favourites": "Még senki sem jelölte ezt a bejegyzést kedvencnek. Ha valaki mégis megteszi, itt fogjuk mutatni.",
|
||||
"empty_column.follow_recommendations": "Úgy tűnik, neked nem tudunk javaslatokat adni. Próbáld a keresést használni olyanok megtalálására, akiket ismerhetsz, vagy fedezd fel a felkapott hastageket.",
|
||||
"empty_column.follow_requests": "Még nincs egy követési kérésed sem. Ha kapsz egyet, itt fogjuk feltüntetni.",
|
||||
"empty_column.followed_tags": "Még egy hashtaget sem követtél be. Itt fognak megjelenni, ahogy bekövetsz egyet.",
|
||||
"empty_column.hashtag": "Jelenleg nem található semmi ezzel a hashtaggel.",
|
||||
"empty_column.home": "A saját idővonalad üres! Látogasd meg a {public} oldalt vagy használd a keresőt, hogy megismerj másokat.",
|
||||
"empty_column.follow_requests": "Még nincs egy követési kérés sem. Fogadáskor itt jelenik meg.",
|
||||
"empty_column.followed_tags": "Még egy #címke sincs követve. Ezek ekkor itt jelennek meg.",
|
||||
"empty_column.hashtag": "Jelenleg nem található semmi ezzel a #címkével.",
|
||||
"empty_column.home": "A saját idővonal üres! További emberek követése a kitöltéshez. {suggestions}",
|
||||
"empty_column.home.suggestions": "Nézzünk pár javaslatot",
|
||||
"empty_column.list": "A lista jelenleg üres. Ha a listatagok bejegyzést tesznek közzé, itt fog megjelenni.",
|
||||
"empty_column.lists": "Még nem hoztál létre listát. Ha csinálsz egyet, itt látszik majd.",
|
||||
"empty_column.mutes": "Még egy felhasználót sem némítottál le.",
|
||||
"empty_column.notifications": "Jelenleg nincsenek értesítéseid. Lépj kapcsolatba másokkal, hogy elindítsd a beszélgetést.",
|
||||
"empty_column.public": "Jelenleg itt nincs semmi! Írj valamit nyilvánosan vagy kövess más kiszolgálón levő felhasználókat, hogy megtöltsd.",
|
||||
"empty_column.lists": "Még nincs egyetlen lista sem. A létrehozáskor itt jelenik meg.",
|
||||
"empty_column.mutes": "Még nincs egyetlen némított felhasználót sem.",
|
||||
"empty_column.notifications": "Jelenleg nincsenek értesítések. Más emberekkel kapcsolatba lépés után ez itt lesz látható.",
|
||||
"empty_column.public": "Jelenleg itt nincs semmi! Írjunk valamit nyilvánosan vagy kövessünk más kiszolgálón levő felhasználókat a megjelenéshez.",
|
||||
"error.unexpected_crash.explanation": "Egy hiba vagy böngésző inkompatibilitás miatt ez az oldal nem jeleníthető meg rendesen.",
|
||||
"error.unexpected_crash.explanation_addons": "Ezt az oldalt nem lehet helyesen megjeleníteni. Ezt a hibát valószínűleg egy böngésző beépülő vagy egy automatikus fordító okozza.",
|
||||
"error.unexpected_crash.next_steps": "Próbáld frissíteni az oldalt. Ha ez nem segít, egy másik böngészőn vagy appon keresztül még mindig használhatod a Mastodont.",
|
||||
"error.unexpected_crash.next_steps_addons": "Próbáld letiltani őket és frissíteni az oldalt. Ha ez nem segít, egy másik böngészőn vagy appon keresztül még mindig használhatod a Mastodont.",
|
||||
"error.unexpected_crash.explanation_addons": "Ezt az oldalt nem lehet helyesen megjeleníteni. Ezt a hibát valószínűleg egy böngésző kiegészítő vagy egy automatikus fordító okozza.",
|
||||
"error.unexpected_crash.next_steps": "Próbáljuk meg frissíteni az oldalt. Ha ez nem segít, egy másik böngészőn vagy appon keresztül még mindig használható a Mastodon.",
|
||||
"error.unexpected_crash.next_steps_addons": "Próbáljuk meg letiltani őket és frissíteni az oldalt. Ha ez nem segít, egy másik böngészőn vagy alkalmazáson keresztül még mindig használható a Mastodon.",
|
||||
"errors.unexpected_crash.copy_stacktrace": "Veremkiíratás vágólapra másolása",
|
||||
"errors.unexpected_crash.report_issue": "Probléma jelentése",
|
||||
"explore.search_results": "Keresési találatok",
|
||||
"explore.suggested_follows": "Neked",
|
||||
"explore.suggested_follows": "Nekem",
|
||||
"explore.title": "Felfedezés",
|
||||
"explore.trending_links": "Hírek",
|
||||
"explore.trending_statuses": "Bejegyzések",
|
||||
"explore.trending_tags": "Hashtagek",
|
||||
"filter_modal.added.context_mismatch_explanation": "Ez a szűrőkategória nem érvényes abban a környezetben, amelyből elérted ezt a bejegyzést. Ha ebben a környezetben is szűrni szeretnéd a bejegyzést, akkor szerkesztened kell a szűrőt.",
|
||||
"explore.trending_tags": "#Címkék",
|
||||
"filter_modal.added.context_mismatch_explanation": "Ez a szűrőkategória nem érvényes abban a környezetben, amelyből ez a bejegyzés elérésre kerül. Ha ebben a környezetben is szűrni szeretnénk a bejegyzést, akkor szerkeszteni kell a szűrőt.",
|
||||
"filter_modal.added.context_mismatch_title": "Környezeti eltérés.",
|
||||
"filter_modal.added.expired_explanation": "Ez a szűrőkategória elévült, a használatához módosítanod kell az elévülési dátumot.",
|
||||
"filter_modal.added.expired_title": "Elévült szűrő.",
|
||||
"filter_modal.added.review_and_configure": "A szűrőkategória felülvizsgálatához és további beállításához ugorjon a {settings_link} oldalra.",
|
||||
"filter_modal.added.expired_explanation": "Ez a szűrőkategória elévült, a használatához módosítani kell a lejárati dátumot.",
|
||||
"filter_modal.added.expired_title": "A szűrő lejárt!",
|
||||
"filter_modal.added.review_and_configure": "A szűrőkategória felülvizsgálatához és további beállításához ugorás {settings_link} oldalra.",
|
||||
"filter_modal.added.review_and_configure_title": "Szűrőbeállítások",
|
||||
"filter_modal.added.settings_link": "beállítások oldal",
|
||||
"filter_modal.added.short_explanation": "A következő bejegyzés hozzá lett adva a következő szűrőkategóriához: {title}.",
|
||||
"filter_modal.added.title": "Szűrő hozzáadva.",
|
||||
"filter_modal.added.title": "A szűrő hozzáadásra került.",
|
||||
"filter_modal.select_filter.context_mismatch": "nem érvényes erre a környezetre",
|
||||
"filter_modal.select_filter.expired": "elévült",
|
||||
"filter_modal.select_filter.expired": "lejárt",
|
||||
"filter_modal.select_filter.prompt_new": "Új kategória: {name}",
|
||||
"filter_modal.select_filter.search": "Keresés vagy létrehozás",
|
||||
"filter_modal.select_filter.subtitle": "Válassz egy meglévő kategóriát, vagy hozz létre egy újat",
|
||||
"filter_modal.select_filter.subtitle": "Létező kategória használata vagy új létrehozása",
|
||||
"filter_modal.select_filter.title": "E bejegyzés szűrése",
|
||||
"filter_modal.title.status": "Egy bejegyzés szűrése",
|
||||
"follow_recommendations.done": "Kész",
|
||||
"follow_recommendations.heading": "Kövesd azokat, akiknek a bejegyzéseit látni szeretnéd! Itt van néhány javaslat.",
|
||||
"follow_recommendations.lead": "Az általad követettek bejegyzései a saját idővonaladon fognak megjelenni időrendi sorrendben. Ne félj attól, hogy hibázol! A követést bármikor, ugyanilyen könnyen visszavonhatod!",
|
||||
"follow_request.authorize": "Engedélyezés",
|
||||
"follow_request.authorize": "Hitelesítés",
|
||||
"follow_request.reject": "Elutasítás",
|
||||
"follow_requests.unlocked_explanation": "Bár a fiókod nincs zárolva, a(z) {domain} csapata úgy gondolta, hogy talán kézzel szeretnéd ellenőrizni a fiók követési kéréseit.",
|
||||
"followed_tags": "Követett hashtagek",
|
||||
"followed_tags": "Követett #címkék",
|
||||
"footer.about": "Névjegy",
|
||||
"footer.directory": "Profilok",
|
||||
"footer.get_app": "Töltsd le az appot",
|
||||
"footer.invite": "Mások meghívása",
|
||||
"footer.directory": "Profiltár",
|
||||
"footer.get_app": "Alkalmazás beszerzése",
|
||||
"footer.invite": "Emberek meghívása",
|
||||
"footer.keyboard_shortcuts": "Billentyűparancsok",
|
||||
"footer.privacy_policy": "Adatvédelmi szabályzat",
|
||||
"footer.source_code": "Forráskód megtekintése",
|
||||
|
@ -281,11 +281,11 @@
|
|||
"hashtag.column_header.tag_mode.any": "vagy {additional}",
|
||||
"hashtag.column_header.tag_mode.none": "{additional} nélkül",
|
||||
"hashtag.column_settings.select.no_options_message": "Nincs javaslat",
|
||||
"hashtag.column_settings.select.placeholder": "Addj meg hashtageket…",
|
||||
"hashtag.column_settings.select.placeholder": "#Címkék megadása…",
|
||||
"hashtag.column_settings.tag_mode.all": "Mindegyik",
|
||||
"hashtag.column_settings.tag_mode.any": "Bármelyik",
|
||||
"hashtag.column_settings.tag_mode.none": "Egyik sem",
|
||||
"hashtag.column_settings.tag_toggle": "Új címkék felvétele ehhez az oszlophoz",
|
||||
"hashtag.column_settings.tag_toggle": "További címkék felvétele ehhez az oszlophoz",
|
||||
"hashtag.follow": "Hashtag követése",
|
||||
"hashtag.unfollow": "Hashtag követésének megszüntetése",
|
||||
"home.column_settings.basic": "Alapvető",
|
||||
|
@ -293,14 +293,14 @@
|
|||
"home.column_settings.show_replies": "Válaszok megjelenítése",
|
||||
"home.hide_announcements": "Közlemények elrejtése",
|
||||
"home.show_announcements": "Közlemények megjelenítése",
|
||||
"interaction_modal.description.favourite": "Egy Mastodon fiókkal kedvencnek jelölheted ezt a bejegyzést, tudatva a szerzővel, hogy értékeled és elteszed későbbre.",
|
||||
"interaction_modal.description.follow": "Egy Mastodon fiókkal bekövetheted {name} fiókot, hogy lásd a bejegyzéseit a saját hírfolyamodban.",
|
||||
"interaction_modal.description.reblog": "Egy Mastodon fiókkal megtolhatod ezt a bejegyzést, hogy megoszd a saját követőiddel.",
|
||||
"interaction_modal.description.reply": "Egy Mastodon fiókkal válaszolhatsz erre a bejegyzésre.",
|
||||
"interaction_modal.description.favourite": "Egy Mastodon fiókkal kedvencnek jelölhető ez a bejegyzés, tudatva a szerzővel, hogy értékeljük és eltesszük későbbre.",
|
||||
"interaction_modal.description.follow": "Egy Mastodon fiókkal bekövethető {name} fiók a bejegyzései megjelenítéséhez a saját hírfolyamban.",
|
||||
"interaction_modal.description.reblog": "Egy Mastodon fiókkal megtolható ez a bejegyzés a saját követőkkel megosztáshoz.",
|
||||
"interaction_modal.description.reply": "Egy Mastodon fiókkal válaszolhatunk erre a bejegyzésre.",
|
||||
"interaction_modal.on_another_server": "Másik kiszolgálón",
|
||||
"interaction_modal.on_this_server": "Ezen a kiszolgálón",
|
||||
"interaction_modal.other_server_instructions": "Másold és illeszd be ezt a webcímet a kedvenc Mastodon alkalmazásod vagy a Mastodon-kiszolgálód webes felületének keresőmezőjébe.",
|
||||
"interaction_modal.preamble": "Mivel a Mastodon decentralizált, használhatod egy másik Mastodon kiszolgálón, vagy kompatibilis szolgáltatáson lévő fiókodat, ha ezen a kiszolgálón nincs fiókod.",
|
||||
"interaction_modal.other_server_instructions": "Másoljuk és illesszük be ezt a webcímet a kedvenc Mastodon alkalmazásd vagy a Mastodon kiszolgáló webes felületének keresőmezőjébe.",
|
||||
"interaction_modal.preamble": "Mivel a Mastodon nem központosított, használható egy másik Mastodon kiszolgálón vagy kompatibilis szolgáltatáson lévő fiók, ha ezen a kiszolgálón nincs saját fiók.",
|
||||
"interaction_modal.title.favourite": "{name} bejegyzésének megjelölése kedvencként",
|
||||
"interaction_modal.title.follow": "{name} követése",
|
||||
"interaction_modal.title.reblog": "{name} bejegyzésének megtolása",
|
||||
|
@ -308,47 +308,47 @@
|
|||
"intervals.full.days": "{number, plural, one {# nap} other {# nap}}",
|
||||
"intervals.full.hours": "{number, plural, one {# óra} other {# óra}}",
|
||||
"intervals.full.minutes": "{number, plural, one {# perc} other {# perc}}",
|
||||
"keyboard_shortcuts.back": "visszafelé navigálás",
|
||||
"keyboard_shortcuts.blocked": "letiltott felhasználók listájának megnyitása",
|
||||
"keyboard_shortcuts.back": "Navigálás vissza",
|
||||
"keyboard_shortcuts.blocked": "Letiltott felhasználók listájának megnyitása",
|
||||
"keyboard_shortcuts.boost": "Bejegyzés megtolása",
|
||||
"keyboard_shortcuts.column": "Fókuszálás egy oszlopra",
|
||||
"keyboard_shortcuts.compose": "fókuszálás a szerkesztési szövegdobozra",
|
||||
"keyboard_shortcuts.compose": "Szerkesztési terület fókuszálása",
|
||||
"keyboard_shortcuts.description": "Leírás",
|
||||
"keyboard_shortcuts.direct": "közvetlen üzenetek megnyitása",
|
||||
"keyboard_shortcuts.down": "lefele navigálás a listában",
|
||||
"keyboard_shortcuts.down": "Mozgás lefelé a listában",
|
||||
"keyboard_shortcuts.enter": "Bejegyzés megnyitása",
|
||||
"keyboard_shortcuts.favourite": "Bejegyzés kedvencnek jelölése",
|
||||
"keyboard_shortcuts.favourites": "kedvenc lista megnyitása",
|
||||
"keyboard_shortcuts.favourites": "Kedvencek lista megnyitása",
|
||||
"keyboard_shortcuts.federated": "föderációs idővonal megnyitása",
|
||||
"keyboard_shortcuts.heading": "Billentyűparancsok",
|
||||
"keyboard_shortcuts.home": "saját idővonal megnyitása",
|
||||
"keyboard_shortcuts.home": "Saját idővonal megnyitása",
|
||||
"keyboard_shortcuts.hotkey": "Gyorsbillentyű",
|
||||
"keyboard_shortcuts.legend": "jelmagyarázat megjelenítése",
|
||||
"keyboard_shortcuts.local": "helyi idővonal megnyitása",
|
||||
"keyboard_shortcuts.mention": "szerző megemlítése",
|
||||
"keyboard_shortcuts.mention": "Szerző megemlítése",
|
||||
"keyboard_shortcuts.muted": "némított felhasználók listájának megnyitása",
|
||||
"keyboard_shortcuts.my_profile": "profilod megnyitása",
|
||||
"keyboard_shortcuts.notifications": "értesítések megnyitása",
|
||||
"keyboard_shortcuts.open_media": "média megnyitása",
|
||||
"keyboard_shortcuts.my_profile": "Saját profil megnyitása",
|
||||
"keyboard_shortcuts.notifications": "Értesítések oszlop megnyitása",
|
||||
"keyboard_shortcuts.open_media": "Média megnyitása",
|
||||
"keyboard_shortcuts.pinned": "Kitűzött bejegyzések listájának megnyitása",
|
||||
"keyboard_shortcuts.profile": "szerző profiljának megnyitása",
|
||||
"keyboard_shortcuts.profile": "Szerző profil megnyitása",
|
||||
"keyboard_shortcuts.reply": "Válasz bejegyzésre",
|
||||
"keyboard_shortcuts.requests": "követési kérések listájának megnyitása",
|
||||
"keyboard_shortcuts.search": "fókuszálás a keresőre",
|
||||
"keyboard_shortcuts.requests": "Követési kérések lista megnyitása",
|
||||
"keyboard_shortcuts.search": "Keresősáv fókuszálása",
|
||||
"keyboard_shortcuts.spoilers": "Tartalmi figyelmeztetés mező megjelenítése/elrejtése",
|
||||
"keyboard_shortcuts.start": "\"Első lépések\" megnyitása",
|
||||
"keyboard_shortcuts.toggle_hidden": "Tartalmi figyelmeztetéssel ellátott szöveg megjelenítése/elrejtése",
|
||||
"keyboard_shortcuts.start": "\"Első lépések\" oszlop megnyitása",
|
||||
"keyboard_shortcuts.toggle_hidden": "Tartalmi figyelmeztetéssel mögötti szöveg megjelenítése/elrejtése",
|
||||
"keyboard_shortcuts.toggle_sensitivity": "Média megjelenítése/elrejtése",
|
||||
"keyboard_shortcuts.toot": "Új bejegyzés írása",
|
||||
"keyboard_shortcuts.unfocus": "Szerkesztés/keresés fókuszból való kivétele",
|
||||
"keyboard_shortcuts.up": "felfelé mozdítás a listában",
|
||||
"keyboard_shortcuts.up": "Mozgás felfelé a listában",
|
||||
"lightbox.close": "Bezárás",
|
||||
"lightbox.compress": "Képnézet összecsukása",
|
||||
"lightbox.expand": "Képnézet kinagyítása",
|
||||
"lightbox.compress": "Képnéző doboz összezárása",
|
||||
"lightbox.expand": "Képnéző doboz kinyitása",
|
||||
"lightbox.next": "Következő",
|
||||
"lightbox.previous": "Előző",
|
||||
"limited_account_hint.action": "Mindenképpen mutassa a profilt",
|
||||
"limited_account_hint.title": "Ezt a profilt a(z) {domain} moderátorai elrejtették.",
|
||||
"limited_account_hint.action": "Profil megjelenítése mindenképpen",
|
||||
"limited_account_hint.title": "Ezt a profilt {domain} moderátorai elrejtették.",
|
||||
"lists.account.add": "Hozzáadás a listához",
|
||||
"lists.account.remove": "Eltávolítás a listából",
|
||||
"lists.delete": "Lista törlése",
|
||||
|
@ -359,17 +359,17 @@
|
|||
"lists.replies_policy.followed": "Bármely követett felhasználó",
|
||||
"lists.replies_policy.list": "A lista tagjai",
|
||||
"lists.replies_policy.none": "Senki",
|
||||
"lists.replies_policy.title": "Nekik mutassuk a válaszokat:",
|
||||
"lists.replies_policy.title": "Válaszok megjelenítése:",
|
||||
"lists.search": "Keresés a követett személyek között",
|
||||
"lists.subheading": "Listáid",
|
||||
"lists.subheading": "Saját listák",
|
||||
"load_pending": "{count, plural, one {# új elem} other {# új elem}}",
|
||||
"loading_indicator.label": "Betöltés...",
|
||||
"media_gallery.toggle_visible": "{number, plural, one {Kép elrejtése} other {Képek elrejtése}}",
|
||||
"missing_indicator.label": "Nincs találat",
|
||||
"missing_indicator.sublabel": "Ez az erőforrás nem található",
|
||||
"moved_to_account_banner.text": "A(z) {disabledAccount} fiókod jelenleg le van tiltva, mert átköltöztél ide: {movedToAccount}.",
|
||||
"moved_to_account_banner.text": "{disabledAccount} fiók jelenleg le van tiltva, mert más {movedToAccount} fiókba került át.",
|
||||
"mute_modal.duration": "Időtartam",
|
||||
"mute_modal.hide_notifications": "Rejtsük el a felhasználótól származó értesítéseket?",
|
||||
"mute_modal.hide_notifications": "Értesítések elrejtése ettől a felhasználótól?",
|
||||
"mute_modal.indefinite": "Határozatlan",
|
||||
"navigation_bar.about": "Névjegy",
|
||||
"navigation_bar.blocks": "Letiltott felhasználók",
|
||||
|
@ -378,13 +378,13 @@
|
|||
"navigation_bar.compose": "Új bejegyzés írása",
|
||||
"navigation_bar.direct": "Közvetlen üzenetek",
|
||||
"navigation_bar.discover": "Felfedezés",
|
||||
"navigation_bar.domain_blocks": "Rejtett domainek",
|
||||
"navigation_bar.domain_blocks": "Letiltott tartományok",
|
||||
"navigation_bar.edit_profile": "Profil szerkesztése",
|
||||
"navigation_bar.explore": "Felfedezés",
|
||||
"navigation_bar.favourites": "Kedvencek",
|
||||
"navigation_bar.filters": "Némított szavak",
|
||||
"navigation_bar.follow_requests": "Követési kérelmek",
|
||||
"navigation_bar.followed_tags": "Követett hashtagek",
|
||||
"navigation_bar.followed_tags": "Követett #címkék",
|
||||
"navigation_bar.follows_and_followers": "Követettek és követők",
|
||||
"navigation_bar.lists": "Listák",
|
||||
"navigation_bar.logout": "Kijelentkezés",
|
||||
|
@ -395,15 +395,15 @@
|
|||
"navigation_bar.public_timeline": "Föderációs idővonal",
|
||||
"navigation_bar.search": "Keresés",
|
||||
"navigation_bar.security": "Biztonság",
|
||||
"not_signed_in_indicator.not_signed_in": "Az erőforrás eléréséhez be kell jelentkezned.",
|
||||
"not_signed_in_indicator.not_signed_in": "Az erőforrás eléréséhez be kell jelentkezni.",
|
||||
"notification.admin.report": "{name} jelentette: {target}",
|
||||
"notification.admin.sign_up": "{name} regisztrált",
|
||||
"notification.favourite": "{name} kedvencnek jelölte a bejegyzésedet",
|
||||
"notification.follow": "{name} követ téged",
|
||||
"notification.follow_request": "{name} követni szeretne téged",
|
||||
"notification.mention": "{name} megemlített",
|
||||
"notification.own_poll": "A szavazásod véget ért",
|
||||
"notification.poll": "Egy szavazás, melyben részt vettél, véget ért",
|
||||
"notification.follow": "{name} követ engem",
|
||||
"notification.follow_request": "{name} követni szeretne engem",
|
||||
"notification.mention": "{name} megemlített engem",
|
||||
"notification.own_poll": "A szavazás véget ért",
|
||||
"notification.poll": "Egy általam részt vett szavazás véget ért",
|
||||
"notification.reblog": "{name} megtolta a bejegyzésedet",
|
||||
"notification.status": "{name} bejegyzést tett közzé",
|
||||
"notification.update": "{name} szerkesztett egy bejegyzést",
|
||||
|
@ -413,47 +413,47 @@
|
|||
"notifications.column_settings.admin.sign_up": "Új regisztrálók:",
|
||||
"notifications.column_settings.alert": "Asztali értesítések",
|
||||
"notifications.column_settings.favourite": "Kedvencek:",
|
||||
"notifications.column_settings.filter_bar.advanced": "Minden kategória megjelenítése",
|
||||
"notifications.column_settings.filter_bar.category": "Gyorskereső mező",
|
||||
"notifications.column_settings.filter_bar.show_bar": "Szűrősáv mutatása",
|
||||
"notifications.column_settings.filter_bar.advanced": "Összes kategória megjelenítése",
|
||||
"notifications.column_settings.filter_bar.category": "Gyorsszűrő sáv",
|
||||
"notifications.column_settings.filter_bar.show_bar": "Szűrősáv megjelenítése",
|
||||
"notifications.column_settings.follow": "Új követők:",
|
||||
"notifications.column_settings.follow_request": "Új követési kérelmek:",
|
||||
"notifications.column_settings.mention": "Megemlítések:",
|
||||
"notifications.column_settings.poll": "Szavazás eredménye:",
|
||||
"notifications.column_settings.poll": "Szavazási eredmények:",
|
||||
"notifications.column_settings.push": "Push értesítések",
|
||||
"notifications.column_settings.reblog": "Megtolások:",
|
||||
"notifications.column_settings.show": "Oszlopban mutatás",
|
||||
"notifications.column_settings.show": "Megjelenítés oszlopban",
|
||||
"notifications.column_settings.sound": "Hang lejátszása",
|
||||
"notifications.column_settings.status": "Új bejegyzések:",
|
||||
"notifications.column_settings.unread_notifications.category": "Olvasatlan értesítések",
|
||||
"notifications.column_settings.unread_notifications.highlight": "Olvasatlan értesítések kiemelése",
|
||||
"notifications.column_settings.update": "Szerkesztések:",
|
||||
"notifications.filter.all": "Mind",
|
||||
"notifications.filter.all": "Összes",
|
||||
"notifications.filter.boosts": "Megtolások",
|
||||
"notifications.filter.favourites": "Kedvencnek jelölések",
|
||||
"notifications.filter.favourites": "Kedvencek",
|
||||
"notifications.filter.follows": "Követések",
|
||||
"notifications.filter.mentions": "Megemlítések",
|
||||
"notifications.filter.polls": "Szavazások eredményei",
|
||||
"notifications.filter.statuses": "Frissítések azoktól, akiket követsz",
|
||||
"notifications.grant_permission": "Engedély megadása.",
|
||||
"notifications.group": "{count} értesítés",
|
||||
"notifications.mark_as_read": "Minden értesítés olvasottnak jelölése",
|
||||
"notifications.permission_denied": "Nem tudjuk engedélyezni az asztali értesítéseket, mert az engedélyt megtagadták.",
|
||||
"notifications.permission_denied_alert": "Az asztali értesítések nem engedélyezhetőek, mert az engedélyt megtagadták a böngészőben",
|
||||
"notifications.permission_required": "Az asztali értesítések nem elérhetőek, mert a szükséges engedélyt nem adtad meg.",
|
||||
"notifications.mark_as_read": "Összes értesítés megjelölése olvasottként",
|
||||
"notifications.permission_denied": "Az asztali értesítések nem érhetők el a korábban elutasított böngésző engedély kérelem miatt",
|
||||
"notifications.permission_denied_alert": "Az asztali értesítések nem engedélyezhetők a korábban elutasított böngésző engedély miatt",
|
||||
"notifications.permission_required": "Az asztali értesítések nem érhetők, mivel a szükséges engedély nem lett megadva.",
|
||||
"notifications_permission_banner.enable": "Asztali értesítések engedélyezése",
|
||||
"notifications_permission_banner.how_to_control": "Ahhoz, hogy értesítéseket kapj akkor, amikor a Mastodon nincs megnyitva, engedélyezd az asztali értesítéseket. Pontosan be tudod állítani, hogy milyen interakciókról értesülj a fenti {icon} gombon keresztül, ha egyszer már engedélyezted őket.",
|
||||
"notifications_permission_banner.title": "Soha ne mulassz el semmit",
|
||||
"picture_in_picture.restore": "Visszarakás",
|
||||
"notifications_permission_banner.how_to_control": "Bezárt Mastononnál értesések fogadásához engedélyezni kell az asztali értesítéseket. Pontosan lehet vezérelni, hogy milyen interakciókról érkezzen értesítés fenti {icon} gombon keresztül, ha már lorábban megtörtént az engedélyezés.",
|
||||
"notifications_permission_banner.title": "Soha ne mulasszunk el semmit",
|
||||
"picture_in_picture.restore": "Visszahelyezés",
|
||||
"poll.closed": "Lezárva",
|
||||
"poll.refresh": "Frissítés",
|
||||
"poll.total_people": "{count, plural, one {# személy} other {# személy}}",
|
||||
"poll.total_votes": "{count, plural, one {# szavazat} other {# szavazat}}",
|
||||
"poll.vote": "Szavazás",
|
||||
"poll.voted": "Erre a válaszra szavaztál",
|
||||
"poll.voted": "Megtörtént a szavazás erre a kérdésre",
|
||||
"poll.votes": "{votes, plural, one {# szavazat} other {# szavazat}}",
|
||||
"poll_button.add_poll": "Új szavazás",
|
||||
"poll_button.remove_poll": "Szavazás törlése",
|
||||
"poll_button.remove_poll": "Szavazás eltávolítása",
|
||||
"privacy.change": "Bejegyzés láthatóságának módosítása",
|
||||
"privacy.direct.long": "Csak a megemlített felhasználóknak látható",
|
||||
"privacy.direct.short": "Csak megemlítetteknek",
|
||||
|
@ -466,7 +466,7 @@
|
|||
"privacy_policy.last_updated": "Utoljára frissítve: {date}",
|
||||
"privacy_policy.title": "Adatvédelmi szabályzat",
|
||||
"refresh": "Frissítés",
|
||||
"regeneration_indicator.label": "Töltődik…",
|
||||
"regeneration_indicator.label": "A betöltés folyamatban van…",
|
||||
"regeneration_indicator.sublabel": "A saját idővonalad épp készül!",
|
||||
"relative_time.days": "{number}n",
|
||||
"relative_time.full.days": "{number, plural, one {# napja} other {# napja}}",
|
||||
|
@ -481,7 +481,7 @@
|
|||
"relative_time.today": "ma",
|
||||
"reply_indicator.cancel": "Mégsem",
|
||||
"report.block": "Letiltás",
|
||||
"report.block_explanation": "Nem fogod látni a bejegyzéseit. Nem fogja tudni megnézni a bejegyzéseidet és nem fog tudni követni sem. Azt is meg fogja tudni mondani, hogy letiltottad.",
|
||||
"report.block_explanation": "A bejegyzéseik nem áthatók. Nem nézheti meg a saját bejegyzéseimet és nem tudni követni sem. Azt is meg fogja tudni mondani, hogy letiltották.",
|
||||
"report.categories.other": "Egyéb",
|
||||
"report.categories.spam": "Kéretlen üzenet",
|
||||
"report.categories.violation": "A tartalom a kiszolgáló egy vagy több szabályát sérti",
|
||||
|
@ -492,11 +492,11 @@
|
|||
"report.close": "Kész",
|
||||
"report.comment.title": "Van valami, amiről tudnunk kellene?",
|
||||
"report.forward": "Továbbítás: {target}",
|
||||
"report.forward_hint": "Ez a fiók egy másik kiszolgálóról van. Oda is elküldöd a jelentés egy anonimizált másolatát?",
|
||||
"report.forward_hint": "Ez a fiók egy másik kiszolgálóról van. Oda is elküldésre kerüljön a jelentés egy anonimizált másolata?",
|
||||
"report.mute": "Némítás",
|
||||
"report.mute_explanation": "Nem fogod látni a bejegyzéseit. Továbbra is fog tudni követni, és látni fogja a bejegyzéseidet, és nem fogja tudni, hogy némítottad.",
|
||||
"report.next": "Következő",
|
||||
"report.placeholder": "További megjegyzések",
|
||||
"report.placeholder": "További hozzászólások",
|
||||
"report.reasons.dislike": "Nem tetszik",
|
||||
"report.reasons.dislike_description": "Ezt nem szeretném látni",
|
||||
"report.reasons.other": "Valami más",
|
||||
|
@ -512,7 +512,7 @@
|
|||
"report.submit": "Küldés",
|
||||
"report.target": "{target} jelentése",
|
||||
"report.thanks.take_action": "Itt vannak a beállítások, melyek szabályozzák, hogy mit látsz a Mastodonon:",
|
||||
"report.thanks.take_action_actionable": "Míg átnézzük, a következőket teheted @{name} ellen:",
|
||||
"report.thanks.take_action_actionable": "Míg átnézzük, a következőket lehet tenni @{name} ellen:",
|
||||
"report.thanks.title": "Nem akarod ezt látni?",
|
||||
"report.thanks.title_actionable": "Köszönjük, hogy jelentetted, megnézzük.",
|
||||
"report.unfollow": "@{name} követésének leállítása",
|
||||
|
@ -523,32 +523,32 @@
|
|||
"report_notification.categories.violation": "Szabálysértés",
|
||||
"report_notification.open": "Bejelentés megnyitása",
|
||||
"search.placeholder": "Keresés",
|
||||
"search.search_or_paste": "Keresés vagy URL beillesztése",
|
||||
"search_popout.search_format": "Speciális keresés",
|
||||
"search.search_or_paste": "Keresés vagy webcím beillesztése",
|
||||
"search_popout.search_format": "Bővített keresési forma",
|
||||
"search_popout.tips.full_text": "Egyszerű szöveg, mely általad írt, kedvencnek jelölt vagy megtolt bejegyzéseket, rólad szóló megemlítéseket, felhasználói neveket, megjelenített neveket, hashtageket ad majd vissza.",
|
||||
"search_popout.tips.hashtag": "hashtag",
|
||||
"search_popout.tips.hashtag": "#címke",
|
||||
"search_popout.tips.status": "bejegyzés",
|
||||
"search_popout.tips.text": "Egyszerű szöveg. Illeszkedő megjelenített nevet, felhasználói nevet, hashtageket ad majd vissza",
|
||||
"search_popout.tips.text": "Az egyszerű szöveg illeszkedő megjelenített nevet, felhasználónevet, #címkéket ad vissza",
|
||||
"search_popout.tips.user": "felhasználó",
|
||||
"search_results.accounts": "Emberek",
|
||||
"search_results.all": "Összes",
|
||||
"search_results.hashtags": "Hashtagek",
|
||||
"search_results.hashtags": "#Címkék",
|
||||
"search_results.nothing_found": "Nincs találat ezekre a keresési kifejezésekre",
|
||||
"search_results.statuses": "Bejegyzések",
|
||||
"search_results.statuses_fts_disabled": "Ezen a Mastodon szerveren nem engedélyezett a bejegyzések tartalom szerinti keresése.",
|
||||
"search_results.title": "Keresés erre: {q}",
|
||||
"search_results.total": "{count, number} {count, plural, one {találat} other {találat}}",
|
||||
"server_banner.about_active_users": "Az elmúlt 30 napban ezt a kiszolgálót használók száma (Havi aktív felhasználók)",
|
||||
"server_banner.about_active_users": "Az elmúlt 30 napban ezt a kiszolgálót használó emberek (Havi aktív felhasználók)",
|
||||
"server_banner.active_users": "aktív felhasználó",
|
||||
"server_banner.administered_by": "Adminisztrátor:",
|
||||
"server_banner.introduction": "{domain} része egy decentralizált közösségi hálónak, melyet a {mastodon} hajt meg.",
|
||||
"server_banner.learn_more": "Tudj meg többet",
|
||||
"server_banner.server_stats": "Kiszolgálóstatisztika:",
|
||||
"server_banner.introduction": "{domain} része egy központ nélküliközösségi hálónak, melyet a {mastodon} hajt meg.",
|
||||
"server_banner.learn_more": "További információ",
|
||||
"server_banner.server_stats": "Szerver statisztika:",
|
||||
"sign_in_banner.create_account": "Fiók létrehozása",
|
||||
"sign_in_banner.sign_in": "Bejelentkezés",
|
||||
"sign_in_banner.text": "Jelentkezz be profilok vagy hashtagek követéséhez, kedvencnek jelöléséhez, bejegyzések megosztásához, megválaszolásához. A fiókodból más kiszolgálókon is kommunikálhatsz.",
|
||||
"sign_in_banner.text": "Jelentkezzünk be profilok vagy hashtagek követéséhez, kedvencnek jelöléséhez, bejegyzések megosztásához, megválaszolásához. A fiókból más kiszolgálókon is kommunikálhatunk.",
|
||||
"status.admin_account": "Moderációs felület megnyitása @{name} fiókhoz",
|
||||
"status.admin_domain": "A következő moderációs felületének megnyitása: @{domain}",
|
||||
"status.admin_domain": "Moderációs felület megnyitása {domain} esetében",
|
||||
"status.admin_status": "Bejegyzés megnyitása a moderációs felületen",
|
||||
"status.block": "@{name} letiltása",
|
||||
"status.bookmark": "Könyvjelzőzés",
|
||||
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Törlés",
|
||||
"status.detailed_status": "Részletes beszélgetési nézet",
|
||||
"status.direct": "Közvetlen üzenet @{name} számára",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Szerkesztés",
|
||||
"status.edited": "Szerkesztve: {date}",
|
||||
"status.edited_x_times": "{count, plural, one {{count} alkalommal} other {{count} alkalommal}} szerkesztve",
|
||||
|
@ -595,19 +596,19 @@
|
|||
"status.show_less_all": "Kevesebbet mindenhol",
|
||||
"status.show_more": "Többet",
|
||||
"status.show_more_all": "Többet mindenhol",
|
||||
"status.show_original": "Eredeti mutatása",
|
||||
"status.show_original": "Eredeti megjelenítése",
|
||||
"status.translate": "Fordítás",
|
||||
"status.translated_from_with": "{lang} nyelvről fordítva {provider} szolgáltatással",
|
||||
"status.uncached_media_warning": "Nem érhető el",
|
||||
"status.unmute_conversation": "Beszélgetés némításának feloldása",
|
||||
"status.unpin": "Kitűzés eltávolítása a profilodról",
|
||||
"subscribed_languages.lead": "A változtatás után csak a kiválasztott nyelvű bejegyzések fognak megjelenni a kezdőlapon és az idővonalakon. Ha egy sincs kiválasztva, akkor minden nyelven megjelennek a bejegyzések.",
|
||||
"subscribed_languages.lead": "A változtatás után csak a kiválasztott nyelvű bejegyzések fognak megjelenni a kezdőoldalon és az idővonalakon. Ha egy sincs kiválasztva, akkor az összes nyelvű bejegyzések megjelennek.",
|
||||
"subscribed_languages.save": "Változások mentése",
|
||||
"subscribed_languages.target": "Feliratkozott nyelvek módosítása a következőnél: {target}",
|
||||
"subscribed_languages.target": "Feliratkozott nyelvek módosítása {target} esetében",
|
||||
"suggestions.dismiss": "Javaslat elvetése",
|
||||
"suggestions.header": "Esetleg érdekelhet…",
|
||||
"tabs_bar.federated_timeline": "Föderációs",
|
||||
"tabs_bar.home": "Kezdőlap",
|
||||
"suggestions.header": "Esetleg érdeklődésre tarthat számot…",
|
||||
"tabs_bar.federated_timeline": "Összekapcsolt",
|
||||
"tabs_bar.home": "Kezdőoldal",
|
||||
"tabs_bar.local_timeline": "Helyi",
|
||||
"tabs_bar.notifications": "Értesítések",
|
||||
"time_remaining.days": "{number, plural, one {# nap} other {# nap}} van hátra",
|
||||
|
@ -621,29 +622,29 @@
|
|||
"timeline_hint.resources.statuses": "Régi bejegyzések",
|
||||
"trends.counter_by_accounts": "{count, plural, one {{counter} ember} other {{counter} ember}} az elmúlt {days, plural,one {napban} other {{days} napban}}",
|
||||
"trends.trending_now": "Most felkapott",
|
||||
"ui.beforeunload": "A piszkozatod el fog veszni, ha elhagyod a Mastodont.",
|
||||
"ui.beforeunload": "A vázlat elveszik a Mastodon elhagyásakor.",
|
||||
"units.short.billion": "{count}Mrd",
|
||||
"units.short.million": "{count}M",
|
||||
"units.short.thousand": "{count}K",
|
||||
"upload_area.title": "Húzd ide a feltöltéshez",
|
||||
"upload_button.label": "Média hozzáadása",
|
||||
"upload_error.limit": "Túllépted a fájlfeltöltési korlátot.",
|
||||
"upload_area.title": "Húzás a feltöltéshez",
|
||||
"upload_button.label": "Képek, videó vagy audió fájl hozzáadása",
|
||||
"upload_error.limit": "A fájlfeltöltési korlát elérésre került.",
|
||||
"upload_error.poll": "Szavazásnál nem lehet fájlt feltölteni.",
|
||||
"upload_form.audio_description": "Írja le a hallássérültek számára",
|
||||
"upload_form.description": "Leírás látáskorlátozottak számára",
|
||||
"upload_form.audio_description": "Leírás be a siket vagy hallássérült embereknek",
|
||||
"upload_form.description": "Leírás be vak vagy gyengénlátó embereknek",
|
||||
"upload_form.description_missing": "Nincs leírás megadva",
|
||||
"upload_form.edit": "Szerkesztés",
|
||||
"upload_form.thumbnail": "Előnézet megváltoztatása",
|
||||
"upload_form.thumbnail": "Bélyegkép megváltoztatása",
|
||||
"upload_form.undo": "Törlés",
|
||||
"upload_form.video_description": "Írja le a hallás- vagy látássérültek számára",
|
||||
"upload_form.video_description": "Leírás be a siket, hallássérült, vak vagy gyengénlátó embereknek",
|
||||
"upload_modal.analyzing_picture": "Kép elemzése…",
|
||||
"upload_modal.apply": "Alkalmaz",
|
||||
"upload_modal.apply": "Alkalmazás",
|
||||
"upload_modal.applying": "Alkalmazás…",
|
||||
"upload_modal.choose_image": "Kép kiválasztása",
|
||||
"upload_modal.description_placeholder": "A gyors, barna róka átugrik a lusta kutya fölött",
|
||||
"upload_modal.detect_text": "Szöveg felismerése a képről",
|
||||
"upload_modal.edit_media": "Média szerkesztése",
|
||||
"upload_modal.hint": "Kattints vagy húzd a kört az előnézetben arra a fókuszpontra, mely minden megjelenített bélyegképen látható kell, legyen.",
|
||||
"upload_modal.hint": "Kattintás vagy kör húzása az előnézetben arra a fókuszpontra, mely minden megjelenített bélyegképen láthatónak kell lenni.",
|
||||
"upload_modal.preparing_ocr": "OCR előkészítése…",
|
||||
"upload_modal.preview_label": "Előnézet ({ratio})",
|
||||
"upload_progress.label": "Feltöltés...",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Ջնջել",
|
||||
"status.detailed_status": "Շղթայի ընդլայնուած դիտում",
|
||||
"status.direct": "Նամակ գրել {name} -ին",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Խմբագրել",
|
||||
"status.edited": "Խմբագրուել է՝ {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Hapus",
|
||||
"status.detailed_status": "Tampilan detail percakapan",
|
||||
"status.direct": "Pesan langsung @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Diedit {date}",
|
||||
"status.edited_x_times": "Diedit {count, plural, other {{count} kali}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Hichapụ",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Efacar",
|
||||
"status.detailed_status": "Detala konversvido",
|
||||
"status.direct": "Direta mesajigez @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Modifikez",
|
||||
"status.edited": "Modifikesis ye {date}",
|
||||
"status.edited_x_times": "Modifikesis {count, plural, one {{count} foyo} other {{count} foyi}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Eyða",
|
||||
"status.detailed_status": "Nákvæm spjallþráðasýn",
|
||||
"status.direct": "Bein skilaboð @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Breyta",
|
||||
"status.edited": "Breytt {date}",
|
||||
"status.edited_x_times": "Breytt {count, plural, one {{count} sinni} other {{count} sinnum}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Elimina",
|
||||
"status.detailed_status": "Vista conversazione dettagliata",
|
||||
"status.direct": "Messaggio diretto a @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Modifica",
|
||||
"status.edited": "Modificato il {date}",
|
||||
"status.edited_x_times": "Modificato {count, plural, one {{count} volta} other {{count} volte}}",
|
||||
|
|
|
@ -562,6 +562,7 @@
|
|||
"status.delete": "削除",
|
||||
"status.detailed_status": "詳細な会話ビュー",
|
||||
"status.direct": "@{name}さんにダイレクトメッセージ",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "編集",
|
||||
"status.edited": "{date}に編集",
|
||||
"status.edited_x_times": "{count}回編集",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "წაშლა",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "პირდაპირი წერილი @{name}-ს",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Kkes",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Izen usrid i @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Ẓreg",
|
||||
"status.edited": "Tettwaẓreg deg {date}",
|
||||
"status.edited_x_times": "Tettwaẓreg {count, plural, one {{count} n tikkelt} other {{count} n tikkal}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Өшіру",
|
||||
"status.detailed_status": "Толық пікірталас көрінісі",
|
||||
"status.direct": "Хат жіберу @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
"admin.dashboard.monthly_retention": "가입 후 월별 사용자 유지율",
|
||||
"admin.dashboard.retention.average": "평균",
|
||||
"admin.dashboard.retention.cohort": "가입한 달",
|
||||
"admin.dashboard.retention.cohort_size": "새로운 사용자",
|
||||
"admin.dashboard.retention.cohort_size": "새 사용자",
|
||||
"alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.",
|
||||
"alert.rate_limited.title": "빈도 제한됨",
|
||||
"alert.unexpected.message": "예상하지 못한 에러가 발생했습니다.",
|
||||
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "삭제",
|
||||
"status.detailed_status": "대화 자세히 보기",
|
||||
"status.direct": "@{name}에게 다이렉트 메시지",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "수정",
|
||||
"status.edited": "{date}에 편집됨",
|
||||
"status.edited_x_times": "{count}번 수정됨",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Jê bibe",
|
||||
"status.detailed_status": "Dîtina axaftina berfireh",
|
||||
"status.direct": "Peyama rasterast @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Serrast bike",
|
||||
"status.edited": "Di {date} de hate serrastkirin",
|
||||
"status.edited_x_times": "{count, plural, one {{count} car} other {{count} car}} hate serrastkirin",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Dilea",
|
||||
"status.detailed_status": "Gwel kesklapp a-vanyl",
|
||||
"status.direct": "Messach didro dhe @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Oblitterare",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Recolere",
|
||||
"status.edited": "Recultum {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Dzēst",
|
||||
"status.detailed_status": "Detalizēts sarunas skats",
|
||||
"status.direct": "Privāta ziņa @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Rediģēt",
|
||||
"status.edited": "Rediģēts {date}",
|
||||
"status.edited_x_times": "Rediģēts {count, plural, one {{count} reizi} other {{count} reizes}}",
|
||||
|
|
|
@ -558,6 +558,7 @@
|
|||
"status.delete": "Delete",
|
||||
"status.detailed_status": "Detailed conversation view",
|
||||
"status.direct": "Direct message @{name}",
|
||||
"status.direct_indicator": "Private mention",
|
||||
"status.edit": "Edit",
|
||||
"status.edited": "Edited {date}",
|
||||
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue