From 36b0ff57b7699db3d6acaa969a6c1491d1b9f9e3 Mon Sep 17 00:00:00 2001 From: Roni Laukkarinen Date: Tue, 8 Nov 2022 17:35:42 +0200 Subject: [PATCH 001/144] Fix grammar (#20106) --- spec/models/account_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index 467d41836a4..75e0235b8ac 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -755,7 +755,7 @@ RSpec.describe Account, type: :model do expect(account).to model_have_error_on_field(:username) end - it 'is invalid if the username is longer then 30 characters' do + it 'is invalid if the username is longer than 30 characters' do account = Fabricate.build(:account, username: Faker::Lorem.characters(number: 31)) account.valid? expect(account).to model_have_error_on_field(:username) @@ -801,7 +801,7 @@ RSpec.describe Account, type: :model do expect(account).to model_have_error_on_field(:username) end - it 'is valid even if the username is longer then 30 characters' do + it 'is valid even if the username is longer than 30 characters' do account = Fabricate.build(:account, domain: 'domain', username: Faker::Lorem.characters(number: 31)) account.valid? expect(account).not_to model_have_error_on_field(:username) From c989faaa6201f19e99dc7088a496e603153f0f90 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 8 Nov 2022 16:36:26 +0100 Subject: [PATCH 002/144] Change Request connection logic to try both IPv6 and IPv4 when available (#20108) Fixes #19751 --- app/lib/request.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/lib/request.rb b/app/lib/request.rb index 1ea86862dbb..dd198f3991e 100644 --- a/app/lib/request.rb +++ b/app/lib/request.rb @@ -199,7 +199,8 @@ class Request rescue IPAddr::InvalidAddressError Resolv::DNS.open do |dns| dns.timeouts = 5 - addresses = dns.getaddresses(host).take(2) + addresses = dns.getaddresses(host) + addresses = addresses.filter { |addr| addr.is_a?(Resolv::IPv6) }.take(2) + addresses.filter { |addr| !addr.is_a?(Resolv::IPv6) }.take(2) end end From 68d9dcd425468a4b2cca46de7de462eaa27c80f0 Mon Sep 17 00:00:00 2001 From: trwnh Date: Tue, 8 Nov 2022 09:37:28 -0600 Subject: [PATCH 003/144] Fix uncaught 500 error on invalid `replies_policy` (Fix #19097) (#20126) --- app/controllers/api/v1/lists_controller.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/controllers/api/v1/lists_controller.rb b/app/controllers/api/v1/lists_controller.rb index e5ac45fefb3..843ca2ec2b6 100644 --- a/app/controllers/api/v1/lists_controller.rb +++ b/app/controllers/api/v1/lists_controller.rb @@ -7,6 +7,10 @@ class Api::V1::ListsController < Api::BaseController before_action :require_user! before_action :set_list, except: [:index, :create] + rescue_from ArgumentError do |e| + render json: { error: e.to_s }, status: 422 + end + def index @lists = List.where(account: current_account).all render json: @lists, each_serializer: REST::ListSerializer From 455a754081cd5ba7b5b4979cc62cb1d2f7867ed5 Mon Sep 17 00:00:00 2001 From: trwnh Date: Tue, 8 Nov 2022 09:37:41 -0600 Subject: [PATCH 004/144] Fix missing cast of status and rule IDs to string (fix #19048) (#20122) --- app/serializers/rest/report_serializer.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/serializers/rest/report_serializer.rb b/app/serializers/rest/report_serializer.rb index de68dfc6daa..f4e9af2494a 100644 --- a/app/serializers/rest/report_serializer.rb +++ b/app/serializers/rest/report_serializer.rb @@ -9,4 +9,12 @@ class REST::ReportSerializer < ActiveModel::Serializer def id object.id.to_s end + + def status_ids + object&.status_ids&.map(&:to_s) + end + + def rule_ids + object&.rule_ids&.map(&:to_s) + end end From 89e1974f30709fdb98d7484561c371980f37b700 Mon Sep 17 00:00:00 2001 From: trwnh Date: Tue, 8 Nov 2022 09:39:15 -0600 Subject: [PATCH 005/144] Make account endorsements idempotent (fix #19045) (#20118) * Make account endorsements idempotent (fix #19045) * Accept suggestion to use exists? instead of find_by + nil check Co-authored-by: Yamagishi Kazutoshi * fix logic (unless, not if) * switch to using `find_or_create_by!` Co-authored-by: Yamagishi Kazutoshi --- app/controllers/api/v1/accounts/pins_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/v1/accounts/pins_controller.rb b/app/controllers/api/v1/accounts/pins_controller.rb index 3915b566933..73f845c6143 100644 --- a/app/controllers/api/v1/accounts/pins_controller.rb +++ b/app/controllers/api/v1/accounts/pins_controller.rb @@ -8,7 +8,7 @@ class Api::V1::Accounts::PinsController < Api::BaseController before_action :set_account def create - AccountPin.create!(account: current_account, target_account: @account) + AccountPin.find_or_create_by!(account: current_account, target_account: @account) render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter end From c3747292254b608c601f7719ac5bee6eaca8655f Mon Sep 17 00:00:00 2001 From: trwnh Date: Tue, 8 Nov 2022 10:15:54 -0600 Subject: [PATCH 006/144] Add `sensitized` to Admin::Account serializer (fix #19148) (#20094) * Add `sensitized` to Admin::Account serializer (fix #19148) * remove whitespace, please linter --- app/serializers/rest/admin/account_serializer.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/serializers/rest/admin/account_serializer.rb b/app/serializers/rest/admin/account_serializer.rb index 2fbc7b1cb21..ad98a53e858 100644 --- a/app/serializers/rest/admin/account_serializer.rb +++ b/app/serializers/rest/admin/account_serializer.rb @@ -3,7 +3,7 @@ class REST::Admin::AccountSerializer < ActiveModel::Serializer attributes :id, :username, :domain, :created_at, :email, :ip, :role, :confirmed, :suspended, - :silenced, :disabled, :approved, :locale, + :silenced, :sensitized, :disabled, :approved, :locale, :invite_request attribute :created_by_application_id, if: :created_by_application? @@ -32,6 +32,10 @@ class REST::Admin::AccountSerializer < ActiveModel::Serializer object.silenced? end + def sensitized + object.sensitized? + end + def confirmed object.user_confirmed? end From 9358fd295d5ffa960bbdfc0c28d45553cb78a3de Mon Sep 17 00:00:00 2001 From: "k.bigwheel (kazufumi nishida)" Date: Wed, 9 Nov 2022 01:18:22 +0900 Subject: [PATCH 007/144] Add postgresql password settings hint (#19112) --- chart/values.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chart/values.yaml b/chart/values.yaml index 9125d1a16bc..dc57d86209d 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -146,6 +146,8 @@ postgresql: # be rotated on each upgrade: # https://github.com/bitnami/charts/tree/master/bitnami/postgresql#upgrade password: "" + # Set same value as above + postgresPassword: "" # you can also specify the name of an existing Secret # with a key of postgres-password set to the password you want existingSecret: "" From d3afd7a2f1c12de4d02777585550183b04167625 Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Tue, 8 Nov 2022 17:18:57 +0100 Subject: [PATCH 008/144] Fix helm postgresql secret (#19678) * Revert "Fix helm chart use of Postgres Password (#19537)" This reverts commit 6094a916b185ae0634e016004deb4cec11afbaca. * Revert "Fix PostgreSQL password reference for jobs (#19504)" This reverts commit dae954ef111b8e0ab17812d156f6c955b77d9859. * Revert "Fix PostgreSQL password reference (#19502)" This reverts commit 9bf6a8af82391fa8b32112deb4a36a0cfc68143e. * Correct default username in postgresql auth --- chart/templates/cronjob-media-remove.yaml | 2 +- chart/templates/deployment-sidekiq.yaml | 2 +- chart/templates/deployment-streaming.yaml | 2 +- chart/templates/deployment-web.yaml | 2 +- chart/templates/job-assets-precompile.yaml | 2 +- chart/templates/job-chewy-upgrade.yaml | 2 +- chart/templates/job-create-admin.yaml | 2 +- chart/templates/job-db-migrate.yaml | 2 +- chart/templates/secrets.yaml | 2 +- chart/values.yaml | 4 ++-- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/chart/templates/cronjob-media-remove.yaml b/chart/templates/cronjob-media-remove.yaml index 1dced69ec78..160aee20421 100644 --- a/chart/templates/cronjob-media-remove.yaml +++ b/chart/templates/cronjob-media-remove.yaml @@ -59,7 +59,7 @@ spec: valueFrom: secretKeyRef: name: {{ template "mastodon.postgresql.secretName" . }} - key: postgres-password + key: password - name: "REDIS_PASSWORD" valueFrom: secretKeyRef: diff --git a/chart/templates/deployment-sidekiq.yaml b/chart/templates/deployment-sidekiq.yaml index 4b108d79df6..994a66445ea 100644 --- a/chart/templates/deployment-sidekiq.yaml +++ b/chart/templates/deployment-sidekiq.yaml @@ -76,7 +76,7 @@ spec: valueFrom: secretKeyRef: name: {{ template "mastodon.postgresql.secretName" . }} - key: postgres-password + key: password - name: "REDIS_PASSWORD" valueFrom: secretKeyRef: diff --git a/chart/templates/deployment-streaming.yaml b/chart/templates/deployment-streaming.yaml index 564f53f4331..12203a530bb 100644 --- a/chart/templates/deployment-streaming.yaml +++ b/chart/templates/deployment-streaming.yaml @@ -44,7 +44,7 @@ spec: valueFrom: secretKeyRef: name: {{ template "mastodon.postgresql.secretName" . }} - key: postgres-password + key: password - name: "REDIS_PASSWORD" valueFrom: secretKeyRef: diff --git a/chart/templates/deployment-web.yaml b/chart/templates/deployment-web.yaml index 0878aa9b870..ab722c77b1c 100644 --- a/chart/templates/deployment-web.yaml +++ b/chart/templates/deployment-web.yaml @@ -62,7 +62,7 @@ spec: valueFrom: secretKeyRef: name: {{ template "mastodon.postgresql.secretName" . }} - key: postgres-password + key: password - name: "REDIS_PASSWORD" valueFrom: secretKeyRef: diff --git a/chart/templates/job-assets-precompile.yaml b/chart/templates/job-assets-precompile.yaml index 37009822e65..faa51a20d9d 100644 --- a/chart/templates/job-assets-precompile.yaml +++ b/chart/templates/job-assets-precompile.yaml @@ -60,7 +60,7 @@ spec: valueFrom: secretKeyRef: name: {{ template "mastodon.postgresql.secretName" . }} - key: postgres-password + key: password - name: "REDIS_PASSWORD" valueFrom: secretKeyRef: diff --git a/chart/templates/job-chewy-upgrade.yaml b/chart/templates/job-chewy-upgrade.yaml index a4bac63abc7..ae6fb38e129 100644 --- a/chart/templates/job-chewy-upgrade.yaml +++ b/chart/templates/job-chewy-upgrade.yaml @@ -61,7 +61,7 @@ spec: valueFrom: secretKeyRef: name: {{ template "mastodon.postgresql.secretName" . }} - key: postgres-password + key: password - name: "REDIS_PASSWORD" valueFrom: secretKeyRef: diff --git a/chart/templates/job-create-admin.yaml b/chart/templates/job-create-admin.yaml index c1c0bdaed59..659c00671fc 100644 --- a/chart/templates/job-create-admin.yaml +++ b/chart/templates/job-create-admin.yaml @@ -66,7 +66,7 @@ spec: valueFrom: secretKeyRef: name: {{ template "mastodon.postgresql.secretName" . }} - key: postgres-password + key: password - name: "REDIS_PASSWORD" valueFrom: secretKeyRef: diff --git a/chart/templates/job-db-migrate.yaml b/chart/templates/job-db-migrate.yaml index 848ed36441a..8e4f70dfb1d 100644 --- a/chart/templates/job-db-migrate.yaml +++ b/chart/templates/job-db-migrate.yaml @@ -60,7 +60,7 @@ spec: valueFrom: secretKeyRef: name: {{ template "mastodon.postgresql.secretName" . }} - key: postgres-password + key: password - name: "REDIS_PASSWORD" valueFrom: secretKeyRef: diff --git a/chart/templates/secrets.yaml b/chart/templates/secrets.yaml index 2a91c349342..d7ac936ce50 100644 --- a/chart/templates/secrets.yaml +++ b/chart/templates/secrets.yaml @@ -37,7 +37,7 @@ data: {{- end }} {{- if not .Values.postgresql.enabled }} {{- if not .Values.postgresql.auth.existingSecret }} - postgres-password: "{{ .Values.postgresql.auth.password | b64enc }}" + password: "{{ .Values.postgresql.auth.password | b64enc }}" {{- end }} {{- end }} {{- end -}} diff --git a/chart/values.yaml b/chart/values.yaml index dc57d86209d..ef349c0875e 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -141,7 +141,7 @@ postgresql: # postgresqlHostname: preexisting-postgresql auth: database: mastodon_production - username: postgres + username: mastodon # you must set a password; the password generated by the postgresql chart will # be rotated on each upgrade: # https://github.com/bitnami/charts/tree/master/bitnami/postgresql#upgrade @@ -149,7 +149,7 @@ postgresql: # Set same value as above postgresPassword: "" # you can also specify the name of an existing Secret - # with a key of postgres-password set to the password you want + # with a key of password set to the password you want existingSecret: "" # https://github.com/bitnami/charts/tree/master/bitnami/redis#parameters From fd3c48210419441f95b08a951f715e5ecd55e5c1 Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Tue, 8 Nov 2022 17:19:14 +0100 Subject: [PATCH 009/144] Roll pods to pick up db migrations even if podAnnotations is empty (#19702) --- chart/templates/deployment-sidekiq.yaml | 4 ++-- chart/templates/deployment-web.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/chart/templates/deployment-sidekiq.yaml b/chart/templates/deployment-sidekiq.yaml index 994a66445ea..b2e5af522e5 100644 --- a/chart/templates/deployment-sidekiq.yaml +++ b/chart/templates/deployment-sidekiq.yaml @@ -14,12 +14,12 @@ spec: component: rails template: metadata: - {{- with .Values.podAnnotations }} annotations: + {{- with .Values.podAnnotations }} {{- toYaml . | nindent 8 }} + {{- end }} # roll the pods to pick up any db migrations rollme: {{ randAlphaNum 5 | quote }} - {{- end }} labels: {{- include "mastodon.selectorLabels" . | nindent 8 }} component: rails diff --git a/chart/templates/deployment-web.yaml b/chart/templates/deployment-web.yaml index ab722c77b1c..c50f32d9834 100644 --- a/chart/templates/deployment-web.yaml +++ b/chart/templates/deployment-web.yaml @@ -14,12 +14,12 @@ spec: component: rails template: metadata: - {{- with .Values.podAnnotations }} annotations: + {{- with .Values.podAnnotations }} {{- toYaml . | nindent 8 }} + {{- end }} # roll the pods to pick up any db migrations rollme: {{ randAlphaNum 5 | quote }} - {{- end }} labels: {{- include "mastodon.selectorLabels" . | nindent 8 }} component: rails From f7613febb36f1cec9ce4e8762da0f3b182a0e8a4 Mon Sep 17 00:00:00 2001 From: Moritz Hedtke Date: Tue, 8 Nov 2022 17:20:09 +0100 Subject: [PATCH 010/144] helm: Fix ingress pathType (#19729) --- chart/templates/ingress.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chart/templates/ingress.yaml b/chart/templates/ingress.yaml index 7295297fb1a..811d98a2252 100644 --- a/chart/templates/ingress.yaml +++ b/chart/templates/ingress.yaml @@ -47,9 +47,9 @@ spec: servicePort: {{ $webPort }} {{- end }} {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }} - pathType: ImplementationSpecific + pathType: Prefix {{- end }} - - path: {{ .path }}api/v1/streaming + - path: {{ .path }}api/v1/streaming/ backend: {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }} service: @@ -61,7 +61,7 @@ spec: servicePort: {{ $streamingPort }} {{- end }} {{- if or ($.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not ($.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }} - pathType: ImplementationSpecific + pathType: Exact {{- end }} {{- end }} {{- end }} From f4b78028a3bdc48517cf3df1e65236f392496d74 Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Tue, 8 Nov 2022 17:20:34 +0100 Subject: [PATCH 011/144] chore(chart): Update appVersion in helm chart (#19653) This patch updates the helm chart appVersion to the current release and removes the additional definition in the image tag field, to reduce duplication. Since the image will automatically default to the Charts' app version anyway and this is the more common place to specifiy application versions for helm charts, this patch switches the prefering this field. The reason why to use the tag field for the chart itself, seems to be gone. Since renovatebot is no longer used. --- chart/Chart.yaml | 2 +- chart/values.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/chart/Chart.yaml b/chart/Chart.yaml index b1138b594f6..6120a7f3a90 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -20,7 +20,7 @@ version: 2.0.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. -appVersion: 3.3.0 +appVersion: v3.5.3 dependencies: - name: elasticsearch diff --git a/chart/values.yaml b/chart/values.yaml index ef349c0875e..170025b5047 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -8,7 +8,7 @@ image: # built from the most recent commit # # tag: latest - tag: v3.5.2 + tag: "" # use `Always` when using `latest` tag pullPolicy: IfNotPresent From 476e74b4c4f967884be120fb75b87f232962103d Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Tue, 8 Nov 2022 17:21:06 +0100 Subject: [PATCH 012/144] Assign unique set of labels to k8s deployments #19703 (#19706) --- chart/templates/cronjob-media-remove.yaml | 2 +- chart/templates/deployment-sidekiq.yaml | 8 +++++--- chart/templates/deployment-streaming.yaml | 2 ++ chart/templates/deployment-web.yaml | 6 ++++-- chart/templates/job-assets-precompile.yaml | 2 +- chart/templates/job-chewy-upgrade.yaml | 2 +- chart/templates/job-create-admin.yaml | 2 +- chart/templates/job-db-migrate.yaml | 2 +- chart/templates/service-streaming.yaml | 1 + chart/templates/service-web.yaml | 1 + 10 files changed, 18 insertions(+), 10 deletions(-) diff --git a/chart/templates/cronjob-media-remove.yaml b/chart/templates/cronjob-media-remove.yaml index 160aee20421..d3566e32d47 100644 --- a/chart/templates/cronjob-media-remove.yaml +++ b/chart/templates/cronjob-media-remove.yaml @@ -27,7 +27,7 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: component + - key: app.kubernetes.io/part-of operator: In values: - rails diff --git a/chart/templates/deployment-sidekiq.yaml b/chart/templates/deployment-sidekiq.yaml index b2e5af522e5..dd707a4d048 100644 --- a/chart/templates/deployment-sidekiq.yaml +++ b/chart/templates/deployment-sidekiq.yaml @@ -11,7 +11,8 @@ spec: selector: matchLabels: {{- include "mastodon.selectorLabels" . | nindent 6 }} - component: rails + app.kubernetes.io/component: sidekiq + app.kubernetes.io/part-of: rails template: metadata: annotations: @@ -22,7 +23,8 @@ spec: rollme: {{ randAlphaNum 5 | quote }} labels: {{- include "mastodon.selectorLabels" . | nindent 8 }} - component: rails + app.kubernetes.io/component: sidekiq + app.kubernetes.io/part-of: rails spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: @@ -40,7 +42,7 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: component + - key: app.kubernetes.io/part-of operator: In values: - rails diff --git a/chart/templates/deployment-streaming.yaml b/chart/templates/deployment-streaming.yaml index 12203a530bb..7f03c9e23ec 100644 --- a/chart/templates/deployment-streaming.yaml +++ b/chart/templates/deployment-streaming.yaml @@ -11,6 +11,7 @@ spec: selector: matchLabels: {{- include "mastodon.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: streaming template: metadata: {{- with .Values.podAnnotations }} @@ -19,6 +20,7 @@ spec: {{- end }} labels: {{- include "mastodon.selectorLabels" . | nindent 8 }} + app.kubernetes.io/component: streaming spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: diff --git a/chart/templates/deployment-web.yaml b/chart/templates/deployment-web.yaml index c50f32d9834..fb58b1ade00 100644 --- a/chart/templates/deployment-web.yaml +++ b/chart/templates/deployment-web.yaml @@ -11,7 +11,8 @@ spec: selector: matchLabels: {{- include "mastodon.selectorLabels" . | nindent 6 }} - component: rails + app.kubernetes.io/component: web + app.kubernetes.io/part-of: rails template: metadata: annotations: @@ -22,7 +23,8 @@ spec: rollme: {{ randAlphaNum 5 | quote }} labels: {{- include "mastodon.selectorLabels" . | nindent 8 }} - component: rails + app.kubernetes.io/component: web + app.kubernetes.io/part-of: rails spec: {{- with .Values.imagePullSecrets }} imagePullSecrets: diff --git a/chart/templates/job-assets-precompile.yaml b/chart/templates/job-assets-precompile.yaml index faa51a20d9d..9bdec2ab7cf 100644 --- a/chart/templates/job-assets-precompile.yaml +++ b/chart/templates/job-assets-precompile.yaml @@ -27,7 +27,7 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: component + - key: app.kubernetes.io/part-of operator: In values: - rails diff --git a/chart/templates/job-chewy-upgrade.yaml b/chart/templates/job-chewy-upgrade.yaml index ae6fb38e129..556133dd32f 100644 --- a/chart/templates/job-chewy-upgrade.yaml +++ b/chart/templates/job-chewy-upgrade.yaml @@ -28,7 +28,7 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: component + - key: app.kubernetes.io/part-of operator: In values: - rails diff --git a/chart/templates/job-create-admin.yaml b/chart/templates/job-create-admin.yaml index 659c00671fc..94d39dcbb56 100644 --- a/chart/templates/job-create-admin.yaml +++ b/chart/templates/job-create-admin.yaml @@ -28,7 +28,7 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: component + - key: app.kubernetes.io/part-of operator: In values: - rails diff --git a/chart/templates/job-db-migrate.yaml b/chart/templates/job-db-migrate.yaml index 8e4f70dfb1d..e1544d2b66d 100644 --- a/chart/templates/job-db-migrate.yaml +++ b/chart/templates/job-db-migrate.yaml @@ -27,7 +27,7 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - - key: component + - key: app.kubernetes.io/part-of operator: In values: - rails diff --git a/chart/templates/service-streaming.yaml b/chart/templates/service-streaming.yaml index a005e617c37..bade7b1e519 100644 --- a/chart/templates/service-streaming.yaml +++ b/chart/templates/service-streaming.yaml @@ -13,3 +13,4 @@ spec: name: streaming selector: {{- include "mastodon.selectorLabels" . | nindent 4 }} + app.kubernetes.io/component: streaming diff --git a/chart/templates/service-web.yaml b/chart/templates/service-web.yaml index 3563fde7013..acf1233dcef 100644 --- a/chart/templates/service-web.yaml +++ b/chart/templates/service-web.yaml @@ -13,3 +13,4 @@ spec: name: http selector: {{- include "mastodon.selectorLabels" . | nindent 4 }} + app.kubernetes.io/component: web From c476dfc72546c707c16ba179562db7fedec11d10 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 8 Nov 2022 17:26:11 +0100 Subject: [PATCH 013/144] Fix nodeinfo metadata attribute being an array instead of an object (#20114) Fixes #20111 --- app/serializers/nodeinfo/serializer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/serializers/nodeinfo/serializer.rb b/app/serializers/nodeinfo/serializer.rb index afae7f00a6c..f70cc38f069 100644 --- a/app/serializers/nodeinfo/serializer.rb +++ b/app/serializers/nodeinfo/serializer.rb @@ -38,7 +38,7 @@ class NodeInfo::Serializer < ActiveModel::Serializer end def metadata - [] + {} end private From b1a48e05b6b24a1ae37b9bcbc6f767c949ff3d79 Mon Sep 17 00:00:00 2001 From: trwnh Date: Tue, 8 Nov 2022 10:28:02 -0600 Subject: [PATCH 014/144] Change Report category to "violation" if rule IDs are provided (#20137) * Change Report category to "violation" if rule IDs are provided * Fix LiteralAsCondition * Add parentheses to conditional statement --- app/services/report_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/report_service.rb b/app/services/report_service.rb index 8c92cf33469..0ce525b0711 100644 --- a/app/services/report_service.rb +++ b/app/services/report_service.rb @@ -8,7 +8,7 @@ class ReportService < BaseService @target_account = target_account @status_ids = options.delete(:status_ids).presence || [] @comment = options.delete(:comment).presence || '' - @category = options.delete(:category).presence || 'other' + @category = options[:rule_ids].present? ? 'violation' : (options.delete(:category).presence || 'other') @rule_ids = options.delete(:rule_ids).presence @options = options From d70303bba617b2ff1884714dd6dc69a3bd6e41a4 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 8 Nov 2022 17:29:14 +0100 Subject: [PATCH 015/144] Add server-side route so that legacy /web/statuses/:id URLs keep being supported (#19978) --- config/routes.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/routes.rb b/config/routes.rb index 800db96c804..c133acbe8a3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -27,6 +27,7 @@ Rails.application.routes.draw do /blocks /domain_blocks /mutes + /statuses/(*any) ).freeze root 'home#index' From d055d751720b7494ba990a43434b73e17596b5e8 Mon Sep 17 00:00:00 2001 From: Sasha Sorokin <10401817+Brawaru@users.noreply.github.com> Date: Tue, 8 Nov 2022 17:31:32 +0100 Subject: [PATCH 016/144] Remove aria-pressed where it's redundant (#19912) This commit removes aria-pressed attribute from all elements which contents or other descriptive attributes change in active state, effectively replacing the meaning of the button, in which case aria-pressed, an attribute specified whether the button is currently pressed, would create a confusion. (Spoiler: it's everywhere). See https://github.com/mastodon/mastodon/issues/13545#issuecomment-1304886969 --- app/javascript/mastodon/components/column_header.js | 1 - app/javascript/mastodon/components/icon_button.js | 3 --- app/javascript/mastodon/components/status_action_bar.js | 4 ++-- app/javascript/mastodon/features/hashtag_timeline/index.js | 2 +- app/javascript/mastodon/features/home_timeline/index.js | 1 - .../mastodon/features/picture_in_picture/components/footer.js | 4 ++-- app/javascript/mastodon/features/status/index.js | 2 +- 7 files changed, 6 insertions(+), 11 deletions(-) diff --git a/app/javascript/mastodon/components/column_header.js b/app/javascript/mastodon/components/column_header.js index 43efa179e29..7850a93eced 100644 --- a/app/javascript/mastodon/components/column_header.js +++ b/app/javascript/mastodon/components/column_header.js @@ -152,7 +152,6 @@ class ColumnHeader extends React.PureComponent { className={collapsibleButtonClassName} title={formatMessage(collapsed ? messages.show : messages.hide)} aria-label={formatMessage(collapsed ? messages.show : messages.hide)} - aria-pressed={collapsed ? 'false' : 'true'} onClick={this.handleToggleClick} > diff --git a/app/javascript/mastodon/components/icon_button.js b/app/javascript/mastodon/components/icon_button.js index 8fd9e10c047..49858f2e230 100644 --- a/app/javascript/mastodon/components/icon_button.js +++ b/app/javascript/mastodon/components/icon_button.js @@ -16,7 +16,6 @@ export default class IconButton extends React.PureComponent { onKeyPress: PropTypes.func, size: PropTypes.number, active: PropTypes.bool, - pressed: PropTypes.bool, expanded: PropTypes.bool, style: PropTypes.object, activeStyle: PropTypes.object, @@ -98,7 +97,6 @@ export default class IconButton extends React.PureComponent { icon, inverted, overlay, - pressed, tabIndex, title, counter, @@ -143,7 +141,6 @@ export default class IconButton extends React.PureComponent { ); diff --git a/app/javascript/mastodon/features/home_timeline/index.js b/app/javascript/mastodon/features/home_timeline/index.js index 749a47e76a9..ae11ccbe471 100644 --- a/app/javascript/mastodon/features/home_timeline/index.js +++ b/app/javascript/mastodon/features/home_timeline/index.js @@ -130,7 +130,6 @@ class HomeTimeline extends React.PureComponent { className={classNames('column-header__button', { 'active': showAnnouncements })} title={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)} aria-label={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)} - aria-pressed={showAnnouncements ? 'true' : 'false'} onClick={this.handleToggleAnnouncementsClick} > diff --git a/app/javascript/mastodon/features/picture_in_picture/components/footer.js b/app/javascript/mastodon/features/picture_in_picture/components/footer.js index 0beb2e14dc4..5b875dc302b 100644 --- a/app/javascript/mastodon/features/picture_in_picture/components/footer.js +++ b/app/javascript/mastodon/features/picture_in_picture/components/footer.js @@ -182,8 +182,8 @@ class Footer extends ImmutablePureComponent { return (
- - + + {withOpenButton && }
); diff --git a/app/javascript/mastodon/features/status/index.js b/app/javascript/mastodon/features/status/index.js index c0ba1f2d61d..cb67944c94f 100644 --- a/app/javascript/mastodon/features/status/index.js +++ b/app/javascript/mastodon/features/status/index.js @@ -619,7 +619,7 @@ class Status extends ImmutablePureComponent { showBackButton multiColumn={multiColumn} extraButton={( - + )} /> From 6f1559ed0f17cf4bc7402559c4c564f0ebead9c9 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Tue, 8 Nov 2022 17:31:52 +0100 Subject: [PATCH 017/144] CHANGELOG.md: Fix typos (#19838) --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 777a83790c9..2bd22438c92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -276,7 +276,7 @@ Some of the features in this release have been funded through the [NGI0 Discover ### Fixed -- Fix error resposes for `from` search prefix ([single-right-quote](https://github.com/mastodon/mastodon/pull/17963)) +- Fix error responses for `from` search prefix ([single-right-quote](https://github.com/mastodon/mastodon/pull/17963)) - Fix dangling language-specific trends ([Gargron](https://github.com/mastodon/mastodon/pull/17997)) - Fix extremely rare race condition when deleting a status or account ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17994)) - Fix trends returning less results per page when filtered in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17996)) @@ -411,7 +411,7 @@ Some of the features in this release have been funded through the [NGI0 Discover - Remove profile directory link from main navigation panel in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17688)) - **Remove language detection through cld3** ([Gargron](https://github.com/mastodon/mastodon/pull/17478), [ykzts](https://github.com/mastodon/mastodon/pull/17539), [Gargron](https://github.com/mastodon/mastodon/pull/17496), [Gargron](https://github.com/mastodon/mastodon/pull/17722)) - cld3 is very inaccurate on short-form content even with unique alphabets - - Post language can be overriden individually using `language` param + - Post language can be overridden individually using `language` param - Otherwise, it defaults to the user's interface language - Remove support for `OAUTH_REDIRECT_AT_SIGN_IN` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17287)) - Use `OMNIAUTH_ONLY` instead From 6ba52306f9d2611a06326445230b54c156c37e53 Mon Sep 17 00:00:00 2001 From: luzpaz Date: Tue, 8 Nov 2022 11:32:03 -0500 Subject: [PATCH 018/144] Fix typos (#19849) Found via `codespell -q 3 -S ./yarn.lock,./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,followings,keypair,medias,pattens,pixelx,rememberable,ro,te` --- spec/lib/webfinger_resource_spec.rb | 2 +- spec/models/account_spec.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/lib/webfinger_resource_spec.rb b/spec/lib/webfinger_resource_spec.rb index 236e9f3e2d7..5c7f475d694 100644 --- a/spec/lib/webfinger_resource_spec.rb +++ b/spec/lib/webfinger_resource_spec.rb @@ -50,7 +50,7 @@ describe WebfingerResource do end it 'finds the username in a mixed case http route' do - resource = 'HTTp://exAMPLEe.com/users/alice' + resource = 'HTTp://exAMPLe.com/users/alice' result = WebfingerResource.new(resource).username expect(result).to eq 'alice' diff --git a/spec/models/account_spec.rb b/spec/models/account_spec.rb index 75e0235b8ac..edae05f9db6 100644 --- a/spec/models/account_spec.rb +++ b/spec/models/account_spec.rb @@ -255,7 +255,7 @@ RSpec.describe Account, type: :model do Fabricate(:status, reblog: original_status, account: author) end - it 'is is true when this account has favourited it' do + it 'is true when this account has favourited it' do Fabricate(:favourite, status: original_reblog, account: subject) expect(subject.favourited?(original_status)).to eq true @@ -267,7 +267,7 @@ RSpec.describe Account, type: :model do end context 'when the status is an original status' do - it 'is is true when this account has favourited it' do + it 'is true when this account has favourited it' do Fabricate(:favourite, status: original_status, account: subject) expect(subject.favourited?(original_status)).to eq true From dd7176a4b54a69f4a96648acb71abdff9fd45e3c Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 9 Nov 2022 01:30:33 +0100 Subject: [PATCH 019/144] Fix redirects from /web/ discarding everything after a dot (#20148) Fixes #20145 --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index c133acbe8a3..d8af292bfc7 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -683,7 +683,7 @@ Rails.application.routes.draw do get path, to: 'home#index' end - get '/web/(*any)', to: redirect('/%{any}', status: 302), as: :web, defaults: { any: '' } + get '/web/(*any)', to: redirect('/%{any}', status: 302), as: :web, defaults: { any: '' }, format: false get '/about', to: 'about#show' get '/about/more', to: redirect('/about') From 53817294fc95eabfed6129138f9aaa920e13c4b9 Mon Sep 17 00:00:00 2001 From: keiya Date: Wed, 9 Nov 2022 12:12:57 +0900 Subject: [PATCH 020/144] Fix nginx location matching (#20198) --- dist/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/nginx.conf b/dist/nginx.conf index 5c16693d085..5bc960e2568 100644 --- a/dist/nginx.conf +++ b/dist/nginx.conf @@ -58,7 +58,7 @@ server { # If Docker is used for deployment and Rails serves static files, # then needed must replace line `try_files $uri =404;` with `try_files $uri @proxy;`. - location = sw.js { + location = /sw.js { add_header Cache-Control "public, max-age=604800, must-revalidate"; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains"; try_files $uri =404; From e98833748e80275a88560155a0b912667dd2d70b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 9 Nov 2022 08:24:21 +0100 Subject: [PATCH 021/144] Fix being able to spoof link verification (#20217) - Change verification to happen in `default` queue - Change verification worker to only be queued if there's something to do - Add `link` tags from metadata fields to page header of profiles --- app/models/account.rb | 44 +----- app/models/account/field.rb | 73 ++++++++++ .../activitypub/process_account_service.rb | 2 +- app/services/update_account_service.rb | 2 +- app/views/accounts/show.html.haml | 3 + app/workers/verify_account_links_worker.rb | 5 +- spec/models/account/field_spec.rb | 130 ++++++++++++++++++ 7 files changed, 211 insertions(+), 48 deletions(-) create mode 100644 app/models/account/field.rb create mode 100644 spec/models/account/field_spec.rb diff --git a/app/models/account.rb b/app/models/account.rb index 3647b822588..be1968fa696 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -295,7 +295,7 @@ class Account < ApplicationRecord def fields (self[:fields] || []).map do |f| - Field.new(self, f) + Account::Field.new(self, f) rescue nil end.compact @@ -401,48 +401,6 @@ class Account < ApplicationRecord requires_review? && !requested_review? end - class Field < ActiveModelSerializers::Model - attributes :name, :value, :verified_at, :account - - def initialize(account, attributes) - @original_field = attributes - string_limit = account.local? ? 255 : 2047 - super( - account: account, - name: attributes['name'].strip[0, string_limit], - value: attributes['value'].strip[0, string_limit], - verified_at: attributes['verified_at']&.to_datetime, - ) - end - - def verified? - verified_at.present? - end - - def value_for_verification - @value_for_verification ||= begin - if account.local? - value - else - ActionController::Base.helpers.strip_tags(value) - end - end - end - - def verifiable? - value_for_verification.present? && value_for_verification.start_with?('http://', 'https://') - end - - def mark_verified! - self.verified_at = Time.now.utc - @original_field['verified_at'] = verified_at - end - - def to_h - { name: name, value: value, verified_at: verified_at } - end - end - class << self DISALLOWED_TSQUERY_CHARACTERS = /['?\\:‘’]/.freeze TEXTSEARCH = "(setweight(to_tsvector('simple', accounts.display_name), 'A') || setweight(to_tsvector('simple', accounts.username), 'B') || setweight(to_tsvector('simple', coalesce(accounts.domain, '')), 'C'))" diff --git a/app/models/account/field.rb b/app/models/account/field.rb new file mode 100644 index 00000000000..4e0fd9230d8 --- /dev/null +++ b/app/models/account/field.rb @@ -0,0 +1,73 @@ +# frozen_string_literal: true + +class Account::Field < ActiveModelSerializers::Model + MAX_CHARACTERS_LOCAL = 255 + MAX_CHARACTERS_COMPAT = 2_047 + + attributes :name, :value, :verified_at, :account + + def initialize(account, attributes) + # Keeping this as reference allows us to update the field on the account + # from methods in this class, so that changes can be saved. + @original_field = attributes + @account = account + + super( + name: sanitize(attributes['name']), + value: sanitize(attributes['value']), + verified_at: attributes['verified_at']&.to_datetime, + ) + end + + def verified? + verified_at.present? + end + + def value_for_verification + @value_for_verification ||= begin + if account.local? + value + else + extract_url_from_html + end + end + end + + def verifiable? + value_for_verification.present? && /\A#{FetchLinkCardService::URL_PATTERN}\z/.match?(value_for_verification) + end + + def requires_verification? + !verified? && verifiable? + end + + def mark_verified! + @original_field['verified_at'] = self.verified_at = Time.now.utc + end + + def to_h + { name: name, value: value, verified_at: verified_at } + end + + private + + def sanitize(str) + str.strip[0, character_limit] + end + + def character_limit + account.local? ? MAX_CHARACTERS_LOCAL : MAX_CHARACTERS_COMPAT + end + + def extract_url_from_html + doc = Nokogiri::HTML(value).at_xpath('//body') + + return if doc.children.size > 1 + + element = doc.children.first + + return if element.name != 'a' || element['href'] != element.text + + element['href'] + end +end diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb index 3834d79ccfc..99bcb383531 100644 --- a/app/services/activitypub/process_account_service.rb +++ b/app/services/activitypub/process_account_service.rb @@ -40,7 +40,7 @@ class ActivityPub::ProcessAccountService < BaseService unless @options[:only_key] || @account.suspended? check_featured_collection! if @account.featured_collection_url.present? check_featured_tags_collection! if @json['featuredTags'].present? - check_links! unless @account.fields.empty? + check_links! if @account.fields.any?(&:requires_verification?) end @account diff --git a/app/services/update_account_service.rb b/app/services/update_account_service.rb index 77f794e1787..71976ab005e 100644 --- a/app/services/update_account_service.rb +++ b/app/services/update_account_service.rb @@ -28,7 +28,7 @@ class UpdateAccountService < BaseService end def check_links(account) - VerifyAccountLinksWorker.perform_async(account.id) + VerifyAccountLinksWorker.perform_async(account.id) if account.fields.any?(&:requires_verification?) end def process_hashtags(account) diff --git a/app/views/accounts/show.html.haml b/app/views/accounts/show.html.haml index a51dcd7be4f..e8fd27e1091 100644 --- a/app/views/accounts/show.html.haml +++ b/app/views/accounts/show.html.haml @@ -8,6 +8,9 @@ %link{ rel: 'alternate', type: 'application/rss+xml', href: @rss_url }/ %link{ rel: 'alternate', type: 'application/activity+json', href: ActivityPub::TagManager.instance.uri_for(@account) }/ + - @account.fields.select(&:verifiable?).each do |field| + %link{ rel: 'me', type: 'text/html', href: field.value }/ + = opengraph 'og:type', 'profile' = render 'og', account: @account, url: short_account_url(@account, only_path: false) diff --git a/app/workers/verify_account_links_worker.rb b/app/workers/verify_account_links_worker.rb index 8114d59bea3..f606e6c26fe 100644 --- a/app/workers/verify_account_links_worker.rb +++ b/app/workers/verify_account_links_worker.rb @@ -3,14 +3,13 @@ class VerifyAccountLinksWorker include Sidekiq::Worker - sidekiq_options queue: 'pull', retry: false, lock: :until_executed + sidekiq_options queue: 'default', retry: false, lock: :until_executed def perform(account_id) account = Account.find(account_id) account.fields.each do |field| - next unless !field.verified? && field.verifiable? - VerifyLinkService.new.call(field) + VerifyLinkService.new.call(field) if field.requires_verification? end account.save! if account.changed? diff --git a/spec/models/account/field_spec.rb b/spec/models/account/field_spec.rb new file mode 100644 index 00000000000..7d61a2c622d --- /dev/null +++ b/spec/models/account/field_spec.rb @@ -0,0 +1,130 @@ +require 'rails_helper' + +RSpec.describe Account::Field, type: :model do + describe '#verified?' do + let(:account) { double('Account', local?: true) } + + subject { described_class.new(account, 'name' => 'Foo', 'value' => 'Bar', 'verified_at' => verified_at) } + + context 'when verified_at is set' do + let(:verified_at) { Time.now.utc.iso8601 } + + it 'returns true' do + expect(subject.verified?).to be true + end + end + + context 'when verified_at is not set' do + let(:verified_at) { nil } + + it 'returns false' do + expect(subject.verified?).to be false + end + end + end + + describe '#mark_verified!' do + let(:account) { double('Account', local?: true) } + let(:original_hash) { { 'name' => 'Foo', 'value' => 'Bar' } } + + subject { described_class.new(account, original_hash) } + + before do + subject.mark_verified! + end + + it 'updates verified_at' do + expect(subject.verified_at).to_not be_nil + end + + it 'updates original hash' do + expect(original_hash['verified_at']).to_not be_nil + end + end + + describe '#verifiable?' do + let(:account) { double('Account', local?: local) } + + subject { described_class.new(account, 'name' => 'Foo', 'value' => value) } + + context 'for local accounts' do + let(:local) { true } + + context 'for a URL with misleading authentication' do + let(:value) { 'https://spacex.com @h.43z.one' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end + + context 'for a URL' do + let(:value) { 'https://example.com' } + + it 'returns true' do + expect(subject.verifiable?).to be true + end + end + + context 'for text that is not a URL' do + let(:value) { 'Hello world' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end + + context 'for text that contains a URL' do + let(:value) { 'Hello https://example.com world' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end + end + + context 'for remote accounts' do + let(:local) { false } + + context 'for a link' do + let(:value) { 'patreon.com/mastodon' } + + it 'returns true' do + expect(subject.verifiable?).to be true + end + end + + context 'for a link with misleading authentication' do + let(:value) { 'google.com' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end + + context 'for HTML that has more than just a link' do + let(:value) { 'google.com @h.43z.one' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end + + context 'for a link with different visible text' do + let(:value) { 'https://example.com/foo' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end + + context 'for text that is a URL but is not linked' do + let(:value) { 'https://example.com/foo' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end + end + end +end From 5333447be0c0e278d6f591bb6004fdee903a08f7 Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 9 Nov 2022 14:08:19 +0100 Subject: [PATCH 022/144] Change account deletion requests to spread out over time (#20222) --- app/workers/admin/account_deletion_worker.rb | 2 +- .../suspended_user_cleanup_scheduler.rb | 38 +++++++++++++++++++ .../scheduler/user_cleanup_scheduler.rb | 7 ---- config/sidekiq.yml | 4 ++ 4 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 app/workers/scheduler/suspended_user_cleanup_scheduler.rb diff --git a/app/workers/admin/account_deletion_worker.rb b/app/workers/admin/account_deletion_worker.rb index 82f269ad6fb..6e0eb331bef 100644 --- a/app/workers/admin/account_deletion_worker.rb +++ b/app/workers/admin/account_deletion_worker.rb @@ -3,7 +3,7 @@ class Admin::AccountDeletionWorker include Sidekiq::Worker - sidekiq_options queue: 'pull' + sidekiq_options queue: 'pull', lock: :until_executed def perform(account_id) DeleteAccountService.new.call(Account.find(account_id), reserve_username: true, reserve_email: true) diff --git a/app/workers/scheduler/suspended_user_cleanup_scheduler.rb b/app/workers/scheduler/suspended_user_cleanup_scheduler.rb new file mode 100644 index 00000000000..50768f83cc5 --- /dev/null +++ b/app/workers/scheduler/suspended_user_cleanup_scheduler.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +class Scheduler::SuspendedUserCleanupScheduler + include Sidekiq::Worker + + # Each processed deletion request may enqueue an enormous + # amount of jobs in the `pull` queue, so only enqueue when + # the queue is empty or close to being so. + MAX_PULL_SIZE = 50 + + # Since account deletion is very expensive, we want to avoid + # overloading the server by queing too much at once. + # This job runs approximately once per 2 minutes, so with a + # value of `MAX_DELETIONS_PER_JOB` of 10, a server can + # handle the deletion of 7200 accounts per day, provided it + # has the capacity for it. + MAX_DELETIONS_PER_JOB = 10 + + sidekiq_options retry: 0 + + def perform + return if Sidekiq::Queue.new('pull').size > MAX_PULL_SIZE + + clean_suspended_accounts! + end + + private + + def clean_suspended_accounts! + # This should be fine because we only process a small amount of deletion requests at once and + # `id` and `created_at` should follow the same order. + AccountDeletionRequest.reorder(id: :asc).take(MAX_DELETIONS_PER_JOB).each do |deletion_request| + next unless deletion_request.created_at < AccountDeletionRequest::DELAY_TO_DELETION.ago + + Admin::AccountDeletionWorker.perform_async(deletion_request.account_id) + end + end +end diff --git a/app/workers/scheduler/user_cleanup_scheduler.rb b/app/workers/scheduler/user_cleanup_scheduler.rb index 7a6995a1ff5..63f9ed78cc0 100644 --- a/app/workers/scheduler/user_cleanup_scheduler.rb +++ b/app/workers/scheduler/user_cleanup_scheduler.rb @@ -7,7 +7,6 @@ class Scheduler::UserCleanupScheduler def perform clean_unconfirmed_accounts! - clean_suspended_accounts! clean_discarded_statuses! end @@ -22,12 +21,6 @@ class Scheduler::UserCleanupScheduler end end - def clean_suspended_accounts! - AccountDeletionRequest.where('created_at <= ?', AccountDeletionRequest::DELAY_TO_DELETION.ago).reorder(nil).find_each do |deletion_request| - Admin::AccountDeletionWorker.perform_async(deletion_request.account_id) - end - end - def clean_discarded_statuses! Status.unscoped.discarded.where('deleted_at <= ?', 30.days.ago).find_in_batches do |statuses| RemovalWorker.push_bulk(statuses) do |status| diff --git a/config/sidekiq.yml b/config/sidekiq.yml index e3156aa346c..71e7cb33d88 100644 --- a/config/sidekiq.yml +++ b/config/sidekiq.yml @@ -53,3 +53,7 @@ interval: 1 minute class: Scheduler::AccountsStatusesCleanupScheduler queue: scheduler + suspended_user_cleanup_scheduler: + interval: 1 minute + class: Scheduler::SuspendedUserCleanupScheduler + queue: scheduler From 029b5cd5b1314463920ee3a66335c369093edd26 Mon Sep 17 00:00:00 2001 From: trwnh Date: Wed, 9 Nov 2022 08:22:58 -0600 Subject: [PATCH 023/144] Fix GET /api/v1/admin/ip_blocks/:id (#20207) --- app/policies/ip_block_policy.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/policies/ip_block_policy.rb b/app/policies/ip_block_policy.rb index 2986a4fdb39..8baf6ee2dc5 100644 --- a/app/policies/ip_block_policy.rb +++ b/app/policies/ip_block_policy.rb @@ -5,6 +5,10 @@ class IpBlockPolicy < ApplicationPolicy role.can?(:manage_blocks) end + def show? + role.can?(:manage_blocks) + end + def create? role.can?(:manage_blocks) end From 104157bd012f5d7306f3bd98962b49732d7d0915 Mon Sep 17 00:00:00 2001 From: Vyr Cossont Date: Wed, 9 Nov 2022 06:23:52 -0800 Subject: [PATCH 024/144] =?UTF-8?q?Add=20Balaibalan,=20L=C3=A1adan,=20Ling?= =?UTF-8?q?ua=20Franca=20Nova,=20Lojban,=20Toki=20Pona=20to=20language=20l?= =?UTF-8?q?ist=20(#20168)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add Balaibalan, Láadan, Lojban, Toki Pona to language list Fixes #8995. * Correct translated names for Lojban and Toki Pona * Correct translated name for Balaibalan * Add Lingua Franca Nova aka Elefen * Disable unhelpful Rubocop checks * Re-enable Rubocop checks at end of file --- app/helpers/languages_helper.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb index e5bae2c6b09..322548747b9 100644 --- a/app/helpers/languages_helper.rb +++ b/app/helpers/languages_helper.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true +# rubocop:disable Metrics/ModuleLength, Style/WordArray module LanguagesHelper ISO_639_1 = { @@ -189,8 +190,13 @@ module LanguagesHelper ISO_639_3 = { ast: ['Asturian', 'Asturianu'].freeze, ckb: ['Sorani (Kurdish)', 'سۆرانی'].freeze, + jbo: ['Lojban', 'la .lojban.'].freeze, kab: ['Kabyle', 'Taqbaylit'].freeze, kmr: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze, + ldn: ['Láadan', 'Láadan'].freeze, + lfn: ['Lingua Franca Nova', 'lingua franca nova'].freeze, + tok: ['Toki Pona', 'toki pona'].freeze, + zba: ['Balaibalan', 'باليبلن'].freeze, zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze, }.freeze @@ -259,3 +265,5 @@ module LanguagesHelper locale_name.to_sym if locale_name.present? && I18n.available_locales.include?(locale_name.to_sym) end end + +# rubocop:enable Metrics/ModuleLength, Style/WordArray From cd0a87f170f795f3d2eeaadc06d6039aca395049 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 9 Nov 2022 16:43:48 +0100 Subject: [PATCH 025/144] New Crowdin updates (#20016) * New translations en.json (Telugu) * New translations en.yml (Telugu) * New translations en.yml (Occitan) * New translations en.json (Serbian (Latin)) * New translations en.yml (Kabyle) * New translations en.json (Igbo) * New translations en.yml (Burmese) * New translations en.json (Burmese) * New translations activerecord.en.yml (Frisian) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.json (Standard Moroccan Tamazight) * New translations en.yml (Silesian) * New translations en.json (Silesian) * New translations en.yml (Taigi) * New translations en.json (Taigi) * New translations en.json (Kabyle) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Sanskrit) * New translations en.json (Sanskrit) * New translations en.yml (Sardinian) * New translations en.json (Sardinian) * New translations en.yml (Corsican) * New translations en.json (Corsican) * New translations en.yml (Sorani (Kurdish)) * New translations en.json (Sorani (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.json (Kurmanji (Kurdish)) * New translations en.yml (Igbo) * New translations en.json (Hebrew) * New translations en.json (Polish) * New translations doorkeeper.en.yml (Frisian) * New translations en.json (Latvian) * New translations en.json (Icelandic) * New translations en.yml (Swedish) * New translations en.json (Swedish) * New translations en.json (Slovenian) * New translations en.json (Russian) * New translations en.json (Italian) * New translations en.json (German) * New translations en.yml (Hebrew) * New translations en.yml (Finnish) * New translations en.json (Finnish) * New translations en.yml (Danish) * New translations en.json (Afrikaans) * New translations en.json (Spanish) * New translations en.json (French) * New translations en.json (Dutch) * New translations simple_form.en.yml (Hebrew) * New translations en.json (Hebrew) * New translations en.json (Spanish, Argentina) * New translations activerecord.en.yml (Hebrew) * New translations simple_form.en.yml (Occitan) * New translations doorkeeper.en.yml (Hebrew) * New translations simple_form.en.yml (Hebrew) * New translations en.yml (Occitan) * New translations en.json (Welsh) * New translations en.yml (Chinese Traditional) * New translations en.json (German) * New translations en.json (Chinese Traditional) * New translations en.json (Ukrainian) * New translations en.json (Portuguese) * New translations en.yml (Hebrew) * New translations en.json (Finnish) * New translations en.json (Japanese) * New translations devise.en.yml (Chinese Traditional) * New translations en.yml (Thai) * New translations en.json (Hebrew) * New translations en.json (Thai) * New translations en.json (Greek) * New translations en.yml (Hebrew) * New translations en.json (Norwegian Nynorsk) * New translations en.json (Occitan) * New translations simple_form.en.yml (Hebrew) * New translations simple_form.en.yml (Thai) * New translations simple_form.en.yml (Norwegian Nynorsk) * New translations en.json (Thai) * New translations en.json (Catalan) * New translations en.yml (Dutch) * New translations simple_form.en.yml (Dutch) * New translations en.json (Polish) * New translations simple_form.en.yml (Thai) * New translations en.json (Esperanto) * New translations en.json (Chinese Simplified) * New translations en.json (Irish) * New translations activerecord.en.yml (Irish) * New translations en.json (Irish) * New translations en.yml (Dutch) * New translations en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (Italian) * New translations en.json (Danish) * New translations en.json (Galician) * New translations simple_form.en.yml (Galician) * New translations simple_form.en.yml (Norwegian Nynorsk) * New translations en.json (Czech) * New translations en.json (Turkish) * New translations en.json (Vietnamese) * New translations simple_form.en.yml (Norwegian Nynorsk) * New translations en.json (Bulgarian) * New translations en.json (Czech) * New translations en.json (Albanian) * New translations en.json (Arabic) * New translations en.json (Chinese Traditional, Hong Kong) * New translations en.json (Bulgarian) * New translations en.json (Macedonian) * New translations en.json (Chinese Traditional, Hong Kong) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Bulgarian) * New translations devise.en.yml (Polish) * New translations en.json (Bulgarian) * New translations en.json (Hungarian) * New translations en.yml (Japanese) * New translations en.json (Norwegian) * New translations en.json (Bulgarian) * New translations en.json (Korean) * New translations en.json (Scottish Gaelic) * New translations en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Scottish Gaelic) * New translations activerecord.en.yml (Scottish Gaelic) * New translations devise.en.yml (Scottish Gaelic) * New translations doorkeeper.en.yml (Scottish Gaelic) * New translations en.json (Bulgarian) * New translations en.json (German) * New translations en.json (Catalan) * New translations en.yml (Catalan) * New translations en.json (Latvian) * New translations en.yml (Latvian) * New translations simple_form.en.yml (Catalan) * New translations simple_form.en.yml (Latvian) * New translations en.json (Esperanto) * New translations en.json (Catalan) * New translations en.yml (Catalan) * New translations en.json (Norwegian) * New translations en.json (Vietnamese) * New translations en.yml (Esperanto) * New translations doorkeeper.en.yml (Frisian) * New translations en.yml (Romanian) * New translations en.yml (Frisian) * New translations en.json (Norwegian) * New translations en.yml (Russian) * New translations en.yml (Esperanto) * New translations doorkeeper.en.yml (Frisian) * New translations en.json (Norwegian) * New translations en.yml (Russian) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Norwegian) * New translations en.json (Swedish) * New translations en.json (Occitan) * New translations en.json (Afrikaans) * New translations en.json (Catalan) * New translations en.json (Norwegian) * New translations en.json (Swedish) * New translations en.yml (Norwegian Nynorsk) * New translations en.json (Welsh) * New translations en.yml (Esperanto) * New translations en.json (Occitan) * New translations doorkeeper.en.yml (French) * New translations activerecord.en.yml (Norwegian) * New translations activerecord.en.yml (Welsh) * New translations devise.en.yml (Norwegian) * New translations devise.en.yml (Esperanto) * New translations en.json (Chinese Simplified) * New translations en.json (Welsh) * New translations doorkeeper.en.yml (Norwegian) * New translations activerecord.en.yml (Norwegian) * New translations devise.en.yml (Norwegian) * New translations en.json (Dutch) * New translations en.json (Irish) * New translations en.yml (Norwegian) * New translations doorkeeper.en.yml (Norwegian) * New translations en.json (Dutch) * New translations en.json (Irish) * New translations en.yml (Dutch) * New translations simple_form.en.yml (Dutch) * New translations en.json (Norwegian) * New translations simple_form.en.yml (Dutch) * New translations en.json (Irish) * New translations en.yml (Dutch) * New translations simple_form.en.yml (Dutch) * New translations en.json (English, United Kingdom) * New translations simple_form.en.yml (English, United Kingdom) * New translations doorkeeper.en.yml (English, United Kingdom) * New translations activerecord.en.yml (English, United Kingdom) * New translations en.json (Dutch) * New translations en.json (Irish) * New translations en.yml (Irish) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (Irish) * New translations en.json (Irish) * New translations en.yml (Irish) * New translations en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (Irish) * New translations doorkeeper.en.yml (Irish) * New translations en.json (Bulgarian) * New translations en.json (Irish) * New translations en.yml (Irish) * New translations simple_form.en.yml (Irish) * New translations doorkeeper.en.yml (Irish) * New translations en.json (Bulgarian) * New translations en.yml (Irish) * New translations en.json (Chinese Traditional) * New translations en.json (Galician) * New translations en.json (Bulgarian) * New translations en.json (Latvian) * New translations en.yml (Latvian) * New translations simple_form.en.yml (Latvian) * New translations en.json (Igbo) * New translations en.json (Thai) * New translations en.json (Bulgarian) * New translations en.json (Esperanto) * New translations en.json (Irish) * New translations en.yml (Chinese Traditional) * New translations en.yml (Esperanto) * New translations simple_form.en.yml (Turkish) * New translations simple_form.en.yml (Esperanto) * New translations en.yml (Czech) * New translations en.json (Esperanto) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Breton) * New translations en.yml (Breton) * New translations simple_form.en.yml (Portuguese, Brazilian) * New translations devise.en.yml (Portuguese, Brazilian) * New translations en.yml (Czech) * New translations en.json (Bulgarian) * New translations en.json (Esperanto) * New translations en.json (Afrikaans) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Esperanto) * New translations en.json (Breton) * New translations en.yml (Breton) * New translations simple_form.en.yml (Portuguese, Brazilian) * New translations doorkeeper.en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (Esperanto) * New translations doorkeeper.en.yml (Esperanto) * New translations activerecord.en.yml (Esperanto) * New translations devise.en.yml (Esperanto) * New translations en.json (Bulgarian) * New translations en.json (Afrikaans) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Indonesian) * New translations en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (Portuguese, Brazilian) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` * New translations en.json (Occitan) * Run `yarn manage:translations` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/af.json | 42 +-- app/javascript/mastodon/locales/ar.json | 4 +- app/javascript/mastodon/locales/bg.json | 268 ++++++++-------- app/javascript/mastodon/locales/br.json | 114 +++---- app/javascript/mastodon/locales/ca.json | 50 +-- app/javascript/mastodon/locales/cs.json | 8 +- app/javascript/mastodon/locales/cy.json | 140 ++++----- app/javascript/mastodon/locales/da.json | 8 +- app/javascript/mastodon/locales/de.json | 24 +- app/javascript/mastodon/locales/el.json | 4 +- app/javascript/mastodon/locales/en-GB.json | 20 +- app/javascript/mastodon/locales/eo.json | 66 ++-- app/javascript/mastodon/locales/es-AR.json | 8 +- app/javascript/mastodon/locales/es-MX.json | 2 +- app/javascript/mastodon/locales/es.json | 8 +- app/javascript/mastodon/locales/fi.json | 12 +- app/javascript/mastodon/locales/fr.json | 10 +- app/javascript/mastodon/locales/ga.json | 162 +++++----- app/javascript/mastodon/locales/gd.json | 72 ++--- app/javascript/mastodon/locales/gl.json | 30 +- app/javascript/mastodon/locales/he.json | 258 ++++++++-------- app/javascript/mastodon/locales/hu.json | 8 +- app/javascript/mastodon/locales/id.json | 2 +- app/javascript/mastodon/locales/ig.json | 4 +- app/javascript/mastodon/locales/is.json | 8 +- app/javascript/mastodon/locales/it.json | 8 +- app/javascript/mastodon/locales/ja.json | 8 +- app/javascript/mastodon/locales/ko.json | 8 +- app/javascript/mastodon/locales/ku.json | 18 +- app/javascript/mastodon/locales/lv.json | 22 +- app/javascript/mastodon/locales/mk.json | 32 +- app/javascript/mastodon/locales/nl.json | 14 +- app/javascript/mastodon/locales/nn.json | 8 +- app/javascript/mastodon/locales/no.json | 344 ++++++++++----------- app/javascript/mastodon/locales/oc.json | 56 ++-- app/javascript/mastodon/locales/pl.json | 10 +- app/javascript/mastodon/locales/pt-BR.json | 88 +++--- app/javascript/mastodon/locales/pt-PT.json | 8 +- app/javascript/mastodon/locales/ru.json | 8 +- app/javascript/mastodon/locales/sl.json | 8 +- app/javascript/mastodon/locales/sq.json | 8 +- app/javascript/mastodon/locales/sv.json | 18 +- app/javascript/mastodon/locales/th.json | 20 +- app/javascript/mastodon/locales/tr.json | 8 +- app/javascript/mastodon/locales/uk.json | 8 +- app/javascript/mastodon/locales/vi.json | 16 +- app/javascript/mastodon/locales/zh-CN.json | 10 +- app/javascript/mastodon/locales/zh-HK.json | 294 +++++++++--------- app/javascript/mastodon/locales/zh-TW.json | 10 +- config/locales/activerecord.cy.yml | 29 +- config/locales/activerecord.en-GB.yml | 54 ++++ config/locales/activerecord.fy.yml | 31 ++ config/locales/activerecord.ga.yml | 12 + config/locales/activerecord.he.yml | 6 +- config/locales/activerecord.no.yml | 39 ++- config/locales/br.yml | 55 +++- config/locales/ca.yml | 24 +- config/locales/cs.yml | 10 + config/locales/da.yml | 2 +- config/locales/de.yml | 2 +- config/locales/devise.eo.yml | 14 +- config/locales/devise.gd.yml | 4 +- config/locales/devise.no.yml | 66 ++-- config/locales/devise.pl.yml | 2 +- config/locales/devise.zh-TW.yml | 8 +- config/locales/doorkeeper.en-GB.yml | 118 +++++++ config/locales/doorkeeper.eo.yml | 3 +- config/locales/doorkeeper.fr.yml | 2 +- config/locales/doorkeeper.fy.yml | 162 ++++++++++ config/locales/doorkeeper.ga.yml | 6 + config/locales/doorkeeper.gd.yml | 14 +- config/locales/doorkeeper.he.yml | 10 +- config/locales/doorkeeper.no.yml | 99 ++++-- config/locales/doorkeeper.pt-BR.yml | 2 +- config/locales/eo.yml | 91 +++--- config/locales/fi.yml | 2 +- config/locales/fy.yml | 104 +++++++ config/locales/ga.yml | 77 +++++ config/locales/gd.yml | 54 ++-- config/locales/he.yml | 280 +++++++++++------ config/locales/ja.yml | 2 +- config/locales/lv.yml | 20 +- config/locales/nl.yml | 17 +- config/locales/nn.yml | 13 + config/locales/no.yml | 79 +++++ config/locales/oc.yml | 16 + config/locales/pt-BR.yml | 151 +++++---- config/locales/ro.yml | 3 + config/locales/ru.yml | 15 + config/locales/simple_form.ca.yml | 6 +- config/locales/simple_form.en-GB.yml | 10 + config/locales/simple_form.eo.yml | 4 +- config/locales/simple_form.ga.yml | 12 + config/locales/simple_form.gd.yml | 20 +- config/locales/simple_form.gl.yml | 2 + config/locales/simple_form.he.yml | 93 ++++-- config/locales/simple_form.it.yml | 2 +- config/locales/simple_form.lv.yml | 10 +- config/locales/simple_form.nl.yml | 8 +- config/locales/simple_form.nn.yml | 98 +++++- config/locales/simple_form.oc.yml | 2 + config/locales/simple_form.pt-BR.yml | 24 +- config/locales/simple_form.th.yml | 14 +- config/locales/simple_form.tr.yml | 2 +- config/locales/sv.yml | 10 + config/locales/th.yml | 2 + config/locales/zh-TW.yml | 8 +- 107 files changed, 2764 insertions(+), 1625 deletions(-) diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index bfa5a89f996..95822b7b04e 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.follows.empty": "Die gebruiker volg nie tans iemand nie.", "account.follows_you": "Volg jou", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Gaan na profiel", "account.hide_reblogs": "Versteek hupstoot vanaf @{name}", "account.joined_short": "Aangesluit", "account.languages": "Change subscribed languages", @@ -74,7 +74,7 @@ "admin.dashboard.retention.cohort_size": "Nuwe gebruikers", "alert.rate_limited.message": "Probeer asb. weer na {retry_time, time, medium}.", "alert.rate_limited.title": "Tempo-beperk", - "alert.unexpected.message": "An unexpected error occurred.", + "alert.unexpected.message": "'n Onverwagte fout het voorgekom.", "alert.unexpected.title": "Oeps!", "announcement.announcement": "Aankondiging", "attachments_list.unprocessed": "(unprocessed)", @@ -146,18 +146,18 @@ "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}", "compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.unmarked": "Text is not hidden", - "compose_form.spoiler_placeholder": "Write your warning here", + "compose_form.spoiler_placeholder": "Skryf jou waarskuwing hier", "confirmation_modal.cancel": "Kanselleer", "confirmations.block.block_and_report": "Block & Rapporteer", - "confirmations.block.confirm": "Block", - "confirmations.block.message": "Are you sure you want to block {name}?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", - "confirmations.delete.confirm": "Delete", + "confirmations.block.confirm": "Blokeer", + "confirmations.block.message": "Is jy seker dat jy {name} wil blok?", + "confirmations.cancel_follow_request.confirm": "Trek aanvaag terug", + "confirmations.cancel_follow_request.message": "Is jy seker dat jy jou aanvraag om {name} te volg, terug wil trek?", + "confirmations.delete.confirm": "Wis uit", "confirmations.delete.message": "Are you sure you want to delete this status?", - "confirmations.delete_list.confirm": "Delete", - "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", - "confirmations.discard_edit_media.confirm": "Discard", + "confirmations.delete_list.confirm": "Wis uit", + "confirmations.delete_list.message": "Is jy seker dat jy hierdie lys permanent wil uitwis?", + "confirmations.discard_edit_media.confirm": "Verwerp", "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.", @@ -173,17 +173,17 @@ "confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", "conversation.delete": "Delete conversation", - "conversation.mark_as_read": "Mark as read", - "conversation.open": "View conversation", - "conversation.with": "With {names}", + "conversation.mark_as_read": "Merk as gelees", + "conversation.open": "Besigtig gesprek", + "conversation.with": "Met {names}", "copypaste.copied": "Copied", "copypaste.copy": "Copy", "directory.federated": "Vanaf bekende fediverse", "directory.local": "Slegs vanaf {domain}", "directory.new_arrivals": "New arrivals", "directory.recently_active": "Recently active", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Rekening instellings", + "disabled_account_banner.text": "Jou rekening {disabledAccount} is tans onaktief.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.dismiss": "Dismiss", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", @@ -293,7 +293,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Haak en plak hierdie URL in die soek area van jou gunseling toep of die web blaaier waar jy ingeteken is.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", @@ -354,14 +354,14 @@ "lists.replies_policy.list": "Members of the list", "lists.replies_policy.none": "No one", "lists.replies_policy.title": "Show replies to:", - "lists.search": "Search among people you follow", + "lists.search": "Soek tussen mense wat jy volg", "lists.subheading": "Your lists", "load_pending": "{count, plural, one {# new item} other {# new items}}", "loading_indicator.label": "Loading...", "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", "missing_indicator.label": "Not found", "missing_indicator.sublabel": "This resource could not be found", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Jou rekening {disabledAccount} is tans onaktief omdat jy na {movedToAccount} verhuis het.", "mute_modal.duration": "Duration", "mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.indefinite": "Indefinite", @@ -521,7 +521,7 @@ "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.hashtag": "hits-etiket", "search_popout.tips.status": "status", - "search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", + "search_popout.tips.text": "Eenvoudige teks bring name, gebruiker name en hits-etikette wat ooreenstem, terug", "search_popout.tips.user": "gebruiker", "search_results.accounts": "Mense", "search_results.all": "Alles", @@ -530,7 +530,7 @@ "search_results.statuses": "Toots", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.title": "Soek vir {q}", - "search_results.total": "{count, number} {count, plural, one {result} other {results}}", + "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultate}}", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.active_users": "active users", "server_banner.administered_by": "Administrasie deur:", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 0392a58b54f..60d62c8cd2b 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -189,7 +189,7 @@ "dismissable_banner.explore_links": "هذه القصص الإخبارية يتحدث عنها أشخاص على هذا الخوادم الأخرى للشبكة اللامركزية في الوقت الحالي.", "dismissable_banner.explore_statuses": "هذه المشاركات من هذا الخوادم الأخرى في الشبكة اللامركزية تجذب انتباه المستخدمين على هذا الخادم الآن.", "dismissable_banner.explore_tags": "هذه العلامات تكتسب جذب بين الناس على هذا الخوادم الأخرى للشبكة اللامركزية في الوقت الحالي.", - "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", + "dismissable_banner.public_timeline": "هذه هي أحدث المشاركات العامة من الناس على هذا الخادم والخوادم الأخرى للشبكة اللامركزية التي يعرفها هذا الخادم.", "embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.", "embed.preview": "هكذا ما سوف يبدو عليه:", "emoji_button.activity": "الأنشطة", @@ -534,7 +534,7 @@ "server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)", "server_banner.active_users": "مستخدم نشط", "server_banner.administered_by": "يُديره:", - "server_banner.introduction": "{domain} هو جزء من الشبكة الاجتماعية اللامركزية المدعومة من {mastodon}.", + "server_banner.introduction": "{domain} هو جزء من الشبكة الاجتماعية اللامركزية التي تعمل بواسطة {mastodon}.", "server_banner.learn_more": "تعلم المزيد", "server_banner.server_stats": "إحصائيات الخادم:", "sign_in_banner.create_account": "أنشئ حسابًا", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index 4af5614b635..c83c1087c85 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -1,24 +1,24 @@ { "about.blocks": "Модерирани сървъри", "about.contact": "За контакти:", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", + "about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка Mastodon gGmbH.", "about.domain_blocks.comment": "Причина", "about.domain_blocks.domain": "Домейн", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", + "about.domain_blocks.severity": "Взискателност", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Ограничено", - "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", - "about.domain_blocks.suspended.title": "Suspended", - "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", + "about.domain_blocks.suspended.explanation": "Никакви данни от този сървър няма да се обработват, съхранявани или обменяни, правещи невъзможно всяко взаимодействие или комуникация с потребители от тези сървъри.", + "about.domain_blocks.suspended.title": "Спряно", + "about.not_available": "Тази информация не е била направена налична на този сървър.", + "about.powered_by": "Децентрализирана социална мрежа, захранвана от {mastodon}", "about.rules": "Правила на сървъра", "account.account_note_header": "Бележка", "account.add_or_remove_from_list": "Добави или премахни от списъците", "account.badges.bot": "Бот", "account.badges.group": "Група", - "account.block": "Блокирай", - "account.block_domain": "скрий всичко от (домейн)", + "account.block": "Блокиране на @{name}", + "account.block_domain": "Блокиране на домейн {domain}", "account.blocked": "Блокирани", "account.browse_more_on_origin_server": "Разглеждане на още в първообразния профил", "account.cancel_follow_request": "Withdraw follow request", @@ -28,25 +28,25 @@ "account.edit_profile": "Редактиране на профила", "account.enable_notifications": "Уведомявайте ме, когато @{name} публикува", "account.endorse": "Характеристика на профила", - "account.featured_tags.last_status_at": "Last post on {date}", + "account.featured_tags.last_status_at": "Последна публикация на {date}", "account.featured_tags.last_status_never": "Няма публикации", "account.featured_tags.title": "{name}'s featured hashtags", "account.follow": "Последване", "account.followers": "Последователи", - "account.followers.empty": "Все още никой не следва този потребител.", - "account.followers_counter": "{count, plural, one {{counter} Последовател} other {{counter} Последователи}}", + "account.followers.empty": "Още никой не следва потребителя.", + "account.followers_counter": "{count, plural, one {{counter} последовател} other {{counter} последователи}}", "account.following": "Последвани", - "account.following_counter": "{count, plural, one {{counter} Последван} other {{counter} Последвани}}", - "account.follows.empty": "Този потребител все още не следва никого.", - "account.follows_you": "Твой последовател", - "account.go_to_profile": "Go to profile", + "account.following_counter": "{count, plural, one {{counter} последван} other {{counter} последвани}}", + "account.follows.empty": "Потребителят още никого не следва.", + "account.follows_you": "Ваш последовател", + "account.go_to_profile": "Към профила", "account.hide_reblogs": "Скриване на споделяния от @{name}", - "account.joined_short": "Joined", + "account.joined_short": "Присъединени", "account.languages": "Change subscribed languages", "account.link_verified_on": "Собствеността върху тази връзка е проверена на {date}", - "account.locked_info": "Този акаунт е поверително заключен. Собственикът преглежда ръчно кой може да го следва.", + "account.locked_info": "Състоянието за поверителността на акаунта е зададено заключено. Собственикът преглежда ръчно от кого може да се следва.", "account.media": "Мултимедия", - "account.mention": "Споменаване", + "account.mention": "Споменаване на @{name}", "account.moved_to": "{name} has indicated that their new account is now:", "account.mute": "Заглушаване на @{name}", "account.mute_notifications": "Заглушаване на известия от @{name}", @@ -55,24 +55,24 @@ "account.posts_with_replies": "Публикации и отговори", "account.report": "Докладване на @{name}", "account.requested": "Чака се одобрение. Щракнете за отмяна на заявката за последване", - "account.share": "Споделяне на @{name} профила", + "account.share": "Споделяне на профила на @{name}", "account.show_reblogs": "Показване на споделяния от @{name}", - "account.statuses_counter": "{count, plural, one {{counter} Публикация} other {{counter} Публикации}}", + "account.statuses_counter": "{count, plural, one {{counter} публикация} other {{counter} публикации}}", "account.unblock": "Отблокиране на @{name}", - "account.unblock_domain": "Unhide {domain}", - "account.unblock_short": "Отблокирай", + "account.unblock_domain": "Отблокиране на домейн {domain}", + "account.unblock_short": "Отблокирване", "account.unendorse": "Не включвайте в профила", - "account.unfollow": "Не следвай", + "account.unfollow": "Стоп на следването", "account.unmute": "Без заглушаването на @{name}", - "account.unmute_notifications": "Раззаглушаване на известия от @{name}", - "account.unmute_short": "Unmute", + "account.unmute_notifications": "Без заглушаване на известия от @{name}", + "account.unmute_short": "Без заглушаването", "account_note.placeholder": "Щракнете, за да добавите бележка", "admin.dashboard.daily_retention": "Ниво на задържани на потребители след регистрация, в дни", "admin.dashboard.monthly_retention": "Ниво на задържани на потребители след регистрация, в месеци", "admin.dashboard.retention.average": "Средно", - "admin.dashboard.retention.cohort": "Месец на регистрацията", + "admin.dashboard.retention.cohort": "Регистрации за месец", "admin.dashboard.retention.cohort_size": "Нови потребители", - "alert.rate_limited.message": "Моля, опитайте отново след {retry_time, time, medium}.", + "alert.rate_limited.message": "Опитайте пак след {retry_time, time, medium}.", "alert.rate_limited.title": "Скоростта е ограничена", "alert.unexpected.message": "Възникна неочаквана грешка.", "alert.unexpected.title": "Опаа!", @@ -81,28 +81,28 @@ "audio.hide": "Скриване на звука", "autosuggest_hashtag.per_week": "{count} на седмица", "boost_modal.combo": "Можете да натиснете {combo}, за да пропуснете това следващия път", - "bundle_column_error.copy_stacktrace": "Copy error report", - "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", - "bundle_column_error.error.title": "Oh, no!", - "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", + "bundle_column_error.copy_stacktrace": "Копиране на доклада за грешката", + "bundle_column_error.error.body": "Заявената страница не може да се изобрази. Това може да е заради грешка в кода ни или проблем със съвместимостта на браузъра.", + "bundle_column_error.error.title": "О, не!", + "bundle_column_error.network.body": "Възникна грешка, опитвайки зареждане на страницата. Това може да е заради временен проблем с интернет връзката ви или този сървър.", "bundle_column_error.network.title": "Мрежова грешка", "bundle_column_error.retry": "Нов опит", "bundle_column_error.return": "Обратно към началото", - "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", + "bundle_column_error.routing.body": "Заявената страница не може да се намери. Сигурни ли сте, че URL адресът в адресната лента е правилен?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Затваряне", "bundle_modal_error.message": "Нещо се обърка, зареждайки компонента.", "bundle_modal_error.retry": "Нов опит", "closed_registrations.other_server_instructions": "Поради това че Mastodon е децентрализиран, можеш да създадеш акаунт на друг сървър, от който можеш да комуникираш с този.", - "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "closed_registrations_modal.description": "Създаването на акаунт в {domain} сега не е възможно, но обърнете внимание, че нямате нужда от акаунт конкретно на {domain}, за да ползвате Mastodon.", + "closed_registrations_modal.find_another_server": "Намиране на друг сървър", + "closed_registrations_modal.preamble": "Mastodon е децентрализиран, така че няма значение къде създавате акаунта си, ще може да последвате и взаимодействате с всеки на този сървър. Може дори да стартирате свой собствен сървър!", + "closed_registrations_modal.title": "Регистриране в Mastodon", + "column.about": "Относно", "column.blocks": "Блокирани потребители", "column.bookmarks": "Отметки", "column.community": "Локална емисия", - "column.direct": "Лични съобщения", + "column.direct": "Директни съобщения", "column.directory": "Разглеждане на профили", "column.domain_blocks": "Блокирани домейни", "column.favourites": "Любими", @@ -127,11 +127,11 @@ "compose.language.change": "Смяна на езика", "compose.language.search": "Търсене на езици...", "compose_form.direct_message_warning_learn_more": "Още информация", - "compose_form.encryption_warning": "Поставете в Мастодон не са криптирани от край до край. Не споделяйте никаква чувствителна информация.", + "compose_form.encryption_warning": "Публикациите в Mastodon не са криптирани от край до край. Не споделяйте никаква чувствителна информация там.", "compose_form.hashtag_warning": "Тази публикация няма да бъде изброена под нито един хаштаг, тъй като е скрита. Само публични публикации могат да се търсят по хаштаг.", "compose_form.lock_disclaimer": "Вашият акаунт не е {locked}. Всеки може да ви последва, за да прегледа вашите публикации само за последователи.", "compose_form.lock_disclaimer.lock": "заключено", - "compose_form.placeholder": "Какво си мислиш?", + "compose_form.placeholder": "Какво мислите?", "compose_form.poll.add_option": "Добавяне на избор", "compose_form.poll.duration": "Времетраене на анкетата", "compose_form.poll.option_placeholder": "Избор {number}", @@ -146,51 +146,51 @@ "compose_form.sensitive.unmarked": "{count, plural, one {Мултимедията не е маркирана като деликатна} other {Мултимедиите не са маркирани като деликатни}}", "compose_form.spoiler.marked": "Текстът е скрит зад предупреждение", "compose_form.spoiler.unmarked": "Текстът не е скрит", - "compose_form.spoiler_placeholder": "Content warning", + "compose_form.spoiler_placeholder": "Тук напишете предупреждението си", "confirmation_modal.cancel": "Отказ", "confirmations.block.block_and_report": "Блокиране и докладване", "confirmations.block.confirm": "Блокиране", "confirmations.block.message": "Наистина ли искате да блокирате {name}?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "Оттегляне на заявката", + "confirmations.cancel_follow_request.message": "Наистина ли искате да оттеглите заявката си да последвате {name}?", "confirmations.delete.confirm": "Изтриване", "confirmations.delete.message": "Наистина ли искате да изтриете публикацията?", "confirmations.delete_list.confirm": "Изтриване", "confirmations.delete_list.message": "Наистина ли искате да изтриете завинаги този списък?", - "confirmations.discard_edit_media.confirm": "Отмени", - "confirmations.discard_edit_media.message": "Не сте запазили промени на описанието или огледа на медията, отхвърляте ли ги въпреки това?", + "confirmations.discard_edit_media.confirm": "Отхвърляне", + "confirmations.discard_edit_media.message": "Не сте запазили промени на описанието или огледа на мултимедията, отхвърляте ли ги?", "confirmations.domain_block.confirm": "Блокиране на целия домейн", "confirmations.domain_block.message": "Наистина ли искате да блокирате целия {domain}? В повечето случаи няколко блокирания или заглушавания са достатъчно и за предпочитане. Няма да виждате съдържание от домейна из публичните места или известията си. Вашите последователи от този домейн ще се премахнат.", "confirmations.logout.confirm": "Излизане", "confirmations.logout.message": "Наистина ли искате да излезете?", "confirmations.mute.confirm": "Заглушаване", "confirmations.mute.explanation": "Това ще скрие публикации от тях и публикации, които ги споменават, но все пак ще им позволи да виждат вашите публикации и да ви следват.", - "confirmations.mute.message": "Сигурни ли сте, че искате да заглушите {name}?", + "confirmations.mute.message": "Наистина ли искате да заглушите {name}?", "confirmations.redraft.confirm": "Изтриване и преработване", "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.", "confirmations.reply.confirm": "Отговор", "confirmations.reply.message": "Отговарянето сега ще замени съобщението, което в момента съставяте. Сигурни ли сте, че искате да продължите?", - "confirmations.unfollow.confirm": "Отследване", + "confirmations.unfollow.confirm": "Без следване", "confirmations.unfollow.message": "Наистина ли искате да не следвате {name}?", "conversation.delete": "Изтриване на разговора", "conversation.mark_as_read": "Маркиране като прочетено", "conversation.open": "Преглед на разговора", "conversation.with": "С {names}", "copypaste.copied": "Копирано", - "copypaste.copy": "Copy", + "copypaste.copy": "Копиране", "directory.federated": "От познат федивърс", "directory.local": "Само от {domain}", "directory.new_arrivals": "Новодошли", "directory.recently_active": "Наскоро активни", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", - "dismissable_banner.dismiss": "Dismiss", - "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", - "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", - "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", - "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", - "embed.instructions": "Embed this status on your website by copying the code below.", + "disabled_account_banner.account_settings": "Настройки на акаунта", + "disabled_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен.", + "dismissable_banner.community_timeline": "Ето най-скорошните публични публикации от хора, чиито акаунти са разположени в {domain}.", + "dismissable_banner.dismiss": "Отхвърляне", + "dismissable_banner.explore_links": "Тези новини се разказват от хората в този и други сървъри на децентрализираната мрежа точно сега.", + "dismissable_banner.explore_statuses": "Тези публикации от този и други сървъри в децентрализираната мрежа набират популярност сега на този сървър.", + "dismissable_banner.explore_tags": "Тези хаштагове сега набират популярност сред хората в този и други сървъри на децентрализирата мрежа.", + "dismissable_banner.public_timeline": "Ето най-скорошните публични публикации от хора в този и други сървъри на децентрализираната мрежа, за които този сървър познава.", + "embed.instructions": "Вградете публикацията в уебсайта си, копирайки кода долу.", "embed.preview": "Ето как ще изглежда:", "emoji_button.activity": "Дейност", "emoji_button.clear": "Изчистване", @@ -223,7 +223,7 @@ "empty_column.hashtag": "Още няма нищо в този хаштаг.", "empty_column.home": "Вашата начална емисия е празна! Посетете {public} или използвайте търсене, за да започнете и да се запознаете с други потребители.", "empty_column.home.suggestions": "Преглед на някои предложения", - "empty_column.list": "There is nothing in this list yet.", + "empty_column.list": "Още няма нищо в този списък. Когато членовете на списъка публикуват нови публикации, то те ще се появят тук.", "empty_column.lists": "Все още нямате списъци. Когато създадете такъв, той ще се покаже тук.", "empty_column.mutes": "Още не сте заглушавали потребители.", "empty_column.notifications": "Все още нямате известия. Взаимодействайте с другите, за да започнете разговора.", @@ -231,7 +231,7 @@ "error.unexpected_crash.explanation": "Поради грешка в нашия код или проблем със съвместимостта на браузъра, тази страница не може да се покаже правилно.", "error.unexpected_crash.explanation_addons": "Тази страница не може да се покаже правилно. Тази грешка вероятно е причинена от добавка на браузъра или инструменти за автоматичен превод.", "error.unexpected_crash.next_steps": "Опитайте да опресните страницата. Ако това не помогне, все още можете да използвате Mastodon чрез различен браузър или приложение.", - "error.unexpected_crash.next_steps_addons": "Опитайте да ги деактивирате и да опресните страницата. Ако това не помогне, може все още да използвате Mastodon чрез различен браузър или приложение.", + "error.unexpected_crash.next_steps_addons": "Опитайте се да ги изключите и да опресните страницата. Ако това не помогне, то още може да използвате Mastodon чрез различен браузър или приложение.", "errors.unexpected_crash.copy_stacktrace": "Копиране на stacktrace-а в клипборда", "errors.unexpected_crash.report_issue": "Сигнал за проблем", "explore.search_results": "Резултати от търсенето", @@ -243,32 +243,32 @@ "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_title": "Несъвпадение на контекста!", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", - "filter_modal.added.expired_title": "Изтекал филтър!", + "filter_modal.added.expired_title": "Изтекъл филтър!", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", - "filter_modal.added.review_and_configure_title": "Настройки на филтър", + "filter_modal.added.review_and_configure_title": "Настройки на филтъра", "filter_modal.added.settings_link": "страница с настройки", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.title": "Филтърът е добавен!", "filter_modal.select_filter.context_mismatch": "не е приложимо за този контекст", "filter_modal.select_filter.expired": "изтекло", "filter_modal.select_filter.prompt_new": "Нова категория: {name}", - "filter_modal.select_filter.search": "Търси или създай", + "filter_modal.select_filter.search": "Търсене или създаване", "filter_modal.select_filter.subtitle": "Изберете съществуваща категория или създайте нова", - "filter_modal.select_filter.title": "Филтриране на поста", - "filter_modal.title.status": "Филтрирай пост", + "filter_modal.select_filter.title": "Филтриране на публ.", + "filter_modal.title.status": "Филтриране на публ.", "follow_recommendations.done": "Готово", - "follow_recommendations.heading": "Следвайте хора, които харесвате, за да виждате техните съобщения! Ето някои предложения.", - "follow_recommendations.lead": "Съобщения от хора, които следвате, ще се показват в хронологичен ред на вашата главна страница. Не се страхувайте, че ще сгрешите, по всяко време много лесно можете да спрете да ги следвате!", + "follow_recommendations.heading": "Следвайте хора, от които харесвате да виждате публикации! Ето някои предложения.", + "follow_recommendations.lead": "Публикациите от хората, които следвате, ще се показват в хронологично в началния ви инфопоток. Не се страхувайте, че ще сгрешите, по всяко време много лесно може да спрете да ги следвате!", "follow_request.authorize": "Упълномощаване", "follow_request.reject": "Отхвърляне", "follow_requests.unlocked_explanation": "Въпреки че акаунтът ви не е заключен, служителите на {domain} помислиха, че може да искате да преглеждате ръчно заявките за последване на тези профили.", - "footer.about": "About", - "footer.directory": "Profiles directory", - "footer.get_app": "Get the app", - "footer.invite": "Invite people", + "footer.about": "Относно", + "footer.directory": "Директория на профилите", + "footer.get_app": "Вземане на приложението", + "footer.invite": "Поканване на хора", "footer.keyboard_shortcuts": "Клавишни съчетания", "footer.privacy_policy": "Политика за поверителност", - "footer.source_code": "View source code", + "footer.source_code": "Преглед на изходния код", "generic.saved": "Запазено", "getting_started.heading": "Първи стъпки", "hashtag.column_header.tag_mode.all": "и {additional}", @@ -291,33 +291,33 @@ "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", - "interaction_modal.on_another_server": "On a different server", - "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", - "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", - "interaction_modal.title.favourite": "Favourite {name}'s post", + "interaction_modal.on_another_server": "На различен сървър", + "interaction_modal.on_this_server": "На този сървър", + "interaction_modal.other_server_instructions": "Просто копипействате URL адреса в лентата за търсене на любимото си приложение или уеб интерфейс, където сте влезли.", + "interaction_modal.preamble": "Откак Mastodon е децентрализиран, може да употребявате съществуващ акаунт, разположен на друг сървър на Mastodon или съвместима платформа, ако нямате акаунт на този сървър.", + "interaction_modal.title.favourite": "Любими публикации на {name}", "interaction_modal.title.follow": "Последване на {name}", "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.reply": "Отговаряне на публикацията на {name}", "intervals.full.days": "{number, plural, one {# ден} other {# дни}}", "intervals.full.hours": "{number, plural, one {# час} other {# часа}}", "intervals.full.minutes": "{number, plural, one {# минута} other {# минути}}", - "keyboard_shortcuts.back": "за придвижване назад", - "keyboard_shortcuts.blocked": "за отваряне на списъка с блокирани потребители", + "keyboard_shortcuts.back": "Навигиране назад", + "keyboard_shortcuts.blocked": "Отваряне на списъка с блокирани потребители", "keyboard_shortcuts.boost": "за споделяне", "keyboard_shortcuts.column": "Съсредоточение на колона", "keyboard_shortcuts.compose": "за фокусиране на текстовото пространство за композиране", "keyboard_shortcuts.description": "Описание", - "keyboard_shortcuts.direct": "to open direct messages column", - "keyboard_shortcuts.down": "за придвижване надолу в списъка", - "keyboard_shortcuts.enter": "to open status", + "keyboard_shortcuts.direct": "за отваряне на колоната с директни съобщения", + "keyboard_shortcuts.down": "Преместване надолу в списъка", + "keyboard_shortcuts.enter": "Отваряне на публикация", "keyboard_shortcuts.favourite": "Любима публикация", "keyboard_shortcuts.favourites": "Отваряне на списъка с любими", "keyboard_shortcuts.federated": "да отвори обединена хронология", "keyboard_shortcuts.heading": "Клавишни съчетания", "keyboard_shortcuts.home": "за отваряне на началната емисия", "keyboard_shortcuts.hotkey": "Бърз клавиш", - "keyboard_shortcuts.legend": "за показване на тази легенда", + "keyboard_shortcuts.legend": "Показване на тази легенда", "keyboard_shortcuts.local": "за отваряне на локалната емисия", "keyboard_shortcuts.mention": "Споменаване на автор", "keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители", @@ -332,17 +332,17 @@ "keyboard_shortcuts.spoilers": "за показване/скриване на ПС полето", "keyboard_shortcuts.start": "за отваряне на колоната \"първи стъпки\"", "keyboard_shortcuts.toggle_hidden": "за показване/скриване на текст зад ПС", - "keyboard_shortcuts.toggle_sensitivity": "Показване/скриване на мултимедия", + "keyboard_shortcuts.toggle_sensitivity": "Показване/скриване на мултимедията", "keyboard_shortcuts.toot": "Начало на нова публикация", "keyboard_shortcuts.unfocus": "за дефокусиране на текстовото поле за композиране/търсене", - "keyboard_shortcuts.up": "за придвижване нагоре в списъка", + "keyboard_shortcuts.up": "Преместване нагоре в списъка", "lightbox.close": "Затваряне", - "lightbox.compress": "Компресиране на полето за преглед на изображение", - "lightbox.expand": "Разгъване на полето за преглед на изображение", + "lightbox.compress": "Свиване на полето за преглед на образи", + "lightbox.expand": "Разгъване на полето за преглед на образи", "lightbox.next": "Напред", "lightbox.previous": "Назад", "limited_account_hint.action": "Покажи профила въпреки това", - "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", + "limited_account_hint.title": "Този профил е бил скрит от модераторита на {domain}.", "lists.account.add": "Добавяне към списък", "lists.account.remove": "Премахване от списък", "lists.delete": "Изтриване на списък", @@ -361,11 +361,11 @@ "media_gallery.toggle_visible": "Скриване на {number, plural, one {изображение} other {изображения}}", "missing_indicator.label": "Не е намерено", "missing_indicator.sublabel": "Ресурсът не може да се намери", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен, защото се преместихте в {movedToAccount}.", "mute_modal.duration": "Времетраене", "mute_modal.hide_notifications": "Скривате ли известията от този потребител?", "mute_modal.indefinite": "Неопределено", - "navigation_bar.about": "About", + "navigation_bar.about": "За тази инстанция", "navigation_bar.blocks": "Блокирани потребители", "navigation_bar.bookmarks": "Отметки", "navigation_bar.community_timeline": "Локална емисия", @@ -388,7 +388,7 @@ "navigation_bar.public_timeline": "Публичен канал", "navigation_bar.search": "Търсене", "navigation_bar.security": "Сигурност", - "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", + "not_signed_in_indicator.not_signed_in": "Трябва да се регистрирате за достъп до този ресурс.", "notification.admin.report": "{name} докладва {target}", "notification.admin.sign_up": "{name} се регистрира", "notification.favourite": "{name} направи любима ваша публикация", @@ -456,17 +456,17 @@ "privacy.public.short": "Публично", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Скрито", - "privacy_policy.last_updated": "Last updated {date}", + "privacy_policy.last_updated": "Последно осъвременяване на {date}", "privacy_policy.title": "Политика за поверителност", "refresh": "Опресняване", "regeneration_indicator.label": "Зареждане…", "regeneration_indicator.sublabel": "Вашата начална емисия се подготвя!", "relative_time.days": "{number}д.", - "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", - "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", + "relative_time.full.days": "преди {number, plural, one {# ден} other {# дни}}", + "relative_time.full.hours": "преди {number, plural, one {# час} other {# часа}}", "relative_time.full.just_now": "току-що", - "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", - "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", + "relative_time.full.minutes": "преди {number, plural, one {# минута} other {# минути}}", + "relative_time.full.seconds": "преди {number, plural, one {# секунда} other {# секунди}}", "relative_time.hours": "{number}ч.", "relative_time.just_now": "сега", "relative_time.minutes": "{number}м.", @@ -478,45 +478,45 @@ "report.categories.other": "Друго", "report.categories.spam": "Спам", "report.categories.violation": "Съдържание, нарушаващо едно или повече правила на сървъра", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", + "report.category.subtitle": "Изберете най-доброто съвпадение", + "report.category.title": "Разкажете ни какво се случва с това: {type}", "report.category.title_account": "профил", "report.category.title_status": "публикация", "report.close": "Готово", - "report.comment.title": "Is there anything else you think we should know?", + "report.comment.title": "Има ли нещо друго, което смятате, че трябва да знаем?", "report.forward": "Препращане до {target}", "report.forward_hint": "Акаунтът е от друг сървър. Ще изпратите ли анонимно копие на доклада и там?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Заглушаване", + "report.mute_explanation": "Няма да виждате публикациите на това лице. То още може да ви следва и да вижда публикациите ви и няма да знае, че е заглушено.", + "report.next": "Напред", "report.placeholder": "Допълнителни коментари", "report.reasons.dislike": "Не ми харесва", "report.reasons.dislike_description": "Не е нещо, които искам да виждам", "report.reasons.other": "Нещо друго е", - "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.other_description": "Проблемът не попада в нито една от другите категории", "report.reasons.spam": "Спам е", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", + "report.reasons.spam_description": "Зловредни връзки, фалшиви взаимодействия, или повтарящи се отговори", "report.reasons.violation": "Нарушава правилата на сървъра", - "report.reasons.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", + "report.reasons.violation_description": "Знаете, че нарушава особени правила", + "report.rules.subtitle": "Изберете всичко, което да се прилага", "report.rules.title": "Кои правила са нарушени?", - "report.statuses.subtitle": "Select all that apply", - "report.statuses.title": "Are there any posts that back up this report?", + "report.statuses.subtitle": "Изберете всичко, което да се прилага", + "report.statuses.title": "Има ли някакви публикации, подкрепящи този доклад?", "report.submit": "Подаване", "report.target": "Докладване на {target}", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", + "report.thanks.take_action": "Ето възможностите ви за управление какво виждате в Mastodon:", + "report.thanks.take_action_actionable": "Докато преглеждаме това, може да предприемете действие срещу @{name}:", "report.thanks.title": "Не искате ли да виждате това?", "report.thanks.title_actionable": "Благодарности за докладването, ще го прегледаме.", "report.unfollow": "Стоп на следването на @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", - "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached", - "report_notification.categories.other": "Other", - "report_notification.categories.spam": "Spam", - "report_notification.categories.violation": "Rule violation", - "report_notification.open": "Open report", + "report.unfollow_explanation": "Последвали сте този акаунт. За да не виждате повече публикациите му в началния си инфоканал, то спрете да го следвате.", + "report_notification.attached_statuses": "прикачено {count, plural, one {{count} публикация} other {{count} публикации}}", + "report_notification.categories.other": "Друго", + "report_notification.categories.spam": "Спам", + "report_notification.categories.violation": "Нарушение на правилото", + "report_notification.open": "Отваряне на доклада", "search.placeholder": "Търсене", - "search.search_or_paste": "Search or paste URL", + "search.search_or_paste": "Търсене или поставяне на URL адрес", "search_popout.search_format": "Формат за разширено търсене", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.hashtag": "хаштаг", @@ -524,22 +524,22 @@ "search_popout.tips.text": "Обикновеният текст връща съответстващи показвани имена, потребителски имена и хаштагове", "search_popout.tips.user": "потребител", "search_results.accounts": "Хора", - "search_results.all": "All", + "search_results.all": "Всичко", "search_results.hashtags": "Хаштагове", "search_results.nothing_found": "Не може да се намери каквото и да било за тези термини при търсене", "search_results.statuses": "Публикации", "search_results.statuses_fts_disabled": "Търсенето на публикации по тяхното съдържание не е активирано за този Mastodon сървър.", - "search_results.title": "Search for {q}", + "search_results.title": "Търсене за {q}", "search_results.total": "{count, number} {count, plural, one {резултат} other {резултата}}", - "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", - "server_banner.active_users": "active users", - "server_banner.administered_by": "Administered by:", - "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", - "server_banner.learn_more": "Learn more", - "server_banner.server_stats": "Server stats:", - "sign_in_banner.create_account": "Create account", - "sign_in_banner.sign_in": "Sign in", - "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", + "server_banner.about_active_users": "Ползващите сървъра през последните 30 дни (дейните месечно потребители)", + "server_banner.active_users": "дейни потребители", + "server_banner.administered_by": "Администрира се от:", + "server_banner.introduction": "{domain} е част от децентрализираната социална мрежа, поддържана от {mastodon}.", + "server_banner.learn_more": "Научете повече", + "server_banner.server_stats": "Статистика на сървъра:", + "sign_in_banner.create_account": "Създаване на акаунт", + "sign_in_banner.sign_in": "Вход", + "sign_in_banner.text": "Влезте, за да последвате профили или хаштагове, любимо, споделяне и отговаряне на публикации или взаимодействие от акаунта ви на друг сървър.", "status.admin_account": "Отваряне на интерфейс за модериране за @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "Блокиране на @{name}", @@ -576,7 +576,7 @@ "status.reblogs.empty": "Все още никой не е споделил тази публикация. Когато някой го направи, ще се покаже тук.", "status.redraft": "Изтриване и преработване", "status.remove_bookmark": "Премахване на отметката", - "status.replied_to": "Replied to {name}", + "status.replied_to": "Отговори на {name}", "status.reply": "Отговор", "status.replyAll": "Отговор на тема", "status.report": "Докладване на @{name}", @@ -587,15 +587,15 @@ "status.show_less_all": "Покажи по-малко за всички", "status.show_more": "Показване на повече", "status.show_more_all": "Показване на повече за всички", - "status.show_original": "Show original", - "status.translate": "Translate", - "status.translated_from_with": "Translated from {lang} using {provider}", + "status.show_original": "Показване на първообраза", + "status.translate": "Превод", + "status.translated_from_with": "Преведено от {lang}, използвайки {provider}", "status.uncached_media_warning": "Не е налично", "status.unmute_conversation": "Раззаглушаване на разговор", "status.unpin": "Разкачане от профила", "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", "subscribed_languages.save": "Запазване на промените", - "subscribed_languages.target": "Change subscribed languages for {target}", + "subscribed_languages.target": "Смяна на езика за {target}", "suggestions.dismiss": "Отхвърляне на предложение", "suggestions.header": "Може да се интересувате от…", "tabs_bar.federated_timeline": "Обединен", @@ -611,7 +611,7 @@ "timeline_hint.resources.followers": "Последователи", "timeline_hint.resources.follows": "Последвани", "timeline_hint.resources.statuses": "По-стари публикации", - "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", + "trends.counter_by_accounts": "{count, plural, one {{counter} човек} other {{counter} души}} {days, plural, one {за последния {days} ден} other {за последните {days} дни}}", "trends.trending_now": "Налагащи се сега", "ui.beforeunload": "Черновата ви ще се загуби, ако излезете от Mastodon.", "units.short.billion": "{count}млрд", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index 5521189248c..c420bb929e6 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -28,8 +28,8 @@ "account.edit_profile": "Kemmañ ar profil", "account.enable_notifications": "Ma c'hemenn pa vez embannet traoù gant @{name}", "account.endorse": "Lakaat war-wel war ar profil", - "account.featured_tags.last_status_at": "Kemennad diwezhañ : {date}", - "account.featured_tags.last_status_never": "Kemennad ebet", + "account.featured_tags.last_status_at": "Kannad diwezhañ : {date}", + "account.featured_tags.last_status_never": "Kannad ebet", "account.featured_tags.title": "{name}'s featured hashtags", "account.follow": "Heuliañ", "account.followers": "Tud koumanantet", @@ -57,7 +57,7 @@ "account.requested": "O c'hortoz an asant. Klikit evit nullañ ar goulenn heuliañ", "account.share": "Skignañ profil @{name}", "account.show_reblogs": "Diskouez skignadennoù @{name}", - "account.statuses_counter": "{count, plural, one {{counter} C'hemennad} two {{counter} Gemennad} other {{counter} a Gemennad}}", + "account.statuses_counter": "{count, plural, one {{counter} C'hannad} two {{counter} Gannad} other {{counter} a Gannadoù}}", "account.unblock": "Diverzañ @{name}", "account.unblock_domain": "Diverzañ an domani {domain}", "account.unblock_short": "Distankañ", @@ -102,7 +102,7 @@ "column.blocks": "Implijer·ezed·ien berzet", "column.bookmarks": "Sinedoù", "column.community": "Red-amzer lec'hel", - "column.direct": "Direct messages", + "column.direct": "Kemennad eeun", "column.directory": "Mont a-dreuz ar profiloù", "column.domain_blocks": "Domani berzet", "column.favourites": "Muiañ-karet", @@ -111,7 +111,7 @@ "column.lists": "Listennoù", "column.mutes": "Implijer·ion·ezed kuzhet", "column.notifications": "Kemennoù", - "column.pins": "Kemennadoù spilhennet", + "column.pins": "Kannadoù spilhennet", "column.public": "Red-amzer kevreet", "column_back_button.label": "Distro", "column_header.hide_settings": "Kuzhat an arventennoù", @@ -127,9 +127,9 @@ "compose.language.change": "Cheñch yezh", "compose.language.search": "Search languages...", "compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h", - "compose_form.encryption_warning": "Kemennadoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.", - "compose_form.hashtag_warning": "Ne vo ket listennet ar c'hemennad-mañ dindan gerioù-klik ebet dre m'eo anlistennet. N'eus nemet ar c'hemennadoù foran a c'hall bezañ klasket dre c'her-klik.", - "compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal ho heuliañ evit gwelet ho kemennadoù prevez.", + "compose_form.encryption_warning": "Kannadoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.", + "compose_form.hashtag_warning": "Ne vo ket listennet ar c'hannad-mañ dindan gerioù-klik ebet dre m'eo anlistennet. N'eus nemet ar c'hannadoù foran a c'hall bezañ klasket dre c'her-klik.", + "compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal ho heuliañ evit gwelet ho kannadoù prevez.", "compose_form.lock_disclaimer.lock": "prennet", "compose_form.placeholder": "Petra emaoc'h o soñjal e-barzh ?", "compose_form.poll.add_option": "Ouzhpenniñ un dibab", @@ -154,7 +154,7 @@ "confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.message": "Ha sur oc'h e fell deoc'h nullañ ho reked evit heuliañ {name} ?", "confirmations.delete.confirm": "Dilemel", - "confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hemennad-mañ ?", + "confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hannad-mañ ?", "confirmations.delete_list.confirm": "Dilemel", "confirmations.delete_list.message": "Ha sur eo hoc'h eus c'hoant da zilemel ar roll-mañ da vat ?", "confirmations.discard_edit_media.confirm": "Nac'hañ", @@ -164,10 +164,10 @@ "confirmations.logout.confirm": "Digevreañ", "confirmations.logout.message": "Ha sur oc'h e fell deoc'h digevreañ ?", "confirmations.mute.confirm": "Kuzhat", - "confirmations.mute.explanation": "Kement-se a guzho ar c'hemennadoù skrivet gantañ·i hag ar re a veneg anezhañ·i, met ne viro ket outañ·i a welet ho kemennadoù nag a heuliañ ac'hanoc'h.", + "confirmations.mute.explanation": "Kement-se a guzho ar c'hannadoù skrivet gantañ·i hag ar re a veneg anezhañ·i, met ne viro ket outañ·i a welet ho kannadoù nag a heuliañ ac'hanoc'h.", "confirmations.mute.message": "Ha sur oc'h e fell deoc'h kuzhaat {name} ?", "confirmations.redraft.confirm": "Diverkañ ha skrivañ en-dro", - "confirmations.redraft.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hemennad-mañ hag e adskrivañ ? Kollet e vo ar merkoù « muiañ-karet » hag ar skignadennoù, hag emzivat e vo ar respontoù d'ar c'hemennad orin.", + "confirmations.redraft.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hannad-mañ hag e adskrivañ ? Kollet e vo ar merkoù « muiañ-karet » hag ar skignadennoù, hag emzivat e vo ar respontoù d'ar c'hannad orin.", "confirmations.reply.confirm": "Respont", "confirmations.reply.message": "Respont bremañ a zilamo ar gemennadenn emaoc'h o skrivañ. Sur e oc'h e fell deoc'h kenderc'hel ganti?", "confirmations.unfollow.confirm": "Diheuliañ", @@ -184,13 +184,13 @@ "directory.recently_active": "Oberiant nevez zo", "disabled_account_banner.account_settings": "Account settings", "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "Setu kemennadoù foran nevesañ an dud a zo herberc’hiet o c'hontoù gant {domain}.", + "dismissable_banner.community_timeline": "Setu kannadoù foran nevesañ an dud a zo herberc’hiet o c'hontoù gant {domain}.", "dismissable_banner.dismiss": "Dismiss", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", - "embed.instructions": "Enframmit ar c'hemennad-mañ en ho lec'hienn en ur eilañ ar c'hod amañ-dindan.", + "embed.instructions": "Enframmit ar c'hannad-mañ en ho lec'hienn en ur eilañ ar c'hod amañ-dindan.", "embed.preview": "Setu penaos e teuio war wel :", "emoji_button.activity": "Obererezh", "emoji_button.clear": "Diverkañ", @@ -208,22 +208,22 @@ "emoji_button.symbols": "Arouezioù", "emoji_button.travel": "Lec'hioù ha Beajoù", "empty_column.account_suspended": "Kont ehanet", - "empty_column.account_timeline": "Kemennad ebet amañ !", + "empty_column.account_timeline": "Kannad ebet amañ !", "empty_column.account_unavailable": "Profil dihegerz", "empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.", - "empty_column.bookmarked_statuses": "N'ho peus kemennad ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.", + "empty_column.bookmarked_statuses": "N'ho peus kannad ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.", "empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !", "empty_column.direct": "N'ho peus kemennad prevez ebet c'hoazh. Pa vo resevet pe kaset unan ganeoc'h e teuio war wel amañ.", "empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", - "empty_column.favourited_statuses": "N'ho peus kemennad muiañ-karet ebet c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.", - "empty_column.favourites": "Den ebet n'eus lakaet ar c'hemennad-mañ en e reoù muiañ-karet c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.", + "empty_column.favourited_statuses": "N'ho peus kannad muiañ-karet ebet c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.", + "empty_column.favourites": "Den ebet n'eus ouzhpennet ar c'hannad-mañ en e reoù muiañ-karet c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.", "empty_column.follow_recommendations": "Seblant a ra ne vez ket genelet damvenegoù evidoc'h. Gallout a rit implijout un enklask evit klask tud hag a vefe anavezet ganeoc'h pe ergerzhout gerioù-klik diouzh ar c'hiz.", "empty_column.follow_requests": "N'ho peus reked heuliañ ebet c'hoazh. Pa vo resevet unan e teuio war wel amañ.", "empty_column.hashtag": "N'eus netra er ger-klik-mañ c'hoazh.", "empty_column.home": "Goullo eo ho red-amzer degemer! Kit da weladenniñ {public} pe implijit ar c'hlask evit kregiñ ganti ha kejañ gant implijer·ien·ezed all.", "empty_column.home.suggestions": "Gwellout damvenegoù", - "empty_column.list": "Goullo eo ar roll-mañ evit c'hoazh. Pa vo embannet kemennadoù nevez gant e izili e teuint war wel amañ.", + "empty_column.list": "Goullo eo ar roll-mañ evit c'hoazh. Pa vo embannet kannadoù nevez gant e izili e teuint war wel amañ.", "empty_column.lists": "N'ho peus roll ebet c'hoazh. Pa vo krouet unan ganeoc'h e vo diskouezet amañ.", "empty_column.mutes": "N'ho peus kuzhet implijer ebet c'hoazh.", "empty_column.notifications": "N'ho peus kemenn ebet c'hoazh. Grit gant implijer·ezed·ien all evit loc'hañ ar gomz.", @@ -238,7 +238,7 @@ "explore.suggested_follows": "Evidoc'h", "explore.title": "Ergerzhit", "explore.trending_links": "Keleier", - "explore.trending_statuses": "Kemennadoù", + "explore.trending_statuses": "Kannadoù", "explore.trending_tags": "Gerioù-klik", "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_title": "Context mismatch!", @@ -247,18 +247,18 @@ "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure_title": "Filter settings", "filter_modal.added.settings_link": "settings page", - "filter_modal.added.short_explanation": "Ar c'hemennad-mañ zo bet ouzhpennet d'ar rummad sil-mañ : {title}.", + "filter_modal.added.short_explanation": "Ar c'hannad-mañ zo bet ouzhpennet d'ar rummad sil-mañ : {title}.", "filter_modal.added.title": "Filter added!", "filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.expired": "expired", "filter_modal.select_filter.prompt_new": "New category: {name}", "filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", - "filter_modal.select_filter.title": "Silañ ar c'hemennad-mañ", - "filter_modal.title.status": "Silañ ur c'hemennad", + "filter_modal.select_filter.title": "Silañ ar c'hannad-mañ", + "filter_modal.title.status": "Silañ ur c'hannad", "follow_recommendations.done": "Graet", - "follow_recommendations.heading": "Heuilhit tud a blijfe deoc'h lenn o c'hemennadoù ! Setu un nebeud erbedadennoù.", - "follow_recommendations.lead": "Kemennadoù gant tud a vez heuliet ganeoc'h a zeuio war wel en urzh kronologel war ho red degemer. Arabat kaout aon ober fazioù, diheuliañ tud a c'hellit ober aes ha forzh pegoulz !", + "follow_recommendations.heading": "Heuilhit tud a blijfe deoc'h lenn o c'hannadoù ! Setu un nebeud erbedadennoù.", + "follow_recommendations.lead": "Kannadoù gant tud a vez heuliet ganeoc'h a zeuio war wel en urzh kronologel war ho red degemer. Arabat kaout aon ober fazioù, diheuliañ tud a c'hellit ober aes ha forzh pegoulz !", "follow_request.authorize": "Aotren", "follow_request.reject": "Nac'hañ", "follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.", @@ -287,31 +287,31 @@ "home.column_settings.show_replies": "Diskouez ar respontoù", "home.hide_announcements": "Kuzhat ar c'hemennoù", "home.show_announcements": "Diskouez ar c'hemennoù", - "interaction_modal.description.favourite": "Gant ur gont Mastodon e c'hellit ouzhpennañ ar c'hemennad-mañ d'ho re vuiañ-karet evit lakaat an den en deus eñ skrivet da c'houzout e plij deoc'h hag e enrollañ evit diwezhatoc'h.", - "interaction_modal.description.follow": "Gant ur gont Mastodon e c'hellit heuliañ {name} evit resev h·e gemennadoù war ho red degemer.", - "interaction_modal.description.reblog": "Gant ur gont Mastodon e c'hellit skignañ ar c'hemennad-mañ evit rannañ anezhañ gant ho heulierien·ezed.", - "interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'ar c'hemennad-mañ.", + "interaction_modal.description.favourite": "Gant ur gont Mastodon e c'hellit ouzhpennañ ar c'hannad-mañ d'ho re vuiañ-karet evit lakaat an den en deus eñ skrivet da c'houzout e plij deoc'h hag en enrollañ evit diwezhatoc'h.", + "interaction_modal.description.follow": "Gant ur gont Mastodon e c'hellit heuliañ {name} evit resev h·e c'h·gannadoù war ho red degemer.", + "interaction_modal.description.reblog": "Gant ur gont Mastodon e c'hellit skignañ ar c'hannad-mañ evit rannañ anezhañ gant ho heulierien·ezed.", + "interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'ar c'hannad-mañ.", "interaction_modal.on_another_server": "War ur servijer all", "interaction_modal.on_this_server": "War ar servijer-mañ", "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", - "interaction_modal.title.favourite": "Ouzhpennañ kemennad {name} d'ar re vuiañ-karet", + "interaction_modal.title.favourite": "Ouzhpennañ kannad {name} d'ar re vuiañ-karet", "interaction_modal.title.follow": "Heuliañ {name}", - "interaction_modal.title.reblog": "Skignañ kemennad {name}", - "interaction_modal.title.reply": "Respont da gemennad {name}", + "interaction_modal.title.reblog": "Skignañ kannad {name}", + "interaction_modal.title.reply": "Respont da gannad {name}", "intervals.full.days": "{number, plural, one {# devezh} other{# a zevezhioù}}", "intervals.full.hours": "{number, plural, one {# eurvezh} other{# eurvezh}}", "intervals.full.minutes": "{number, plural, one {# munut} other{# a vunutoù}}", "keyboard_shortcuts.back": "Distreiñ", "keyboard_shortcuts.blocked": "Digeriñ roll an implijer.ezed.rien stanket", - "keyboard_shortcuts.boost": "Skignañ ar c'hemennad", + "keyboard_shortcuts.boost": "Skignañ ar c'hannad", "keyboard_shortcuts.column": "Fokus ar bann", "keyboard_shortcuts.compose": "Fokus an takad testenn", "keyboard_shortcuts.description": "Deskrivadur", "keyboard_shortcuts.direct": "evit digeriñ bann ar c'hemennadoù eeun", "keyboard_shortcuts.down": "Diskennañ er roll", - "keyboard_shortcuts.enter": "Digeriñ ar c'hemennad", - "keyboard_shortcuts.favourite": "Ouzhpennañ ar c'hemennad d'ar re vuiañ-karet", + "keyboard_shortcuts.enter": "Digeriñ ar c'hannad", + "keyboard_shortcuts.favourite": "Ouzhpennañ ar c'hannad d'ar re vuiañ-karet", "keyboard_shortcuts.favourites": "Digeriñ roll an toudoù muiañ-karet", "keyboard_shortcuts.federated": "Digeriñ ar red-amzer kevreet", "keyboard_shortcuts.heading": "Berradennoù klavier", @@ -324,16 +324,16 @@ "keyboard_shortcuts.my_profile": "Digeriñ ho profil", "keyboard_shortcuts.notifications": "Digeriñ bann kemennoù", "keyboard_shortcuts.open_media": "Digeriñ ar media", - "keyboard_shortcuts.pinned": "Digeriñ roll ar c'hemennadoù spilhennet", + "keyboard_shortcuts.pinned": "Digeriñ roll ar c'hannadoù spilhennet", "keyboard_shortcuts.profile": "Digeriñ profil an aozer.ez", - "keyboard_shortcuts.reply": "Respont d'ar c'hemennad", + "keyboard_shortcuts.reply": "Respont d'ar c'hannad", "keyboard_shortcuts.requests": "Digeriñ roll goulennoù heuliañ", "keyboard_shortcuts.search": "Fokus barenn klask", "keyboard_shortcuts.spoilers": "da guzhat/ziguzhat tachenn CW", "keyboard_shortcuts.start": "Digeriñ bann \"Kregiñ\"", "keyboard_shortcuts.toggle_hidden": "da guzhat/ziguzhat an desten a-dreñv CW", "keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media", - "keyboard_shortcuts.toot": "Kregiñ gant ur c'hemennad nevez", + "keyboard_shortcuts.toot": "Kregiñ gant ur c'hannad nevez", "keyboard_shortcuts.unfocus": "Difokus an dachenn testenn/klask", "keyboard_shortcuts.up": "Pignat er roll", "lightbox.close": "Serriñ", @@ -369,7 +369,7 @@ "navigation_bar.blocks": "Implijer·ezed·ien berzet", "navigation_bar.bookmarks": "Sinedoù", "navigation_bar.community_timeline": "Red-amzer lec'hel", - "navigation_bar.compose": "Skrivañ ur c'hemennad nevez", + "navigation_bar.compose": "Skrivañ ur c'hannad nevez", "navigation_bar.direct": "Kemennadoù prevez", "navigation_bar.discover": "Dizoleiñ", "navigation_bar.domain_blocks": "Domanioù kuzhet", @@ -383,7 +383,7 @@ "navigation_bar.logout": "Digennaskañ", "navigation_bar.mutes": "Implijer·ion·ezed kuzhet", "navigation_bar.personal": "Personel", - "navigation_bar.pins": "Kemennadoù spilhennet", + "navigation_bar.pins": "Kannadoù spilhennet", "navigation_bar.preferences": "Gwellvezioù", "navigation_bar.public_timeline": "Red-amzer kevreet", "navigation_bar.search": "Klask", @@ -391,15 +391,15 @@ "not_signed_in_indicator.not_signed_in": "Ret eo deoc'h kevreañ evit tizhout an danvez-se.", "notification.admin.report": "Disklêriet eo bet {target} gant {name}", "notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv", - "notification.favourite": "{name} en·he deus ouzhpennet ho kemennad d'h·e re vuiañ-karet", + "notification.favourite": "{name} en·he deus ouzhpennet ho kannad d'h·e re vuiañ-karet", "notification.follow": "heuliañ a ra {name} ac'hanoc'h", "notification.follow_request": "{name} en/he deus goulennet da heuliañ ac'hanoc'h", "notification.mention": "{name} en/he deus meneget ac'hanoc'h", "notification.own_poll": "Echu eo ho sontadeg", "notification.poll": "Ur sontadeg ho deus mouezhet warnañ a zo echuet", - "notification.reblog": "{name} en·he deus skignet ho kemennad", + "notification.reblog": "{name} en·he deus skignet ho kannad", "notification.status": "{name} en·he deus embannet", - "notification.update": "{name} en·he deus kemmet ur c'hemennad", + "notification.update": "{name} en·he deus kemmet ur c'hannad", "notifications.clear": "Skarzhañ ar c'hemennoù", "notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?", "notifications.column_settings.admin.report": "Disklêriadurioù nevez :", @@ -417,7 +417,7 @@ "notifications.column_settings.reblog": "Skignadennoù:", "notifications.column_settings.show": "Diskouez er bann", "notifications.column_settings.sound": "Seniñ", - "notifications.column_settings.status": "Kemennadoù nevez :", + "notifications.column_settings.status": "Kannadoù nevez :", "notifications.column_settings.unread_notifications.category": "Kemennoù n'int ket lennet", "notifications.column_settings.unread_notifications.highlight": "Usskediñ kemennoù nevez", "notifications.column_settings.update": "Kemmoù :", @@ -447,7 +447,7 @@ "poll.votes": "{votes, plural,one {#votadenn} other {# votadenn}}", "poll_button.add_poll": "Ouzhpennañ ur sontadeg", "poll_button.remove_poll": "Dilemel ar sontadeg", - "privacy.change": "Cheñch prevezded ar c'hemennad", + "privacy.change": "Cheñch prevezded ar c'hannad", "privacy.direct.long": "Embann evit an implijer·ezed·ien meneget hepken", "privacy.direct.short": "Tud meneget hepken", "privacy.private.long": "Embann evit ar re a heuilh ac'hanon hepken", @@ -474,20 +474,20 @@ "relative_time.today": "hiziv", "reply_indicator.cancel": "Nullañ", "report.block": "Stankañ", - "report.block_explanation": "Ne vo ket gwelet h·e gemennadoù ken. Ne welo ket ho kemennadoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.", + "report.block_explanation": "Ne vo ket gwelet kannadoù ar gont-se ken. Ne welo ket ho kemennadoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.", "report.categories.other": "All", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Choazit ar pezh a glot ar gwellañ", "report.category.title": "Lârit deomp petra c'hoarvez gant {type}", "report.category.title_account": "profil", - "report.category.title_status": "ar c'hemennad-mañ", + "report.category.title_status": "ar c'hannad-mañ", "report.close": "Graet", "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Treuzkas da: {target}", "report.forward_hint": "War ur servijer all emañ ar c'hont-se. Kas dezhañ un adskrid disanv eus an danevell ivez?", "report.mute": "Kuzhat", - "report.mute_explanation": "Ne vo ket gwelet h·e gemennadoù ken. Gwelet ho kemennadoù ha ho heuliañ a c'hello ha ne ouezo ket eo bet kuzhet ganeoc'h.", + "report.mute_explanation": "Ne vo ket gwelet kannadoù ar gont-se ken. Gwelet ho kemennadoù ha ho heuliañ a c'hello ha ne ouezo ket eo bet kuzhet ganeoc'h.", "report.next": "War-raok", "report.placeholder": "Askelennoù ouzhpenn", "report.reasons.dislike": "Ne blij ket din", @@ -520,15 +520,15 @@ "search_popout.search_format": "Framm klask araokaet", "search_popout.tips.full_text": "Testenn simpl a adkas toudoù skrivet ganeoc'h, merket ganeoc'h evel miuañ-karet, toudoù skignet, pe e-lec'h oc'h bet meneget, met ivez anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot.", "search_popout.tips.hashtag": "ger-klik", - "search_popout.tips.status": "toud", + "search_popout.tips.status": "kannad", "search_popout.tips.text": "Testenn simpl a adkas anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot", "search_popout.tips.user": "implijer·ez", "search_results.accounts": "Tud", "search_results.all": "All", "search_results.hashtags": "Gerioù-klik", "search_results.nothing_found": "Could not find anything for these search terms", - "search_results.statuses": "a doudoù", - "search_results.statuses_fts_disabled": "Klask toudoù dre oc'h endalc'h n'eo ket aotreet war ar servijer-mañ.", + "search_results.statuses": "Kannadoù", + "search_results.statuses_fts_disabled": "Klask kannadoù dre oc'h endalc'h n'eo ket aotreet war ar servijer-mañ.", "search_results.title": "Search for {q}", "search_results.total": "{count, number} {count, plural, one {disoc'h} other {a zisoc'h}}", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", @@ -545,8 +545,8 @@ "status.block": "Berzañ @{name}", "status.bookmark": "Ouzhpennañ d'ar sinedoù", "status.cancel_reblog_private": "Nac'hañ ar skignadenn", - "status.cannot_reblog": "An toud-se ne c'hall ket bezañ skignet", - "status.copy": "Eilañ liamm an toud", + "status.cannot_reblog": "Ar c'hannad-se na c'hall ket bezañ skignet", + "status.copy": "Eilañ liamm ar c'hannad", "status.delete": "Dilemel", "status.detailed_status": "Gwel kaozeadenn munudek", "status.direct": "Kas ur c'hemennad prevez da @{name}", @@ -555,7 +555,7 @@ "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.embed": "Enframmañ", "status.favourite": "Muiañ-karet", - "status.filter": "Filter this post", + "status.filter": "Silañ ar c'hannad-mañ", "status.filtered": "Silet", "status.hide": "Hide toot", "status.history.created": "Krouet gant {name} {date}", @@ -566,14 +566,14 @@ "status.more": "Muioc'h", "status.mute": "Kuzhat @{name}", "status.mute_conversation": "Kuzhat ar gaozeadenn", - "status.open": "Kreskaat an toud-mañ", + "status.open": "Digeriñ ar c'hannad-mañ", "status.pin": "Spilhennañ d'ar profil", - "status.pinned": "Toud spilhennet", + "status.pinned": "Kannad spilhennet", "status.read_more": "Lenn muioc'h", "status.reblog": "Skignañ", "status.reblog_private": "Skignañ gant ar weledenn gentañ", "status.reblogged_by": "{name} en/he deus skignet", - "status.reblogs.empty": "Den ebet n'eus skignet an toud-mañ c'hoazh. Pa vo graet gant unan bennak e vo diskouezet amañ.", + "status.reblogs.empty": "Den ebet n'eus skignet ar c'hannad-mañ c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.", "status.redraft": "Diverkañ ha skrivañ en-dro", "status.remove_bookmark": "Dilemel ar sined", "status.replied_to": "Replied to {name}", @@ -610,7 +610,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} eus servijerien all n'int ket skrammet.", "timeline_hint.resources.followers": "Heulier·ezed·ien", "timeline_hint.resources.follows": "Heuliañ", - "timeline_hint.resources.statuses": "Toudoù koshoc'h", + "timeline_hint.resources.statuses": "Kannadoù koshoc'h", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "Luskad ar mare", "ui.beforeunload": "Kollet e vo ho prell ma kuitit Mastodon.", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 4cc1dc5f7bc..3ac6a5d5f3e 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, other {{counter} Seguint}}", "account.follows.empty": "Aquest usuari encara no segueix ningú.", "account.follows_you": "Et segueix", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Anar al perfil", "account.hide_reblogs": "Amaga els impulsos de @{name}", "account.joined_short": "S'ha unit", "account.languages": "Canviar les llengües subscrits", @@ -105,7 +105,7 @@ "column.direct": "Missatges directes", "column.directory": "Navegar pels perfils", "column.domain_blocks": "Dominis bloquejats", - "column.favourites": "Favorits", + "column.favourites": "Preferits", "column.follow_requests": "Peticions per a seguir-te", "column.home": "Inici", "column.lists": "Llistes", @@ -167,7 +167,7 @@ "confirmations.mute.explanation": "Això amagarà les seves publicacions i les que els mencionen, però encara els permetrà veure les teves i seguir-te.", "confirmations.mute.message": "Segur que vols silenciar {name}?", "confirmations.redraft.confirm": "Esborra'l i reescriure-lo", - "confirmations.redraft.message": "Segur que vols esborrar aquesta publicació i tornar-la a escriure? Perdràs tots els impulsos i els favorits, i les respostes a la publicació original es quedaran orfes.", + "confirmations.redraft.message": "Segur que vols esborrar aquesta publicació i tornar-la a escriure? Perdràs tots els impulsos i els preferits, i les respostes a la publicació original es quedaran orfes.", "confirmations.reply.confirm": "Respon", "confirmations.reply.message": "Si respons ara, sobreescriuràs el missatge que estàs editant. Segur que vols continuar?", "confirmations.unfollow.confirm": "Deixa de seguir", @@ -182,14 +182,14 @@ "directory.local": "Només de {domain}", "directory.new_arrivals": "Arribades noves", "directory.recently_active": "Recentment actius", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "Aquests son els apunts més recents d'usuaris amb els seus comptes a {domain}.", + "disabled_account_banner.account_settings": "Paràmetres del compte", + "disabled_account_banner.text": "El teu compte {disabledAccount} està actualment desactivat.", + "dismissable_banner.community_timeline": "Aquestes són les publicacions més recents d'usuaris amb els seus comptes a {domain}.", "dismissable_banner.dismiss": "Ometre", "dismissable_banner.explore_links": "Aquests son els enllaços que els usuaris estan comentant ara mateix en aquest i altres servidors de la xarxa descentralitzada.", - "dismissable_banner.explore_statuses": "Aquests apunts d'aquest i altres servidors de la xarxa descentralitzada estan guanyant l'atenció ara mateix en aquest servidor.", + "dismissable_banner.explore_statuses": "Aquestes publicacions d'aquest i altres servidors de la xarxa descentralitzada estan guanyant l'atenció ara mateix en aquest servidor.", "dismissable_banner.explore_tags": "Aquestes etiquetes estan guanyant l'atenció ara mateix dels usuaris d'aquest i altres servidors de la xarxa descentralitzada.", - "dismissable_banner.public_timeline": "Aquests son els apunts més recents dels usuaris d'aquest i d'altres servidors de la xarxa descentralitzada que aquest servidor en té coneixement.", + "dismissable_banner.public_timeline": "Aquestes són les publicacions públiques més recents de persones en aquest i altres servidors de la xarxa descentralitzada que aquest servidor coneix.", "embed.instructions": "Incrusta aquesta publicació a la teva pàgina web copiant el codi següent.", "embed.preview": "Aquí està quin aspecte tindrà:", "emoji_button.activity": "Activitat", @@ -240,22 +240,22 @@ "explore.trending_links": "Notícies", "explore.trending_statuses": "Publicacions", "explore.trending_tags": "Etiquetes", - "filter_modal.added.context_mismatch_explanation": "Aquesta categoria del filtr no aplica al context en el que has accedit a aquest apunt. Si vols que l'apunt sigui filtrat també en aquest context, hauràs d'editar el filtre.", + "filter_modal.added.context_mismatch_explanation": "Aquesta categoria de filtre no s'aplica al context en què has accedit a aquesta publicació. Si també vols que la publicació es filtri en aquest context, hauràs d'editar el filtre.", "filter_modal.added.context_mismatch_title": "El context no coincideix!", "filter_modal.added.expired_explanation": "La categoria d'aquest filtre ha caducat, necesitaràs canviar la seva data de caducitat per a aplicar-la.", "filter_modal.added.expired_title": "Filtre caducat!", "filter_modal.added.review_and_configure": "Per a revisar i configurar aquesta categoria de filtre, ves a {settings_link}.", "filter_modal.added.review_and_configure_title": "Configuració del filtre", "filter_modal.added.settings_link": "pàgina de configuració", - "filter_modal.added.short_explanation": "Aquest apunt s'ha afegit a la següent categoria de filtre: {title}.", + "filter_modal.added.short_explanation": "Aquesta publicació s'ha afegit a la següent categoria de filtre: {title}.", "filter_modal.added.title": "Filtre afegit!", "filter_modal.select_filter.context_mismatch": "no aplica en aquest context", "filter_modal.select_filter.expired": "caducat", "filter_modal.select_filter.prompt_new": "Nova categoria: {name}", "filter_modal.select_filter.search": "Cerca o crea", "filter_modal.select_filter.subtitle": "Usa una categoria existent o crea una nova", - "filter_modal.select_filter.title": "Filtra aquest apunt", - "filter_modal.title.status": "Filtre un apunt", + "filter_modal.select_filter.title": "Filtra aquesta publicació", + "filter_modal.title.status": "Filtra una publicació", "follow_recommendations.done": "Fet", "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure les seves publicacions! Aquí hi ha algunes recomanacions.", "follow_recommendations.lead": "Les publicacions del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", @@ -287,18 +287,18 @@ "home.column_settings.show_replies": "Mostra les respostes", "home.hide_announcements": "Amaga els anuncis", "home.show_announcements": "Mostra els anuncis", - "interaction_modal.description.favourite": "Amb un compte a Mastodon, pots afavorir aquest apunt per a deixar que l'autor sàpiga que t'ha agradat i desar-lo per més tard.", - "interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre els seus apunts en la teva línia de temps Inici.", - "interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquest apunt per a compartir-lo amb els teus seguidors.", - "interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquest apunt.", + "interaction_modal.description.favourite": "Amb un compte a Mastodon, pots afavorir aquesta publicació perquè l'autor sàpiga que t'ha agradat i desar-la per a més endavant.", + "interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre les seves publicacions en la teva línia de temps d'Inici.", + "interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquesta publicació per a compartir-la amb els teus seguidors.", + "interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquesta publicació.", "interaction_modal.on_another_server": "En un servidor diferent", "interaction_modal.on_this_server": "En aquest servidor", "interaction_modal.other_server_instructions": "Simplement còpia i enganxa aquesta URL en la barra de cerca de la teva aplicació preferida o en l'interfície web on tens sessió iniciada.", "interaction_modal.preamble": "Donat que Mastodon és descentralitzat, pots fer servir el teu compte existent a un altre servidor Mastodon o plataforma compatible si és que no tens compte en aquest.", - "interaction_modal.title.favourite": "Afavoreix l'apunt de {name}", + "interaction_modal.title.favourite": "Afavoreix la publicació de {name}", "interaction_modal.title.follow": "Segueix {name}", - "interaction_modal.title.reblog": "Impulsa l'apunt de {name}", - "interaction_modal.title.reply": "Respon l'apunt de {name}", + "interaction_modal.title.reblog": "Impulsa la publicació de {name}", + "interaction_modal.title.reply": "Respon a la publicació de {name}", "intervals.full.days": "{number, plural, one {# dia} other {# dies}}", "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Amaga imatge} other {Amaga imatges}}", "missing_indicator.label": "No s'ha trobat", "missing_indicator.sublabel": "Aquest recurs no s'ha trobat", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "El teu compte {disabledAccount} està actualment desactivat perquè l'has traslladat a {movedToAccount}.", "mute_modal.duration": "Durada", "mute_modal.hide_notifications": "Amagar les notificacions d'aquest usuari?", "mute_modal.indefinite": "Indefinit", @@ -391,7 +391,7 @@ "not_signed_in_indicator.not_signed_in": "Necessites registrar-te per a accedir aquest recurs.", "notification.admin.report": "{name} ha reportat {target}", "notification.admin.sign_up": "{name} s'ha registrat", - "notification.favourite": "{name} ha afavorit la teva publicació", + "notification.favourite": "a {name} li ha agradat la teva publicació", "notification.follow": "{name} et segueix", "notification.follow_request": "{name} ha sol·licitat seguir-te", "notification.mention": "{name} t'ha mencionat", @@ -539,7 +539,7 @@ "server_banner.server_stats": "Estadístiques del servidor:", "sign_in_banner.create_account": "Crea un compte", "sign_in_banner.sign_in": "Inicia sessió", - "sign_in_banner.text": "Inicia sessió per a seguir perfils o etiquetes, afavorir, compartir o respondre apunts, o interactuar des d'el teu compte amb un servidor diferent.", + "sign_in_banner.text": "Inicia la sessió per seguir perfils o etiquetes, afavorir, compartir i respondre a publicacions o interactuar des del teu compte en un servidor diferent.", "status.admin_account": "Obre l'interfície de moderació per a @{name}", "status.admin_status": "Obrir aquesta publicació a la interfície de moderació", "status.block": "Bloqueja @{name}", @@ -554,8 +554,8 @@ "status.edited": "Editat {date}", "status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}", "status.embed": "Incrusta", - "status.favourite": "Favorit", - "status.filter": "Filtre aquest apunt", + "status.favourite": "Preferir", + "status.filter": "Filtra aquesta publicació", "status.filtered": "Filtrat", "status.hide": "Amaga publicació", "status.history.created": "{name} ha creat {date}", @@ -593,7 +593,7 @@ "status.uncached_media_warning": "No està disponible", "status.unmute_conversation": "No silenciïs la conversa", "status.unpin": "No fixis al perfil", - "subscribed_languages.lead": "Només els apunts en les llengües seleccionades apareixeran en le teves línies de temps Inici i llista després del canvi. No en seleccionis cap per a rebre apunts en totes les llengües.", + "subscribed_languages.lead": "Només les publicacions en les llengües seleccionades apareixeran en les teves línies de temps \"Inici\" i \"Llistes\" després del canvi. No en seleccionis cap per a rebre publicacions en totes les llengües.", "subscribed_languages.save": "Desa els canvis", "subscribed_languages.target": "Canvia les llengües subscrites per a {target}", "suggestions.dismiss": "Ignora el suggeriment", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index bda43adc1f4..d48b3206a85 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Sledovaný} few {{counter} Sledovaní} many {{counter} Sledovaných} other {{counter} Sledovaných}}", "account.follows.empty": "Tento uživatel ještě nikoho nesleduje.", "account.follows_you": "Sleduje vás", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Přejít na profil", "account.hide_reblogs": "Skrýt boosty od @{name}", "account.joined_short": "Připojen/a", "account.languages": "Změnit odebírané jazyky", @@ -182,8 +182,8 @@ "directory.local": "Pouze z domény {domain}", "directory.new_arrivals": "Nově příchozí", "directory.recently_active": "Nedávno aktivní", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Nastavení účtu", + "disabled_account_banner.text": "Váš účet {disabledAccount} je momentálně zakázán.", "dismissable_banner.community_timeline": "Toto jsou nejnovější veřejné příspěvky od lidí, jejichž účty hostuje {domain}.", "dismissable_banner.dismiss": "Odmítnout", "dismissable_banner.explore_links": "O těchto novinkách hovoří lidé na tomto a dalších serverech decentralizované sítě.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Skrýt obrázek} few {Skrýt obrázky} many {Skrýt obrázky} other {Skrýt obrázky}}", "missing_indicator.label": "Nenalezeno", "missing_indicator.sublabel": "Tento zdroj se nepodařilo najít", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálně zakázán, protože jste se přesunul/a na {movedToAccount}.", "mute_modal.duration": "Trvání", "mute_modal.hide_notifications": "Skrýt oznámení od tohoto uživatele?", "mute_modal.indefinite": "Neomezeně", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index f93ef1c815f..fb00390e1f0 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -1,18 +1,18 @@ { - "about.blocks": "Moderated servers", - "about.contact": "Contact:", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", + "about.blocks": "Gweinyddion sy'n cael eu cymedroli", + "about.contact": "Cyswllt:", + "about.disclaimer": "Mae Mastodon yn feddalwedd rhydd, cod agored ac o dan hawlfraint Mastodon gGmbH.", "about.domain_blocks.comment": "Rheswm", "about.domain_blocks.domain": "Parth", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", - "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", + "about.domain_blocks.preamble": "Yn gyffredinol, mae Mastodon yn caniatáu i chi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.", + "about.domain_blocks.severity": "Difrifoldeb", + "about.domain_blocks.silenced.explanation": "Yn gyffredinol, fyddwch chi ddim yn gweld proffiliau a chynnwys o'r gweinydd hwn, oni bai eich bod yn chwilio'n benodol amdano neu yn ymuno drwy ei ddilyn.", "about.domain_blocks.silenced.title": "Tawelwyd", - "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", - "about.domain_blocks.suspended.title": "Suspended", - "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", - "about.rules": "Server rules", + "about.domain_blocks.suspended.explanation": "Ni fydd data o'r gweinydd hwn yn cael ei brosesu, ei storio na'i gyfnewid, gan wneud unrhyw ryngweithio neu gyfathrebu gyda defnyddwyr o'r gweinydd hwn yn amhosibl.", + "about.domain_blocks.suspended.title": "Ataliwyd", + "about.not_available": "Nid yw'r wybodaeth hwn wedi ei wneud ar gael ar y gweinydd hwn.", + "about.powered_by": "Cyfrwng cymdeithasol datganoledig wedi ei yrru gan {mastodon}", + "about.rules": "Rheolau'r gweinydd", "account.account_note_header": "Nodyn", "account.add_or_remove_from_list": "Ychwanegu neu Dileu o'r rhestrau", "account.badges.bot": "Bot", @@ -21,15 +21,15 @@ "account.block_domain": "Blocio parth {domain}", "account.blocked": "Blociwyd", "account.browse_more_on_origin_server": "Pori mwy ar y proffil gwreiddiol", - "account.cancel_follow_request": "Withdraw follow request", + "account.cancel_follow_request": "Tynnu nôl cais i ddilyn", "account.direct": "Neges breifat @{name}", "account.disable_notifications": "Stopiwch fy hysbysu pan fydd @{name} yn postio", "account.domain_blocked": "Parth wedi ei flocio", "account.edit_profile": "Golygu proffil", "account.enable_notifications": "Rhowch wybod i fi pan fydd @{name} yn postio", "account.endorse": "Arddangos ar fy mhroffil", - "account.featured_tags.last_status_at": "Last post on {date}", - "account.featured_tags.last_status_never": "No posts", + "account.featured_tags.last_status_at": "Y cofnod diwethaf ar {date}", + "account.featured_tags.last_status_never": "Dim postiadau", "account.featured_tags.title": "{name}'s featured hashtags", "account.follow": "Dilyn", "account.followers": "Dilynwyr", @@ -39,15 +39,15 @@ "account.following_counter": "{count, plural, one {{counter} yn Dilyn} other {{counter} yn Dilyn}}", "account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.", "account.follows_you": "Yn eich dilyn chi", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Mynd i'r proffil", "account.hide_reblogs": "Cuddio bwstiau o @{name}", - "account.joined_short": "Joined", - "account.languages": "Change subscribed languages", + "account.joined_short": "Ymunodd", + "account.languages": "Newid ieithoedd wedi tanysgrifio iddynt nhw", "account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}", "account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.", "account.media": "Cyfryngau", "account.mention": "Crybwyll @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "Mae {name} wedi nodi fod eu cyfrif newydd yn:", "account.mute": "Tawelu @{name}", "account.mute_notifications": "Cuddio hysbysiadau o @{name}", "account.muted": "Distewyd", @@ -78,27 +78,27 @@ "alert.unexpected.title": "Wps!", "announcement.announcement": "Cyhoeddiad", "attachments_list.unprocessed": "(heb eu prosesu)", - "audio.hide": "Hide audio", + "audio.hide": "Cuddio sain", "autosuggest_hashtag.per_week": "{count} yr wythnos", "boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa", - "bundle_column_error.copy_stacktrace": "Copy error report", - "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", + "bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall", + "bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein côd neu fater cydnawsedd porwr.", "bundle_column_error.error.title": "O na!", - "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", - "bundle_column_error.network.title": "Network error", + "bundle_column_error.network.body": "Bu gwall wrth geisio llwytho'r dudalen hon. Gall hyn fod oherwydd anhawster dros-dro gyda'ch cysylltiad gwe neu'r gweinydd hwn.", + "bundle_column_error.network.title": "Gwall rhwydwaith", "bundle_column_error.retry": "Ceisiwch eto", - "bundle_column_error.return": "Go back home", - "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", + "bundle_column_error.return": "Mynd nôl adref", + "bundle_column_error.routing.body": "Nid oedd modd canfod y dudalen honno. Ydych chi'n siŵr fod yr URL yn y bar cyfeiriad yn gywir?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Cau", "bundle_modal_error.message": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.", "bundle_modal_error.retry": "Ceiswich eto", - "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", - "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", + "closed_registrations.other_server_instructions": "Gan fod Mastodon yn ddatganoledig, gallwch greu cyfrif ar weinydd arall a dal i ryngweithio gyda hwn.", + "closed_registrations_modal.description": "Ar hyn o bryd nid yw'n bosib creu cyfrif ar {domain}, ond cadwch mewn cof nad oes raid i chi gael cyfrif yn benodol ar {domain} i ddefnyddio Mastodon.", + "closed_registrations_modal.find_another_server": "Dod o hyd i weinydd arall", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "column.about": "Ynghylch", "column.blocks": "Defnyddwyr a flociwyd", "column.bookmarks": "Tudalnodau", "column.community": "Ffrwd lleol", @@ -176,16 +176,16 @@ "conversation.mark_as_read": "Nodi fel wedi'i ddarllen", "conversation.open": "Gweld sgwrs", "conversation.with": "Gyda {names}", - "copypaste.copied": "Copied", - "copypaste.copy": "Copy", + "copypaste.copied": "Wedi ei gopïo", + "copypaste.copy": "Copïo", "directory.federated": "O'r ffedysawd cyfan", "directory.local": "O {domain} yn unig", "directory.new_arrivals": "Newydd-ddyfodiaid", "directory.recently_active": "Yn weithredol yn ddiweddar", "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", - "dismissable_banner.dismiss": "Dismiss", + "disabled_account_banner.text": "Mae eich cyfrif {disabledAccount} wedi ei analluogi ar hyn o bryd.", + "dismissable_banner.community_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl y caiff eu cyfrifon eu cynnal ar {domain}.", + "dismissable_banner.dismiss": "Diystyru", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", @@ -193,7 +193,7 @@ "embed.instructions": "Gosodwch y post hwn ar eich gwefan drwy gopïo'r côd isod.", "embed.preview": "Dyma sut olwg fydd arno:", "emoji_button.activity": "Gweithgarwch", - "emoji_button.clear": "Clir", + "emoji_button.clear": "Clirio", "emoji_button.custom": "Unigryw", "emoji_button.flags": "Baneri", "emoji_button.food": "Bwyd a Diod", @@ -251,8 +251,8 @@ "filter_modal.added.title": "Filter added!", "filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.expired": "expired", - "filter_modal.select_filter.prompt_new": "New category: {name}", - "filter_modal.select_filter.search": "Search or create", + "filter_modal.select_filter.prompt_new": "Categori newydd: {name}", + "filter_modal.select_filter.search": "Chwilio neu greu", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.title": "Filter this post", "filter_modal.title.status": "Filter a post", @@ -262,12 +262,12 @@ "follow_request.authorize": "Caniatau", "follow_request.reject": "Gwrthod", "follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, oedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.", - "footer.about": "About", - "footer.directory": "Profiles directory", + "footer.about": "Ynghylch", + "footer.directory": "Cyfeiriadur proffiliau", "footer.get_app": "Get the app", - "footer.invite": "Invite people", - "footer.keyboard_shortcuts": "Keyboard shortcuts", - "footer.privacy_policy": "Privacy policy", + "footer.invite": "Gwahodd pobl", + "footer.keyboard_shortcuts": "Bysellau brys", + "footer.privacy_policy": "Polisi preifatrwydd", "footer.source_code": "View source code", "generic.saved": "Wedi'i Gadw", "getting_started.heading": "Dechrau", @@ -291,14 +291,14 @@ "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", - "interaction_modal.on_another_server": "On a different server", - "interaction_modal.on_this_server": "On this server", + "interaction_modal.on_another_server": "Ar weinydd gwahanol", + "interaction_modal.on_this_server": "Ar y gweinydd hwn", "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", - "interaction_modal.title.favourite": "Favourite {name}'s post", - "interaction_modal.title.follow": "Follow {name}", - "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.favourite": "Hoffi post {name}", + "interaction_modal.title.follow": "Dilyn {name}", + "interaction_modal.title.reblog": "Hybu post {name}", + "interaction_modal.title.reply": "Ymateb i bost {name}", "intervals.full.days": "{number, plural, one {# dydd} two {# ddydd} other {# o ddyddiau}}", "intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}", "intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}", @@ -341,8 +341,8 @@ "lightbox.expand": "Ehangu blwch gweld delwedd", "lightbox.next": "Nesaf", "lightbox.previous": "Blaenorol", - "limited_account_hint.action": "Show profile anyway", - "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", + "limited_account_hint.action": "Dangos y proffil beth bynnag", + "limited_account_hint.title": "Mae'r proffil hwn wedi cael ei guddio gan arolygwyr {domain}.", "lists.account.add": "Ychwanegwch at restr", "lists.account.remove": "Dileu o'r rhestr", "lists.delete": "Dileu rhestr", @@ -365,7 +365,7 @@ "mute_modal.duration": "Hyd", "mute_modal.hide_notifications": "Cuddio hysbysiadau rhag y defnyddiwr hwn?", "mute_modal.indefinite": "Amhenodol", - "navigation_bar.about": "About", + "navigation_bar.about": "Ynghylch", "navigation_bar.blocks": "Defnyddwyr wedi eu blocio", "navigation_bar.bookmarks": "Tudalnodau", "navigation_bar.community_timeline": "Ffrwd leol", @@ -386,10 +386,10 @@ "navigation_bar.pins": "Postiadau wedi eu pinio", "navigation_bar.preferences": "Dewisiadau", "navigation_bar.public_timeline": "Ffrwd y ffederasiwn", - "navigation_bar.search": "Search", + "navigation_bar.search": "Chwilio", "navigation_bar.security": "Diogelwch", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", - "notification.admin.report": "{name} reported {target}", + "notification.admin.report": "Adroddodd {name} {target}", "notification.admin.sign_up": "Cofrestrodd {name}", "notification.favourite": "Hoffodd {name} eich post", "notification.follow": "Dilynodd {name} chi", @@ -456,8 +456,8 @@ "privacy.public.short": "Cyhoeddus", "privacy.unlisted.long": "Gweladwy i bawb, ond wedi optio allan o nodweddion darganfod", "privacy.unlisted.short": "Heb ei restru", - "privacy_policy.last_updated": "Last updated {date}", - "privacy_policy.title": "Privacy Policy", + "privacy_policy.last_updated": "Diweddarwyd ddiwethaf ar {date}", + "privacy_policy.title": "Polisi preifatrwydd", "refresh": "Adnewyddu", "regeneration_indicator.label": "Llwytho…", "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!", @@ -495,7 +495,7 @@ "report.reasons.other": "Mae'n rhywbeth arall", "report.reasons.other_description": "Nid yw'r mater yn ffitio i gategorïau eraill", "report.reasons.spam": "Sothach yw e", - "report.reasons.spam_description": "Cysylltiadau maleisus, ymgysylltu ffug, neu atebion ailadroddus", + "report.reasons.spam_description": "Dolenni maleisus, ymgysylltu ffug, neu ymatebion ailadroddus", "report.reasons.violation": "Mae'n torri rheolau'r gweinydd", "report.reasons.violation_description": "Rydych yn ymwybodol ei fod yn torri rheolau penodol", "report.rules.subtitle": "Dewiswch bob un sy'n berthnasol", @@ -529,16 +529,16 @@ "search_results.nothing_found": "Methu dod o hyd i unrhyw beth ar gyfer y termau chwilio hyn", "search_results.statuses": "Postiadau", "search_results.statuses_fts_disabled": "Nid yw chwilio postiadau yn ôl eu cynnwys wedi'i alluogi ar y gweinydd Mastodon hwn.", - "search_results.title": "Search for {q}", + "search_results.title": "Chwilio am {q}", "search_results.total": "{count, number} {count, plural, zero {canlyniad} one {canlyniad} two {ganlyniad} other {o ganlyniadau}}", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.active_users": "active users", - "server_banner.administered_by": "Administered by:", - "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", - "server_banner.learn_more": "Learn more", - "server_banner.server_stats": "Server stats:", - "sign_in_banner.create_account": "Create account", - "sign_in_banner.sign_in": "Sign in", + "server_banner.administered_by": "Gweinyddir gan:", + "server_banner.introduction": "Mae {domain} yn rhan o'r rhwydwaith cymdeithasol datganoledig a bwerir gan {mastodon}.", + "server_banner.learn_more": "Dysgu mwy", + "server_banner.server_stats": "Ystagedau'r gweinydd:", + "sign_in_banner.create_account": "Creu cyfrif", + "sign_in_banner.sign_in": "Mewngofnodi", "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", "status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}", "status.admin_status": "Agor y post hwn yn y rhyngwyneb goruwchwylio", @@ -582,19 +582,19 @@ "status.report": "Adrodd @{name}", "status.sensitive_warning": "Cynnwys sensitif", "status.share": "Rhannu", - "status.show_filter_reason": "Show anyway", + "status.show_filter_reason": "Dangos beth bynnag", "status.show_less": "Dangos llai", "status.show_less_all": "Dangos llai i bawb", "status.show_more": "Dangos mwy", "status.show_more_all": "Dangos mwy i bawb", - "status.show_original": "Show original", - "status.translate": "Translate", - "status.translated_from_with": "Translated from {lang} using {provider}", + "status.show_original": "Dangos y gwreiddiol", + "status.translate": "Cyfieithu", + "status.translated_from_with": "Cyfieithwyd o {lang} gan ddefnyddio {provider}", "status.uncached_media_warning": "Dim ar gael", "status.unmute_conversation": "Dad-dawelu sgwrs", "status.unpin": "Dadbinio o'r proffil", - "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", - "subscribed_languages.save": "Save changes", + "subscribed_languages.lead": "Dim ond postiadau mewn ieithoedd dethol fydd yn ymddangos yn eich ffrydiau ar ôl y newid. Dewiswch ddim byd i dderbyn postiadau ym mhob iaith.", + "subscribed_languages.save": "Cadw'r newidiadau", "subscribed_languages.target": "Change subscribed languages for {target}", "suggestions.dismiss": "Diswyddo", "suggestions.header": "Efallai y bydd gennych ddiddordeb mewn…", @@ -639,7 +639,7 @@ "upload_modal.preparing_ocr": "Paratoi OCR…", "upload_modal.preview_label": "Rhagolwg ({ratio})", "upload_progress.label": "Uwchlwytho...", - "upload_progress.processing": "Processing…", + "upload_progress.processing": "Wrthi'n prosesu…", "video.close": "Cau fideo", "video.download": "Lawrlwytho ffeil", "video.exit_fullscreen": "Gadael sgrîn llawn", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index cf6179ad149..88ece14792a 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Følges} other {{counter} Følges}}", "account.follows.empty": "Denne bruger følger ikke nogen endnu.", "account.follows_you": "Følger dig", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Gå til profil", "account.hide_reblogs": "Skjul boosts fra @{name}", "account.joined_short": "Oprettet", "account.languages": "Skift abonnementssprog", @@ -182,8 +182,8 @@ "directory.local": "Kun fra {domain}", "directory.new_arrivals": "Nye ankomster", "directory.recently_active": "Nyligt aktive", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Kontoindstillinger", + "disabled_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret.", "dismissable_banner.community_timeline": "Disse er de seneste offentlige indlæg fra personer med konti hostes af {domain}.", "dismissable_banner.dismiss": "Afvis", "dismissable_banner.explore_links": "Der tales lige nu om disse nyhedshistorier af folk på denne og andre servere i det decentraliserede netværk.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Skjul billede} other {Skjul billeder}}", "missing_indicator.label": "Ikke fundet", "missing_indicator.sublabel": "Denne ressource kunne ikke findes", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret, da du flyttede til {movedToAccount}.", "mute_modal.duration": "Varighed", "mute_modal.hide_notifications": "Skjul notifikationer fra denne bruger?", "mute_modal.indefinite": "Tidsubegrænset", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index ee5073211b9..10e33f2a938 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -39,10 +39,10 @@ "account.following_counter": "{count, plural, one {{counter} Folgt} other {{counter} Folgt}}", "account.follows.empty": "Dieses Profil folgt noch niemandem.", "account.follows_you": "Folgt dir", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Profil öffnen", "account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen", "account.joined_short": "Beigetreten", - "account.languages": "Abonnierte Sprachen ändern", + "account.languages": "Genutzte Sprachen überarbeiten", "account.link_verified_on": "Das Profil mit dieser E-Mail-Adresse wurde bereits am {date} bestätigt", "account.locked_info": "Der Privatsphärenstatus dieses Kontos wurde auf „gesperrt“ gesetzt. Die Person bestimmt manuell, wer ihm/ihr folgen darf.", "account.media": "Medien", @@ -182,8 +182,8 @@ "directory.local": "Nur von der Domain {domain}", "directory.new_arrivals": "Neue Profile", "directory.recently_active": "Kürzlich aktiv", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Kontoeinstellungen", + "disabled_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert.", "dismissable_banner.community_timeline": "Dies sind die neuesten öffentlichen Beiträge von Personen, deren Konten von {domain} gehostet werden.", "dismissable_banner.dismiss": "Ablehnen", "dismissable_banner.explore_links": "Diese Nachrichten werden gerade von Leuten auf diesem und anderen Servern des dezentralen Netzwerks besprochen.", @@ -247,17 +247,17 @@ "filter_modal.added.review_and_configure": "Um diese Filterkategorie zu überprüfen und weiter zu konfigurieren, gehe zu {settings_link}.", "filter_modal.added.review_and_configure_title": "Filtereinstellungen", "filter_modal.added.settings_link": "Einstellungsseite", - "filter_modal.added.short_explanation": "Dieser Post wurde zu folgender Filterkategorie hinzugefügt: {title}.", + "filter_modal.added.short_explanation": "Dieser Post wurde folgender Filterkategorie hinzugefügt: {title}.", "filter_modal.added.title": "Filter hinzugefügt!", "filter_modal.select_filter.context_mismatch": "gilt nicht für diesen Kontext", "filter_modal.select_filter.expired": "abgelaufen", "filter_modal.select_filter.prompt_new": "Neue Kategorie: {name}", - "filter_modal.select_filter.search": "Suchen oder Erstellen", + "filter_modal.select_filter.search": "Suchen oder erstellen", "filter_modal.select_filter.subtitle": "Eine existierende Kategorie benutzen oder eine erstellen", "filter_modal.select_filter.title": "Diesen Beitrag filtern", "filter_modal.title.status": "Einen Beitrag filtern", "follow_recommendations.done": "Fertig", - "follow_recommendations.heading": "Folge Leuten, von denen du Beiträge sehen möchtest! Hier sind einige Vorschläge.", + "follow_recommendations.heading": "Folge Leuten, deren Beiträge du sehen möchtest! Hier sind einige Vorschläge.", "follow_recommendations.lead": "Beiträge von Personen, denen du folgst, werden in chronologischer Reihenfolge auf deiner Startseite angezeigt. Hab keine Angst, Fehler zu machen, du kannst den Leuten jederzeit wieder entfolgen!", "follow_request.authorize": "Erlauben", "follow_request.reject": "Ablehnen", @@ -287,10 +287,10 @@ "home.column_settings.show_replies": "Antworten anzeigen", "home.hide_announcements": "Ankündigungen verbergen", "home.show_announcements": "Ankündigungen anzeigen", - "interaction_modal.description.favourite": "Mit einem Account auf Mastodon können Sie diesen Beitrag favorisieren, um dem Autor mitzuteilen, dass Sie den Beitrag schätzen und ihn für einen späteren Zeitpunkt speichern.", + "interaction_modal.description.favourite": "Mit einem Account auf Mastodon kannst du diesen Beitrag favorisieren, um deine Wertschätzung auszudrücken, und ihn für einen späteren Zeitpunkt speichern.", "interaction_modal.description.follow": "Mit einem Konto auf Mastodon kannst du {name} folgen, um seine Beiträge in deinem Home Feed zu erhalten.", "interaction_modal.description.reblog": "Mit einem Mastodon-Account kannst du die Reichweite dieses Beitrags erhöhen, in dem du ihn mit deinen eigenen Followern teilst.", - "interaction_modal.description.reply": "Mit einem Account auf Mastodon können Sie auf diesen Beitrag antworten.", + "interaction_modal.description.reply": "Mit einem Account auf Mastodon kannst du auf diesen Beitrag antworten.", "interaction_modal.on_another_server": "Auf einem anderen Server", "interaction_modal.on_this_server": "Auf diesem Server", "interaction_modal.other_server_instructions": "Kopiere einfach diese URL und füge sie in die Suchleiste deiner Lieblings-App oder in die Weboberfläche, in der du angemeldet bist, ein.", @@ -304,12 +304,12 @@ "intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}", "keyboard_shortcuts.back": "Zurück navigieren", "keyboard_shortcuts.blocked": "Liste blockierter Profile öffnen", - "keyboard_shortcuts.boost": "teilen", + "keyboard_shortcuts.boost": "Beitrag teilen", "keyboard_shortcuts.column": "einen Beitrag in einer der Spalten fokussieren", "keyboard_shortcuts.compose": "fokussiere das Eingabefeld", "keyboard_shortcuts.description": "Beschreibung", "keyboard_shortcuts.direct": "um die Spalte mit den Direktnachrichten zu öffnen", - "keyboard_shortcuts.down": "sich in der Liste hinunter bewegen", + "keyboard_shortcuts.down": "In der Liste nach unten bewegen", "keyboard_shortcuts.enter": "Beitrag öffnen", "keyboard_shortcuts.favourite": "favorisieren", "keyboard_shortcuts.favourites": "Favoriten-Liste öffnen", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Bild verbergen} other {Bilder verbergen}}", "missing_indicator.label": "Nicht gefunden", "missing_indicator.sublabel": "Die Ressource konnte nicht gefunden werden", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert, weil du zu {movedToAccount} umgezogen bist.", "mute_modal.duration": "Dauer", "mute_modal.hide_notifications": "Benachrichtigungen von diesem Profil verbergen?", "mute_modal.indefinite": "Unbestimmt", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index 15b506a1c94..fe88710934c 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, other {{counter} Ακολουθεί}}", "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.", "account.follows_you": "Σε ακολουθεί", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Μετάβαση στο προφίλ", "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}", "account.joined_short": "Joined", "account.languages": "Change subscribed languages", @@ -182,7 +182,7 @@ "directory.local": "Μόνο από {domain}", "directory.new_arrivals": "Νέες αφίξεις", "directory.recently_active": "Πρόσφατα ενεργοί", - "disabled_account_banner.account_settings": "Account settings", + "disabled_account_banner.account_settings": "Ρυθμίσεις λογαριασμού", "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.dismiss": "Παράβλεψη", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index 971be524b42..36af2ad49c7 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -4,14 +4,14 @@ "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.domain_blocks.comment": "Reason", "about.domain_blocks.domain": "Domain", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", + "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the Fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.title": "Suspended", "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", + "about.powered_by": "Decentralised social media powered by {mastodon}", "about.rules": "Server rules", "account.account_note_header": "Note", "account.add_or_remove_from_list": "Add or Remove from lists", @@ -111,7 +111,7 @@ "column.lists": "Lists", "column.mutes": "Muted users", "column.notifications": "Notifications", - "column.pins": "Pinned post", + "column.pins": "Pinned posts", "column.public": "Federated timeline", "column_back_button.label": "Back", "column_header.hide_settings": "Hide settings", @@ -122,16 +122,16 @@ "column_header.unpin": "Unpin", "column_subheading.settings": "Settings", "community.column_settings.local_only": "Local only", - "community.column_settings.media_only": "Media only", + "community.column_settings.media_only": "Media Only", "community.column_settings.remote_only": "Remote only", "compose.language.change": "Change language", "compose.language.search": "Search languages...", "compose_form.direct_message_warning_learn_more": "Learn more", - "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any sensitive information over Mastodon.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer.lock": "locked", - "compose_form.placeholder": "What is on your mind?", + "compose_form.placeholder": "What's on your mind?", "compose_form.poll.add_option": "Add a choice", "compose_form.poll.duration": "Poll duration", "compose_form.poll.option_placeholder": "Choice {number}", @@ -144,8 +144,8 @@ "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}", "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}", - "compose_form.spoiler.marked": "Text is hidden behind warning", - "compose_form.spoiler.unmarked": "Text is not hidden", + "compose_form.spoiler.marked": "Remove content warning", + "compose_form.spoiler.unmarked": "Add content warning", "compose_form.spoiler_placeholder": "Write your warning here", "confirmation_modal.cancel": "Cancel", "confirmations.block.block_and_report": "Block & Report", @@ -154,7 +154,7 @@ "confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.delete.confirm": "Delete", - "confirmations.delete.message": "Are you sure you want to delete this status?", + "confirmations.delete.message": "Are you sure you want to delete this post?", "confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", "confirmations.discard_edit_media.confirm": "Discard", @@ -208,7 +208,7 @@ "emoji_button.symbols": "Symbols", "emoji_button.travel": "Travel & Places", "empty_column.account_suspended": "Account suspended", - "empty_column.account_timeline": "No posts found", + "empty_column.account_timeline": "No posts here!", "empty_column.account_unavailable": "Profile unavailable", "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.", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index b1ba1d8b1ab..cec8eb73a33 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -3,13 +3,13 @@ "about.contact": "Kontakto:", "about.disclaimer": "Mastodon estas libera, malfermitkoda programaro kaj varmarko de la firmao Mastodon gGmbH.", "about.domain_blocks.comment": "Kialo", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.domain": "Domajno", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.severity": "Graveco", - "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", - "about.domain_blocks.silenced.title": "Limited", + "about.domain_blocks.silenced.explanation": "Vi ne ĝenerale vidos profilojn kaj enhavojn de ĉi tiu servilo, krom se vi eksplice trovas aŭ estas permesita de via sekvato.", + "about.domain_blocks.silenced.title": "Limigita", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", - "about.domain_blocks.suspended.title": "Suspended", + "about.domain_blocks.suspended.title": "Suspendita", "about.not_available": "This information has not been made available on this server.", "about.powered_by": "Decentralized social media powered by {mastodon}", "about.rules": "Reguloj de la servilo", @@ -28,7 +28,7 @@ "account.edit_profile": "Redakti la profilon", "account.enable_notifications": "Sciigi min, kiam @{name} mesaĝas", "account.endorse": "Rekomendi ĉe via profilo", - "account.featured_tags.last_status_at": "Last post on {date}", + "account.featured_tags.last_status_at": "Lasta afîŝo je {date}", "account.featured_tags.last_status_never": "Neniuj afiŝoj", "account.featured_tags.title": "{name}'s featured hashtags", "account.follow": "Sekvi", @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Sekvado} other {{counter} Sekvadoj}}", "account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.", "account.follows_you": "Sekvas vin", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Iri al profilo", "account.hide_reblogs": "Kaŝi la plusendojn de @{name}", "account.joined_short": "Aliĝis", "account.languages": "Change subscribed languages", @@ -81,13 +81,13 @@ "audio.hide": "Kaŝi aŭdion", "autosuggest_hashtag.per_week": "{count} semajne", "boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje", - "bundle_column_error.copy_stacktrace": "Copy error report", + "bundle_column_error.copy_stacktrace": "Kopii la raporto de error", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.title": "Ho, ne!", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", - "bundle_column_error.network.title": "Network error", + "bundle_column_error.network.title": "Eraro de reto", "bundle_column_error.retry": "Provu refoje", - "bundle_column_error.return": "Go back home", + "bundle_column_error.return": "Reveni al la hejmo", "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Fermi", @@ -95,9 +95,9 @@ "bundle_modal_error.retry": "Provu refoje", "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", + "closed_registrations_modal.find_another_server": "Trovi alian servilon", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", + "closed_registrations_modal.title": "Registri en Mastodon", "column.about": "Pri", "column.blocks": "Blokitaj uzantoj", "column.bookmarks": "Legosignoj", @@ -182,10 +182,10 @@ "directory.local": "Nur de {domain}", "directory.new_arrivals": "Novaj alvenoj", "directory.recently_active": "Lastatempe aktiva", - "disabled_account_banner.account_settings": "Account settings", + "disabled_account_banner.account_settings": "Konto-agordoj", "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", - "dismissable_banner.dismiss": "Dismiss", + "dismissable_banner.dismiss": "Eksigi", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", @@ -241,21 +241,21 @@ "explore.trending_statuses": "Afiŝoj", "explore.trending_tags": "Kradvortoj", "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", - "filter_modal.added.context_mismatch_title": "Context mismatch!", + "filter_modal.added.context_mismatch_title": "Ne kongruas la kunteksto!", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", - "filter_modal.added.expired_title": "Expired filter!", + "filter_modal.added.expired_title": "Eksvalida filtrilo!", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure_title": "Filtrilopcioj", "filter_modal.added.settings_link": "opciopaĝo", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", - "filter_modal.added.title": "Filter added!", + "filter_modal.added.title": "Filtrilo aldonita!", "filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.expired": "eksvalidiĝinta", "filter_modal.select_filter.prompt_new": "Nova klaso: {name}", "filter_modal.select_filter.search": "Serĉi aŭ krei", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", - "filter_modal.select_filter.title": "Filtri ĉi afiŝo", - "filter_modal.title.status": "Filter a post", + "filter_modal.select_filter.title": "Filtri ĉi tiun afiŝon", + "filter_modal.title.status": "Filtri mesaĝon", "follow_recommendations.done": "Farita", "follow_recommendations.heading": "Sekvi la personojn kies mesaĝojn vi volas vidi! Jen iom da sugestoj.", "follow_recommendations.lead": "La mesaĝoj de personoj kiujn vi sekvas, aperos laŭ kronologia ordo en via hejma templinio. Ne timu erari, vi povas ĉesi sekvi facile iam ajn!", @@ -263,11 +263,11 @@ "follow_request.reject": "Rifuzi", "follow_requests.unlocked_explanation": "Kvankam via konto ne estas ŝlosita, la teamo de {domain} pensas, ke vi eble volas permane kontroli la demandojn de sekvado de ĉi tiuj kontoj.", "footer.about": "Pri", - "footer.directory": "Profiles directory", + "footer.directory": "Profilujo", "footer.get_app": "Akiru la Programon", "footer.invite": "Inviti homojn", - "footer.keyboard_shortcuts": "Keyboard shortcuts", - "footer.privacy_policy": "Privacy policy", + "footer.keyboard_shortcuts": "Fulmoklavoj", + "footer.privacy_policy": "Politiko de privateco", "footer.source_code": "Montri fontkodon", "generic.saved": "Konservita", "getting_started.heading": "Por komenci", @@ -291,14 +291,14 @@ "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", - "interaction_modal.on_another_server": "On a different server", - "interaction_modal.on_this_server": "On this server", + "interaction_modal.on_another_server": "En alia servilo", + "interaction_modal.on_this_server": "En ĉi tiu servilo", "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", - "interaction_modal.title.favourite": "Favourite {name}'s post", - "interaction_modal.title.follow": "Follow {name}", - "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.favourite": "Aldoni afiŝon de {name} al la preferaĵoj", + "interaction_modal.title.follow": "Sekvi {name}", + "interaction_modal.title.reblog": "Suprenigi la afiŝon de {name}", + "interaction_modal.title.reply": "Respondi al la afiŝo de {name}", "intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}", "intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}", @@ -311,8 +311,8 @@ "keyboard_shortcuts.direct": "malfermi la kolumnon de rektaj mesaĝoj", "keyboard_shortcuts.down": "iri suben en la listo", "keyboard_shortcuts.enter": "malfermi mesaĝon", - "keyboard_shortcuts.favourite": "Aldoni la mesaĝon al preferaĵoj", - "keyboard_shortcuts.favourites": "Malfermi la liston de preferaĵoj", + "keyboard_shortcuts.favourite": "Aldoni la mesaĝon al la preferaĵoj", + "keyboard_shortcuts.favourites": "Malfermi la liston de la preferaĵoj", "keyboard_shortcuts.federated": "Malfermi la frataran templinion", "keyboard_shortcuts.heading": "Klavaraj mallongigoj", "keyboard_shortcuts.home": "Malfermi la hejman templinion", @@ -365,7 +365,7 @@ "mute_modal.duration": "Daŭro", "mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn de ĉi tiu uzanto?", "mute_modal.indefinite": "Nedifinita", - "navigation_bar.about": "About", + "navigation_bar.about": "Pri", "navigation_bar.blocks": "Blokitaj uzantoj", "navigation_bar.bookmarks": "Legosignoj", "navigation_bar.community_timeline": "Loka templinio", @@ -386,7 +386,7 @@ "navigation_bar.pins": "Alpinglitaj mesaĝoj", "navigation_bar.preferences": "Preferoj", "navigation_bar.public_timeline": "Fratara templinio", - "navigation_bar.search": "Search", + "navigation_bar.search": "Serĉi", "navigation_bar.security": "Sekureco", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.admin.report": "{name} raportis {target}", @@ -457,7 +457,7 @@ "privacy.unlisted.long": "Videbla por ĉiuj, sed ekskluzive de la funkcio de esploro", "privacy.unlisted.short": "Nelistigita", "privacy_policy.last_updated": "Last updated {date}", - "privacy_policy.title": "Privacy Policy", + "privacy_policy.title": "Politiko de privateco", "refresh": "Refreŝigu", "regeneration_indicator.label": "Ŝargado…", "regeneration_indicator.sublabel": "Via abonfluo estas preparata!", @@ -555,7 +555,7 @@ "status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}", "status.embed": "Enkorpigi", "status.favourite": "Aldoni al viaj preferaĵoj", - "status.filter": "Filtri ĉi afiŝo", + "status.filter": "Filtri ĉi tiun afiŝon", "status.filtered": "Filtrita", "status.hide": "Kaŝi la mesaĝon", "status.history.created": "{name} kreis {date}", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 1005256be37..0717d45ab6a 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, other {{counter} Siguiendo}}", "account.follows.empty": "Todavía este usuario no sigue a nadie.", "account.follows_you": "Te sigue", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Ir al perfil", "account.hide_reblogs": "Ocultar adhesiones de @{name}", "account.joined_short": "En este servidor desde", "account.languages": "Cambiar idiomas suscritos", @@ -182,8 +182,8 @@ "directory.local": "Sólo de {domain}", "directory.new_arrivals": "Recién llegados", "directory.recently_active": "Recientemente activos", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Config. de la cuenta", + "disabled_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada.", "dismissable_banner.community_timeline": "Estos son los mensajes públicos más recientes de cuentas alojadas en {domain}.", "dismissable_banner.dismiss": "Descartar", "dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada ahora mismo.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Ocultar {number, plural, one {imagen} other {imágenes}}", "missing_indicator.label": "No se encontró", "missing_indicator.sublabel": "No se encontró este recurso", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te mudaste a {movedToAccount}.", "mute_modal.duration": "Duración", "mute_modal.hide_notifications": "¿Querés ocultar las notificaciones de este usuario?", "mute_modal.indefinite": "Indefinida", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 12779161ea4..a01bf0c040e 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -47,7 +47,7 @@ "account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.", "account.media": "Multimedia", "account.mention": "Mencionar @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "{name} ha indicado que su nueva cuenta es ahora:", "account.mute": "Silenciar a @{name}", "account.mute_notifications": "Silenciar notificaciones de @{name}", "account.muted": "Silenciado", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index f9578ae9d55..133ee0792bd 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, other {{counter} Siguiendo}}", "account.follows.empty": "Este usuario todavía no sigue a nadie.", "account.follows_you": "Te sigue", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Ir al perfil", "account.hide_reblogs": "Ocultar retoots de @{name}", "account.joined_short": "Se unió", "account.languages": "Cambiar idiomas suscritos", @@ -182,8 +182,8 @@ "directory.local": "Sólo de {domain}", "directory.new_arrivals": "Recién llegados", "directory.recently_active": "Recientemente activo", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Ajustes de la cuenta", + "disabled_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada.", "dismissable_banner.community_timeline": "Estas son las publicaciones públicas más recientes de personas cuyas cuentas están alojadas en {domain}.", "dismissable_banner.dismiss": "Descartar", "dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada en este momento.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Cambiar visibilidad", "missing_indicator.label": "No encontrado", "missing_indicator.sublabel": "No se encontró este recurso", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.", "mute_modal.duration": "Duración", "mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?", "mute_modal.indefinite": "Indefinida", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index b5a05f17fa0..7a03798c3b1 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} seuraa} other {{counter} seuraa}}", "account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.", "account.follows_you": "Seuraa sinua", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Mene profiiliin", "account.hide_reblogs": "Piilota buustaukset käyttäjältä @{name}", "account.joined_short": "Liittynyt", "account.languages": "Vaihda tilattuja kieliä", @@ -47,7 +47,7 @@ "account.locked_info": "Tämän tilin yksityisyyden tila on asetettu lukituksi. Omistaja arvioi manuaalisesti, kuka voi seurata niitä.", "account.media": "Media", "account.mention": "Mainitse @{name}", - "account.moved_to": "{name} on ilmoittanut, että heidän uusi tilinsä on nyt:", + "account.moved_to": "{name} on ilmoittanut uudeksi tilikseen", "account.mute": "Mykistä @{name}", "account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}", "account.muted": "Mykistetty", @@ -164,7 +164,7 @@ "confirmations.logout.confirm": "Kirjaudu ulos", "confirmations.logout.message": "Oletko varma, että haluat kirjautua ulos?", "confirmations.mute.confirm": "Mykistä", - "confirmations.mute.explanation": "Tämä piilottaa heidän julkaisut ja julkaisut, joissa heidät mainitaan, mutta sallii edelleen heidän nähdä julkaisusi ja seurata sinua.", + "confirmations.mute.explanation": "Tämä toiminto piilottaa heidän julkaisunsa sinulta – mukaan lukien ne, joissa heidät mainitaan – sallien heidän yhä nähdä julkaisusi ja seurata sinua.", "confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?", "confirmations.redraft.confirm": "Poista & palauta muokattavaksi", "confirmations.redraft.message": "Oletko varma että haluat poistaa tämän julkaisun ja tehdä siitä uuden luonnoksen? Suosikit ja buustaukset menetään, alkuperäisen julkaisusi vastaukset jäävät orvoiksi.", @@ -182,8 +182,8 @@ "directory.local": "Vain palvelimelta {domain}", "directory.new_arrivals": "Äskettäin saapuneet", "directory.recently_active": "Hiljattain aktiiviset", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Tilin asetukset", + "disabled_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä.", "dismissable_banner.community_timeline": "Nämä ovat uusimmat julkiset viestit ihmisiltä, joiden tilejä isännöi {domain}.", "dismissable_banner.dismiss": "Hylkää", "dismissable_banner.explore_links": "Näistä uutisista puhuvat ihmiset juuri nyt tällä ja muilla hajautetun verkon palvelimilla.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Piilota kuva} other {Piilota kuvat}}", "missing_indicator.label": "Ei löytynyt", "missing_indicator.sublabel": "Tätä resurssia ei löytynyt", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä, koska teit siirron tiliin {movedToAccount}.", "mute_modal.duration": "Kesto", "mute_modal.hide_notifications": "Piilota tältä käyttäjältä tulevat ilmoitukset?", "mute_modal.indefinite": "Ikuisesti", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 0d8bad817e9..421041e6d05 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Abonnement} other {{counter} Abonnements}}", "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour l’instant.", "account.follows_you": "Vous suit", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Voir le profil", "account.hide_reblogs": "Masquer les partages de @{name}", "account.joined_short": "Ici depuis", "account.languages": "Changer les langues abonnées", @@ -182,8 +182,8 @@ "directory.local": "De {domain} seulement", "directory.new_arrivals": "Inscrit·e·s récemment", "directory.recently_active": "Actif·ve·s récemment", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Paramètres du compte", + "disabled_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé.", "dismissable_banner.community_timeline": "Voici les messages publics les plus récents des personnes dont les comptes sont hébergés par {domain}.", "dismissable_banner.dismiss": "Rejeter", "dismissable_banner.explore_links": "Ces nouvelles sont actuellement en cours de discussion par des personnes sur d'autres serveurs du réseau décentralisé ainsi que sur celui-ci.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Cacher l’image} other {Cacher les images}}", "missing_indicator.label": "Non trouvé", "missing_indicator.sublabel": "Ressource introuvable", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous avez déplacé vers {movedToAccount}.", "mute_modal.duration": "Durée", "mute_modal.hide_notifications": "Masquer les notifications de cette personne ?", "mute_modal.indefinite": "Indéfinie", @@ -532,7 +532,7 @@ "search_results.title": "Rechercher {q}", "search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}", "server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Utilisateur·rice·s Actifs·ives Mensuellement)", - "server_banner.active_users": "Utilisateur·rice·s actif·ve·s", + "server_banner.active_users": "Utilisateurs actifs", "server_banner.administered_by": "Administré par :", "server_banner.introduction": "{domain} fait partie du réseau social décentralisé propulsé par {mastodon}.", "server_banner.learn_more": "En savoir plus", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index b3c25a5f64c..dab59219597 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -4,14 +4,14 @@ "about.disclaimer": "Bogearra foinse oscailte saor in aisce is ea Mastodon, agus is le Mastodon gGmbH an trádmharc.", "about.domain_blocks.comment": "Fáth", "about.domain_blocks.domain": "Fearann", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", + "about.domain_blocks.preamble": "Go hiondúil, tugann Mastadán cead duit a bheith ag plé le húsáideoirí as freastalaí ar bith eile sa chomhchruinne agus a gcuid inneachair a fheiceáil. Seo iad na heisceachtaí a rinneadh ar an bhfreastalaí áirithe seo.", "about.domain_blocks.severity": "Déine", - "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", + "about.domain_blocks.silenced.explanation": "Go hiondúil ní fheicfidh tú próifílí ná inneachar ón bhfreastalaí seo, ach amháin má bhíonn tú á lorg nó má ghlacann tú lena leanúint d'aon ghnó.", "about.domain_blocks.silenced.title": "Teoranta", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.title": "Ar fionraí", - "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", + "about.not_available": "Níor cuireadh an t-eolas seo ar fáil ar an bhfreastalaí seo.", + "about.powered_by": "Meáin shóisialta díláraithe faoi chumhacht {mastodon}", "about.rules": "Rialacha an fhreastalaí", "account.account_note_header": "Nóta", "account.add_or_remove_from_list": "Cuir Le nó Bain De na liostaí", @@ -39,15 +39,15 @@ "account.following_counter": "{count, plural, one {Ag leanúint cúntas amháin} other {Ag leanúint {counter} cúntas}}", "account.follows.empty": "Ní leanann an t-úsáideoir seo duine ar bith fós.", "account.follows_you": "Do do leanúint", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Téigh go dtí próifíl", "account.hide_reblogs": "Folaigh athphostálacha ó @{name}", "account.joined_short": "Cláraithe", "account.languages": "Athraigh teangacha foscríofa", - "account.link_verified_on": "Ownership of this link was checked on {date}", + "account.link_verified_on": "Seiceáladh úinéireacht an naisc seo ar {date}", "account.locked_info": "Tá an socrú príobháideachais don cuntas seo curtha go 'faoi ghlas'. Déanann an t-úinéir léirmheas ar cén daoine atá ceadaithe an cuntas leanúint.", "account.media": "Ábhair", "account.mention": "Luaigh @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "Tá tugtha le fios ag {name} gurb é an cuntas nua atá acu ná:", "account.mute": "Balbhaigh @{name}", "account.mute_notifications": "Balbhaigh fógraí ó @{name}", "account.muted": "Balbhaithe", @@ -81,7 +81,7 @@ "audio.hide": "Cuir fuaim i bhfolach", "autosuggest_hashtag.per_week": "{count} sa seachtain", "boost_modal.combo": "Is féidir leat brúigh {combo} chun é seo a scipeáil an chéad uair eile", - "bundle_column_error.copy_stacktrace": "Copy error report", + "bundle_column_error.copy_stacktrace": "Cóipeáil tuairisc earráide", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.title": "Ná habair!", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", @@ -104,9 +104,9 @@ "column.community": "Amlíne áitiúil", "column.direct": "Teachtaireachtaí dhíreacha", "column.directory": "Brabhsáil próifílí", - "column.domain_blocks": "Blocked domains", + "column.domain_blocks": "Fearainn bhactha", "column.favourites": "Roghanna", - "column.follow_requests": "Follow requests", + "column.follow_requests": "Iarratais leanúnaí", "column.home": "Baile", "column.lists": "Liostaí", "column.mutes": "Úsáideoirí balbhaithe", @@ -115,25 +115,25 @@ "column.public": "Amlíne cónaidhmithe", "column_back_button.label": "Siar", "column_header.hide_settings": "Folaigh socruithe", - "column_header.moveLeft_settings": "Move column to the left", - "column_header.moveRight_settings": "Move column to the right", + "column_header.moveLeft_settings": "Bog an colún ar chlé", + "column_header.moveRight_settings": "Bog an colún ar dheis", "column_header.pin": "Greamaigh", "column_header.show_settings": "Taispeáin socruithe", "column_header.unpin": "Díghreamaigh", "column_subheading.settings": "Socruithe", "community.column_settings.local_only": "Áitiúil amháin", "community.column_settings.media_only": "Meáin Amháin", - "community.column_settings.remote_only": "Remote only", + "community.column_settings.remote_only": "Cian amháin", "compose.language.change": "Athraigh teanga", "compose.language.search": "Cuardaigh teangacha...", "compose_form.direct_message_warning_learn_more": "Tuilleadh eolais", "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", - "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", + "compose_form.lock_disclaimer": "Níl an cuntas seo {locked}. Féadfaidh duine ar bith tú a leanúint agus na postálacha atá dírithe agat ar do lucht leanúna amháin a fheiceáil.", "compose_form.lock_disclaimer.lock": "faoi ghlas", "compose_form.placeholder": "Cad atá ag tarlú?", "compose_form.poll.add_option": "Cuir rogha isteach", - "compose_form.poll.duration": "Poll duration", + "compose_form.poll.duration": "Achar suirbhéanna", "compose_form.poll.option_placeholder": "Rogha {number}", "compose_form.poll.remove_option": "Bain an rogha seo", "compose_form.poll.switch_to_multiple": "Athraigh suirbhé chun cead a thabhairt do ilrogha", @@ -144,54 +144,54 @@ "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}", "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}", - "compose_form.spoiler.marked": "Text is hidden behind warning", - "compose_form.spoiler.unmarked": "Text is not hidden", - "compose_form.spoiler_placeholder": "Write your warning here", + "compose_form.spoiler.marked": "Bain rabhadh ábhair", + "compose_form.spoiler.unmarked": "Cuir rabhadh ábhair", + "compose_form.spoiler_placeholder": "Scríobh do rabhadh anseo", "confirmation_modal.cancel": "Cealaigh", "confirmations.block.block_and_report": "Bac ⁊ Tuairiscigh", "confirmations.block.confirm": "Bac", "confirmations.block.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhac?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "Éirigh as iarratas", + "confirmations.cancel_follow_request.message": "An bhfuil tú cinnte gur mhaith leat éirigh as an iarratas leanta {name}?", "confirmations.delete.confirm": "Scrios", "confirmations.delete.message": "An bhfuil tú cinnte gur mhaith leat an phostáil seo a scriosadh?", "confirmations.delete_list.confirm": "Scrios", "confirmations.delete_list.message": "An bhfuil tú cinnte gur mhaith leat an liosta seo a scriosadh go buan?", "confirmations.discard_edit_media.confirm": "Faigh réidh de", "confirmations.discard_edit_media.message": "Tá athruithe neamhshlánaithe don tuarascáil gné nó réamhamharc agat, faigh réidh dóibh ar aon nós?", - "confirmations.domain_block.confirm": "Hide entire domain", + "confirmations.domain_block.confirm": "Bac fearann go hiomlán", "confirmations.domain_block.message": "An bhfuil tú iontach cinnte gur mhaith leat bac an t-ainm fearainn {domain} in iomlán? I bhformhór na gcásanna, is leor agus is fearr cúpla baic a cur i bhfeidhm nó cúpla úsáideoirí a balbhú. Ní fheicfidh tú ábhair ón t-ainm fearainn sin in amlíne ar bith, nó i d'fhógraí. Scaoilfear do leantóirí ón ainm fearainn sin.", "confirmations.logout.confirm": "Logáil amach", "confirmations.logout.message": "An bhfuil tú cinnte gur mhaith leat logáil amach?", "confirmations.mute.confirm": "Balbhaigh", "confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.", "confirmations.mute.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhalbhú?", - "confirmations.redraft.confirm": "Delete & redraft", + "confirmations.redraft.confirm": "Scrios ⁊ athdhréachtaigh", "confirmations.redraft.message": "An bhfuil tú cinnte gur mhaith leat an phostáil sin a scriosadh agus athdhréachtú? Beidh roghanna agus treisithe caillte, agus beidh freagraí ar an bpostáil bhunúsach ina ndílleachtaí.", "confirmations.reply.confirm": "Freagair", "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "confirmations.unfollow.confirm": "Ná lean", - "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", - "conversation.delete": "Delete conversation", + "confirmations.unfollow.message": "An bhfuil tú cinnte gur mhaith leat {name} a dhíleanúint?", + "conversation.delete": "Scrios comhrá", "conversation.mark_as_read": "Marcáil mar léite", - "conversation.open": "View conversation", - "conversation.with": "With {names}", - "copypaste.copied": "Copied", + "conversation.open": "Féach ar comhrá", + "conversation.with": "Le {names}", + "copypaste.copied": "Cóipeáilte", "copypaste.copy": "Cóipeáil", "directory.federated": "From known fediverse", "directory.local": "Ó {domain} amháin", "directory.new_arrivals": "Daoine atá tar éis teacht", "directory.recently_active": "Daoine gníomhacha le déanaí", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", + "disabled_account_banner.account_settings": "Socruithe cuntais", + "disabled_account_banner.text": "Tá do chuntas {disabledAccount} díchumasaithe faoi láthair.", + "dismissable_banner.community_timeline": "Seo iad na postála is déanaí ó dhaoine le cuntais ar {domain}.", "dismissable_banner.dismiss": "Diúltaigh", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "embed.instructions": "Embed this status on your website by copying the code below.", - "embed.preview": "Here is what it will look like:", + "embed.preview": "Seo an chuma a bheidh air:", "emoji_button.activity": "Gníomhaíocht", "emoji_button.clear": "Glan", "emoji_button.custom": "Saincheaptha", @@ -199,10 +199,10 @@ "emoji_button.food": "Bia ⁊ Ól", "emoji_button.label": "Cuir emoji isteach", "emoji_button.nature": "Nádur", - "emoji_button.not_found": "No matching emojis found", - "emoji_button.objects": "Objects", + "emoji_button.not_found": "Ní bhfuarthas an cineál emoji sin", + "emoji_button.objects": "Rudaí", "emoji_button.people": "Daoine", - "emoji_button.recent": "Frequently used", + "emoji_button.recent": "Úsáidte go minic", "emoji_button.search": "Cuardaigh...", "emoji_button.search_results": "Torthaí cuardaigh", "emoji_button.symbols": "Comharthaí", @@ -210,19 +210,19 @@ "empty_column.account_suspended": "Cuntas ar fionraí", "empty_column.account_timeline": "Níl postálacha ar bith anseo!", "empty_column.account_unavailable": "Níl an phróifíl ar fáil", - "empty_column.blocks": "You haven't blocked any users yet.", + "empty_column.blocks": "Níl aon úsáideoir bactha agat fós.", "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.domain_blocks": "There are no blocked domains yet.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.domain_blocks": "Níl aon fearainn bhactha ann go fóill.", + "empty_column.explore_statuses": "Níl rud ar bith ag treochtáil faoi láthair. Tar ar ais ar ball!", "empty_column.favourited_statuses": "Níor roghnaigh tú postáil ar bith fós. Nuair a roghnaigh tú ceann, beidh sí le feiceáil anseo.", "empty_column.favourites": "Níor roghnaigh éinne an phostáil seo fós. Nuair a roghnaigh duine éigin, beidh siad le feiceáil anseo.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", - "empty_column.hashtag": "There is nothing in this hashtag yet.", - "empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}", - "empty_column.home.suggestions": "See some suggestions", + "empty_column.hashtag": "Níl rud ar bith faoin haischlib seo go fóill.", + "empty_column.home": "Tá d'amlíne baile folamh! B'fhiú duit cúpla duine eile a leanúint lena líonadh! {suggestions}", + "empty_column.home.suggestions": "Féach ar roinnt moltaí", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", "empty_column.mutes": "Níl aon úsáideoir balbhaithe agat fós.", @@ -233,7 +233,7 @@ "error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", - "errors.unexpected_crash.report_issue": "Report issue", + "errors.unexpected_crash.report_issue": "Tuairiscigh deacracht", "explore.search_results": "Torthaí cuardaigh", "explore.suggested_follows": "Duitse", "explore.title": "Féach thart", @@ -245,7 +245,7 @@ "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", "filter_modal.added.expired_title": "Expired filter!", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", - "filter_modal.added.review_and_configure_title": "Filter settings", + "filter_modal.added.review_and_configure_title": "Socruithe scagtha", "filter_modal.added.settings_link": "leathan socruithe", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.title": "Filter added!", @@ -254,16 +254,16 @@ "filter_modal.select_filter.prompt_new": "Catagóir nua: {name}", "filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", - "filter_modal.select_filter.title": "Filter this post", - "filter_modal.title.status": "Filter a post", + "filter_modal.select_filter.title": "Déan scagadh ar an bpostáil seo", + "filter_modal.title.status": "Déan scagadh ar phostáil", "follow_recommendations.done": "Déanta", "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", "follow_request.authorize": "Ceadaigh", "follow_request.reject": "Diúltaigh", - "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", + "follow_requests.unlocked_explanation": "Cé nach bhfuil do chuntas faoi ghlas, cheap foireann {domain} gur mhaith leat súil siar ar iarratais leanúnaí as na cuntais seo.", "footer.about": "Maidir le", - "footer.directory": "Profiles directory", + "footer.directory": "Eolaire próifílí", "footer.get_app": "Faigh an aip", "footer.invite": "Invite people", "footer.keyboard_shortcuts": "Keyboard shortcuts", @@ -276,7 +276,7 @@ "hashtag.column_header.tag_mode.none": "gan {additional}", "hashtag.column_settings.select.no_options_message": "No suggestions found", "hashtag.column_settings.select.placeholder": "Iontráil haischlibeanna…", - "hashtag.column_settings.tag_mode.all": "All of these", + "hashtag.column_settings.tag_mode.all": "Iad seo go léir", "hashtag.column_settings.tag_mode.any": "Any of these", "hashtag.column_settings.tag_mode.none": "None of these", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", @@ -285,8 +285,8 @@ "home.column_settings.basic": "Bunúsach", "home.column_settings.show_reblogs": "Taispeáin treisithe", "home.column_settings.show_replies": "Taispeán freagraí", - "home.hide_announcements": "Hide announcements", - "home.show_announcements": "Show announcements", + "home.hide_announcements": "Cuir fógraí i bhfolach", + "home.show_announcements": "Taispeáin fógraí", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", @@ -303,7 +303,7 @@ "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "keyboard_shortcuts.back": "to navigate back", - "keyboard_shortcuts.blocked": "to open blocked users list", + "keyboard_shortcuts.blocked": "Oscail liosta na n-úsáideoirí bactha", "keyboard_shortcuts.boost": "Treisigh postáil", "keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.compose": "to focus the compose textarea", @@ -313,13 +313,13 @@ "keyboard_shortcuts.enter": "Oscail postáil", "keyboard_shortcuts.favourite": "Roghnaigh postáil", "keyboard_shortcuts.favourites": "Oscail liosta roghanna", - "keyboard_shortcuts.federated": "to open federated timeline", - "keyboard_shortcuts.heading": "Keyboard Shortcuts", + "keyboard_shortcuts.federated": "Oscail amlíne cónaidhmithe", + "keyboard_shortcuts.heading": "Aicearraí méarchláir", "keyboard_shortcuts.home": "to open home timeline", "keyboard_shortcuts.hotkey": "Eochair aicearra", "keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.local": "Oscail an amlíne áitiúil", - "keyboard_shortcuts.mention": "to mention author", + "keyboard_shortcuts.mention": "Luaigh údar", "keyboard_shortcuts.muted": "Oscail liosta na n-úsáideoirí balbhaithe", "keyboard_shortcuts.my_profile": "Oscail do phróifíl", "keyboard_shortcuts.notifications": "to open notifications column", @@ -327,12 +327,12 @@ "keyboard_shortcuts.pinned": "to open pinned posts list", "keyboard_shortcuts.profile": "Oscail próifíl an t-údar", "keyboard_shortcuts.reply": "Freagair ar phostáil", - "keyboard_shortcuts.requests": "to open follow requests list", + "keyboard_shortcuts.requests": "Oscail liosta iarratas leanúnaí", "keyboard_shortcuts.search": "to focus search", "keyboard_shortcuts.spoilers": "to show/hide CW field", "keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", - "keyboard_shortcuts.toggle_sensitivity": "to show/hide media", + "keyboard_shortcuts.toggle_sensitivity": "Taispeáin / cuir i bhfolach meáin", "keyboard_shortcuts.toot": "Cuir tús le postáil nua", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.up": "to move up in the list", @@ -351,10 +351,10 @@ "lists.new.create": "Cruthaigh liosta", "lists.new.title_placeholder": "New list title", "lists.replies_policy.followed": "Any followed user", - "lists.replies_policy.list": "Members of the list", + "lists.replies_policy.list": "Baill an liosta", "lists.replies_policy.none": "Duine ar bith", "lists.replies_policy.title": "Show replies to:", - "lists.search": "Search among people you follow", + "lists.search": "Cuardaigh i measc daoine atá á leanúint agat", "lists.subheading": "Do liostaí", "load_pending": "{count, plural, one {# new item} other {# new items}}", "loading_indicator.label": "Ag lódáil...", @@ -366,13 +366,13 @@ "mute_modal.hide_notifications": "Cuir póstalacha ón t-úsáideoir seo i bhfolach?", "mute_modal.indefinite": "Gan téarma", "navigation_bar.about": "Maidir le", - "navigation_bar.blocks": "Blocked users", + "navigation_bar.blocks": "Cuntais bhactha", "navigation_bar.bookmarks": "Leabharmharcanna", "navigation_bar.community_timeline": "Amlíne áitiúil", "navigation_bar.compose": "Cum postáil nua", "navigation_bar.direct": "Teachtaireachtaí dhíreacha", "navigation_bar.discover": "Faigh amach", - "navigation_bar.domain_blocks": "Hidden domains", + "navigation_bar.domain_blocks": "Fearainn bhactha", "navigation_bar.edit_profile": "Cuir an phróifíl in eagar", "navigation_bar.explore": "Féach thart", "navigation_bar.favourites": "Roghanna", @@ -389,12 +389,12 @@ "navigation_bar.search": "Cuardaigh", "navigation_bar.security": "Slándáil", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", - "notification.admin.report": "{name} reported {target}", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.report": "Tuairiscigh {name} {target}", + "notification.admin.sign_up": "Chláraigh {name}", "notification.favourite": "Roghnaigh {name} do phostáil", "notification.follow": "Lean {name} thú", "notification.follow_request": "D'iarr {name} ort do chuntas a leanúint", - "notification.mention": "{name} mentioned you", + "notification.mention": "Luaigh {name} tú", "notification.own_poll": "Your poll has ended", "notification.poll": "A poll you have voted in has ended", "notification.reblog": "Threisigh {name} do phostáil", @@ -408,14 +408,14 @@ "notifications.column_settings.favourite": "Roghanna:", "notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.category": "Quick filter bar", - "notifications.column_settings.filter_bar.show_bar": "Show filter bar", + "notifications.column_settings.filter_bar.show_bar": "Taispeáin barra scagaire", "notifications.column_settings.follow": "Leantóirí nua:", "notifications.column_settings.follow_request": "Iarratais leanúnaí nua:", "notifications.column_settings.mention": "Tráchtanna:", - "notifications.column_settings.poll": "Poll results:", + "notifications.column_settings.poll": "Torthaí suirbhéanna:", "notifications.column_settings.push": "Brúfhógraí", "notifications.column_settings.reblog": "Treisithe:", - "notifications.column_settings.show": "Show in column", + "notifications.column_settings.show": "Taispeáin i gcolún", "notifications.column_settings.sound": "Seinn an fhuaim", "notifications.column_settings.status": "Postálacha nua:", "notifications.column_settings.unread_notifications.category": "Brúfhógraí neamhléite", @@ -426,7 +426,7 @@ "notifications.filter.favourites": "Roghanna", "notifications.filter.follows": "Ag leanúint", "notifications.filter.mentions": "Tráchtanna", - "notifications.filter.polls": "Poll results", + "notifications.filter.polls": "Torthaí suirbhéanna", "notifications.filter.statuses": "Updates from people you follow", "notifications.grant_permission": "Grant permission.", "notifications.group": "{count} notifications", @@ -445,8 +445,8 @@ "poll.vote": "Vótáil", "poll.voted": "You voted for this answer", "poll.votes": "{votes, plural, one {# vote} other {# votes}}", - "poll_button.add_poll": "Add a poll", - "poll_button.remove_poll": "Remove poll", + "poll_button.add_poll": "Cruthaigh suirbhé", + "poll_button.remove_poll": "Bain suirbhé", "privacy.change": "Adjust status privacy", "privacy.direct.long": "Visible for mentioned users only", "privacy.direct.short": "Direct", @@ -477,7 +477,7 @@ "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Eile", "report.categories.spam": "Turscar", - "report.categories.violation": "Content violates one or more server rules", + "report.categories.violation": "Sáraíonn ábhar riail freastalaí amháin nó níos mó", "report.category.subtitle": "Roghnaigh an toradh is fearr", "report.category.title": "Tell us what's going on with this {type}", "report.category.title_account": "próifíl", @@ -502,7 +502,7 @@ "report.rules.title": "Which rules are being violated?", "report.statuses.subtitle": "Select all that apply", "report.statuses.title": "Are there any posts that back up this report?", - "report.submit": "Submit report", + "report.submit": "Cuir isteach", "report.target": "Ag tuairisciú {target}", "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", @@ -557,7 +557,7 @@ "status.favourite": "Rogha", "status.filter": "Filter this post", "status.filtered": "Filtered", - "status.hide": "Hide toot", + "status.hide": "Cuir postáil i bhfolach", "status.history.created": "{name} created {date}", "status.history.edited": "Curtha in eagar ag {name} in {date}", "status.load_more": "Lódáil a thuilleadh", @@ -574,20 +574,20 @@ "status.reblog_private": "Treisigh le léargas bunúsach", "status.reblogged_by": "Treisithe ag {name}", "status.reblogs.empty": "Níor threisigh éinne an phostáil seo fós. Nuair a threisigh duine éigin, beidh siad le feiceáil anseo.", - "status.redraft": "Delete & re-draft", + "status.redraft": "Scrios ⁊ athdhréachtaigh", "status.remove_bookmark": "Remove bookmark", "status.replied_to": "Replied to {name}", "status.reply": "Freagair", - "status.replyAll": "Reply to thread", + "status.replyAll": "Freagair le snáithe", "status.report": "Tuairiscigh @{name}", - "status.sensitive_warning": "Sensitive content", + "status.sensitive_warning": "Ábhar íogair", "status.share": "Comhroinn", - "status.show_filter_reason": "Show anyway", - "status.show_less": "Show less", - "status.show_less_all": "Show less for all", - "status.show_more": "Show more", - "status.show_more_all": "Show more for all", - "status.show_original": "Show original", + "status.show_filter_reason": "Taispeáin ar aon nós", + "status.show_less": "Taispeáin níos lú", + "status.show_less_all": "Taispeáin níos lú d'uile", + "status.show_more": "Taispeáin níos mó", + "status.show_more_all": "Taispeáin níos mó d'uile", + "status.show_original": "Taispeáin bunchóip", "status.translate": "Aistrigh", "status.translated_from_with": "D'Aistrigh ón {lang} ag úsáid {provider}", "status.uncached_media_warning": "Ní ar fáil", @@ -617,7 +617,7 @@ "units.short.billion": "{count}B", "units.short.million": "{count}M", "units.short.thousand": "{count}K", - "upload_area.title": "Drag & drop to upload", + "upload_area.title": "Tarraing ⁊ scaoil chun uaslódáil", "upload_button.label": "Add images, a video or an audio file", "upload_error.limit": "File upload limit exceeded.", "upload_error.poll": "File upload not allowed with polls.", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 6ed5c2b5def..3492aa54a55 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -6,7 +6,7 @@ "about.domain_blocks.domain": "Àrainn", "about.domain_blocks.preamble": "San fharsaingeachd, leigidh Mastodon leat susbaint o fhrithealaiche sam bith sa cho-shaoghal a shealltainn agus eadar-ghìomh a ghabhail leis na cleachdaichean uapa-san. Seo na h-easgaidhean a tha an sàs air an fhrithealaiche shònraichte seo.", "about.domain_blocks.severity": "Donad", - "about.domain_blocks.silenced.explanation": "Chan fharsaingeachd, chan fhaic thu pròifilean agus susbaint an fhrithealaiche seo ach ma nì thu lorg no ma leanas tu air.", + "about.domain_blocks.silenced.explanation": "Chan fharsaingeachd, chan fhaic thu pròifilean agus susbaint an fhrithealaiche seo ach ma nì thu lorg no ma tha thu ’ga leantainn.", "about.domain_blocks.silenced.title": "Cuingichte", "about.domain_blocks.suspended.explanation": "Cha dèid dàta sam bith on fhrithealaiche seo a phròiseasadh, a stòradh no iomlaid agus chan urrainn do na cleachdaichean on fhrithealaiche sin conaltradh no eadar-ghnìomh a ghabhail an-seo.", "about.domain_blocks.suspended.title": "’Na dhàil", @@ -31,20 +31,20 @@ "account.featured_tags.last_status_at": "Am post mu dheireadh {date}", "account.featured_tags.last_status_never": "Gun phost", "account.featured_tags.title": "Na tagaichean hais brosnaichte aig {name}", - "account.follow": "Lean air", + "account.follow": "Lean", "account.followers": "Luchd-leantainn", "account.followers.empty": "Chan eil neach sam bith a’ leantainn air a’ chleachdaiche seo fhathast.", "account.followers_counter": "{count, plural, one {{counter} neach-leantainn} two {{counter} neach-leantainn} few {{counter} luchd-leantainn} other {{counter} luchd-leantainn}}", "account.following": "A’ leantainn", - "account.following_counter": "{count, plural, one {A’ leantainn air {counter}} two {A’ leantainn air {counter}} few {A’ leantainn air {counter}} other {A’ leantainn air {counter}}}", - "account.follows.empty": "Chan eil an cleachdaiche seo a’ leantainn air neach sam bith fhathast.", + "account.following_counter": "{count, plural, one {A’ leantainn {counter}} two {A’ leantainn {counter}} few {A’ leantainn {counter}} other {A’ leantainn {counter}}}", + "account.follows.empty": "Chan eil an cleachdaiche seo a’ leantainn neach sam bith fhathast.", "account.follows_you": "’Gad leantainn", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Tadhail air a’ phròifil", "account.hide_reblogs": "Falaich na brosnachaidhean o @{name}", "account.joined_short": "Air ballrachd fhaighinn", "account.languages": "Atharraich fo-sgrìobhadh nan cànan", "account.link_verified_on": "Chaidh dearbhadh cò leis a tha an ceangal seo {date}", - "account.locked_info": "Tha prìobhaideachd ghlaiste aig a’ chunntais seo. Nì an sealbhadair lèirmheas a làimh air cò dh’fhaodas leantainn orra.", + "account.locked_info": "Tha prìobhaideachd ghlaiste aig a’ chunntais seo. Nì an sealbhadair lèirmheas a làimh air cò dh’fhaodas a leantainn.", "account.media": "Meadhanan", "account.mention": "Thoir iomradh air @{name}", "account.moved_to": "Dh’innis {name} gu bheil an cunntas ùr aca a-nis air:", @@ -96,7 +96,7 @@ "closed_registrations.other_server_instructions": "Air sgàth ’s gu bheil Mastodon sgaoilte, ’s urrainn dhut cunntas a chruthachadh air frithealaiche eile agus conaltradh ris an fhrithealaiche seo co-dhiù.", "closed_registrations_modal.description": "Cha ghabh cunntas a chruthachadh air {domain} aig an àm seo ach thoir an aire nach fheum thu cunntas air {domain} gu sònraichte airson Mastodon a chleachdadh.", "closed_registrations_modal.find_another_server": "Lorg frithealaiche eile", - "closed_registrations_modal.preamble": "Tha Mastodon sgaoilte is mar sin dheth ge b’ e càit an cruthaich thu an cunntas agad, ’s urrainn dhut leantainn air duine sam bith air an fhrithealaiche seo is conaltradh leotha. ’S urrainn dhut fiù ’s frithealaiche agad fhèin òstadh!", + "closed_registrations_modal.preamble": "Tha Mastodon sgaoilte is mar sin dheth ge b’ e càit an cruthaich thu an cunntas agad, ’s urrainn dhut duine sam bith a leantainn air an fhrithealaiche seo is conaltradh leotha. ’S urrainn dhut fiù ’s frithealaiche agad fhèin òstadh!", "closed_registrations_modal.title": "Clàradh le Mastodon", "column.about": "Mu dhèidhinn", "column.blocks": "Cleachdaichean bacte", @@ -129,7 +129,7 @@ "compose_form.direct_message_warning_learn_more": "Barrachd fiosrachaidh", "compose_form.encryption_warning": "Chan eil crioptachadh ceann gu ceann air postaichean Mhastodon. Na co-roinn fiosrachadh dìomhair idir le Mastodon.", "compose_form.hashtag_warning": "Cha nochd am post seo fon taga hais on a tha e falaichte o liostaichean. Cha ghabh ach postaichean poblach a lorg a-rèir an tagaichean hais.", - "compose_form.lock_disclaimer": "Chan eil an cunntas agad {locked}. ’S urrainn do dhuine sam bith leantainn ort is na postaichean agad a tha ag amas air an luchd-leantainn agad a-mhàin a shealltainn.", + "compose_form.lock_disclaimer": "Chan eil an cunntas agad {locked}. ’S urrainn do dhuine sam bith ’gad leantainn is na postaichean agad a tha ag amas air an luchd-leantainn agad a-mhàin a shealltainn.", "compose_form.lock_disclaimer.lock": "glaiste", "compose_form.placeholder": "Dè tha air d’ aire?", "compose_form.poll.add_option": "Cuir roghainn ris", @@ -152,7 +152,7 @@ "confirmations.block.confirm": "Bac", "confirmations.block.message": "A bheil thu cinnteach gu bheil thu airson {name} a bhacadh?", "confirmations.cancel_follow_request.confirm": "Cuir d’ iarrtas dhan dàrna taobh", - "confirmations.cancel_follow_request.message": "A bheil thu cinnteach gu bheil thu airson d’ iarrtas leantainn air {name} a chur dhan dàrna taobh?", + "confirmations.cancel_follow_request.message": "A bheil thu cinnteach gu bheil thu airson d’ iarrtas leantainn {name} a chur dhan dàrna taobh?", "confirmations.delete.confirm": "Sguab às", "confirmations.delete.message": "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?", "confirmations.delete_list.confirm": "Sguab às", @@ -160,18 +160,18 @@ "confirmations.discard_edit_media.confirm": "Tilg air falbh", "confirmations.discard_edit_media.message": "Tha atharraichean gun sàbhaladh agad ann an tuairisgeul no ro-shealladh a’ mheadhain, a bheil thu airson an tilgeil air falbh co-dhiù?", "confirmations.domain_block.confirm": "Bac an àrainn uile gu lèir", - "confirmations.domain_block.message": "A bheil thu cinnteach dha-rìribh gu bheil thu airson an àrainn {domain} a bhacadh uile gu lèir? Mar as trice, foghnaidh gun dèan thu bacadh no mùchadh no dhà gu sònraichte agus bhiod sin na b’ fheàrr. Chan fhaic thu susbaint on àrainn ud air loidhne-ama phoblach sam bith no am measg nam brathan agad. Thèid an luchd-leantainn agad on àrainn ud a thoirt air falbh.", + "confirmations.domain_block.message": "A bheil thu cinnteach dha-rìribh gu bheil thu airson an àrainn {domain} a bhacadh uile gu lèir? Mar as trice, foghnaidh gun dèan thu bacadh no mùchadh no dhà gu sònraichte agus bhiodh sin na b’ fheàrr. Chan fhaic thu susbaint on àrainn ud air loidhne-ama phoblach sam bith no am measg nam brathan agad. Thèid an luchd-leantainn agad on àrainn ud a thoirt air falbh.", "confirmations.logout.confirm": "Clàraich a-mach", "confirmations.logout.message": "A bheil thu cinnteach gu bheil thu airson clàradh a-mach?", "confirmations.mute.confirm": "Mùch", - "confirmations.mute.explanation": "Cuiridh seo na postaichean uapa ’s na postaichean a bheir iomradh orra am falach ach chì iad-san na postaichean agad fhathast is faodaidh iad leantainn ort.", + "confirmations.mute.explanation": "Cuiridh seo na postaichean uapa ’s na postaichean a bheir iomradh orra am falach ach chì iad-san na postaichean agad fhathast is faodaidh iad ’gad leantainn.", "confirmations.mute.message": "A bheil thu cinnteach gu bheil thu airson {name} a mhùchadh?", "confirmations.redraft.confirm": "Sguab às ⁊ dèan dreachd ùr", "confirmations.redraft.message": "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às agus dreachd ùr a thòiseachadh? Caillidh tu gach annsachd is brosnachadh air agus thèid freagairtean dhan phost thùsail ’nan dìlleachdanan.", "confirmations.reply.confirm": "Freagair", "confirmations.reply.message": "Ma bheir thu freagairt an-dràsta, thèid seo a sgrìobhadh thairis air an teachdaireachd a tha thu a’ sgrìobhadh an-dràsta. A bheil thu cinnteach gu bheil thu airson leantainn air adhart?", "confirmations.unfollow.confirm": "Na lean tuilleadh", - "confirmations.unfollow.message": "A bheil thu cinnteach nach eil thu airson leantainn air {name} tuilleadh?", + "confirmations.unfollow.message": "A bheil thu cinnteach nach eil thu airson {name} a leantainn tuilleadh?", "conversation.delete": "Sguab às an còmhradh", "conversation.mark_as_read": "Cuir comharra gun deach a leughadh", "conversation.open": "Seall an còmhradh", @@ -182,8 +182,8 @@ "directory.local": "O {domain} a-mhàin", "directory.new_arrivals": "Feadhainn ùra", "directory.recently_active": "Gnìomhach o chionn goirid", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Roghainnean a’ chunntais", + "disabled_account_banner.text": "Tha an cunntas {disabledAccount} agad à comas aig an àm seo.", "dismissable_banner.community_timeline": "Seo na postaichean poblach as ùire o dhaoine aig a bheil cunntas air {domain}.", "dismissable_banner.dismiss": "Leig seachad", "dismissable_banner.explore_links": "Seo na naidheachdan air a bhithear a’ bruidhinn an-dràsta fhèin air an fhrithealaiche seo is frithealaichean eile dhen lìonra sgaoilte.", @@ -221,13 +221,13 @@ "empty_column.follow_recommendations": "Chan urrainn dhuinn dad a mholadh dhut. Cleachd gleus an luirg feuch an lorg thu daoine air a bheil thu eòlach no rùraich na tagaichean-hais a tha a’ treandadh.", "empty_column.follow_requests": "Chan eil iarrtas air leantainn agad fhathast. Nuair gheibh thu fear, nochdaidh e an-seo.", "empty_column.hashtag": "Chan eil dad san taga hais seo fhathast.", - "empty_column.home": "Tha an loidhne-ama dachaigh agad falamh! Lean air barrachd dhaoine gus a lìonadh. {suggestions}", + "empty_column.home": "Tha loidhne-ama na dachaigh agad falamh! Lean barrachd dhaoine gus a lìonadh. {suggestions}", "empty_column.home.suggestions": "Faic moladh no dhà", "empty_column.list": "Chan eil dad air an liosta seo fhathast. Nuair a phostaicheas buill a tha air an liosta seo postaichean ùra, nochdaidh iad an-seo.", "empty_column.lists": "Chan eil liosta agad fhathast. Nuair chruthaicheas tu tè, nochdaidh i an-seo.", "empty_column.mutes": "Cha do mhùch thu cleachdaiche sam bith fhathast.", "empty_column.notifications": "Cha d’ fhuair thu brath sam bith fhathast. Nuair a nì càch conaltradh leat, chì thu an-seo e.", - "empty_column.public": "Chan eil dad an-seo! Sgrìobh rudeigin gu poblach no lean air càch o fhrithealaichean eile a làimh airson seo a lìonadh", + "empty_column.public": "Chan eil dad an-seo! Sgrìobh rudeigin gu poblach no lean càch o fhrithealaichean eile a làimh airson seo a lìonadh", "error.unexpected_crash.explanation": "Air sàilleibh buga sa chòd againn no duilgheadas co-chòrdalachd leis a’ bhrabhsair, chan urrainn dhuinn an duilleag seo a shealltainn mar bu chòir.", "error.unexpected_crash.explanation_addons": "Cha b’ urrainn dhuinn an duilleag seo a shealltainn mar bu chòir. Tha sinn an dùil gu do dh’adhbharaich tuilleadan a’ bhrabhsair no inneal eadar-theangachaidh fèin-obrachail a’ mhearachd.", "error.unexpected_crash.next_steps": "Feuch an ath-nuadhaich thu an duilleag seo. Mura cuidich sin, dh’fhaoidte gur urrainn dhut Mastodon a chleachdadh fhathast le brabhsair eile no le aplacaid thùsail.", @@ -257,8 +257,8 @@ "filter_modal.select_filter.title": "Criathraich am post seo", "filter_modal.title.status": "Criathraich post", "follow_recommendations.done": "Deiseil", - "follow_recommendations.heading": "Lean air daoine ma tha thu airson nam postaichean aca fhaicinn! Seo moladh no dà dhut.", - "follow_recommendations.lead": "Nochdaidh na postaichean aig na daoine air a leanas tu a-rèir an ama air nad dhachaigh. Bi dàna on as urrainn dhut sgur de leantainn air daoine cuideachd uair sam bith!", + "follow_recommendations.heading": "Lean daoine ma tha thu airson nam postaichean aca fhaicinn! Seo moladh no dà dhut.", + "follow_recommendations.lead": "Nochdaidh na postaichean aig na daoine a leanas tu a-rèir an ama nad dhachaigh. Bi dàna on as urrainn dhut sgur de dhaoine a leantainn cuideachd uair sam bith!", "follow_request.authorize": "Ùghdarraich", "follow_request.reject": "Diùlt", "follow_requests.unlocked_explanation": "Ged nach eil an cunntas agad glaiste, tha sgioba {domain} dhen bheachd gum b’ fheàirrde thu lèirmheas a dhèanamh air na h-iarrtasan leantainn o na cunntasan seo a làimh.", @@ -280,15 +280,15 @@ "hashtag.column_settings.tag_mode.any": "Gin sam bith dhiubh", "hashtag.column_settings.tag_mode.none": "Às aonais gin sam bith dhiubh", "hashtag.column_settings.tag_toggle": "Gabh a-steach barrachd tagaichean sa cholbh seo", - "hashtag.follow": "Lean air an taga hais", - "hashtag.unfollow": "Na lean air an taga hais tuilleadh", + "hashtag.follow": "Lean an taga hais", + "hashtag.unfollow": "Na lean an taga hais tuilleadh", "home.column_settings.basic": "Bunasach", "home.column_settings.show_reblogs": "Seall na brosnachaidhean", "home.column_settings.show_replies": "Seall na freagairtean", "home.hide_announcements": "Falaich na brathan-fios", "home.show_announcements": "Seall na brathan-fios", "interaction_modal.description.favourite": "Le cunntas air Mastodon, ’s urrainn dhut am post seo a chur ris na h-annsachdan airson innse dhan ùghdar gu bheil e a’ còrdadh dhut ’s a shàbhaladh do uaireigin eile.", - "interaction_modal.description.follow": "Le cunntas air Mastodon, ’s urrainn dhut leantainn air {name} ach am faigh thu na postaichean aca nad dhachaigh.", + "interaction_modal.description.follow": "Le cunntas air Mastodon, ’s urrainn dhut {name} a leantainn ach am faigh thu na postaichean aca nad dhachaigh.", "interaction_modal.description.reblog": "Le cunntas air Mastodon, ’s urrainn dhut am post seo a bhrosnachadh gus a cho-roinneadh leis an luchd-leantainn agad fhèin.", "interaction_modal.description.reply": "Le cunntas air Mastodon, ’s urrainn dhut freagairt a chur dhan phost seo.", "interaction_modal.on_another_server": "Air frithealaiche eile", @@ -296,7 +296,7 @@ "interaction_modal.other_server_instructions": "Dèan lethbhreac dhen URL seo is cuir ann am bàr nan lorg e san aplacaid as fheàrr leat no san eadar-aghaidh-lìn far a bheil thu air do chlàradh a-steach.", "interaction_modal.preamble": "Air sgàth ’s gu bheil Mastodon sgaoilte, ’s urrainn dhut cunntas a chleachdadh a tha ’ga òstadh le frithealaiche Mastodon no le ùrlar co-chòrdail eile mur eil cunntas agad air an fhear seo.", "interaction_modal.title.favourite": "Cuir am post aig {name} ris na h-annsachdan", - "interaction_modal.title.follow": "Lean air {name}", + "interaction_modal.title.follow": "Lean {name}", "interaction_modal.title.reblog": "Brosnaich am post aig {name}", "interaction_modal.title.reply": "Freagair dhan phost aig {name}", "intervals.full.days": "{number, plural, one {# latha} two {# latha} few {# làithean} other {# latha}}", @@ -350,18 +350,18 @@ "lists.edit.submit": "Atharraich an tiotal", "lists.new.create": "Cuir liosta ris", "lists.new.title_placeholder": "Tiotal na liosta ùir", - "lists.replies_policy.followed": "Cleachdaiche sam bith air a leanas mi", + "lists.replies_policy.followed": "Cleachdaiche sam bith a leanas mi", "lists.replies_policy.list": "Buill na liosta", "lists.replies_policy.none": "Na seall idir", "lists.replies_policy.title": "Seall na freagairtean gu:", - "lists.search": "Lorg am measg nan daoine air a leanas tu", + "lists.search": "Lorg am measg nan daoine a leanas tu", "lists.subheading": "Na liostaichean agad", "load_pending": "{count, plural, one {# nì ùr} two {# nì ùr} few {# nithean ùra} other {# nì ùr}}", "loading_indicator.label": "’Ga luchdadh…", "media_gallery.toggle_visible": "{number, plural, 1 {Falaich an dealbh} one {Falaich na dealbhan} two {Falaich na dealbhan} few {Falaich na dealbhan} other {Falaich na dealbhan}}", "missing_indicator.label": "Cha deach càil a lorg", "missing_indicator.sublabel": "Cha deach an goireas a lorg", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Tha an cunntas {disabledAccount} agad à comas on a rinn thu imrich gu {movedToAccount}.", "mute_modal.duration": "Faide", "mute_modal.hide_notifications": "A bheil thu airson na brathan fhalach on chleachdaiche seo?", "mute_modal.indefinite": "Gun chrìoch", @@ -392,8 +392,8 @@ "notification.admin.report": "Rinn {name} mu {target}", "notification.admin.sign_up": "Chlàraich {name}", "notification.favourite": "Is annsa le {name} am post agad", - "notification.follow": "Tha {name} a’ leantainn ort a-nis", - "notification.follow_request": "Dh’iarr {name} leantainn ort", + "notification.follow": "Tha {name} ’gad leantainn a-nis", + "notification.follow_request": "Dh’iarr {name} ’gad leantainn", "notification.mention": "Thug {name} iomradh ort", "notification.own_poll": "Thàinig an cunntas-bheachd agad gu crìoch", "notification.poll": "Thàinig cunntas-bheachd sa bhòt thu gu crìoch", @@ -424,10 +424,10 @@ "notifications.filter.all": "Na h-uile", "notifications.filter.boosts": "Brosnachaidhean", "notifications.filter.favourites": "Na h-annsachdan", - "notifications.filter.follows": "A’ leantainn air", + "notifications.filter.follows": "A’ leantainn", "notifications.filter.mentions": "Iomraidhean", "notifications.filter.polls": "Toraidhean cunntais-bheachd", - "notifications.filter.statuses": "Naidheachdan nan daoine air a leanas tu", + "notifications.filter.statuses": "Naidheachdan nan daoine a leanas tu", "notifications.grant_permission": "Thoir cead.", "notifications.group": "Brathan ({count})", "notifications.mark_as_read": "Cuir comharra gun deach gach brath a leughadh", @@ -450,7 +450,7 @@ "privacy.change": "Cuir gleus air prìobhaideachd a’ phuist", "privacy.direct.long": "Chan fhaic ach na cleachdaichean le iomradh orra seo", "privacy.direct.short": "An fheadhainn le iomradh orra a-mhàin", - "privacy.private.long": "Chan fhaic ach na daoine a tha a’ leantainn ort seo", + "privacy.private.long": "Chan fhaic ach na daoine a tha ’gad leantainn seo", "privacy.private.short": "Luchd-leantainn a-mhàin", "privacy.public.long": "Chì a h-uile duine e", "privacy.public.short": "Poblach", @@ -474,7 +474,7 @@ "relative_time.today": "an-diugh", "reply_indicator.cancel": "Sguir dheth", "report.block": "Bac", - "report.block_explanation": "Chan fhaic thu na postaichean aca. Chan fhaic iad na postaichean agad is chan urrainn dhaibh leantainn ort. Mothaichidh iad gun deach am bacadh.", + "report.block_explanation": "Chan fhaic thu na postaichean aca. Chan fhaic iad na postaichean agad is chan urrainn dhaibh ’gad leantainn. Mothaichidh iad gun deach am bacadh.", "report.categories.other": "Eile", "report.categories.spam": "Spama", "report.categories.violation": "Tha an t-susbaint a’ briseadh riaghailt no dhà an fhrithealaiche", @@ -487,7 +487,7 @@ "report.forward": "Sìn air adhart gu {target}", "report.forward_hint": "Chaidh an cunntas a chlàradh air frithealaiche eile. A bheil thu airson lethbhreac dhen ghearan a chur dha-san gun ainm cuideachd?", "report.mute": "Mùch", - "report.mute_explanation": "Chan fhaic thu na postaichean aca. Chì iad na postaichean agad agus ’s urrainn dhaibh leantainn ort fhathast. Cha bhi fios aca gun deach am mùchadh.", + "report.mute_explanation": "Chan fhaic thu na postaichean aca. Chì iad na postaichean agad agus ’s urrainn dhaibh ’gad leantainn fhathast. Cha bhi fios aca gun deach am mùchadh.", "report.next": "Air adhart", "report.placeholder": "Beachdan a bharrachd", "report.reasons.dislike": "Cha toigh leam e", @@ -508,8 +508,8 @@ "report.thanks.take_action_actionable": "Fhad ’s a bhios sinn a’ toirt sùil air, seo nas urrainn dhut dèanamh an aghaidh @{name}:", "report.thanks.title": "Nach eil thu airson seo fhaicinn?", "report.thanks.title_actionable": "Mòran taing airson a’ ghearain, bheir sinn sùil air.", - "report.unfollow": "Na lean air @{name} tuilleadh", - "report.unfollow_explanation": "Tha thu a’ leantainn air a’ chunntas seo. Sgur de leantainn orra ach nach fhaic thu na puist aca nad dhachaigh.", + "report.unfollow": "Na lean @{name} tuilleadh", + "report.unfollow_explanation": "Tha thu a’ leantainn a’ chunntais seo. Sgur dhen leantainn ach nach fhaic thu na puist aca nad dhachaigh.", "report_notification.attached_statuses": "Tha {count, plural, one {{counter} phost} two {{counter} phost} few {{counter} postaichean} other {{counter} post}} ceangailte ris", "report_notification.categories.other": "Eile", "report_notification.categories.spam": "Spama", @@ -539,7 +539,7 @@ "server_banner.server_stats": "Stadastaireachd an fhrithealaiche:", "sign_in_banner.create_account": "Cruthaich cunntas", "sign_in_banner.sign_in": "Clàraich a-steach", - "sign_in_banner.text": "Clàraich a-steach a leantainn air pròifilean no tagaichean hais, a’ cur postaichean ris na h-annsachdan ’s ’gan co-roinneadh is freagairt dhaibh no gabh gnìomh le cunntas o fhrithealaiche eile.", + "sign_in_banner.text": "Clàraich a-steach a leantainn phròifilean no thagaichean hais, a’ cur postaichean ris na h-annsachdan ’s ’gan co-roinneadh is freagairt dhaibh no gabh gnìomh le cunntas o fhrithealaiche eile.", "status.admin_account": "Fosgail eadar-aghaidh na maorsainneachd dha @{name}", "status.admin_status": "Fosgail am post seo ann an eadar-aghaidh na maorsainneachd", "status.block": "Bac @{name}", @@ -609,7 +609,7 @@ "time_remaining.seconds": "{number, plural, one {# diog} two {# dhiog} few {# diogan} other {# diog}} air fhàgail", "timeline_hint.remote_resource_not_displayed": "Cha dèid {resource} o fhrithealaichean eile a shealltainn.", "timeline_hint.resources.followers": "Luchd-leantainn", - "timeline_hint.resources.follows": "A’ leantainn air", + "timeline_hint.resources.follows": "A’ leantainn", "timeline_hint.resources.statuses": "Postaichean nas sine", "trends.counter_by_accounts": "{count, plural, one {{counter} neach} two {{counter} neach} few {{counter} daoine} other {{counter} duine}} {days, plural, one {san {days} latha} two {san {days} latha} few {sna {days} làithean} other {sna {days} latha}} seo chaidh", "trends.trending_now": "A’ treandadh an-dràsta", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index bbf0cd98411..6a9260064c7 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Seguindo} other {{counter} Seguindo}}", "account.follows.empty": "Esta usuaria aínda non segue a ninguén.", "account.follows_you": "Séguete", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Ir ao perfil", "account.hide_reblogs": "Agochar repeticións de @{name}", "account.joined_short": "Uniuse", "account.languages": "Modificar os idiomas subscritos", @@ -182,14 +182,14 @@ "directory.local": "Só de {domain}", "directory.new_arrivals": "Recén chegadas", "directory.recently_active": "Activas recentemente", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Axustes da conta", + "disabled_account_banner.text": "Actualmente a túa conta {disabledAccount} está desactivada.", "dismissable_banner.community_timeline": "Estas son as publicacións máis recentes das persoas que teñen a súa conta en {domain}.", "dismissable_banner.dismiss": "Desbotar", "dismissable_banner.explore_links": "As persoas deste servidor e da rede descentralizada están a falar destas historias agora mesmo.", - "dismissable_banner.explore_statuses": "Está aumentando a popularidade destas publicacións no servidor e a rede descentralizada.", - "dismissable_banner.explore_tags": "Estes cancelos están gañando popularidade entre as persoas deste servidor e outros servidores da rede descentralizada.", - "dismissable_banner.public_timeline": "Estas son as publicacións máis recentes das persoas deste servidor e outros servidores da rede descentralizada cos que está conectado.", + "dismissable_banner.explore_statuses": "Está aumentando a popularidade destas publicacións no servidor e na rede descentralizada.", + "dismissable_banner.explore_tags": "Estes cancelos están gañando popularidade entre as persoas deste servidor e noutros servidores da rede descentralizada.", + "dismissable_banner.public_timeline": "Estas son as publicacións máis recentes das persoas deste servidor e noutros servidores da rede descentralizada cos que está conectado.", "embed.instructions": "Engade esta publicación ó teu sitio web copiando o seguinte código.", "embed.preview": "Así será mostrado:", "emoji_button.activity": "Actividade", @@ -264,7 +264,7 @@ "follow_requests.unlocked_explanation": "Malia que a túa conta non é privada, a administración de {domain} pensou que quizabes terías que revisar de xeito manual as solicitudes de seguiminto.", "footer.about": "Acerca de", "footer.directory": "Directorio de perfís", - "footer.get_app": "Obtén a app", + "footer.get_app": "Descarga a app", "footer.invite": "Convidar persoas", "footer.keyboard_shortcuts": "Atallos do teclado", "footer.privacy_policy": "Política de privacidade", @@ -287,14 +287,14 @@ "home.column_settings.show_replies": "Amosar respostas", "home.hide_announcements": "Agochar anuncios", "home.show_announcements": "Amosar anuncios", - "interaction_modal.description.favourite": "Cunha conta en Mastodon, poderá marcar esta publicación como favorita, para gardalo e para que o autor saiba o moito que lle gustou.", - "interaction_modal.description.follow": "Cunha conta en Mastodon, poderá seguir {name} e recibir as súas publicacións na súa cronoloxía de inicio.", - "interaction_modal.description.reblog": "Cunha conta en Mastodon, poderá difundir esta publicación e compartila cos seus seguidores.", - "interaction_modal.description.reply": "Cunha conta en Mastodon, poderá responder a esta publicación.", + "interaction_modal.description.favourite": "Cunha conta en Mastodon, poderás marcar esta publicación como favorita, para gardalo e para que o autor saiba o moito que lle gustou.", + "interaction_modal.description.follow": "Cunha conta en Mastodon, poderás seguir a {name} e recibir as súas publicacións na túa cronoloxía de inicio.", + "interaction_modal.description.reblog": "Cunha conta en Mastodon, poderás promover esta publicación para compartila con quen te siga.", + "interaction_modal.description.reply": "Cunha conta en Mastodon, poderás responder a esta publicación.", "interaction_modal.on_another_server": "Nun servidor diferente", "interaction_modal.on_this_server": "Neste servidor", - "interaction_modal.other_server_instructions": "Só ten que copiar e pegar este URL na barra de procuras da súa aplicación favorita, ou da interface web na que teña unha sesión iniciada.", - "interaction_modal.preamble": "Como Mastodon é descentralizado, é posible usar unha conta existente noutro servidor Mastodon, ou nunha plataforma compatible, se non dispoñe dunha conta neste servidor.", + "interaction_modal.other_server_instructions": "Só tes que copiar e pegar este URL na barra de procuras da túa aplicación favorita, ou da interface web na que teñas unha sesión iniciada.", + "interaction_modal.preamble": "Como Mastodon é descentralizado, é posible usar unha conta existente noutro servidor Mastodon, ou nunha plataforma compatible, se non dispós dunha conta neste servidor.", "interaction_modal.title.favourite": "Marcar coma favorito a publicación de {name}", "interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.reblog": "Promover a publicación de {name}", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Agochar {number, plural, one {imaxe} other {imaxes}}", "missing_indicator.label": "Non atopado", "missing_indicator.sublabel": "Este recurso non foi atopado", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "A túa conta {disabledAccount} está actualmente desactivada porque movéchela a {movedToAccount}.", "mute_modal.duration": "Duración", "mute_modal.hide_notifications": "Agochar notificacións desta usuaria?", "mute_modal.indefinite": "Indefinida", @@ -450,7 +450,7 @@ "privacy.change": "Axustar privacidade", "privacy.direct.long": "Só para as usuarias mencionadas", "privacy.direct.short": "Só persoas mencionadas", - "privacy.private.long": "Só para os seguidoras", + "privacy.private.long": "Só para persoas que te seguen", "privacy.private.short": "Só para seguidoras", "privacy.public.long": "Visible por todas", "privacy.public.short": "Público", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 363a9c3e56c..644574f387b 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -1,9 +1,9 @@ { "about.blocks": "שרתים מוגבלים", - "about.contact": "Contact:", + "about.contact": "יצירת קשר:", "about.disclaimer": "מסטודון היא תוכנת קוד פתוח חינמית וסימן מסחרי של Mastodon gGmbH.", "about.domain_blocks.comment": "סיבה", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.domain": "שם מתחם", "about.domain_blocks.preamble": "ככלל מסטודון מאפשרת לך לצפות בתוכן ולתקשר עם משתמשים מכל שרת בפדיברס. אלו הם היוצאים מן הכלל שהוגדרו עבור השרת המסוים הזה.", "about.domain_blocks.severity": "חומרה", "about.domain_blocks.silenced.explanation": "ככלל פרופילים ותוכן משרת זה לא יוצגו, אלא אם חיפשת אותם באופן מפורש או בחרת להשתתף בו על ידי מעקב.", @@ -28,9 +28,9 @@ "account.edit_profile": "עריכת פרופיל", "account.enable_notifications": "שלח לי התראות כש@{name} מפרסם", "account.endorse": "קדם את החשבון בפרופיל", - "account.featured_tags.last_status_at": "Last post on {date}", - "account.featured_tags.last_status_never": "No posts", - "account.featured_tags.title": "{name}'s featured hashtags", + "account.featured_tags.last_status_at": "הודעה אחרונה בתאריך {date}", + "account.featured_tags.last_status_never": "אין הודעות", + "account.featured_tags.title": "התגיות המועדפות של {name}", "account.follow": "עקוב", "account.followers": "עוקבים", "account.followers.empty": "אף אחד לא עוקב אחר המשתמש הזה עדיין.", @@ -39,25 +39,25 @@ "account.following_counter": "{count, plural,one {עוקב אחרי {counter}}other {עוקב אחרי {counter}}}", "account.follows.empty": "משתמש זה לא עוקב אחר אף אחד עדיין.", "account.follows_you": "במעקב אחריך", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "מעבר לפרופיל", "account.hide_reblogs": "להסתיר הידהודים מאת @{name}", - "account.joined_short": "Joined", - "account.languages": "Change subscribed languages", + "account.joined_short": "תאריך הצטרפות", + "account.languages": "שנה שפת הרשמה", "account.link_verified_on": "בעלות על הקישור הזה נבדקה לאחרונה ב{date}", "account.locked_info": "מצב הפרטיות של החשבון הנוכחי הוגדר כנעול. בעל החשבון קובע באופן פרטני מי יכול לעקוב אחריו.", "account.media": "מדיה", "account.mention": "אזכור של @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "{name} ציינו שהחשבון החדש שלהם הוא:", "account.mute": "להשתיק את @{name}", "account.mute_notifications": "להסתיר התראות מ @{name}", "account.muted": "מושתק", "account.posts": "פוסטים", - "account.posts_with_replies": "פוסטים ותגובות", + "account.posts_with_replies": "הודעות ותגובות", "account.report": "דווח על @{name}", "account.requested": "בהמתנה לאישור. לחצי כדי לבטל בקשת מעקב", "account.share": "שתף את הפרופיל של @{name}", "account.show_reblogs": "הצג הדהודים מאת @{name}", - "account.statuses_counter": "{count, plural, one {{counter} פוסט} two {{counter} פוסטים} many {{counter} פוסטים} other {{counter} פוסטים}}", + "account.statuses_counter": "{count, plural, one {הודעה} two {הודעותיים} many {{count} הודעות} other {{count} הודעות}}", "account.unblock": "הסר את החסימה של @{name}", "account.unblock_domain": "הסירי את החסימה של קהילת {domain}", "account.unblock_short": "הסר חסימה", @@ -81,24 +81,24 @@ "audio.hide": "השתק", "autosuggest_hashtag.per_week": "{count} לשבוע", "boost_modal.combo": "ניתן להקיש {combo} כדי לדלג בפעם הבאה", - "bundle_column_error.copy_stacktrace": "Copy error report", - "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", - "bundle_column_error.error.title": "Oh, no!", - "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", - "bundle_column_error.network.title": "Network error", + "bundle_column_error.copy_stacktrace": "העתקת הודעת התקלה", + "bundle_column_error.error.body": "הדף המבוקש אינו זמין. זה עשוי להיות באג בקוד או בעייה בתאימות הדפדפן.", + "bundle_column_error.error.title": "הו, לא!", + "bundle_column_error.network.body": "קרתה תקלה בעת טעינת העמוד. זו עשויה להיות תקלה זמנית בשרת או בחיבור האינטרנט שלך.", + "bundle_column_error.network.title": "שגיאת רשת", "bundle_column_error.retry": "לנסות שוב", - "bundle_column_error.return": "Go back home", - "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", + "bundle_column_error.return": "חזרה לדף הבית", + "bundle_column_error.routing.body": "העמוד המבוקש לא נמצא. האם ה־URL נכון?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "לסגור", "bundle_modal_error.message": "משהו השתבש בעת טעינת הרכיב הזה.", "bundle_modal_error.retry": "לנסות שוב", - "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", - "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "closed_registrations.other_server_instructions": "מכיוון שמסטודון הוא רשת מבוזרת, ניתן ליצור חשבון על שרת נוסף ועדיין לקיים קשר עם משתמשים בשרת זה.", + "closed_registrations_modal.description": "יצירת חשבון על שרת {domain} איננה אפשרית כרגע, אבל זכרו שאינכן זקוקות לחשבון על {domain} כדי להשתמש במסטודון.", + "closed_registrations_modal.find_another_server": "חיפוש שרת אחר", + "closed_registrations_modal.preamble": "מסטודון הוא רשת מבוזרת, כך שלא משנה היכן החשבון שלך, קיימת האפשרות לעקוב ולתקשר עם משתמשים בשרת הזה. אפשר אפילו להריץ שרת בעצמך!", + "closed_registrations_modal.title": "להרשם למסטודון", + "column.about": "אודות", "column.blocks": "משתמשים חסומים", "column.bookmarks": "סימניות", "column.community": "פיד שרת מקומי", @@ -124,11 +124,11 @@ "community.column_settings.local_only": "מקומי בלבד", "community.column_settings.media_only": "מדיה בלבד", "community.column_settings.remote_only": "מרוחק בלבד", - "compose.language.change": "שינוי שפת הפוסט", + "compose.language.change": "שינוי שפת ההודעה", "compose.language.search": "חיפוש שפות...", "compose_form.direct_message_warning_learn_more": "מידע נוסף", - "compose_form.encryption_warning": "פוסטים במסטודון לא מוצפנים מקצה לקצה. אל תשתפו מידע רגיש במסטודון.", - "compose_form.hashtag_warning": "פוסט זה לא יירשם תחת תגי הקבצה (האשטאגים) היות והנראות שלו היא 'לא רשום'. רק פוסטים ציבוריים יכולים להימצא באמצעות תגי הקבצה.", + "compose_form.encryption_warning": "הודעות במסטודון לא מוצפנות מקצה לקצה. אל תשתפו מידע רגיש במסטודון.", + "compose_form.hashtag_warning": "הודעה זו לא תרשם תחת תגיות הקבצה (האשטאגים) היות והנראות שלה היא 'לא רשום'. רק הודעות ציבוריות יכולות להימצא באמצעות תגיות הקבצה.", "compose_form.lock_disclaimer": "חשבונך אינו {locked}. כל אחד יוכל לעקוב אחריך כדי לקרוא את הודעותיך המיועדות לעוקבים בלבד.", "compose_form.lock_disclaimer.lock": "נעול", "compose_form.placeholder": "על מה את/ה חושב/ת ?", @@ -139,7 +139,7 @@ "compose_form.poll.switch_to_multiple": "אפשרו בחירה מרובה בסקר", "compose_form.poll.switch_to_single": "אפשרו בחירה בודדת בסקר", "compose_form.publish": "פרסום", - "compose_form.publish_loud": "לחצרץ!", + "compose_form.publish_loud": "{publish}!", "compose_form.save_changes": "שמירת שינויים", "compose_form.sensitive.hide": "{count, plural, one {סימון מידע כרגיש} other {סימון מידע כרגיש}}", "compose_form.sensitive.marked": "{count, plural, one {מידע מסומן כרגיש} other {מידע מסומן כרגיש}}", @@ -151,8 +151,8 @@ "confirmations.block.block_and_report": "לחסום ולדווח", "confirmations.block.confirm": "לחסום", "confirmations.block.message": "האם את/ה בטוח/ה שברצונך למחוק את \"{name}\"?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "ויתור על בקשה", + "confirmations.cancel_follow_request.message": "האם באמת לוותר על בקשת המעקב אחרי {name}?", "confirmations.delete.confirm": "למחוק", "confirmations.delete.message": "בטוח/ה שאת/ה רוצה למחוק את ההודעה?", "confirmations.delete_list.confirm": "למחוק", @@ -164,10 +164,10 @@ "confirmations.logout.confirm": "להתנתק", "confirmations.logout.message": "האם אתם בטוחים שאתם רוצים להתנתק?", "confirmations.mute.confirm": "להשתיק", - "confirmations.mute.explanation": "זה יסתיר פוסטים שלהם ופוסטים שמאזכרים אותם, אבל עדיין יתיר להם לראות פוסטים שלך ולעקוב אחריך.", + "confirmations.mute.explanation": "זה יסתיר הודעות שלהם והודעות שמאזכרות אותם, אבל עדיין יתיר להם לראות הודעות שלך ולעקוב אחריך.", "confirmations.mute.message": "בטוח/ה שברצונך להשתיק את {name}?", "confirmations.redraft.confirm": "מחיקה ועריכה מחדש", - "confirmations.redraft.message": "בטוחה שאת רוצה למחוק ולהתחיל טיוטה חדשה? חיבובים והדהודים יאבדו, ותגובות לפוסט המקורי ישארו יתומות.", + "confirmations.redraft.message": "בטוחה שאת רוצה למחוק ולהתחיל טיוטה חדשה? חיבובים והדהודים יאבדו, ותגובות להודעה המקורית ישארו יתומות.", "confirmations.reply.confirm": "תגובה", "confirmations.reply.message": "תגובה עכשיו תדרוס את ההודעה שכבר התחלתים לכתוב. האם אתם בטוחים שברצונכם להמשיך?", "confirmations.unfollow.confirm": "הפסקת מעקב", @@ -176,21 +176,21 @@ "conversation.mark_as_read": "סמן כנקרא", "conversation.open": "צפו בשיחה", "conversation.with": "עם {names}", - "copypaste.copied": "Copied", - "copypaste.copy": "Copy", + "copypaste.copied": "הועתק", + "copypaste.copy": "העתקה", "directory.federated": "מהפדרציה הידועה", "directory.local": "מ- {domain} בלבד", "directory.new_arrivals": "חדשים כאן", "directory.recently_active": "פעילים לאחרונה", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", - "dismissable_banner.dismiss": "Dismiss", - "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", - "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", - "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", - "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", - "embed.instructions": "ניתן להטמיע את הפוסט הזה באתרך ע\"י העתקת הקוד שלהלן.", + "disabled_account_banner.account_settings": "הגדרות חשבון", + "disabled_account_banner.text": "חשבונך {disabledAccount} אינו פעיל כרגע.", + "dismissable_banner.community_timeline": "אלו הם ההודעות הציבוריות האחרונות מהמשתמשים על שרת {domain}.", + "dismissable_banner.dismiss": "בטל", + "dismissable_banner.explore_links": "אלו סיפורי החדשות האחרונים שמדוברים על ידי משתמשים בשרת זה ואחרים ברשת המבוזרת כרגע.", + "dismissable_banner.explore_statuses": "ההודעות האלו, משרת זה ואחרים ברשת המבוזרת, כרגע צוברות חשיפה.", + "dismissable_banner.explore_tags": "התגיות האלו, משרת זה ואחרים ברשת המבוזרת, כרגע צוברות חשיפה.", + "dismissable_banner.public_timeline": "אלו הם ההודעות הציבוריות האחרונות מהמשתמשים משרת זה ואחרים ברשת המבוזרת ששרת זה יודע עליהן.", + "embed.instructions": "ניתן להטמיע את ההודעה הזו באתרך ע\"י העתקת הקוד שלהלן.", "embed.preview": "דוגמא כיצד זה יראה:", "emoji_button.activity": "פעילות", "emoji_button.clear": "ניקוי", @@ -208,22 +208,22 @@ "emoji_button.symbols": "סמלים", "emoji_button.travel": "טיולים ואתרים", "empty_column.account_suspended": "חשבון מושהה", - "empty_column.account_timeline": "אין עדיין אף פוסט!", + "empty_column.account_timeline": "אין עדיין אף הודעה!", "empty_column.account_unavailable": "פרופיל לא זמין", "empty_column.blocks": "עדיין לא חסמתם משתמשים אחרים.", - "empty_column.bookmarked_statuses": "אין עדיין פוסטים שחיבבת. כשתחבב את הראשון, הוא יופיע כאן.", + "empty_column.bookmarked_statuses": "אין עדיין הודעות שחיבבת. כשתחבב את הראשונה, היא תופיע כאן.", "empty_column.community": "פיד השרת המקומי ריק. יש לפרסם משהו כדי שדברים יתרחילו להתגלגל!", "empty_column.direct": "אין לך שום הודעות פרטיות עדיין. כשתשלחו או תקבלו אחת, היא תופיע כאן.", "empty_column.domain_blocks": "אין עדיין קהילות מוסתרות.", "empty_column.explore_statuses": "אין נושאים חמים כרגע. אולי אחר כך!", - "empty_column.favourited_statuses": "אין עדיין פוסטים שחיבבת. כשתחבב את הראשון, הוא יופיע כאן.", - "empty_column.favourites": "עוד לא חיבבו את הפוסט הזה. כאשר זה יקרה, החיבובים יופיעו כאן.", + "empty_column.favourited_statuses": "אין עדיין הודעות שחיבבת. כשתחבב את הראשונה, היא תופיע כאן.", + "empty_column.favourites": "עוד לא חיבבו את ההודעה הזו. כאשר זה יקרה, החיבובים יופיעו כאן.", "empty_column.follow_recommendations": "נראה שלא ניתן לייצר המלצות עבורך. נסה/י להשתמש בחיפוש כדי למצוא אנשים מוכרים או לבדוק את הנושאים החמים.", "empty_column.follow_requests": "אין לך שום בקשות מעקב עדיין. לכשיתקבלו כאלה, הן תופענה כאן.", "empty_column.hashtag": "אין כלום בהאשתג הזה עדיין.", "empty_column.home": "פיד הבית ריק ! אפשר לבקר ב{public} או להשתמש בחיפוש כדי להתחיל ולהכיר משתמשים/ות אחרים/ות. {suggestions}", "empty_column.home.suggestions": "ראה/י כמה הצעות", - "empty_column.list": "אין עדיין פריטים ברשימה. כאשר חברים ברשימה הזאת יפרסמו פוסטים חדשים, הם יופיעו פה.", + "empty_column.list": "אין עדיין פריטים ברשימה. כאשר חברים ברשימה הזאת יפרסמו הודעות חדשות, הן יופיעו פה.", "empty_column.lists": "אין לך שום רשימות עדיין. לכשיהיו, הן תופענה כאן.", "empty_column.mutes": "עוד לא השתקת שום משתמש.", "empty_column.notifications": "אין התראות עדיין. יאללה, הגיע הזמן להתחיל להתערבב.", @@ -238,37 +238,37 @@ "explore.suggested_follows": "עבורך", "explore.title": "סיור", "explore.trending_links": "חדשות", - "explore.trending_statuses": "פוסטים", + "explore.trending_statuses": "הודעות", "explore.trending_tags": "האשטאגים", - "filter_modal.added.context_mismatch_explanation": "קטגוריית הפילטר הזאת לא חלה על ההקשר שממנו הגעת אל הפוסט הזה. אם תרצה/י שהפוסט יסונן גם בהקשר זה, תצטרך/י לערוך את הפילטר.", + "filter_modal.added.context_mismatch_explanation": "קטגוריית הסנן הזאת לא חלה על ההקשר שממנו הגעת אל ההודעה הזו. אם תרצה/י שההודעה תסונן גם בהקשר זה, תצטרך/י לערוך את הסנן.", "filter_modal.added.context_mismatch_title": "אין התאמה להקשר!", "filter_modal.added.expired_explanation": "פג תוקפה של קטגוריית הסינון הזו, יש צורך לשנות את תאריך התפוגה כדי שהסינון יוחל.", "filter_modal.added.expired_title": "פג תוקף הפילטר!", "filter_modal.added.review_and_configure": "לסקירה והתאמה מתקדמת של קטגוריית הסינון הזו, לכו ל{settings_link}.", "filter_modal.added.review_and_configure_title": "אפשרויות סינון", "filter_modal.added.settings_link": "דף הגדרות", - "filter_modal.added.short_explanation": "הפוסט הזה הוסף לקטגוריית הסינון הזו: {title}.", + "filter_modal.added.short_explanation": "ההודעה הזו הוספה לקטגוריית הסינון הזו: {title}.", "filter_modal.added.title": "הפילטר הוסף!", "filter_modal.select_filter.context_mismatch": "לא חל בהקשר זה", "filter_modal.select_filter.expired": "פג התוקף", "filter_modal.select_filter.prompt_new": "קטגוריה חדשה {name}", "filter_modal.select_filter.search": "חיפוש או יצירה", "filter_modal.select_filter.subtitle": "שימוש בקטגורייה קיימת או יצירת אחת חדשה", - "filter_modal.select_filter.title": "סינון הפוסט הזה", - "filter_modal.title.status": "סנן פוסט", + "filter_modal.select_filter.title": "סינון ההודעה הזו", + "filter_modal.title.status": "סנן הודעה", "follow_recommendations.done": "בוצע", - "follow_recommendations.heading": "עקב/י אחרי אנשים שתרצה/י לראות את חצרוציהם! הנה כמה הצעות.", - "follow_recommendations.lead": "חצרוצים מאנשים במעקב יופיעו בסדר כרונולוגי בפיד הבית. אל תחששו מטעויות, אפשר להסיר מעקב באותה הקלות ובכל זמן!", + "follow_recommendations.heading": "עקב/י אחרי אנשים שתרצה/י לראות את הודעותיהם! הנה כמה הצעות.", + "follow_recommendations.lead": "הודעות מאנשים במעקב יופיעו בסדר כרונולוגי בפיד הבית. אל תחששו מטעויות, אפשר להסיר מעקב באותה הקלות ובכל זמן!", "follow_request.authorize": "הרשאה", "follow_request.reject": "דחיה", "follow_requests.unlocked_explanation": "למרות שחשבונך אינו נעול, צוות {domain} חושב שאולי כדאי לוודא את בקשות המעקב האלה ידנית.", - "footer.about": "About", - "footer.directory": "Profiles directory", - "footer.get_app": "Get the app", - "footer.invite": "Invite people", - "footer.keyboard_shortcuts": "Keyboard shortcuts", - "footer.privacy_policy": "Privacy policy", - "footer.source_code": "View source code", + "footer.about": "אודות", + "footer.directory": "מדריך פרופילים", + "footer.get_app": "להתקנת היישומון", + "footer.invite": "להזמין אנשים", + "footer.keyboard_shortcuts": "קיצורי מקלדת", + "footer.privacy_policy": "מדיניות פרטיות", + "footer.source_code": "צפיה בקוד המקור", "generic.saved": "נשמר", "getting_started.heading": "בואו נתחיל", "hashtag.column_header.tag_mode.all": "ו- {additional}", @@ -287,18 +287,18 @@ "home.column_settings.show_replies": "הצגת תגובות", "home.hide_announcements": "הסתר הכרזות", "home.show_announcements": "הצג הכרזות", - "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", - "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", - "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", - "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", - "interaction_modal.on_another_server": "On a different server", - "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", - "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", - "interaction_modal.title.favourite": "Favourite {name}'s post", - "interaction_modal.title.follow": "Follow {name}", - "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.description.favourite": "עם חשבון מסטודון, ניתן לחבב את ההודעה כדי לומר למחבר/ת שהערכת את תוכנה או כדי לשמור אותה לקריאה בעתיד.", + "interaction_modal.description.follow": "עם חשבון מסטודון, ניתן לעקוב אחרי {name} כדי לקבל את הםוסטים שלו/ה בפיד הבית.", + "interaction_modal.description.reblog": "עם חשבון מסטודון, ניתן להדהד את ההודעה ולשתף עם עוקבים.", + "interaction_modal.description.reply": "עם חשבון מסטודון, ניתן לענות להודעה.", + "interaction_modal.on_another_server": "על שרת אחר", + "interaction_modal.on_this_server": "על שרת זה", + "interaction_modal.other_server_instructions": "פשוט להעתיק ולהדביק את ה־URL לחלונית החיפוש ביישום או הדפדפן ממנו התחברת.", + "interaction_modal.preamble": "כיוון שמסטודון מבוזרת, תוכל/י להשתמש בחשבון שלך משרתי מסטודון או רשתות תואמות אחרות אם אין לך חשבון על שרת זה.", + "interaction_modal.title.favourite": "חיבוב ההודעה של {name}", + "interaction_modal.title.follow": "לעקוב אחרי {name}", + "interaction_modal.title.reblog": "להדהד את ההודעה של {name}", + "interaction_modal.title.reply": "תשובה להודעה של {name}", "intervals.full.days": "{number, plural, one {# יום} other {# ימים}}", "intervals.full.hours": "{number, plural, one {# שעה} other {# שעות}}", "intervals.full.minutes": "{number, plural, one {# דקה} other {# דקות}}", @@ -310,7 +310,7 @@ "keyboard_shortcuts.description": "תיאור", "keyboard_shortcuts.direct": "לפתיחת טור הודעות ישירות", "keyboard_shortcuts.down": "לנוע במורד הרשימה", - "keyboard_shortcuts.enter": "פתח פוסט", + "keyboard_shortcuts.enter": "פתח הודעה", "keyboard_shortcuts.favourite": "לחבב", "keyboard_shortcuts.favourites": "פתיחת רשימת מועדפים", "keyboard_shortcuts.federated": "פתיחת ציר זמן בין-קהילתי", @@ -324,16 +324,16 @@ "keyboard_shortcuts.my_profile": "פתיחת הפרופיל שלך", "keyboard_shortcuts.notifications": "פתיחת טור התראות", "keyboard_shortcuts.open_media": "פתיחת מדיה", - "keyboard_shortcuts.pinned": "פתיחת פוסטים נעוצים", + "keyboard_shortcuts.pinned": "פתיחת הודעה נעוצות", "keyboard_shortcuts.profile": "פתח את פרופיל המשתמש", - "keyboard_shortcuts.reply": "תגובה לפוסט", + "keyboard_shortcuts.reply": "תגובה להודעה", "keyboard_shortcuts.requests": "פתיחת רשימת בקשות מעקב", "keyboard_shortcuts.search": "להתמקד בחלון החיפוש", "keyboard_shortcuts.spoilers": "הצגת/הסתרת שדה אזהרת תוכן (CW)", "keyboard_shortcuts.start": "לפתוח את הטור \"בואו נתחיל\"", "keyboard_shortcuts.toggle_hidden": "הצגת/הסתרת טקסט מוסתר מאחורי אזהרת תוכן", "keyboard_shortcuts.toggle_sensitivity": "הצגת/הסתרת מדיה", - "keyboard_shortcuts.toot": "להתחיל פוסט חדש", + "keyboard_shortcuts.toot": "להתחיל הודעה חדשה", "keyboard_shortcuts.unfocus": "לצאת מתיבת חיבור/חיפוש", "keyboard_shortcuts.up": "לנוע במעלה הרשימה", "lightbox.close": "סגירה", @@ -342,7 +342,7 @@ "lightbox.next": "הבא", "lightbox.previous": "הקודם", "limited_account_hint.action": "הצג חשבון בכל זאת", - "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", + "limited_account_hint.title": "פרופיל המשתמש הזה הוסתר על ידי המנחים של {domain}.", "lists.account.add": "הוסף לרשימה", "lists.account.remove": "הסר מרשימה", "lists.delete": "מחיקת רשימה", @@ -358,18 +358,18 @@ "lists.subheading": "הרשימות שלך", "load_pending": "{count, plural, one {# פריט חדש} other {# פריטים חדשים}}", "loading_indicator.label": "טוען...", - "media_gallery.toggle_visible": "{number, plural, one {להסתיר תמונה} two {Hide images} many {להסתיר תמונות} other {Hide תמונות}}", + "media_gallery.toggle_visible": "{number, plural, one {להסתיר תמונה} two {להסתיר תמונותיים} many {להסתיר תמונות} other {להסתיר תמונות}}", "missing_indicator.label": "לא נמצא", "missing_indicator.sublabel": "לא ניתן היה למצוא את המשאב", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "חשבונך {disabledAccount} אינו פעיל כרגע עקב מעבר ל{movedToAccount}.", "mute_modal.duration": "משך הזמן", "mute_modal.hide_notifications": "להסתיר התראות מחשבון זה?", "mute_modal.indefinite": "ללא תאריך סיום", - "navigation_bar.about": "About", + "navigation_bar.about": "אודות", "navigation_bar.blocks": "משתמשים חסומים", "navigation_bar.bookmarks": "סימניות", "navigation_bar.community_timeline": "פיד שרת מקומי", - "navigation_bar.compose": "צור פוסט חדש", + "navigation_bar.compose": "צור הודעה חדשה", "navigation_bar.direct": "הודעות ישירות", "navigation_bar.discover": "גלה", "navigation_bar.domain_blocks": "קהילות (שמות מתחם) חסומות", @@ -383,23 +383,23 @@ "navigation_bar.logout": "התנתקות", "navigation_bar.mutes": "משתמשים בהשתקה", "navigation_bar.personal": "אישי", - "navigation_bar.pins": "פוסטים נעוצים", + "navigation_bar.pins": "הודעות נעוצות", "navigation_bar.preferences": "העדפות", "navigation_bar.public_timeline": "פיד כללי (כל השרתים)", - "navigation_bar.search": "Search", + "navigation_bar.search": "חיפוש", "navigation_bar.security": "אבטחה", - "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", + "not_signed_in_indicator.not_signed_in": "יש להיות מאומת כדי לגשת למשאב זה.", "notification.admin.report": "{name} דיווח.ה על {target}", "notification.admin.sign_up": "{name} נרשמו", - "notification.favourite": "{name} חיבב/ה את הפוסט שלך", + "notification.favourite": "הודעתך חובבה על ידי {name}", "notification.follow": "{name} במעקב אחרייך", "notification.follow_request": "{name} ביקשו לעקוב אחריך", "notification.mention": "אוזכרת על ידי {name}", "notification.own_poll": "הסקר שלך הסתיים", "notification.poll": "סקר שהצבעת בו הסתיים", - "notification.reblog": "הפוסט הזה הודהד על ידי {name}", + "notification.reblog": "הודעתך הודהדה על ידי {name}", "notification.status": "{name} הרגע פרסמו", - "notification.update": "{name} ערכו פוסט", + "notification.update": "{name} ערכו הודעה", "notifications.clear": "הסרת התראות", "notifications.clear_confirmation": "להסיר את כל ההתראות לצמיתות ? ", "notifications.column_settings.admin.report": "דו\"חות חדשים", @@ -417,7 +417,7 @@ "notifications.column_settings.reblog": "הדהודים:", "notifications.column_settings.show": "הצגה בטור", "notifications.column_settings.sound": "שמע מופעל", - "notifications.column_settings.status": "פוסטים חדשים:", + "notifications.column_settings.status": "הודעות חדשות:", "notifications.column_settings.unread_notifications.category": "התראות שלא נקראו", "notifications.column_settings.unread_notifications.highlight": "הבלט התראות שלא נקראו", "notifications.column_settings.update": "שינויים:", @@ -456,8 +456,8 @@ "privacy.public.short": "פומבי", "privacy.unlisted.long": "גלוי לכל, אבל מוסתר מאמצעי גילוי", "privacy.unlisted.short": "לא רשום (לא לפיד הכללי)", - "privacy_policy.last_updated": "Last updated {date}", - "privacy_policy.title": "Privacy Policy", + "privacy_policy.last_updated": "עודכן לאחרונה {date}", + "privacy_policy.title": "מדיניות פרטיות", "refresh": "רענון", "regeneration_indicator.label": "טוען…", "regeneration_indicator.sublabel": "פיד הבית שלך בהכנה!", @@ -474,20 +474,20 @@ "relative_time.today": "היום", "reply_indicator.cancel": "ביטול", "report.block": "לחסום", - "report.block_explanation": "לא ניתן יהיה לראות את הפוסטים שלהן. הן לא יוכלו לראות את הפוסטים שלך או לעקוב אחריך. הם יוכלו לדעת שהם חסומים.", + "report.block_explanation": "לא ניתן יהיה לראות את ההודעות שלהן. הן לא יוכלו לראות את ההודעות שלך או לעקוב אחריך. הם יוכלו לדעת שהם חסומים.", "report.categories.other": "אחר", "report.categories.spam": "ספאם", "report.categories.violation": "התוכן מפר אחד או יותר מחוקי השרת", "report.category.subtitle": "בחר/י את המתאים ביותר", "report.category.title": "ספר/י לנו מה קורה עם ה-{type} הזה", "report.category.title_account": "פרופיל", - "report.category.title_status": "פוסט", + "report.category.title_status": "הודעה", "report.close": "בוצע", "report.comment.title": "האם יש דבר נוסף שלדעתך חשוב שנדע?", "report.forward": "קדם ל-{target}", "report.forward_hint": "חשבון זה הוא משרת אחר. האם לשלוח בנוסף עותק אנונימי לשם?", "report.mute": "להשתיק", - "report.mute_explanation": "לא ניתן יהיה לראות את הפוסטים. הם עדיין יוכלו לעקוב אחריך ולראות את הפוסטים שלך ולא ידעו שהם מושתקים.", + "report.mute_explanation": "לא ניתן יהיה לראות את ההודעות. הם עדיין יוכלו לעקוב אחריך ולראות את ההודעות שלך ולא ידעו שהם מושתקים.", "report.next": "הבא", "report.placeholder": "הערות נוספות", "report.reasons.dislike": "אני לא אוהב את זה", @@ -501,7 +501,7 @@ "report.rules.subtitle": "בחר/י את כל המתאימים", "report.rules.title": "אילו חוקים מופרים?", "report.statuses.subtitle": "בחר/י את כל המתאימים", - "report.statuses.title": "האם ישנם פוסטים התומכים בדיווח זה?", + "report.statuses.title": "האם ישנן הודעות התומכות בדיווח זה?", "report.submit": "שליחה", "report.target": "דיווח על {target}", "report.thanks.take_action": "הנה כמה אפשרויות לשליטה בתצוגת מסטודון:", @@ -510,43 +510,43 @@ "report.thanks.title_actionable": "תודה על הדיווח, נבדוק את העניין.", "report.unfollow": "הפסיקו לעקוב אחרי @{name}", "report.unfollow_explanation": "אתם עוקבים אחרי החשבון הזה. כדי להפסיק לראות את הפרסומים שלו בפיד הבית שלכם, הפסיקו לעקוב אחריהם.", - "report_notification.attached_statuses": "{count, plural, one {{count} פוסט} two {{count} posts} many {{count} פוסטים} other {{count} פוסטים}} מצורפים", + "report_notification.attached_statuses": "{count, plural, one {הודעה מצורפת} two {הודעותיים מצורפות} many {{count} הודעות מצורפות} other {{count} הודעות מצורפות}}", "report_notification.categories.other": "שונות", "report_notification.categories.spam": "ספאם (דואר זבל)", "report_notification.categories.violation": "הפרת כלל", "report_notification.open": "פתח דו\"ח", "search.placeholder": "חיפוש", - "search.search_or_paste": "Search or paste URL", + "search.search_or_paste": "חפש או הזן קישור", "search_popout.search_format": "מבנה חיפוש מתקדם", "search_popout.tips.full_text": "טקסט פשוט מחזיר פוסטים שכתבת, חיבבת, הידהדת או שאוזכרת בהם, כמו גם שמות משתמשים, שמות להצגה ותגיות מתאימים.", - "search_popout.tips.hashtag": "האשתג", - "search_popout.tips.status": "פוסט", + "search_popout.tips.hashtag": "תגית", + "search_popout.tips.status": "הודעה", "search_popout.tips.text": "טקסט פשוט מחזיר כינויים, שמות משתמש והאשתגים", "search_popout.tips.user": "משתמש(ת)", "search_results.accounts": "אנשים", "search_results.all": "כל התוצאות", - "search_results.hashtags": "האשתגיות", + "search_results.hashtags": "תגיות", "search_results.nothing_found": "לא נמצא דבר עבור תנאי חיפוש אלה", - "search_results.statuses": "פוסטים", - "search_results.statuses_fts_disabled": "חיפוש פוסטים לפי תוכן לא מאופשר בשרת מסטודון זה.", - "search_results.title": "Search for {q}", + "search_results.statuses": "הודעות", + "search_results.statuses_fts_disabled": "חיפוש הודעות לפי תוכן לא מאופשר בשרת מסטודון זה.", + "search_results.title": "חפש את: {q}", "search_results.total": "{count, number} {count, plural, one {תוצאה} other {תוצאות}}", - "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", - "server_banner.active_users": "active users", - "server_banner.administered_by": "Administered by:", - "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", - "server_banner.learn_more": "Learn more", - "server_banner.server_stats": "Server stats:", - "sign_in_banner.create_account": "Create account", - "sign_in_banner.sign_in": "Sign in", - "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", + "server_banner.about_active_users": "משתמשים פעילים בשרת ב־30 הימים האחרונים (משתמשים פעילים חודשיים)", + "server_banner.active_users": "משתמשים פעילים", + "server_banner.administered_by": "מנוהל ע\"י:", + "server_banner.introduction": "{domain} הוא שרת ברשת המבוזרת {mastodon}.", + "server_banner.learn_more": "מידע נוסף", + "server_banner.server_stats": "סטטיסטיקות שרת:", + "sign_in_banner.create_account": "יצירת חשבון", + "sign_in_banner.sign_in": "התחברות", + "sign_in_banner.text": "יש להתחבר כדי לעקוב אחרי משתמשים או תגיות, לחבב, לשתף ולענות להודעות, או לנהל תקשורת מהחשבון שלך על שרת אחר.", "status.admin_account": "פתח/י ממשק ניהול עבור @{name}", "status.admin_status": "Open this status in the moderation interface", "status.block": "חסימת @{name}", "status.bookmark": "סימניה", "status.cancel_reblog_private": "הסרת הדהוד", "status.cannot_reblog": "לא ניתן להדהד הודעה זו", - "status.copy": "העתק/י קישור לפוסט זה", + "status.copy": "העתק/י קישור להודעה זו", "status.delete": "מחיקה", "status.detailed_status": "תצוגת שיחה מפורטת", "status.direct": "הודעה ישירה ל@{name}", @@ -555,9 +555,9 @@ "status.edited_x_times": "נערך {count, plural, one {פעם {count}} other {{count} פעמים}}", "status.embed": "הטמעה", "status.favourite": "חיבוב", - "status.filter": "סנן פוסט זה", + "status.filter": "סנן הודעה זו", "status.filtered": "סונן", - "status.hide": "הסתר פוסט", + "status.hide": "הסתר הודעה", "status.history.created": "{name} יצר/ה {date}", "status.history.edited": "{name} ערך/ה {date}", "status.load_more": "עוד", @@ -566,17 +566,17 @@ "status.more": "עוד", "status.mute": "להשתיק את @{name}", "status.mute_conversation": "השתקת שיחה", - "status.open": "הרחבת פוסט זה", + "status.open": "הרחבת הודעה זו", "status.pin": "הצמדה לפרופיל שלי", - "status.pinned": "פוסט נעוץ", + "status.pinned": "הודעה נעוצה", "status.read_more": "לקרוא עוד", "status.reblog": "הדהוד", "status.reblog_private": "להדהד ברמת הנראות המקורית", "status.reblogged_by": "{name} הידהד/ה:", - "status.reblogs.empty": "עוד לא הידהדו את הפוסט הזה. כאשר זה יקרה, ההדהודים יופיעו כאן.", + "status.reblogs.empty": "עוד לא הידהדו את ההודעה הזו. כאשר זה יקרה, ההדהודים יופיעו כאן.", "status.redraft": "מחיקה ועריכה מחדש", "status.remove_bookmark": "הסרת סימניה", - "status.replied_to": "Replied to {name}", + "status.replied_to": "הגב לחשבון {name}", "status.reply": "תגובה", "status.replyAll": "תגובה לפתיל", "status.report": "דיווח על @{name}", @@ -587,15 +587,15 @@ "status.show_less_all": "להציג פחות מהכל", "status.show_more": "הראה יותר", "status.show_more_all": "להציג יותר מהכל", - "status.show_original": "Show original", - "status.translate": "Translate", - "status.translated_from_with": "Translated from {lang} using {provider}", + "status.show_original": "הצגת מקור", + "status.translate": "לתרגם", + "status.translated_from_with": "לתרגם משפה {lang} באמצעות {provider}", "status.uncached_media_warning": "לא זמין", "status.unmute_conversation": "הסרת השתקת שיחה", "status.unpin": "לשחרר מקיבוע באודות", - "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", - "subscribed_languages.save": "Save changes", - "subscribed_languages.target": "Change subscribed languages for {target}", + "subscribed_languages.lead": "רק הודעות בשפות הנבחרות יופיעו בפיד הבית וברשימות שלך אחרי השינוי. נקו את כל הבחירות כדי לראות את כל השפות.", + "subscribed_languages.save": "שמירת שינויים", + "subscribed_languages.target": "שינוי רישום שפה עבור {target}", "suggestions.dismiss": "להתעלם מהצעה", "suggestions.header": "ייתכן שזה יעניין אותך…", "tabs_bar.federated_timeline": "פיד כללי (בין-קהילתי)", @@ -610,8 +610,8 @@ "timeline_hint.remote_resource_not_displayed": "{resource} משרתים אחרים לא מוצגים.", "timeline_hint.resources.followers": "עוקבים", "timeline_hint.resources.follows": "נעקבים", - "timeline_hint.resources.statuses": "פוסטים ישנים יותר", - "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", + "timeline_hint.resources.statuses": "הודעות ישנות יותר", + "trends.counter_by_accounts": "{count, plural, one {אדם {count}} other {{count} א.נשים}} {days, plural, one {מאז אתמול} two {ביומיים האחרונים} other {במשך {days} הימים האחרונים}}", "trends.trending_now": "נושאים חמים", "ui.beforeunload": "הטיוטא תאבד אם תעזבו את מסטודון.", "units.short.billion": "{count} מליארד", @@ -639,7 +639,7 @@ "upload_modal.preparing_ocr": "מכין OCR…", "upload_modal.preview_label": "תצוגה ({ratio})", "upload_progress.label": "עולה...", - "upload_progress.processing": "Processing…", + "upload_progress.processing": "מעבד…", "video.close": "סגירת וידאו", "video.download": "הורדת קובץ", "video.exit_fullscreen": "יציאה ממסך מלא", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 5a938ac5d73..85202e1d572 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, 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": "Go to profile", + "account.go_to_profile": "Ugrás a profilhoz", "account.hide_reblogs": "@{name} megtolásainak elrejtése", "account.joined_short": "Csatlakozott", "account.languages": "Feliratkozott nyelvek módosítása", @@ -182,8 +182,8 @@ "directory.local": "Csak innen: {domain}", "directory.new_arrivals": "Új csatlakozók", "directory.recently_active": "Nemrég aktív", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "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.", @@ -361,7 +361,7 @@ "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": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "A(z) {disabledAccount} fiókod jelenleg le van tiltva, mert átköltöztél ide: {movedToAccount}.", "mute_modal.duration": "Időtartam", "mute_modal.hide_notifications": "Rejtsük el a felhasználótól származó értesítéseket?", "mute_modal.indefinite": "Határozatlan", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index df8cabcb4b3..13ecae298b6 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, other {{counter} Mengikuti}}", "account.follows.empty": "Pengguna ini belum mengikuti siapa pun.", "account.follows_you": "Mengikuti Anda", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Buka profil", "account.hide_reblogs": "Sembunyikan boosts dari @{name}", "account.joined_short": "Bergabung", "account.languages": "Ubah langganan bahasa", diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json index b37f02feb9c..bee531e4f6e 100644 --- a/app/javascript/mastodon/locales/ig.json +++ b/app/javascript/mastodon/locales/ig.json @@ -14,7 +14,7 @@ "about.powered_by": "Decentralized social media powered by {mastodon}", "about.rules": "Server rules", "account.account_note_header": "Note", - "account.add_or_remove_from_list": "Add or Remove from lists", + "account.add_or_remove_from_list": "Tinye ma ọ bụ Wepu na ndepụta", "account.badges.bot": "Bot", "account.badges.group": "Group", "account.block": "Block @{name}", @@ -48,7 +48,7 @@ "account.media": "Media", "account.mention": "Mention @{name}", "account.moved_to": "{name} has indicated that their new account is now:", - "account.mute": "Mute @{name}", + "account.mute": "Mee ogbi @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", "account.posts": "Posts", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index 1abf12255e4..a2062244b84 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} fylgist með} other {{counter} fylgjast með}}", "account.follows.empty": "Þessi notandi fylgist ennþá ekki með neinum.", "account.follows_you": "Fylgir þér", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Fara í notandasnið", "account.hide_reblogs": "Fela endurbirtingar fyrir @{name}", "account.joined_short": "Gerðist þátttakandi", "account.languages": "Breyta tungumálum í áskrift", @@ -182,8 +182,8 @@ "directory.local": "Einungis frá {domain}", "directory.new_arrivals": "Nýkomnir", "directory.recently_active": "Nýleg virkni", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Stillingar notandaaðgangs", + "disabled_account_banner.text": "Aðgangurinn þinn {disabledAccount} er óvirkur í augnablikinu.", "dismissable_banner.community_timeline": "Þetta eru nýjustu opinberu færslurnar frá fólki sem er hýst á {domain}.", "dismissable_banner.dismiss": "Hunsa", "dismissable_banner.explore_links": "Þetta eru fréttafærslur sem í augnablikinu er verið að tala um af fólki á þessum og öðrum netþjónum á dreifhýsta netkerfinu.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Víxla sýnileika", "missing_indicator.label": "Fannst ekki", "missing_indicator.sublabel": "Tilfangið fannst ekki", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Aðgangurinn þinn {disabledAccount} er óvirkur í augnablikinu vegna þess að þú fluttir þig yfir á {movedToAccount}.", "mute_modal.duration": "Lengd", "mute_modal.hide_notifications": "Fela tilkynningar frá þessum notanda?", "mute_modal.indefinite": "Óendanlegt", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index aa5c589d285..67bbbfbe74a 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, other {{counter} Seguiti}}", "account.follows.empty": "Questo utente non segue nessuno ancora.", "account.follows_you": "Ti segue", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Vai al profilo", "account.hide_reblogs": "Nascondi condivisioni da @{name}", "account.joined_short": "Account iscritto", "account.languages": "Cambia le lingue di cui ricevere i post", @@ -182,8 +182,8 @@ "directory.local": "Solo da {domain}", "directory.new_arrivals": "Nuovi arrivi", "directory.recently_active": "Attivo di recente", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Impostazioni dell'account", + "disabled_account_banner.text": "Il tuo account {disabledAccount} è attualmente disabilitato.", "dismissable_banner.community_timeline": "Questi sono i posti pubblici più recenti di persone i cui account sono ospitati da {domain}.", "dismissable_banner.dismiss": "Ignora", "dismissable_banner.explore_links": "Queste notizie sono in fase di discussione da parte di persone su questo e altri server della rete decentralizzata, in questo momento.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Imposta visibilità", "missing_indicator.label": "Non trovato", "missing_indicator.sublabel": "Risorsa non trovata", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Il tuo account {disabledAccount} è attualmente disabilitato perché ti sei trasferito/a su {movedToAccount}.", "mute_modal.duration": "Durata", "mute_modal.hide_notifications": "Nascondere le notifiche da quest'utente?", "mute_modal.indefinite": "Per sempre", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 1ccfce82114..aca810561f2 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -39,7 +39,7 @@ "account.following_counter": "{counter} フォロー", "account.follows.empty": "まだ誰もフォローしていません。", "account.follows_you": "フォローされています", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "プロフィールページへ", "account.hide_reblogs": "@{name}さんからのブーストを非表示", "account.joined_short": "登録日", "account.languages": "購読言語の変更", @@ -182,8 +182,8 @@ "directory.local": "{domain} のみ", "directory.new_arrivals": "新着順", "directory.recently_active": "最近の活動順", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "アカウント設定", + "disabled_account_banner.text": "あなたのアカウント『{disabledAccount}』は現在無効になっています。", "dismissable_banner.community_timeline": "これらは{domain}がホストしている人たちの最新の公開投稿です。", "dismissable_banner.dismiss": "閉じる", "dismissable_banner.explore_links": "これらのニュース記事は現在分散型ネットワークの他のサーバーの人たちに話されています。", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {画像を閉じる} other {画像を閉じる}}", "missing_indicator.label": "見つかりません", "missing_indicator.sublabel": "見つかりませんでした", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "あなたのアカウント『{disabledAccount}』は『{movedToAccount}』に移動したため現在無効になっています。", "mute_modal.duration": "ミュートする期間", "mute_modal.hide_notifications": "このユーザーからの通知を隠しますか?", "mute_modal.indefinite": "無期限", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index c8a85cbe7e1..7338d186c7b 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -39,7 +39,7 @@ "account.following_counter": "{counter} 팔로잉", "account.follows.empty": "이 사용자는 아직 아무도 팔로우하고 있지 않습니다.", "account.follows_you": "날 팔로우합니다", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "프로필로 이동", "account.hide_reblogs": "@{name}의 부스트를 숨기기", "account.joined_short": "가입", "account.languages": "구독한 언어 변경", @@ -182,8 +182,8 @@ "directory.local": "{domain}에서만", "directory.new_arrivals": "새로운 사람들", "directory.recently_active": "최근 활동", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "계정 설정", + "disabled_account_banner.text": "당신의 계정 {disabledAccount}는 현재 비활성화 상태입니다.", "dismissable_banner.community_timeline": "여기 있는 것들은 계정이 {domain}에 있는 사람들의 최근 공개 게시물들입니다.", "dismissable_banner.dismiss": "지우기", "dismissable_banner.explore_links": "이 뉴스들은 이 서버와 분산화된 네트워크의 다른 서버에서 사람들이 지금 많이 이야기 하고 있는 것입니다.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "이미지 숨기기", "missing_indicator.label": "찾을 수 없습니다", "missing_indicator.sublabel": "이 리소스를 찾을 수 없었습니다", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "당신의 계정 {disabledAccount}는 {movedToAccount}로 이동하였기 때문에 현재 비활성화 상태입니다.", "mute_modal.duration": "기간", "mute_modal.hide_notifications": "이 사용자로부터의 알림을 숨기시겠습니까?", "mute_modal.indefinite": "무기한", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index c65d0c1a28f..b74659820ac 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -87,14 +87,14 @@ "bundle_column_error.network.body": "Di dema hewldana barkirina vê rûpelê de çewtiyek derket. Ev dibe ku ji ber pirsgirêkeke demkî ya girêdana înternetê te be an jî ev rajekar be.", "bundle_column_error.network.title": "Çewtiya torê", "bundle_column_error.retry": "Dîsa biceribîne", - "bundle_column_error.return": "Vegere serûpelê", + "bundle_column_error.return": "Vegere rûpela sereke", "bundle_column_error.routing.body": "Rûpela xwestî nehate dîtin. Tu bawerî ku girêdana di kodika lêgerînê de rast e?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Bigire", "bundle_modal_error.message": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.", "bundle_modal_error.retry": "Dîsa bicerbîne", - "closed_registrations.other_server_instructions": "Ji ber ku Mastodon nenavendî ye, tu dika li ser rajekarek din ajimêrekê biafirînî û hîn jî bi vê yekê re tev bigerî.", - "closed_registrations_modal.description": "Afirandina ajimêrekê li ser {domain} niha ne pêkan e, lê ji kerema xwe ji bîr neke ku pêdiviya te bi hebûna ajimêreke taybet li ser {domain} tune ye ku tu Mastodon bi kar bînî.", + "closed_registrations.other_server_instructions": "Ji ber ku Mastodon nenavendî ye, tu dikarî li ser pêşkêşkareke din hesabekî vekî û dîsa jî bi vê pêşkêşkarê re têkiliyê daynî.", + "closed_registrations_modal.description": "Afirandina hesabekî li ser {domain}ê niha ne pêkan e, lê tika ye ji bîr neke ku ji bo bikaranîna Mastodonê ne mecbûrî ye hesabekî te yê {domain}ê hebe.", "closed_registrations_modal.find_another_server": "Rajekareke din bibîne", "closed_registrations_modal.preamble": "Mastodon nenavendî ye, ji ber vê yekê tu li ku derê ajimêrê xwe biafirînê, tu yê bikaribî li ser vê rajekarê her kesî bişopînî û têkilî deynî. Her wiha tu dikarî wê bi xwe pêşkêş bikî!", "closed_registrations_modal.title": "Tomar bibe li ser Mastodon", @@ -107,7 +107,7 @@ "column.domain_blocks": "Navperên astengkirî", "column.favourites": "Bijarte", "column.follow_requests": "Daxwazên şopandinê", - "column.home": "Serûpel", + "column.home": "Rûpela sereke", "column.lists": "Lîste", "column.mutes": "Bikarhênerên bêdengkirî", "column.notifications": "Agahdarî", @@ -131,7 +131,7 @@ "compose_form.hashtag_warning": "Ev şandî ji ber ku nehatiye tomarkirin dê di binê hashtagê de neyê tomar kirin. Tenê peyamên gelemperî dikarin bi hashtagê werin lêgerîn.", "compose_form.lock_disclaimer": "Ajimêrê te {locked} nîne. Herkes dikare te bişopîne da ku şandiyên te yên tenê şopînerên te ra xûya dibin bibînin.", "compose_form.lock_disclaimer.lock": "girtî ye", - "compose_form.placeholder": "Tu li çi difikirî?", + "compose_form.placeholder": "Çi di hişê te derbas dibe?", "compose_form.poll.add_option": "Hilbijarekî tevlî bike", "compose_form.poll.duration": "Dema rapirsî yê", "compose_form.poll.option_placeholder": "{number} Hilbijêre", @@ -207,7 +207,7 @@ "emoji_button.search_results": "Encamên lêgerînê", "emoji_button.symbols": "Sembol", "emoji_button.travel": "Geşt û şûn", - "empty_column.account_suspended": "Ajimêr hatiye rawestandin", + "empty_column.account_suspended": "Hesab hatiye rawestandin", "empty_column.account_timeline": "Li vir şandî tune!", "empty_column.account_unavailable": "Profîl nayê peydakirin", "empty_column.blocks": "Te tu bikarhêner asteng nekiriye.", @@ -460,7 +460,7 @@ "privacy_policy.title": "Politîka taybetiyê", "refresh": "Nû bike", "regeneration_indicator.label": "Tê barkirin…", - "regeneration_indicator.sublabel": "Naveroka serûpela te tê amedekirin!", + "regeneration_indicator.sublabel": "Naveroka rûpela sereke ya te tê amedekirin!", "relative_time.days": "{number}r", "relative_time.full.days": "{number, plural, one {# roj} other {# roj}} berê", "relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê", @@ -537,7 +537,7 @@ "server_banner.introduction": "{domain} beşek ji tora civakî ya nenavendî ye bi hêzdariya {mastodon}.", "server_banner.learn_more": "Bêtir fêr bibe", "server_banner.server_stats": "Amarên rajekar:", - "sign_in_banner.create_account": "Ajimêr biafirîne", + "sign_in_banner.create_account": "Hesab biafirîne", "sign_in_banner.sign_in": "Têkeve", "sign_in_banner.text": "Têkeve ji bo şopandina profîlan an hashtagan, bijarte, parvekirin û bersivdana şandiyan, an ji ajimêrê xwe li ser rajekarek cuda têkilî deyine.", "status.admin_account": "Ji bo @{name} navrûya venihêrtinê veke", @@ -599,7 +599,7 @@ "suggestions.dismiss": "Pêşniyarê paşguh bike", "suggestions.header": "Dibe ku bala te bikşîne…", "tabs_bar.federated_timeline": "Giştî", - "tabs_bar.home": "Serûpel", + "tabs_bar.home": "Rûpela sereke", "tabs_bar.local_timeline": "Herêmî", "tabs_bar.notifications": "Agahdarî", "time_remaining.days": "{number, plural, one {# roj} other {# roj}} maye", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 62fa977015f..64f10145986 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -25,23 +25,23 @@ "account.direct": "Privāta ziņa @{name}", "account.disable_notifications": "Pārtraukt man paziņot, kad @{name} publicē ierakstu", "account.domain_blocked": "Domēns ir bloķēts", - "account.edit_profile": "Rediģēt profilu", - "account.enable_notifications": "Man paziņot, kad @{name} publicē ierakstu", + "account.edit_profile": "Labot profilu", + "account.enable_notifications": "Paziņot man, kad @{name} publicē ierakstu", "account.endorse": "Izcelts profilā", "account.featured_tags.last_status_at": "Beidzamā ziņa {date}", "account.featured_tags.last_status_never": "Publikāciju nav", "account.featured_tags.title": "{name} piedāvātie haštagi", "account.follow": "Sekot", "account.followers": "Sekotāji", - "account.followers.empty": "Šim lietotājam patreiz nav sekotāju.", + "account.followers.empty": "Šim lietotājam vēl nav sekotāju.", "account.followers_counter": "{count, plural, one {{counter} Sekotājs} other {{counter} Sekotāji}}", "account.following": "Seko", - "account.following_counter": "{count, plural, one {{counter} Sekojošs} other {{counter} Sekojoši}}", + "account.following_counter": "{count, plural, one {{counter} Sekojamais} other {{counter} Sekojamie}}", "account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.", "account.follows_you": "Seko tev", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Dodieties uz profilu", "account.hide_reblogs": "Paslēpt paceltos ierakstus no lietotāja @{name}", - "account.joined_short": "Pievienojies", + "account.joined_short": "Pievienojās", "account.languages": "Mainīt abonētās valodas", "account.link_verified_on": "Šīs saites piederība ir pārbaudīta {date}", "account.locked_info": "Šī konta privātuma statuss ir slēgts. Īpašnieks izskatīs, kurš viņam drīkst sekot.", @@ -165,7 +165,7 @@ "confirmations.logout.message": "Vai tiešām vēlies izrakstīties?", "confirmations.mute.confirm": "Apklusināt", "confirmations.mute.explanation": "Šādi no viņiem tiks slēptas ziņas un ziņas, kurās viņi tiek pieminēti, taču viņi joprojām varēs redzēt tavas ziņas un sekot tev.", - "confirmations.mute.message": "Vai Tu tiešām velies apklusināt {name}?", + "confirmations.mute.message": "Vai tiešām velies apklusināt {name}?", "confirmations.redraft.confirm": "Dzēst un pārrakstīt", "confirmations.redraft.message": "Vai tiešām vēlies dzēst un pārrakstīt šo ierakstu? Favorīti un paceltie ieraksti tiks dzēsti, kā arī atbildes tiks atsaistītas no šī ieraksta.", "confirmations.reply.confirm": "Atbildēt", @@ -182,8 +182,8 @@ "directory.local": "Tikai no {domain}", "directory.new_arrivals": "Jaunpienācēji", "directory.recently_active": "Nesen aktīvs", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Konta iestatījumi", + "disabled_account_banner.text": "Jūsu konts {disabledAccount} pašlaik ir atspējots.", "dismissable_banner.community_timeline": "Šīs ir jaunākās publiskās ziņas no personām, kuru kontus mitina {domain}.", "dismissable_banner.dismiss": "Atcelt", "dismissable_banner.explore_links": "Par šiem jaunumiem šobrīd runā cilvēki šajā un citos decentralizētā tīkla serveros.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Slēpt # attēlu} other {Slēpt # attēlus}}", "missing_indicator.label": "Nav atrasts", "missing_indicator.sublabel": "Šo resursu nevarēja atrast", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Jūsu konts {disabledAccount} pašlaik ir atspējots, jo esat pārcēlies uz kontu {movedToAccount}.", "mute_modal.duration": "Ilgums", "mute_modal.hide_notifications": "Slēpt paziņojumus no šī lietotāja?", "mute_modal.indefinite": "Nenoteikts", @@ -378,7 +378,7 @@ "navigation_bar.favourites": "Izlases", "navigation_bar.filters": "Klusināti vārdi", "navigation_bar.follow_requests": "Sekošanas pieprasījumi", - "navigation_bar.follows_and_followers": "Man seko un sekotāji", + "navigation_bar.follows_and_followers": "Sekojamie un sekotāji", "navigation_bar.lists": "Saraksti", "navigation_bar.logout": "Iziet", "navigation_bar.mutes": "Apklusinātie lietotāji", diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json index 9bf2b09e5af..4c587063375 100644 --- a/app/javascript/mastodon/locales/mk.json +++ b/app/javascript/mastodon/locales/mk.json @@ -1,22 +1,22 @@ { - "about.blocks": "Moderated servers", - "about.contact": "Contact:", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", - "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", - "about.domain_blocks.silenced.title": "Limited", - "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", - "about.domain_blocks.suspended.title": "Suspended", - "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", - "about.rules": "Server rules", - "account.account_note_header": "Note", + "about.blocks": "Модерирани сервери", + "about.contact": "Контакт:", + "about.disclaimer": "Mastodon е бесплатен, open-source софтвер, и заштитен знак на Mastodon gGmbH.", + "about.domain_blocks.comment": "Причина", + "about.domain_blocks.domain": "Домен", + "about.domain_blocks.preamble": "Mastodon вообичаено ви дозволува да прегледувате содржини и комуницирате со корисниците од било кој сервер во федиверзумот. На овој сервер има исклучоци.", + "about.domain_blocks.severity": "Сериозност", + "about.domain_blocks.silenced.explanation": "Вообичаено нема да гледате профили и содржина од овој сервер, освен ако не го пребарате намерно, или го заследите.", + "about.domain_blocks.silenced.title": "Ограничено", + "about.domain_blocks.suspended.explanation": "Податоците од овој сервер нема да бидат процесирани, зачувани или сменети и било која интеракција или комуникација со корисниците од овој сервер ќе биде невозможна.", + "about.domain_blocks.suspended.title": "Суспендиран", + "about.not_available": "Оваа информација не е достапна на овој сервер.", + "about.powered_by": "Децентрализиран друштвен медиум овозможен од {mastodon}", + "about.rules": "Правила на серверот", + "account.account_note_header": "Белешка", "account.add_or_remove_from_list": "Додади или одстрани од листа", "account.badges.bot": "Бот", - "account.badges.group": "Group", + "account.badges.group": "Група", "account.block": "Блокирај @{name}", "account.block_domain": "Сокријај се од {domain}", "account.blocked": "Блокиран", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 5c586a327a8..9d874fd864a 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -14,7 +14,7 @@ "about.powered_by": "Gedecentraliseerde sociale media, mogelijk gemaakt door {mastodon}", "about.rules": "Serverregels", "account.account_note_header": "Opmerking", - "account.add_or_remove_from_list": "Toevoegen of verwijderen vanuit lijsten", + "account.add_or_remove_from_list": "Toevoegen aan of verwijderen uit lijsten", "account.badges.bot": "Bot", "account.badges.group": "Groep", "account.block": "@{name} blokkeren", @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} volgend} other {{counter} volgend}}", "account.follows.empty": "Deze gebruiker volgt nog niemand.", "account.follows_you": "Volgt jou", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Ga naar profiel", "account.hide_reblogs": "Boosts van @{name} verbergen", "account.joined_short": "Geregistreerd op", "account.languages": "Getoonde talen wijzigen", @@ -94,7 +94,7 @@ "bundle_modal_error.message": "Tijdens het laden van dit onderdeel is er iets fout gegaan.", "bundle_modal_error.retry": "Opnieuw proberen", "closed_registrations.other_server_instructions": "Omdat Mastodon gedecentraliseerd is, kun je op een andere server een account registreren en vanaf daar nog steeds met deze server communiceren.", - "closed_registrations_modal.description": "Momenteel is het niet mogelijk om op {domain} een account aan te maken. Hou echter in gedachte dat om Mastodon te kunnen gebruiken het niet een vereiste is om op {domain} een account aan te maken.", + "closed_registrations_modal.description": "Momenteel is het niet mogelijk om op {domain} een account aan te maken. Hou echter in gedachte dat om Mastodon te kunnen gebruiken het niet een vereiste is om op {domain} een account te hebben.", "closed_registrations_modal.find_another_server": "Een andere server zoeken", "closed_registrations_modal.preamble": "Mastodon is gedecentraliseerd. Op welke server je ook een account hebt, je kunt overal vandaan mensen op deze server volgen en er mee interactie hebben. Je kunt zelfs zelf een Mastodon-server hosten!", "closed_registrations_modal.title": "Registreren op Mastodon", @@ -182,8 +182,8 @@ "directory.local": "Alleen {domain}", "directory.new_arrivals": "Nieuwe accounts", "directory.recently_active": "Onlangs actief", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Accountinstellingen", + "disabled_account_banner.text": "Jouw account {disabledAccount} is momenteel uitgeschakeld.", "dismissable_banner.community_timeline": "Dit zijn de meest recente openbare berichten van accounts op {domain}. Je kunt onder 'instellingen > voorkeuren > overig' kiezen welke talen je wilt zien.", "dismissable_banner.dismiss": "Sluiten", "dismissable_banner.explore_links": "Deze nieuwsberichten winnen aan populariteit op deze en andere servers binnen het decentrale netwerk.", @@ -319,7 +319,7 @@ "keyboard_shortcuts.hotkey": "Sneltoets", "keyboard_shortcuts.legend": "Deze legenda tonen", "keyboard_shortcuts.local": "Lokale tijdlijn tonen", - "keyboard_shortcuts.mention": "Auteur vermelden", + "keyboard_shortcuts.mention": "Account vermelden", "keyboard_shortcuts.muted": "Genegeerde gebruikers tonen", "keyboard_shortcuts.my_profile": "Jouw profiel tonen", "keyboard_shortcuts.notifications": "Meldingen tonen", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {afbeelding verbergen} other {afbeeldingen verbergen}}", "missing_indicator.label": "Niet gevonden", "missing_indicator.sublabel": "Deze hulpbron kan niet gevonden worden", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Omdat je naar {movedToAccount} bent verhuisd is jouw account {disabledAccount} momenteel uitgeschakeld.", "mute_modal.duration": "Duur", "mute_modal.hide_notifications": "Verberg meldingen van deze persoon?", "mute_modal.indefinite": "Voor onbepaalde tijd", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 1ccdf49362a..1704568b768 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} fylgjar} other {{counter} fylgjar}}", "account.follows.empty": "Denne brukaren fylgjer ikkje nokon enno.", "account.follows_you": "Fylgjer deg", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Gå til profil", "account.hide_reblogs": "Skjul framhevingar frå @{name}", "account.joined_short": "Vart med", "account.languages": "Endre språktingingar", @@ -182,8 +182,8 @@ "directory.local": "Berre frå {domain}", "directory.new_arrivals": "Nyleg tilkomne", "directory.recently_active": "Nyleg aktive", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Kontoinnstillingar", + "disabled_account_banner.text": "Kontoen din, {disabledAccount} er for tida deaktivert.", "dismissable_banner.community_timeline": "Dette er dei nylegaste offentlege innlegga frå personar med kontoar frå {domain}.", "dismissable_banner.dismiss": "Avvis", "dismissable_banner.explore_links": "Desse nyhendesakene snakkast om av folk på denne og andre tenarar på det desentraliserte nettverket no.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Skjul bilete} other {Skjul bilete}}", "missing_indicator.label": "Ikkje funne", "missing_indicator.sublabel": "Fann ikkje ressursen", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Kontoen din, {disabledAccount} er for tida deaktivert fordi du har flytta til {movedToAccount}.", "mute_modal.duration": "Varigheit", "mute_modal.hide_notifications": "Skjul varsel frå denne brukaren?", "mute_modal.indefinite": "På ubestemt tid", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index f83812fda72..4736519af60 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -1,36 +1,36 @@ { "about.blocks": "Moderated servers", - "about.contact": "Contact:", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", - "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", - "about.domain_blocks.silenced.title": "Limited", - "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", - "about.domain_blocks.suspended.title": "Suspended", - "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", - "about.rules": "Server rules", - "account.account_note_header": "Notis", + "about.contact": "Kontakt:", + "about.disclaimer": "Mastodon er gratis, åpen kildekode-programvare og et varemerke fra Mastodon gGmbH.", + "about.domain_blocks.comment": "Årsak", + "about.domain_blocks.domain": "Domene", + "about.domain_blocks.preamble": "Mastodon lar deg normalt sett se innholdet fra og samhandle med brukere fra enhver annen server i fødiverset. Dette er unntakene som har blitt lagt inn på denne serveren.", + "about.domain_blocks.severity": "Alvorlighetsgrad", + "about.domain_blocks.silenced.explanation": "Du vil vanligvis ikke se profiler og innhold fra denne serveren, med mindre du eksplisitt søker dem opp eller velger å følge dem.", + "about.domain_blocks.silenced.title": "Begrenset", + "about.domain_blocks.suspended.explanation": "Ikke noe innhold fra denne serveren vil bli behandlet, lagret eller utvekslet. Det gjør det umulig å samhandle eller kommunisere med brukere fra denne serveren.", + "about.domain_blocks.suspended.title": "Suspendert", + "about.not_available": "Denne informasjonen er ikke gjort tilgjengelig på denne serveren.", + "about.powered_by": "Desentraliserte sosiale medier drevet av {mastodon}", + "about.rules": "Regler for serveren", + "account.account_note_header": "Notat", "account.add_or_remove_from_list": "Legg til eller fjern fra lister", "account.badges.bot": "Bot", "account.badges.group": "Gruppe", "account.block": "Blokkér @{name}", - "account.block_domain": "Skjul alt fra {domain}", + "account.block_domain": "Blokkér domenet {domain}", "account.blocked": "Blokkert", "account.browse_more_on_origin_server": "Bla mer på den opprinnelige profilen", - "account.cancel_follow_request": "Withdraw follow request", - "account.direct": "Direct Message @{name}", + "account.cancel_follow_request": "Trekk tilbake følge-forespørselen", + "account.direct": "Send direktemelding til @{name}", "account.disable_notifications": "Slutt å varsle meg når @{name} legger ut innlegg", - "account.domain_blocked": "Domenet skjult", + "account.domain_blocked": "Domene blokkert", "account.edit_profile": "Rediger profil", "account.enable_notifications": "Varsle meg når @{name} legger ut innlegg", "account.endorse": "Vis frem på profilen", - "account.featured_tags.last_status_at": "Last post on {date}", - "account.featured_tags.last_status_never": "No posts", - "account.featured_tags.title": "{name}'s featured hashtags", + "account.featured_tags.last_status_at": "Siste innlegg {date}", + "account.featured_tags.last_status_never": "Ingen Innlegg", + "account.featured_tags.title": "{name} sine fremhevede emneknagger", "account.follow": "Følg", "account.followers": "Følgere", "account.followers.empty": "Ingen følger denne brukeren ennå.", @@ -39,66 +39,66 @@ "account.following_counter": "{count, plural, one {{counter} som følges} other {{counter} som følges}}", "account.follows.empty": "Denne brukeren følger ikke noen enda.", "account.follows_you": "Følger deg", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Gå til profil", "account.hide_reblogs": "Skjul fremhevinger fra @{name}", - "account.joined_short": "Joined", - "account.languages": "Change subscribed languages", + "account.joined_short": "Ble med", + "account.languages": "Endre hvilke språk du abonnerer på", "account.link_verified_on": "Eierskap av denne lenken ble sjekket {date}", "account.locked_info": "Denne kontoens personvernstatus er satt til låst. Eieren vurderer manuelt hvem som kan følge dem.", "account.media": "Media", "account.mention": "Nevn @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "{name} har angitt at deres nye konto nå er:", "account.mute": "Demp @{name}", - "account.mute_notifications": "Ignorer varsler fra @{name}", + "account.mute_notifications": "Demp varsler fra @{name}", "account.muted": "Dempet", "account.posts": "Innlegg", - "account.posts_with_replies": "Toots with replies", + "account.posts_with_replies": "Innlegg med svar", "account.report": "Rapportér @{name}", - "account.requested": "Venter på godkjennelse", + "account.requested": "Venter på godkjennelse. Klikk for å avbryte forespørselen", "account.share": "Del @{name}s profil", "account.show_reblogs": "Vis boosts fra @{name}", - "account.statuses_counter": "{count, plural, one {{counter} tut} other {{counter} tuter}}", - "account.unblock": "Avblokker @{name}", - "account.unblock_domain": "Vis {domain}", + "account.statuses_counter": "{count, plural, one {{counter} innlegg} other {{counter} innlegg}}", + "account.unblock": "Opphev blokkering av @{name}", + "account.unblock_domain": "Opphev blokkering av {domain}", "account.unblock_short": "Opphev blokkering", "account.unendorse": "Ikke vis frem på profilen", "account.unfollow": "Avfølg", - "account.unmute": "Avdemp @{name}", + "account.unmute": "Opphev demping av @{name}", "account.unmute_notifications": "Vis varsler fra @{name}", "account.unmute_short": "Opphev demping", "account_note.placeholder": "Klikk for å legge til et notat", "admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.retention.average": "Gjennomsnitt", - "admin.dashboard.retention.cohort": "Sign-up month", + "admin.dashboard.retention.cohort": "Registreringsmåned", "admin.dashboard.retention.cohort_size": "Nye brukere", "alert.rate_limited.message": "Vennligst prøv igjen etter kl. {retry_time, time, medium}.", "alert.rate_limited.title": "Hastighetsbegrenset", "alert.unexpected.message": "En uventet feil oppstod.", "alert.unexpected.title": "Oi!", "announcement.announcement": "Kunngjøring", - "attachments_list.unprocessed": "(unprocessed)", - "audio.hide": "Hide audio", + "attachments_list.unprocessed": "(ubehandlet)", + "audio.hide": "Skjul lyd", "autosuggest_hashtag.per_week": "{count} per uke", "boost_modal.combo": "You kan trykke {combo} for å hoppe over dette neste gang", - "bundle_column_error.copy_stacktrace": "Copy error report", - "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", - "bundle_column_error.error.title": "Oh, no!", - "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", - "bundle_column_error.network.title": "Network error", + "bundle_column_error.copy_stacktrace": "Kopier feilrapport", + "bundle_column_error.error.body": "Den forespurte siden kan ikke gjengis. Den kan skyldes en feil i vår kode eller et kompatibilitetsproblem med nettleseren.", + "bundle_column_error.error.title": "Å nei!", + "bundle_column_error.network.body": "Det oppsto en feil under forsøk på å laste inn denne siden. Dette kan skyldes et midlertidig problem med din internettilkobling eller denne serveren.", + "bundle_column_error.network.title": "Nettverksfeil", "bundle_column_error.retry": "Prøv igjen", - "bundle_column_error.return": "Go back home", - "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", + "bundle_column_error.return": "Gå hjem igjen", + "bundle_column_error.routing.body": "Den forespurte siden ble ikke funnet. Er du sikker på at URL-en i adresselinjen er riktig?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Lukk", "bundle_modal_error.message": "Noe gikk galt da denne komponenten lastet.", "bundle_modal_error.retry": "Prøv igjen", - "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", - "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "closed_registrations.other_server_instructions": "Siden Mastodon er desentralizert, kan du opprette en konto på en annen server og fortsatt kommunisere med denne.", + "closed_registrations_modal.description": "Opprettelse av en konto på {domain} er for tiden ikke mulig, men vær oppmerksom på at du ikke trenger en konto spesifikt på {domain} for å kunne bruke Mastodon.", + "closed_registrations_modal.find_another_server": "Finn en annen server", + "closed_registrations_modal.preamble": "Mastodon er desentralisert, så uansett hvor du oppretter kontoen din, vil du kunne følge og samhandle med alle på denne serveren. Du kan til og med kjøre serveren selv!", + "closed_registrations_modal.title": "Registrerer deg på Mastodon", + "column.about": "Om", "column.blocks": "Blokkerte brukere", "column.bookmarks": "Bokmerker", "column.community": "Lokal tidslinje", @@ -114,7 +114,7 @@ "column.pins": "Pinned toot", "column.public": "Felles tidslinje", "column_back_button.label": "Tilbake", - "column_header.hide_settings": "Gjem innstillinger", + "column_header.hide_settings": "Skjul innstillinger", "column_header.moveLeft_settings": "Flytt feltet til venstre", "column_header.moveRight_settings": "Flytt feltet til høyre", "column_header.pin": "Fest", @@ -124,11 +124,11 @@ "community.column_settings.local_only": "Kun lokalt", "community.column_settings.media_only": "Media only", "community.column_settings.remote_only": "Kun eksternt", - "compose.language.change": "Change language", - "compose.language.search": "Search languages...", + "compose.language.change": "Bytt språk", + "compose.language.search": "Søk etter språk...", "compose_form.direct_message_warning_learn_more": "Lær mer", - "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", - "compose_form.hashtag_warning": "Denne tuten blir ikke listet under noen emneknagger da den er ulistet. Kun offentlige tuter kan søktes etter med emneknagg.", + "compose_form.encryption_warning": "Innlegg på Mastodon er ikke ende-til-ende-krypterte. Ikke del sensitive opplysninger via Mastodon.", + "compose_form.hashtag_warning": "Dette innlegget blir vist under noen emneknagger da det er uoppført. Kun offentlige innlegg kan søkes opp med emneknagg.", "compose_form.lock_disclaimer": "Din konto er ikke {locked}. Hvem som helst kan følge deg og se dine private poster.", "compose_form.lock_disclaimer.lock": "låst", "compose_form.placeholder": "Hva har du på hjertet?", @@ -138,12 +138,12 @@ "compose_form.poll.remove_option": "Fjern dette valget", "compose_form.poll.switch_to_multiple": "Endre avstemning til å tillate flere valg", "compose_form.poll.switch_to_single": "Endre avstemning til å tillate ett valg", - "compose_form.publish": "Publish", + "compose_form.publish": "Publiser", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", - "compose_form.sensitive.hide": "Merk media som sensitivt", - "compose_form.sensitive.marked": "Mediet er merket som sensitiv", - "compose_form.sensitive.unmarked": "Mediet er ikke merket som sensitiv", + "compose_form.save_changes": "Lagre endringer", + "compose_form.sensitive.hide": "{count, plural,one {Merk media som sensitivt} other {Merk media som sensitivt}}", + "compose_form.sensitive.marked": "{count, plural,one {Mediet er merket som sensitivt}other {Mediene er merket som sensitive}}", + "compose_form.sensitive.unmarked": "{count, plural,one {Mediet er ikke merket som sensitivt}other {Mediene er ikke merket som sensitive}}", "compose_form.spoiler.marked": "Teksten er skjult bak en advarsel", "compose_form.spoiler.unmarked": "Teksten er ikke skjult", "compose_form.spoiler_placeholder": "Innholdsadvarsel", @@ -151,14 +151,14 @@ "confirmations.block.block_and_report": "Blokker og rapporter", "confirmations.block.confirm": "Blokkèr", "confirmations.block.message": "Er du sikker på at du vil blokkere {name}?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "Trekk tilbake forespørsel", + "confirmations.cancel_follow_request.message": "Er du sikker på at du vil trekke tilbake forespørselen din for å følge {name}?", "confirmations.delete.confirm": "Slett", "confirmations.delete.message": "Er du sikker på at du vil slette denne statusen?", "confirmations.delete_list.confirm": "Slett", "confirmations.delete_list.message": "Er du sikker på at du vil slette denne listen permanent?", "confirmations.discard_edit_media.confirm": "Forkast", - "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", + "confirmations.discard_edit_media.message": "Du har ulagrede endringer i mediebeskrivelsen eller i forhåndsvisning, forkast dem likevel?", "confirmations.domain_block.confirm": "Skjul alt fra domenet", "confirmations.domain_block.message": "Er du sikker på at du vil skjule hele domenet {domain}? I de fleste tilfeller er det bedre med målrettet blokkering eller demping.", "confirmations.logout.confirm": "Logg ut", @@ -176,24 +176,24 @@ "conversation.mark_as_read": "Marker som lest", "conversation.open": "Vis samtale", "conversation.with": "Med {names}", - "copypaste.copied": "Copied", - "copypaste.copy": "Copy", + "copypaste.copied": "Kopiert", + "copypaste.copy": "Kopier", "directory.federated": "Fra det kjente strømiverset", "directory.local": "Kun fra {domain}", "directory.new_arrivals": "Nye ankomster", "directory.recently_active": "Nylig aktiv", - "disabled_account_banner.account_settings": "Account settings", + "disabled_account_banner.account_settings": "Kontoinnstillinger", "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", - "dismissable_banner.dismiss": "Dismiss", - "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", - "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", - "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", + "dismissable_banner.community_timeline": "Dette er de nyeste offentlige innleggene fra personer med kontoer på {domain}.", + "dismissable_banner.dismiss": "Avvis", + "dismissable_banner.explore_links": "Disse nyhetene snakker folk om akkurat nå på denne og andre servere i det desentraliserte nettverket.", + "dismissable_banner.explore_statuses": "Disse innleggene fra denne og andre servere i det desentraliserte nettverket får økt oppmerksomhet på denne serveren akkurat nå.", + "dismissable_banner.explore_tags": "Disse emneknaggene snakker folk om akkurat nå, på denne og andre servere i det desentraliserte nettverket.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "embed.instructions": "Kopier koden under for å bygge inn denne statusen på hjemmesiden din.", "embed.preview": "Slik kommer det til å se ut:", "emoji_button.activity": "Aktivitet", - "emoji_button.clear": "Clear", + "emoji_button.clear": "Nullstill", "emoji_button.custom": "Tilpasset", "emoji_button.flags": "Flagg", "emoji_button.food": "Mat og drikke", @@ -208,20 +208,20 @@ "emoji_button.symbols": "Symboler", "emoji_button.travel": "Reise & steder", "empty_column.account_suspended": "Kontoen er suspendert", - "empty_column.account_timeline": "Ingen tuter er her!", + "empty_column.account_timeline": "Ingen innlegg her!", "empty_column.account_unavailable": "Profilen er utilgjengelig", "empty_column.blocks": "Du har ikke blokkert noen brukere enda.", - "empty_column.bookmarked_statuses": "Du har ikke bokmerket noen tuter enda. Når du bokmerker en, vil den dukke opp her.", + "empty_column.bookmarked_statuses": "Du har ikke bokmerket noen innlegg enda. Når du bokmerker et, vil det dukke opp her.", "empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!", "empty_column.direct": "Du har ingen direktemeldinger enda. Etter du har sendt eller mottatt en, så vil den dukke opp her.", "empty_column.domain_blocks": "Det er ingen skjulte domener enda.", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", - "empty_column.favourited_statuses": "Du har ikke likt noen tuter enda. Når du liker en, vil den dukke opp her.", - "empty_column.favourites": "Ingen har likt denne tuten enda. Når noen gjør det, vil de dukke opp her.", + "empty_column.favourited_statuses": "Du har ikke likt noen innlegg enda. Når du liker et, vil det dukke opp her.", + "empty_column.favourites": "Ingen har likt dette innlegget ennå. Når noen gjør det, vil de dukke opp her.", "empty_column.follow_recommendations": "Ser ut som at det ikke finnes noen forslag for deg. Du kan prøve å bruke søk for å se etter folk du kan vite eller utforske trendende hashtags.", "empty_column.follow_requests": "Du har ingen følgeforespørsler enda. Når du mottar en, vil den dukke opp her.", - "empty_column.hashtag": "Det er ingenting i denne hashtagen ennå.", - "empty_column.home": "Du har ikke fulgt noen ennå. Besøk {publlic} eller bruk søk for å komme i gang og møte andre brukere.", + "empty_column.hashtag": "Det er ingenting i denne emneknaggen ennå.", + "empty_column.home": "Hjem-tidslinjen din er tom! Følg flere folk for å fylle den. {suggestions}", "empty_column.home.suggestions": "Se noen forslag", "empty_column.list": "Det er ingenting i denne listen ennå. Når medlemmene av denne listen legger ut nye statuser vil de dukke opp her.", "empty_column.lists": "Du har ingen lister enda. Når du lager en, vil den dukke opp her.", @@ -239,66 +239,66 @@ "explore.title": "Utforsk", "explore.trending_links": "Nyheter", "explore.trending_statuses": "Innlegg", - "explore.trending_tags": "Hashtags", + "explore.trending_tags": "Emneknagger", "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_title": "Context mismatch!", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", - "filter_modal.added.expired_title": "Expired filter!", + "filter_modal.added.expired_title": "Utløpt filter!", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", - "filter_modal.added.review_and_configure_title": "Filter settings", + "filter_modal.added.review_and_configure_title": "Filterinnstillinger", "filter_modal.added.settings_link": "settings page", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", - "filter_modal.added.title": "Filter added!", + "filter_modal.added.title": "Filter lagt til!", "filter_modal.select_filter.context_mismatch": "does not apply to this context", - "filter_modal.select_filter.expired": "expired", - "filter_modal.select_filter.prompt_new": "New category: {name}", - "filter_modal.select_filter.search": "Search or create", - "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", - "filter_modal.select_filter.title": "Filter this post", - "filter_modal.title.status": "Filter a post", + "filter_modal.select_filter.expired": "utløpt", + "filter_modal.select_filter.prompt_new": "Ny kategori: {name}", + "filter_modal.select_filter.search": "Søk eller opprett", + "filter_modal.select_filter.subtitle": "Bruk en eksisterende kategori eller opprett en ny", + "filter_modal.select_filter.title": "Filtrer dette innlegget", + "filter_modal.title.status": "Filtrer et innlegg", "follow_recommendations.done": "Utført", "follow_recommendations.heading": "Følg folk du ønsker å se innlegg fra! Her er noen forslag.", "follow_recommendations.lead": "Innlegg fra mennesker du følger vil vises i kronologisk rekkefølge på hjemmefeed. Ikke vær redd for å gjøre feil, du kan slutte å følge folk like enkelt som alt!", "follow_request.authorize": "Autorisér", "follow_request.reject": "Avvis", "follow_requests.unlocked_explanation": "Selv om kontoen din ikke er låst, tror {domain} ansatte at du kanskje vil gjennomgå forespørsler fra disse kontoene manuelt.", - "footer.about": "About", - "footer.directory": "Profiles directory", - "footer.get_app": "Get the app", - "footer.invite": "Invite people", + "footer.about": "Om", + "footer.directory": "Profilkatalog", + "footer.get_app": "Last ned appen", + "footer.invite": "Invitér folk", "footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.privacy_policy": "Privacy policy", - "footer.source_code": "View source code", + "footer.source_code": "Vis kildekode", "generic.saved": "Lagret", "getting_started.heading": "Kom i gang", "hashtag.column_header.tag_mode.all": "og {additional}", "hashtag.column_header.tag_mode.any": "eller {additional}", "hashtag.column_header.tag_mode.none": "uten {additional}", "hashtag.column_settings.select.no_options_message": "Ingen forslag ble funnet", - "hashtag.column_settings.select.placeholder": "Skriv inn emneknagger …", + "hashtag.column_settings.select.placeholder": "Skriv inn emneknagger…", "hashtag.column_settings.tag_mode.all": "Alle disse", "hashtag.column_settings.tag_mode.any": "Enhver av disse", "hashtag.column_settings.tag_mode.none": "Ingen av disse", "hashtag.column_settings.tag_toggle": "Include additional tags in this column", - "hashtag.follow": "Follow hashtag", - "hashtag.unfollow": "Unfollow hashtag", + "hashtag.follow": "Følg emneknagg", + "hashtag.unfollow": "Slutt å følge emneknagg", "home.column_settings.basic": "Enkelt", "home.column_settings.show_reblogs": "Vis fremhevinger", "home.column_settings.show_replies": "Vis svar", "home.hide_announcements": "Skjul kunngjøring", "home.show_announcements": "Vis kunngjøring", - "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", - "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", - "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", + "interaction_modal.description.favourite": "Med en konto på Mastodon, kan du \"like\" dette innlegget for å la forfatteren vite at du likte det samt lagre innlegget til senere.", + "interaction_modal.description.follow": "Med en konto på Mastodon, kan du følge {name} for å få innleggene deres i hjem-feeden din.", + "interaction_modal.description.reblog": "Med en konto på Mastodon, kan du fremheve dette innlegget for å dele det med dine egne følgere.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", - "interaction_modal.on_another_server": "On a different server", - "interaction_modal.on_this_server": "On this server", + "interaction_modal.on_another_server": "På en annen server", + "interaction_modal.on_this_server": "På denne serveren", "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", - "interaction_modal.title.follow": "Follow {name}", - "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.follow": "Følg {name}", + "interaction_modal.title.reblog": "Fremhev {name} sitt innlegg", + "interaction_modal.title.reply": "Svar på {name} sitt innlegg", "intervals.full.days": "{number, plural,one {# dag} other {# dager}}", "intervals.full.hours": "{number, plural, one {# time} other {# timer}}", "intervals.full.minutes": "{number, plural, one {# minutt} other {# minutter}}", @@ -324,7 +324,7 @@ "keyboard_shortcuts.my_profile": "å åpne profilen din", "keyboard_shortcuts.notifications": "åpne varslingskolonnen", "keyboard_shortcuts.open_media": "å åpne media", - "keyboard_shortcuts.pinned": "åpne listen over klistrede tuter", + "keyboard_shortcuts.pinned": "Åpne listen over festede innlegg", "keyboard_shortcuts.profile": "åpne forfatterens profil", "keyboard_shortcuts.reply": "for å svare", "keyboard_shortcuts.requests": "åpne følgingsforespørselslisten", @@ -341,8 +341,8 @@ "lightbox.expand": "Ekspander bildevisning boks", "lightbox.next": "Neste", "lightbox.previous": "Forrige", - "limited_account_hint.action": "Show profile anyway", - "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", + "limited_account_hint.action": "Vis profil likevel", + "limited_account_hint.title": "Denne profilen har blitt skjult av moderatorene til {domain}.", "lists.account.add": "Legg til i listen", "lists.account.remove": "Fjern fra listen", "lists.delete": "Slett listen", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Veksle synlighet", "missing_indicator.label": "Ikke funnet", "missing_indicator.sublabel": "Denne ressursen ble ikke funnet", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Din konto {disabledAccount} er for øyeblikket deaktivert fordi du flyttet til {movedToAccount}.", "mute_modal.duration": "Varighet", "mute_modal.hide_notifications": "Skjul varslinger fra denne brukeren?", "mute_modal.indefinite": "På ubestemt tid", @@ -369,7 +369,7 @@ "navigation_bar.blocks": "Blokkerte brukere", "navigation_bar.bookmarks": "Bokmerker", "navigation_bar.community_timeline": "Lokal tidslinje", - "navigation_bar.compose": "Skriv en ny tut", + "navigation_bar.compose": "Skriv et nytt innlegg", "navigation_bar.direct": "Direktemeldinger", "navigation_bar.discover": "Oppdag", "navigation_bar.domain_blocks": "Skjulte domener", @@ -383,13 +383,13 @@ "navigation_bar.logout": "Logg ut", "navigation_bar.mutes": "Dempede brukere", "navigation_bar.personal": "Personlig", - "navigation_bar.pins": "Festa tuter", + "navigation_bar.pins": "Festede innlegg", "navigation_bar.preferences": "Innstillinger", "navigation_bar.public_timeline": "Felles tidslinje", - "navigation_bar.search": "Search", + "navigation_bar.search": "Søk", "navigation_bar.security": "Sikkerhet", - "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", - "notification.admin.report": "{name} reported {target}", + "not_signed_in_indicator.not_signed_in": "Du må logge inn for å få tilgang til denne ressursen.", + "notification.admin.report": "{name} rapporterte {target}", "notification.admin.sign_up": "{name} signed up", "notification.favourite": "{name} likte din status", "notification.follow": "{name} fulgte deg", @@ -399,10 +399,10 @@ "notification.poll": "En avstemning du har stemt på har avsluttet", "notification.reblog": "{name} fremhevde din status", "notification.status": "{name} la nettopp ut", - "notification.update": "{name} edited a post", + "notification.update": "{name} redigerte et innlegg", "notifications.clear": "Fjern varsler", "notifications.clear_confirmation": "Er du sikker på at du vil fjerne alle dine varsler permanent?", - "notifications.column_settings.admin.report": "New reports:", + "notifications.column_settings.admin.report": "Nye rapporter:", "notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.alert": "Skrivebordsvarslinger", "notifications.column_settings.favourite": "Likt:", @@ -417,9 +417,9 @@ "notifications.column_settings.reblog": "Fremhevet:", "notifications.column_settings.show": "Vis i kolonne", "notifications.column_settings.sound": "Spill lyd", - "notifications.column_settings.status": "Nye tuter:", - "notifications.column_settings.unread_notifications.category": "Unread notifications", - "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", + "notifications.column_settings.status": "Nye innlegg:", + "notifications.column_settings.unread_notifications.category": "Uleste varslinger", + "notifications.column_settings.unread_notifications.highlight": "Marker uleste varslinger", "notifications.column_settings.update": "Redigeringer:", "notifications.filter.all": "Alle", "notifications.filter.boosts": "Fremhevinger", @@ -444,29 +444,29 @@ "poll.total_votes": "{count, plural, one {# stemme} other {# stemmer}}", "poll.vote": "Stem", "poll.voted": "Du stemte på dette svaret", - "poll.votes": "{votes, plural, one {# vote} other {# votes}}", + "poll.votes": "{votes, plural, one {# stemme} other {# stemmer}}", "poll_button.add_poll": "Legg til en avstemning", "poll_button.remove_poll": "Fjern avstemningen", "privacy.change": "Justér synlighet", "privacy.direct.long": "Post kun til nevnte brukere", - "privacy.direct.short": "Direct", + "privacy.direct.short": "Kun nevnte personer", "privacy.private.long": "Post kun til følgere", - "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all", + "privacy.private.short": "Kun følgere", + "privacy.public.long": "Synlig for alle", "privacy.public.short": "Offentlig", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Uoppført", - "privacy_policy.last_updated": "Last updated {date}", + "privacy_policy.last_updated": "Sist oppdatert {date}", "privacy_policy.title": "Privacy Policy", "refresh": "Oppfrisk", "regeneration_indicator.label": "Laster…", "regeneration_indicator.sublabel": "Dine startside forberedes!", "relative_time.days": "{number}d", - "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", - "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", - "relative_time.full.just_now": "just now", - "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", - "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", + "relative_time.full.days": "{number, plural, one {# dag} other {# dager}} siden", + "relative_time.full.hours": "{number, plural, one {# time} other {# timer}} siden", + "relative_time.full.just_now": "nettopp", + "relative_time.full.minutes": "for {number, plural, one {# minutt} other {# minutter}} siden", + "relative_time.full.seconds": "for {number, plural, one {# sekund} other {# sekunder}} siden", "relative_time.hours": "{number}t", "relative_time.just_now": "nå", "relative_time.minutes": "{number}m", @@ -474,46 +474,46 @@ "relative_time.today": "i dag", "reply_indicator.cancel": "Avbryt", "report.block": "Blokker", - "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", - "report.categories.other": "Other", + "report.block_explanation": "Du kommer ikke til å se innleggene deres. De vil ikke kunne se innleggene dine eller følge deg. De vil kunne se at de er blokkert.", + "report.categories.other": "Annet", "report.categories.spam": "Søppelpost", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", + "report.categories.violation": "Innholdet bryter en eller flere serverregler", + "report.category.subtitle": "Velg det som passer best", "report.category.title": "Tell us what's going on with this {type}", "report.category.title_account": "profil", "report.category.title_status": "innlegg", "report.close": "Utført", - "report.comment.title": "Is there anything else you think we should know?", + "report.comment.title": "Er det noe annet du mener vi burde vite?", "report.forward": "Videresend til {target}", "report.forward_hint": "Denne kontoen er fra en annen tjener. Vil du sende en anonymisert kopi av rapporten dit også?", "report.mute": "Demp", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.mute_explanation": "Du kommer ikke til å se deres innlegg. De kan fortsatt følge deg og se dine innlegg, og kan ikke se at de er dempet.", "report.next": "Neste", "report.placeholder": "Tilleggskommentarer", "report.reasons.dislike": "Jeg liker det ikke", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", + "report.reasons.dislike_description": "Det er ikke noe du har lyst til å se", + "report.reasons.other": "Det er noe annet", "report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.spam": "Det er spam", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", - "report.reasons.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", - "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", + "report.reasons.violation": "Det bryter serverregler", + "report.reasons.violation_description": "Du er klar over at det bryter spesifikke regler", + "report.rules.subtitle": "Velg alle som passer", + "report.rules.title": "Hvilke regler brytes?", + "report.statuses.subtitle": "Velg alle som passer", "report.statuses.title": "Are there any posts that back up this report?", "report.submit": "Send inn", "report.target": "Rapporterer", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", + "report.thanks.take_action": "Her er alternativene dine for å kontrollere hva du ser på Mastodon:", "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", - "report.thanks.title": "Don't want to see this?", + "report.thanks.title": "Ønsker du ikke å se dette?", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", - "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached", - "report_notification.categories.other": "Other", - "report_notification.categories.spam": "Spam", - "report_notification.categories.violation": "Rule violation", + "report.unfollow": "Slutt å følge @{name}", + "report.unfollow_explanation": "Du følger denne kontoen. For ikke å se innleggene deres i din hjem-feed lenger, slutt å følge dem.", + "report_notification.attached_statuses": "{count, plural,one {{count} innlegg} other {{count} innlegg}} vedlagt", + "report_notification.categories.other": "Annet", + "report_notification.categories.spam": "Søppelpost", + "report_notification.categories.violation": "Regelbrudd", "report_notification.open": "Open report", "search.placeholder": "Søk", "search.search_or_paste": "Search or paste URL", @@ -524,22 +524,22 @@ "search_popout.tips.text": "Enkel tekst returnerer matchende visningsnavn, brukernavn og emneknagger", "search_popout.tips.user": "bruker", "search_results.accounts": "Folk", - "search_results.all": "All", + "search_results.all": "Alle", "search_results.hashtags": "Emneknagger", - "search_results.nothing_found": "Could not find anything for these search terms", - "search_results.statuses": "Tuter", - "search_results.statuses_fts_disabled": "Å søke i tuter etter innhold er ikke skrudd på i denne Mastodon-tjeneren.", - "search_results.title": "Search for {q}", + "search_results.nothing_found": "Fant ikke noe for disse søkeordene", + "search_results.statuses": "Innlegg", + "search_results.statuses_fts_disabled": "Å søke i innlegg etter innhold er ikke skrudd på i denne Mastodon-tjeneren.", + "search_results.title": "Søk etter {q}", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultater}}", - "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", - "server_banner.active_users": "active users", - "server_banner.administered_by": "Administered by:", - "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", - "server_banner.learn_more": "Learn more", - "server_banner.server_stats": "Server stats:", - "sign_in_banner.create_account": "Create account", - "sign_in_banner.sign_in": "Sign in", - "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", + "server_banner.about_active_users": "Personer som har brukt denne serveren i løpet av de siste 30 dagene (aktive brukere månedlig)", + "server_banner.active_users": "aktive brukere", + "server_banner.administered_by": "Administrert av:", + "server_banner.introduction": "{domain} er en del av det desentraliserte sosiale nettverket drevet av {mastodon}.", + "server_banner.learn_more": "Finn ut mer", + "server_banner.server_stats": "Serverstatistikk:", + "sign_in_banner.create_account": "Opprett konto", + "sign_in_banner.sign_in": "Logg inn", + "sign_in_banner.text": "Logg inn for å følge profiler eller hashtags, like, dele og svare på innlegg eller interagere fra din konto på en annen server.", "status.admin_account": "Åpne moderatorgrensesnittet for @{name}", "status.admin_status": "Åpne denne statusen i moderatorgrensesnittet", "status.block": "Blokkér @{name}", @@ -550,16 +550,16 @@ "status.delete": "Slett", "status.detailed_status": "Detaljert samtalevisning", "status.direct": "Send direktemelding til @{name}", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.edit": "Redigér", + "status.edited": "Redigert {date}", + "status.edited_x_times": "Redigert {count, plural,one {{count} gang} other {{count} ganger}}", "status.embed": "Bygge inn", "status.favourite": "Lik", - "status.filter": "Filter this post", + "status.filter": "Filtrer dette innlegget", "status.filtered": "Filtrert", - "status.hide": "Hide toot", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.hide": "Skjul innlegg", + "status.history.created": "{name} opprettet {date}", + "status.history.edited": "{name} redigerte {date}", "status.load_more": "Last mer", "status.media_hidden": "Media skjult", "status.mention": "Nevn @{name}", @@ -568,15 +568,15 @@ "status.mute_conversation": "Demp samtale", "status.open": "Utvid denne statusen", "status.pin": "Fest på profilen", - "status.pinned": "Festet tut", + "status.pinned": "Festet innlegg", "status.read_more": "Les mer", "status.reblog": "Fremhev", "status.reblog_private": "Fremhev til det opprinnelige publikummet", "status.reblogged_by": "Fremhevd av {name}", - "status.reblogs.empty": "Ingen har fremhevet denne tuten enda. Når noen gjør det, vil de dukke opp her.", + "status.reblogs.empty": "Ingen har fremhevet dette innlegget enda. Når noen gjør det, vil de dukke opp her.", "status.redraft": "Slett og drøft på nytt", "status.remove_bookmark": "Fjern bokmerke", - "status.replied_to": "Replied to {name}", + "status.replied_to": "Svarte {name}", "status.reply": "Svar", "status.replyAll": "Svar til samtale", "status.report": "Rapporter @{name}", @@ -610,7 +610,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} fra andre servere vises ikke.", "timeline_hint.resources.followers": "Følgere", "timeline_hint.resources.follows": "Følger", - "timeline_hint.resources.statuses": "Eldre tuter", + "timeline_hint.resources.statuses": "Eldre innlegg", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "Trender nå", "ui.beforeunload": "Din kladd vil bli forkastet om du forlater Mastodon.", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index b00db0d32dd..a34bef1ea03 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -1,7 +1,7 @@ { "about.blocks": "Servidors moderats", "about.contact": "Contacte :", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", + "about.disclaimer": "Mastodon es gratuit, un logicial libre e una marca de Mastodon gGmbH.", "about.domain_blocks.comment": "Rason", "about.domain_blocks.domain": "Domeni", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", @@ -30,7 +30,7 @@ "account.endorse": "Mostrar pel perfil", "account.featured_tags.last_status_at": "Darrièra publicacion lo {date}", "account.featured_tags.last_status_never": "Cap de publicacion", - "account.featured_tags.title": "{name}'s featured hashtags", + "account.featured_tags.title": "Etiquetas en avant de {name}", "account.follow": "Sègre", "account.followers": "Seguidors", "account.followers.empty": "Degun sèc pas aqueste utilizaire pel moment.", @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Abonaments} other {{counter} Abonaments}}", "account.follows.empty": "Aqueste utilizaire sèc pas degun pel moment.", "account.follows_you": "Vos sèc", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Anar al perfil", "account.hide_reblogs": "Rescondre los partatges de @{name}", "account.joined_short": "Venguèt lo", "account.languages": "Modificar las lengas seguidas", @@ -95,7 +95,7 @@ "bundle_modal_error.retry": "Tornar ensajar", "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", + "closed_registrations_modal.find_another_server": "Trobar un autre servidor", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.title": "S’inscriure a Mastodon", "column.about": "A prepaus", @@ -151,8 +151,8 @@ "confirmations.block.block_and_report": "Blocar e senhalar", "confirmations.block.confirm": "Blocar", "confirmations.block.message": "Volètz vertadièrament blocar {name} ?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "Retirar la demandar", + "confirmations.cancel_follow_request.message": "Volètz vertadièrament retirar la demanda de seguiment de {name} ?", "confirmations.delete.confirm": "Escafar", "confirmations.delete.message": "Volètz vertadièrament escafar l’estatut ?", "confirmations.delete_list.confirm": "Suprimir", @@ -182,8 +182,8 @@ "directory.local": "Solament de {domain}", "directory.new_arrivals": "Nòus-venguts", "directory.recently_active": "Actius fa res", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Paramètres de compte", + "disabled_account_banner.text": "Vòstre compte {disabledAccount} es actualament desactivat.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.dismiss": "Ignorar", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", @@ -215,7 +215,7 @@ "empty_column.community": "Lo flux public local es void. Escrivètz quicòm per lo garnir !", "empty_column.direct": "Avètz pas encara cap de messatges. Quand ne mandatz un o que ne recebètz un, serà mostrat aquí.", "empty_column.domain_blocks": "I a pas encara cap de domeni amagat.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "I a pas res en tendéncia pel moment. Tornatz mai tard !", "empty_column.favourited_statuses": "Avètz pas encara cap de tut favorit. Quand n’auretz un, apareisserà aquí.", "empty_column.favourites": "Degun a pas encara mes en favorit aqueste tut. Quand qualqu’un o farà, apareisserà aquí.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", @@ -243,16 +243,16 @@ "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_title": "Context mismatch!", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", - "filter_modal.added.expired_title": "Expired filter!", + "filter_modal.added.expired_title": "Filtre expirat !", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure_title": "Paramètres del filtre", "filter_modal.added.settings_link": "page de parametratge", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.title": "Filtre apondut !", - "filter_modal.select_filter.context_mismatch": "does not apply to this context", - "filter_modal.select_filter.expired": "expired", - "filter_modal.select_filter.prompt_new": "New category: {name}", - "filter_modal.select_filter.search": "Search or create", + "filter_modal.select_filter.context_mismatch": "s’aplica pas a aqueste contèxte", + "filter_modal.select_filter.expired": "expirat", + "filter_modal.select_filter.prompt_new": "Categoria novèla : {name}", + "filter_modal.select_filter.search": "Cercar o crear", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.title": "Filtrar aquesta publicacion", "filter_modal.title.status": "Filtrar una publicacion", @@ -295,7 +295,7 @@ "interaction_modal.on_this_server": "Sus aqueste servidor", "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", - "interaction_modal.title.favourite": "Favourite {name}'s post", + "interaction_modal.title.favourite": "Metre en favorit la publicacion de {name}", "interaction_modal.title.follow": "Sègre {name}", "interaction_modal.title.reblog": "Partejar la publicacion de {name}", "interaction_modal.title.reply": "Respondre a la publicacion de {name}", @@ -308,7 +308,7 @@ "keyboard_shortcuts.column": "centrar un estatut a una colomna", "keyboard_shortcuts.compose": "anar al camp tèxte", "keyboard_shortcuts.description": "descripcion", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "dobrir la colomna de messatges dirèctes", "keyboard_shortcuts.down": "far davalar dins la lista", "keyboard_shortcuts.enter": "dobrir los estatuts", "keyboard_shortcuts.favourite": "apondre als favorits", @@ -341,8 +341,8 @@ "lightbox.expand": "Espandir la fenèstra de visualizacion d’imatge", "lightbox.next": "Seguent", "lightbox.previous": "Precedent", - "limited_account_hint.action": "Show profile anyway", - "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", + "limited_account_hint.action": "Afichar lo perfil de tota manièra", + "limited_account_hint.title": "Aqueste perfil foguèt rescondut per la moderacion de {domain}.", "lists.account.add": "Ajustar a la lista", "lists.account.remove": "Levar de la lista", "lists.delete": "Suprimir la lista", @@ -388,8 +388,8 @@ "navigation_bar.public_timeline": "Flux public global", "navigation_bar.search": "Recercar", "navigation_bar.security": "Seguretat", - "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", - "notification.admin.report": "{name} reported {target}", + "not_signed_in_indicator.not_signed_in": "Devètz vos connectar per accedir a aquesta ressorsa.", + "notification.admin.report": "{name} senhalèt {target}", "notification.admin.sign_up": "{name} se marquèt", "notification.favourite": "{name} a ajustat a sos favorits", "notification.follow": "{name} vos sèc", @@ -402,8 +402,8 @@ "notification.update": "{name} modiquè sa publicacion", "notifications.clear": "Escafar", "notifications.clear_confirmation": "Volètz vertadièrament escafar totas vòstras las notificacions ?", - "notifications.column_settings.admin.report": "New reports:", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.report": "Senhalaments novèls :", + "notifications.column_settings.admin.sign_up": "Nòus inscrits :", "notifications.column_settings.alert": "Notificacions localas", "notifications.column_settings.favourite": "Favorits :", "notifications.column_settings.filter_bar.advanced": "Mostrar totas las categorias", @@ -419,7 +419,7 @@ "notifications.column_settings.sound": "Emetre un son", "notifications.column_settings.status": "Tuts novèls :", "notifications.column_settings.unread_notifications.category": "Notificacions pas legidas", - "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", + "notifications.column_settings.unread_notifications.highlight": "Forçar sus las notificacions pas legidas", "notifications.column_settings.update": "Modificacions :", "notifications.filter.all": "Totas", "notifications.filter.boosts": "Partages", @@ -454,7 +454,7 @@ "privacy.private.short": "Sonque pels seguidors", "privacy.public.long": "Visiblas per totes", "privacy.public.short": "Public", - "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", + "privacy.unlisted.long": "Visible per totes mas desactivat per las foncionalitats de descobèrta", "privacy.unlisted.short": "Pas-listat", "privacy_policy.last_updated": "Darrièra actualizacion {date}", "privacy_policy.title": "Politica de confidencialitat", @@ -478,7 +478,7 @@ "report.categories.other": "Autre", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", + "report.category.subtitle": "Causissètz çò que correspond mai", "report.category.title": "Tell us what's going on with this {type}", "report.category.title_account": "perfil", "report.category.title_status": "publicacion", @@ -491,7 +491,7 @@ "report.next": "Seguent", "report.placeholder": "Comentaris addicionals", "report.reasons.dislike": "M’agrada pas", - "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.dislike_description": "Es pas quicòm que volriatz veire", "report.reasons.other": "Es quicòm mai", "report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.spam": "It's spam", @@ -514,7 +514,7 @@ "report_notification.categories.other": "Autre", "report_notification.categories.spam": "Spam", "report_notification.categories.violation": "Rule violation", - "report_notification.open": "Open report", + "report_notification.open": "Dobrir lo senhalament", "search.placeholder": "Recercar", "search.search_or_paste": "Recercar o picar una URL", "search_popout.search_format": "Format recèrca avançada", @@ -526,7 +526,7 @@ "search_results.accounts": "Gents", "search_results.all": "Tot", "search_results.hashtags": "Etiquetas", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Cap de resultat per aquestes tèrmes de recèrca", "search_results.statuses": "Tuts", "search_results.statuses_fts_disabled": "La recèrca de tuts per lor contengut es pas activada sus aqueste servidor Mastodon.", "search_results.title": "Recèrca : {q}", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 46efcec03d3..307d4c7c015 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} obserwowany} few {{counter} obserwowanych} many {{counter} obserwowanych} other {{counter} obserwowanych}}", "account.follows.empty": "Ten użytkownik nie obserwuje jeszcze nikogo.", "account.follows_you": "Obserwuje Cię", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Przejdź do profilu", "account.hide_reblogs": "Ukryj podbicia od @{name}", "account.joined_short": "Dołączył(a)", "account.languages": "Zmień subskrybowane języki", @@ -182,8 +182,8 @@ "directory.local": "Tylko z {domain}", "directory.new_arrivals": "Nowości", "directory.recently_active": "Ostatnio aktywne", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Ustawienia konta", + "disabled_account_banner.text": "Twoje konto {disabledAccount} jest obecnie wyłączone.", "dismissable_banner.community_timeline": "To są najnowsze wpisy publiczne od osób, które mają założone konta na {domain}.", "dismissable_banner.dismiss": "Schowaj", "dismissable_banner.explore_links": "Te wiadomości obecnie są komentowane przez osoby z tego serwera i pozostałych w zdecentralizowanej sieci.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Przełącz widoczność", "missing_indicator.label": "Nie znaleziono", "missing_indicator.sublabel": "Nie można odnaleźć tego zasobu", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Twoje konto {disabledAccount} jest obecnie wyłączone, ponieważ zostało przeniesione na {movedToAccount}.", "mute_modal.duration": "Czas", "mute_modal.hide_notifications": "Chcesz ukryć powiadomienia od tego użytkownika?", "mute_modal.indefinite": "Nieokreślony", @@ -576,7 +576,7 @@ "status.reblogs.empty": "Nikt nie podbił jeszcze tego wpisu. Gdy ktoś to zrobi, pojawi się tutaj.", "status.redraft": "Usuń i przeredaguj", "status.remove_bookmark": "Usuń zakładkę", - "status.replied_to": "Odpowiedziałeś/aś {name}", + "status.replied_to": "Odpowiedź do wpisu użytkownika {name}", "status.reply": "Odpowiedz", "status.replyAll": "Odpowiedz na wątek", "status.report": "Zgłoś @{name}", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index b8164fca775..65ca4f51179 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -4,7 +4,7 @@ "about.disclaimer": "Mastodon é um software de código aberto e livre, e uma marca registrada de Mastodon gGmbH.", "about.domain_blocks.comment": "Motivo", "about.domain_blocks.domain": "Domínio", - "about.domain_blocks.preamble": "Mastodon geralmente permite que você veja o conteúdo e interaja com usuários de qualquer outra instância no fediverso. Estas são as exceções desta instância em específico.", + "about.domain_blocks.preamble": "O Mastodon geralmente permite que você veja o conteúdo e interaja com usuários de qualquer outro servidor no fediverso. Estas são as exceções deste servidor em específico.", "about.domain_blocks.severity": "Gravidade", "about.domain_blocks.silenced.explanation": "Você geralmente não verá perfis e conteúdo deste servidor, a menos que você o procure explicitamente ou opte por seguir.", "about.domain_blocks.silenced.title": "Limitado", @@ -28,9 +28,9 @@ "account.edit_profile": "Editar perfil", "account.enable_notifications": "Notificar novos toots de @{name}", "account.endorse": "Recomendar", - "account.featured_tags.last_status_at": "Último post em {date}", - "account.featured_tags.last_status_never": "Não há postagens", - "account.featured_tags.title": "Marcadores em destaque de {name}", + "account.featured_tags.last_status_at": "Última publicação em {date}", + "account.featured_tags.last_status_never": "Sem publicações", + "account.featured_tags.title": "Hashtags em destaque de {name}", "account.follow": "Seguir", "account.followers": "Seguidores", "account.followers.empty": "Nada aqui.", @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {segue {counter}} other {segue {counter}}}", "account.follows.empty": "Nada aqui.", "account.follows_you": "te segue", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Ir para o perfil", "account.hide_reblogs": "Ocultar boosts de @{name}", "account.joined_short": "Entrou", "account.languages": "Mudar idiomas inscritos", @@ -65,7 +65,7 @@ "account.unfollow": "Deixar de seguir", "account.unmute": "Dessilenciar @{name}", "account.unmute_notifications": "Mostrar notificações de @{name}", - "account.unmute_short": "Reativar", + "account.unmute_short": "Dessilenciar", "account_note.placeholder": "Nota pessoal sobre este perfil aqui", "admin.dashboard.daily_retention": "Taxa de retenção de usuários por dia, após a inscrição", "admin.dashboard.monthly_retention": "Taxa de retenção de usuários por mês, após a inscrição", @@ -82,9 +82,9 @@ "autosuggest_hashtag.per_week": "{count} por semana", "boost_modal.combo": "Pressione {combo} para pular isso na próxima vez", "bundle_column_error.copy_stacktrace": "Copiar erro de informe", - "bundle_column_error.error.body": "A página solicitada não pode ser renderizada. Pode ser devido a um bug em nosso código, ou um problema de compatibilidade do navegador.", + "bundle_column_error.error.body": "A página solicitada não pode ser renderizada. Pode ser devido a um erro em nosso código ou um problema de compatibilidade do navegador.", "bundle_column_error.error.title": "Ah, não!", - "bundle_column_error.network.body": "Houve um erro ao tentar carregar esta página. Isso pode ser devido a um problema temporário com sua conexão de internet ou deste servidor.", + "bundle_column_error.network.body": "Ocorreu um erro ao tentar carregar esta página. Isso pode ser devido a um problema temporário com sua conexão de internet ou deste servidor.", "bundle_column_error.network.title": "Erro de rede", "bundle_column_error.retry": "Tente novamente", "bundle_column_error.return": "Voltar à página inicial", @@ -93,10 +93,10 @@ "bundle_modal_error.close": "Fechar", "bundle_modal_error.message": "Erro ao carregar este componente.", "bundle_modal_error.retry": "Tente novamente", - "closed_registrations.other_server_instructions": "Como o Mastodon é descentralizado, você pode criar uma conta em outra instância e ainda pode interagir com esta.", + "closed_registrations.other_server_instructions": "Como o Mastodon é descentralizado, você pode criar uma conta em outro servidor e ainda pode interagir com este.", "closed_registrations_modal.description": "Não é possível criar uma conta em {domain} no momento, mas atente que você não precisa de uma conta especificamente em {domain} para usar o Mastodon.", - "closed_registrations_modal.find_another_server": "Encontrar outra instância", - "closed_registrations_modal.preamble": "O Mastodon é descentralizado, não importa onde você crie sua conta, você poderá seguir e interagir com qualquer pessoa nesta instância. Você pode até mesmo criar sua própria instância!", + "closed_registrations_modal.find_another_server": "Encontrar outro servidor", + "closed_registrations_modal.preamble": "O Mastodon é descentralizado, não importa onde você criou a sua conta, será possível seguir e interagir com qualquer pessoa neste servidor. Você pode até mesmo criar o seu próprio servidor!", "closed_registrations_modal.title": "Inscrevendo-se no Mastodon", "column.about": "Sobre", "column.blocks": "Usuários bloqueados", @@ -127,7 +127,7 @@ "compose.language.change": "Alterar idioma", "compose.language.search": "Pesquisar idiomas...", "compose_form.direct_message_warning_learn_more": "Saiba mais", - "compose_form.encryption_warning": "Postagens no Mastodon não são criptografadas de ponta-a-ponta. Não compartilhe nenhuma informação sensível no Mastodon.", + "compose_form.encryption_warning": "As publicações no Mastodon não são criptografadas de ponta-a-ponta. Não compartilhe nenhuma informação sensível no Mastodon.", "compose_form.hashtag_warning": "Este toot não aparecerá em nenhuma hashtag porque está como não-listado. Somente toots públicos podem ser pesquisados por hashtag.", "compose_form.lock_disclaimer": "Seu perfil não está {locked}. Qualquer um pode te seguir e ver os toots privados.", "compose_form.lock_disclaimer.lock": "trancado", @@ -158,7 +158,7 @@ "confirmations.delete_list.confirm": "Excluir", "confirmations.delete_list.message": "Você tem certeza de que deseja excluir esta lista?", "confirmations.discard_edit_media.confirm": "Descartar", - "confirmations.discard_edit_media.message": "Há mudanças não salvas na descrição ou pré-visualização da mídia; descartar assim mesmo?", + "confirmations.discard_edit_media.message": "Há mudanças não salvas na descrição ou pré-visualização da mídia. Descartar assim mesmo?", "confirmations.domain_block.confirm": "Bloquear instância", "confirmations.domain_block.message": "Você tem certeza de que deseja bloquear tudo de {domain}? Você não verá mais o conteúdo desta instância em nenhuma linha do tempo pública ou nas suas notificações. Seus seguidores desta instância serão removidos.", "confirmations.logout.confirm": "Sair", @@ -182,14 +182,14 @@ "directory.local": "Somente de {domain}", "directory.new_arrivals": "Acabaram de chegar", "directory.recently_active": "Ativos recentemente", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Configurações da conta", + "disabled_account_banner.text": "Sua conta {disabledAccount} está desativada no momento.", "dismissable_banner.community_timeline": "Estas são as publicações públicas mais recentes das pessoas cujas contas são hospedadas por {domain}.", "dismissable_banner.dismiss": "Dispensar", - "dismissable_banner.explore_links": "Estas novas histórias estão sendo contadas por pessoas nesta e em outras instâncias da rede descentralizada no momento.", - "dismissable_banner.explore_statuses": "Estas publicações desta e de outras instâncias na rede descentralizada estão ganhando popularidade na instância agora.", - "dismissable_banner.explore_tags": "Estes marcadores estão ganhando popularidade entre pessoas desta e de outras instâncias da rede descentralizada no momento.", - "dismissable_banner.public_timeline": "Estas são as publicações mais recentes de pessoas desta e de outras instâncias da rede descentralizada que esta instância conhece.", + "dismissable_banner.explore_links": "Estas novas histórias estão sendo contadas por pessoas neste e em outros servidores da rede descentralizada no momento.", + "dismissable_banner.explore_statuses": "Estas publicações deste e de outros servidores na rede descentralizada estão ganhando popularidade neste servidor agora.", + "dismissable_banner.explore_tags": "Estas hashtags estão ganhando popularidade no momento entre as pessoas deste e de outros servidores da rede descentralizada.", + "dismissable_banner.public_timeline": "Estas são as publicações mais recentes de pessoas deste e de outros servidores da rede descentralizada que este servidor conhece.", "embed.instructions": "Incorpore este toot no seu site ao copiar o código abaixo.", "embed.preview": "Aqui está como vai ficar:", "emoji_button.activity": "Atividade", @@ -238,7 +238,7 @@ "explore.suggested_follows": "Para você", "explore.title": "Explorar", "explore.trending_links": "Notícias", - "explore.trending_statuses": "Posts", + "explore.trending_statuses": "Publicações", "explore.trending_tags": "Hashtags", "filter_modal.added.context_mismatch_explanation": "Esta categoria de filtro não se aplica ao contexto no qual você acessou esta publicação. Se quiser que a publicação seja filtrada nesse contexto também, você terá que editar o filtro.", "filter_modal.added.context_mismatch_title": "Incompatibilidade de contexto!", @@ -255,7 +255,7 @@ "filter_modal.select_filter.search": "Buscar ou criar", "filter_modal.select_filter.subtitle": "Use uma categoria existente ou crie uma nova", "filter_modal.select_filter.title": "Filtrar esta publicação", - "filter_modal.title.status": "Filtrar uma postagem", + "filter_modal.title.status": "Filtrar uma publicação", "follow_recommendations.done": "Salvar", "follow_recommendations.heading": "Siga pessoas que você gostaria de acompanhar! Aqui estão algumas sugestões.", "follow_recommendations.lead": "Toots de pessoas que você segue aparecerão em ordem cronológica na página inicial. Não tenha medo de cometer erros, você pode facilmente deixar de seguir a qualquer momento!", @@ -280,24 +280,24 @@ "hashtag.column_settings.tag_mode.any": "Qualquer uma", "hashtag.column_settings.tag_mode.none": "Nenhuma", "hashtag.column_settings.tag_toggle": "Adicionar mais hashtags aqui", - "hashtag.follow": "Seguir “hashtag”", - "hashtag.unfollow": "Parar de seguir “hashtag”", + "hashtag.follow": "Seguir hashtag", + "hashtag.unfollow": "Parar de seguir hashtag", "home.column_settings.basic": "Básico", "home.column_settings.show_reblogs": "Mostrar boosts", "home.column_settings.show_replies": "Mostrar respostas", "home.hide_announcements": "Ocultar comunicados", "home.show_announcements": "Mostrar comunicados", - "interaction_modal.description.favourite": "Com uma conta no Mastodon, você pode favoritar este post para que o autor saiba que você gostou e salvá-lo para mais ler mais tarde.", - "interaction_modal.description.follow": "Com uma conta no Mastodon, você pode seguir {name} para receber publicações no seu feed inicial.", - "interaction_modal.description.reblog": "Com uma conta no Mastodon, você pode impulsionar este post para compartilhá-lo com seus próprios seguidores.", - "interaction_modal.description.reply": "Com uma conta no Mastodon, você pode responder este post.", + "interaction_modal.description.favourite": "Com uma conta no Mastodon, você pode favoritar esta publicação para que o autor saiba que você gostou e salvá-lo para mais ler mais tarde.", + "interaction_modal.description.follow": "Com uma conta no Mastodon, você pode seguir {name} para receber publicações na sua página inicial.", + "interaction_modal.description.reblog": "Com uma conta no Mastodon, você pode impulsionar esta publicação para compartilhá-lo com seus próprios seguidores.", + "interaction_modal.description.reply": "Com uma conta no Mastodon, você pode responder a esta publicação.", "interaction_modal.on_another_server": "Em um servidor diferente", "interaction_modal.on_this_server": "Neste servidor", "interaction_modal.other_server_instructions": "Simplesmente copie e cole este URL na barra de pesquisa do seu aplicativo favorito ou na interface web onde você está autenticado.", - "interaction_modal.preamble": "Sendo o Mastodon descentralizado, você pode usar sua conta existente em outro servidor Mastodon ou plataforma compatível se você não tiver uma conta neste servidor.", - "interaction_modal.title.favourite": "Favoritar post de {name}", + "interaction_modal.preamble": "Como o Mastodon é descentralizado, você pode usar sua conta existente em outro servidor Mastodon ou plataforma compatível se você não tiver uma conta neste servidor.", + "interaction_modal.title.favourite": "Favoritar publicação de {name}", "interaction_modal.title.follow": "Seguir {name}", - "interaction_modal.title.reblog": "Impulsionar post de {name}", + "interaction_modal.title.reblog": "Impulsionar publicação de {name}", "interaction_modal.title.reply": "Responder à publicação de {name}", "intervals.full.days": "{number, plural, one {# dia} other {# dias}}", "intervals.full.hours": "{number, plural, one {# hora} other {# horas}}", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Ocultar mídia} other {Ocultar mídias}}", "missing_indicator.label": "Não encontrado", "missing_indicator.sublabel": "Recurso não encontrado", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Sua conta {disabledAccount} está desativada porque você a moveu para {movedToAccount}.", "mute_modal.duration": "Duração", "mute_modal.hide_notifications": "Ocultar notificações deste usuário?", "mute_modal.indefinite": "Indefinido", @@ -456,8 +456,8 @@ "privacy.public.short": "Público", "privacy.unlisted.long": "Visível para todos, mas desativou os recursos de descoberta", "privacy.unlisted.short": "Não-listado", - "privacy_policy.last_updated": "Última atualização {date}", - "privacy_policy.title": "Política de Privacidade", + "privacy_policy.last_updated": "Atualizado {date}", + "privacy_policy.title": "Política de privacidade", "refresh": "Atualizar", "regeneration_indicator.label": "Carregando…", "regeneration_indicator.sublabel": "Sua página inicial está sendo preparada!", @@ -474,7 +474,7 @@ "relative_time.today": "hoje", "reply_indicator.cancel": "Cancelar", "report.block": "Bloquear", - "report.block_explanation": "Você não verá suas postagens. Eles não poderão ver suas postagens ou segui-lo. Eles serão capazes de perceber que estão bloqueados.", + "report.block_explanation": "Você não verá suas publicações. Ele não poderá ver suas publicações ou segui-lo, e será capaz de perceber que está bloqueado.", "report.categories.other": "Outro", "report.categories.spam": "Spam", "report.categories.violation": "O conteúdo viola uma ou mais regras do servidor", @@ -487,7 +487,7 @@ "report.forward": "Encaminhar para {target}", "report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?", "report.mute": "Silenciar", - "report.mute_explanation": "Você não verá suas postagens. Eles ainda podem seguir você e ver suas postagens e não saberão que estão silenciados.", + "report.mute_explanation": "Você não verá suas publicações. Ele ainda pode seguir você e ver suas publicações, e não saberá que está silenciado.", "report.next": "Próximo", "report.placeholder": "Comentários adicionais aqui", "report.reasons.dislike": "Eu não gosto disso", @@ -499,7 +499,7 @@ "report.reasons.violation": "Viola as regras do servidor", "report.reasons.violation_description": "Você está ciente de que isso quebra regras específicas", "report.rules.subtitle": "Selecione tudo que se aplica", - "report.rules.title": "Que regras estão sendo violadas?", + "report.rules.title": "Quais regras estão sendo violadas?", "report.statuses.subtitle": "Selecione tudo que se aplica", "report.statuses.title": "Existem postagens que respaldam esse relatório?", "report.submit": "Enviar", @@ -507,9 +507,9 @@ "report.thanks.take_action": "Aqui estão suas opções para controlar o que você vê no Mastodon:", "report.thanks.take_action_actionable": "Enquanto revisamos isso, você pode tomar medidas contra @{name}:", "report.thanks.title": "Não quer ver isto?", - "report.thanks.title_actionable": "Obrigado por reportar. Vamos analisar.", + "report.thanks.title_actionable": "Obrigado por denunciar, nós vamos analisar.", "report.unfollow": "Deixar de seguir @{name}", - "report.unfollow_explanation": "Você está seguindo esta conta. Para não mais ver os posts dele em sua página inicial, deixe de segui-lo.", + "report.unfollow_explanation": "Você está seguindo esta conta. Para não ver as publicações dela em sua página inicial, deixe de segui-la.", "report_notification.attached_statuses": "{count, plural, one {{count} publicação} other {{count} publicações}} anexada(s)", "report_notification.categories.other": "Outro", "report_notification.categories.spam": "Spam", @@ -531,15 +531,15 @@ "search_results.statuses_fts_disabled": "Pesquisar toots por seu conteúdo não está ativado nesta instância Mastodon.", "search_results.title": "Buscar {q}", "search_results.total": "{count, number} {count, plural, one {resultado} other {resultados}}", - "server_banner.about_active_users": "Pessoas usando esta instância durante os últimos 30 dias (Usuários Ativos Mensalmente)", + "server_banner.about_active_users": "Pessoas usando este servidor durante os últimos 30 dias (Usuários ativos mensalmente)", "server_banner.active_users": "usuários ativos", "server_banner.administered_by": "Administrado por:", "server_banner.introduction": "{domain} faz parte da rede social descentralizada desenvolvida por {mastodon}.", "server_banner.learn_more": "Saiba mais", - "server_banner.server_stats": "Estatísticas da instância:", + "server_banner.server_stats": "Estatísticas do servidor:", "sign_in_banner.create_account": "Criar conta", "sign_in_banner.sign_in": "Entrar", - "sign_in_banner.text": "Entre para seguir perfis ou marcadores, favoritar, compartilhar e responder publicações, interagir a partir da sua conta em uma instância diferente.", + "sign_in_banner.text": "Entre para seguir perfis ou hashtags, favoritar, compartilhar e responder publicações, interagir a partir da sua conta em um servidor diferente.", "status.admin_account": "Abrir interface de moderação para @{name}", "status.admin_status": "Abrir este toot na interface de moderação", "status.block": "Bloquear @{name}", @@ -582,7 +582,7 @@ "status.report": "Denunciar @{name}", "status.sensitive_warning": "Mídia sensível", "status.share": "Compartilhar", - "status.show_filter_reason": "Mostrar de qualquer maneira", + "status.show_filter_reason": "Mostrar mesmo assim", "status.show_less": "Mostrar menos", "status.show_less_all": "Mostrar menos em tudo", "status.show_more": "Mostrar mais", @@ -593,7 +593,7 @@ "status.uncached_media_warning": "Não disponível", "status.unmute_conversation": "Dessilenciar conversa", "status.unpin": "Desafixar", - "subscribed_languages.lead": "Apenas publicações nos idiomas selecionados irão aparecer na sua página inicial e outras linhas do tempo após a mudança. Selecione nenhum para receber publicações em todos os idiomas.", + "subscribed_languages.lead": "Apenas publicações nos idiomas selecionados aparecerão na sua página inicial e outras linhas do tempo após a mudança. Selecione nenhum para receber publicações em todos os idiomas.", "subscribed_languages.save": "Salvar alterações", "subscribed_languages.target": "Alterar idiomas inscritos para {target}", "suggestions.dismiss": "Ignorar sugestão", @@ -623,7 +623,7 @@ "upload_error.poll": "Mídias não podem ser anexadas em toots com enquetes.", "upload_form.audio_description": "Descrever para deficientes auditivos", "upload_form.description": "Descrever para deficientes visuais", - "upload_form.description_missing": "Nenhuma descrição adicionada", + "upload_form.description_missing": "Sem descrição", "upload_form.edit": "Editar", "upload_form.thumbnail": "Alterar miniatura", "upload_form.undo": "Excluir", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index a1d09b89988..02a0ceca986 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, other {A seguir {counter}}}", "account.follows.empty": "Este utilizador ainda não segue ninguém.", "account.follows_you": "Segue-te", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Ir para o perfil", "account.hide_reblogs": "Esconder partilhas de @{name}", "account.joined_short": "Juntou-se a", "account.languages": "Alterar idiomas subscritos", @@ -182,8 +182,8 @@ "directory.local": "Apenas de {domain}", "directory.new_arrivals": "Recém chegados", "directory.recently_active": "Com actividade recente", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Definições da conta", + "disabled_account_banner.text": "A sua conta {disabledAccount} está, no momento, desativada.", "dismissable_banner.community_timeline": "Estas são as publicações públicas mais recentes de pessoas cujas contas são hospedadas por {domain}.", "dismissable_banner.dismiss": "Descartar", "dismissable_banner.explore_links": "Essas histórias de notícias estão, no momento, a ser faladas por pessoas neste e noutros servidores da rede descentralizada.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Alternar visibilidade", "missing_indicator.label": "Não encontrado", "missing_indicator.sublabel": "Este recurso não foi encontrado", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "A sua conta {disabledAccount} está, no momento, desativada, porque você migrou para {movedToAccount}.", "mute_modal.duration": "Duração", "mute_modal.hide_notifications": "Esconder notificações deste utilizador?", "mute_modal.indefinite": "Indefinidamente", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 9a9933c1798..fb341a979e7 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} подписка} many {{counter} подписок} other {{counter} подписки}}", "account.follows.empty": "Этот пользователь пока ни на кого не подписался.", "account.follows_you": "Подписан(а) на вас", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Перейти к профилю", "account.hide_reblogs": "Скрыть продвижения от @{name}", "account.joined_short": "Joined", "account.languages": "Изменить языки подписки", @@ -182,8 +182,8 @@ "directory.local": "Только с {domain}", "directory.new_arrivals": "Новички", "directory.recently_active": "Недавно активные", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Настройки учётной записи", + "disabled_account_banner.text": "Ваша учётная запись {disabledAccount} в настоящее время отключена.", "dismissable_banner.community_timeline": "Это самые последние публичные сообщения от людей, чьи учетные записи размещены в {domain}.", "dismissable_banner.dismiss": "Dismiss", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", @@ -386,7 +386,7 @@ "navigation_bar.pins": "Закреплённые посты", "navigation_bar.preferences": "Настройки", "navigation_bar.public_timeline": "Глобальная лента", - "navigation_bar.search": "Search", + "navigation_bar.search": "Поиск", "navigation_bar.security": "Безопасность", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.admin.report": "{name} сообщил о {target}", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 88b32ea78e2..76c5798202c 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {sledi {count} osebi} two {sledi {count} osebama} few {sledi {count} osebam} other {sledi {count} osebam}}", "account.follows.empty": "Ta uporabnik še ne sledi nikomur.", "account.follows_you": "Vam sledi", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Pojdi na profil", "account.hide_reblogs": "Skrij izpostavitve od @{name}", "account.joined_short": "Pridružil/a", "account.languages": "Spremeni naročene jezike", @@ -182,8 +182,8 @@ "directory.local": "Samo iz {domain}", "directory.new_arrivals": "Novi prišleki", "directory.recently_active": "Nedavno aktiven/a", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Nastavitve računa", + "disabled_account_banner.text": "Vaš račun {disabledAccount} je trenutno onemogočen.", "dismissable_banner.community_timeline": "To so najnovejše javne objave oseb, katerih računi gostujejo na {domain}.", "dismissable_banner.dismiss": "Opusti", "dismissable_banner.explore_links": "O teh novicah ravno zdaj veliko govorijo osebe na tem in drugih strežnikih decentraliziranega omrežja.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural,one {Skrij sliko} two {Skrij sliki} other {Skrij slike}}", "missing_indicator.label": "Ni najdeno", "missing_indicator.sublabel": "Tega vira ni bilo mogoče najti", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Vaš račun {disabledAccount} je trenutno onemogočen, ker ste se prestavili na {movedToAccount}.", "mute_modal.duration": "Trajanje", "mute_modal.hide_notifications": "Ali želite skriti obvestila tega uporabnika?", "mute_modal.indefinite": "Nedoločeno", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index 3debd623e75..f53d140bca2 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} i Ndjekur} other {{counter} të Ndjekur}}", "account.follows.empty": "Ky përdorues ende s’ndjek kënd.", "account.follows_you": "Ju ndjek", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Kalo te profili", "account.hide_reblogs": "Fshih përforcime nga @{name}", "account.joined_short": "U bë pjesë", "account.languages": "Ndryshoni gjuhë pajtimesh", @@ -182,8 +182,8 @@ "directory.local": "Vetëm nga {domain}", "directory.new_arrivals": "Të ardhur rishtas", "directory.recently_active": "Aktivë së fundi", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Rregullime llogarie", + "disabled_account_banner.text": "Llogaria juaj {disabledAccount} është aktualisht e çaktivizuar.", "dismissable_banner.community_timeline": "Këto janë postime më të freskëta publike nga persona llogaritë e të cilëve strehohen nga {domain}.", "dismissable_banner.dismiss": "Hidhe tej", "dismissable_banner.explore_links": "Këto histori të reja po tirren nga persona në këtë shërbyes dhe të tjerë të tillë të rrjetit të decentralizuar mu tani.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Fshihni {number, plural, one {figurë} other {figura}}", "missing_indicator.label": "S’u gjet", "missing_indicator.sublabel": "Ky burim s’u gjet dot", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Llogaria juaj {disabledAccount} aktualisht është e çaktivizuar, ngaqë kaluat te {movedToAccount}.", "mute_modal.duration": "Kohëzgjatje", "mute_modal.hide_notifications": "Të kalohen të fshehura njoftimet prej këtij përdoruesi?", "mute_modal.indefinite": "E pacaktuar", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index a6bd409da33..fbd34dfaf3d 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -4,14 +4,14 @@ "about.disclaimer": "Mastodon är fri programvara med öppen källkod och ett varumärke tillhörande Mastodon gGmbH.", "about.domain_blocks.comment": "Anledning", "about.domain_blocks.domain": "Domän", - "about.domain_blocks.preamble": "Mastodon låter dig i allmänhet visa innehåll från, och interagera med, användare från andra servrar i fediversumet. Dessa är undantagen som gjorts på just denna server.", + "about.domain_blocks.preamble": "Som regel låter Mastodon dig interagera med användare från andra servrar i fediversumet och se deras innehåll. Detta är de undantag som gjorts på just denna servern.", "about.domain_blocks.severity": "Allvarlighetsgrad", - "about.domain_blocks.silenced.explanation": "Du kommer i allmänhet inte att se profiler och innehåll från denna server, om du inte uttryckligen slår upp eller samtycker till det genom att följa.", + "about.domain_blocks.silenced.explanation": "Såvida du inte uttryckligen söker upp dem eller samtycker till att se dem genom att följa dem kommer du i allmänhet inte se profiler från den här servern, eller deras innehåll.", "about.domain_blocks.silenced.title": "Begränsat", "about.domain_blocks.suspended.explanation": "Inga data från denna server kommer behandlas, lagras eller bytas ut, vilket omöjliggör kommunikation med användare på denna server.", "about.domain_blocks.suspended.title": "Avstängd", "about.not_available": "Denna information har inte gjorts tillgänglig på denna server.", - "about.powered_by": "Decentraliserat socialt medium drivet av {mastodon}", + "about.powered_by": "En decentraliserad plattform for sociala medier, drivet av {mastodon}", "about.rules": "Serverregler", "account.account_note_header": "Anteckning", "account.add_or_remove_from_list": "Lägg till i eller ta bort från listor", @@ -30,7 +30,7 @@ "account.endorse": "Visa på profil", "account.featured_tags.last_status_at": "Senaste inlägg den {date}", "account.featured_tags.last_status_never": "Inga inlägg", - "account.featured_tags.title": "{name}s utvalda hashtags", + "account.featured_tags.title": "{name}s utvalda hashtaggar", "account.follow": "Följ", "account.followers": "Följare", "account.followers.empty": "Ingen följer denna användare än.", @@ -39,8 +39,8 @@ "account.following_counter": "{count, plural, one {{counter} Följer} other {{counter} Följer}}", "account.follows.empty": "Denna användare följer inte någon än.", "account.follows_you": "Följer dig", - "account.go_to_profile": "Go to profile", - "account.hide_reblogs": "Dölj boostningar från @{name}", + "account.go_to_profile": "Gå till profilen", + "account.hide_reblogs": "Dölj puffar från @{name}", "account.joined_short": "Gick med", "account.languages": "Ändra prenumererade språk", "account.link_verified_on": "Ägarskap för denna länk kontrollerades den {date}", @@ -182,8 +182,8 @@ "directory.local": "Endast från {domain}", "directory.new_arrivals": "Nyanlända", "directory.recently_active": "Nyligen aktiva", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Kontoinställningar", + "disabled_account_banner.text": "Ditt konto {disabledAccount} är för närvarande inaktiverat.", "dismissable_banner.community_timeline": "Dessa är de senaste offentliga inläggen från personer vars konton tillhandahålls av {domain}.", "dismissable_banner.dismiss": "Avfärda", "dismissable_banner.explore_links": "Dessa nyheter pratas det om just nu, på denna och på andra servrar i det decentraliserade nätverket.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "Växla synlighet", "missing_indicator.label": "Hittades inte", "missing_indicator.sublabel": "Den här resursen kunde inte hittas", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Ditt konto {disabledAccount} är för närvarande inaktiverat eftersom du flyttat till {movedToAccount}.", "mute_modal.duration": "Varaktighet", "mute_modal.hide_notifications": "Dölj aviseringar från denna användare?", "mute_modal.indefinite": "Obestämt", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 176319d3358..04409007882 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, other {{counter} กำลังติดตาม}}", "account.follows.empty": "ผู้ใช้นี้ยังไม่ได้ติดตามใคร", "account.follows_you": "ติดตามคุณ", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "ไปยังโปรไฟล์", "account.hide_reblogs": "ซ่อนการดันจาก @{name}", "account.joined_short": "เข้าร่วมเมื่อ", "account.languages": "เปลี่ยนภาษาที่บอกรับ", @@ -47,7 +47,7 @@ "account.locked_info": "มีการตั้งสถานะความเป็นส่วนตัวของบัญชีนี้เป็นล็อคอยู่ เจ้าของตรวจทานผู้ที่สามารถติดตามเขาด้วยตนเอง", "account.media": "สื่อ", "account.mention": "กล่าวถึง @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "{name} ได้ระบุว่าบัญชีใหม่ของเขาในตอนนี้คือ:", "account.mute": "ซ่อน @{name}", "account.mute_notifications": "ซ่อนการแจ้งเตือนจาก @{name}", "account.muted": "ซ่อนอยู่", @@ -83,12 +83,12 @@ "boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป", "bundle_column_error.copy_stacktrace": "คัดลอกรายงานข้อผิดพลาด", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", - "bundle_column_error.error.title": "Oh, no!", + "bundle_column_error.error.title": "โอ้ ไม่!", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.title": "ข้อผิดพลาดเครือข่าย", "bundle_column_error.retry": "ลองอีกครั้ง", "bundle_column_error.return": "กลับไปที่หน้าแรก", - "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", + "bundle_column_error.routing.body": "ไม่พบหน้าที่ขอ คุณแน่ใจหรือไม่ว่า URL ในแถบที่อยู่ถูกต้อง?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "ปิด", "bundle_modal_error.message": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้", @@ -182,7 +182,7 @@ "directory.local": "จาก {domain} เท่านั้น", "directory.new_arrivals": "มาใหม่", "directory.recently_active": "ใช้งานล่าสุด", - "disabled_account_banner.account_settings": "Account settings", + "disabled_account_banner.account_settings": "การตั้งค่าบัญชี", "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", "dismissable_banner.community_timeline": "นี่คือโพสต์สาธารณะล่าสุดจากผู้คนที่บัญชีได้รับการโฮสต์โดย {domain}", "dismissable_banner.dismiss": "ปิด", @@ -287,10 +287,10 @@ "home.column_settings.show_replies": "แสดงการตอบกลับ", "home.hide_announcements": "ซ่อนประกาศ", "home.show_announcements": "แสดงประกาศ", - "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", - "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", - "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", - "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", + "interaction_modal.description.favourite": "เมื่อมีบัญชีใน Mastodon คุณสามารถชื่นชอบโพสต์นี้เพื่อให้ผู้สร้างทราบว่าคุณชื่นชมโพสต์และบันทึกโพสต์ไว้สำหรับภายหลัง", + "interaction_modal.description.follow": "เมื่อมีบัญชีใน Mastodon คุณสามารถติดตาม {name} เพื่อรับโพสต์ของเขาในฟีดหน้าแรกของคุณ", + "interaction_modal.description.reblog": "เมื่อมีบัญชีใน Mastodon คุณสามารถดันโพสต์นี้เพื่อแบ่งปันโพสต์กับผู้ติดตามของคุณเอง", + "interaction_modal.description.reply": "เมื่อมีบัญชีใน Mastodon คุณสามารถตอบกลับโพสต์นี้", "interaction_modal.on_another_server": "ในเซิร์ฟเวอร์อื่น", "interaction_modal.on_this_server": "ในเซิร์ฟเวอร์นี้", "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", @@ -531,7 +531,7 @@ "search_results.statuses_fts_disabled": "ไม่มีการเปิดใช้งานการค้นหาโพสต์โดยเนื้อหาของโพสต์ในเซิร์ฟเวอร์ Mastodon นี้", "search_results.title": "ค้นหาสำหรับ {q}", "search_results.total": "{count, number} {count, plural, other {ผลลัพธ์}}", - "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", + "server_banner.about_active_users": "ผู้คนที่ใช้เซิร์ฟเวอร์นี้ในระหว่าง 30 วันที่ผ่านมา (ผู้ใช้ที่ใช้งานอยู่รายเดือน)", "server_banner.active_users": "ผู้ใช้ที่ใช้งานอยู่", "server_banner.administered_by": "ดูแลโดย:", "server_banner.introduction": "{domain} เป็นส่วนหนึ่งของเครือข่ายสังคมแบบกระจายศูนย์ที่ขับเคลื่อนโดย {mastodon}", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 0ef62d59dd5..e3df3cd8263 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Takip Edilen} other {{counter} Takip Edilen}}", "account.follows.empty": "Bu kullanıcı henüz kimseyi takip etmiyor.", "account.follows_you": "Seni takip ediyor", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Profile git", "account.hide_reblogs": "@{name} kişisinin boostlarını gizle", "account.joined_short": "Katıldı", "account.languages": "Abone olunan dilleri değiştir", @@ -182,8 +182,8 @@ "directory.local": "Yalnızca {domain} adresinden", "directory.new_arrivals": "Yeni gelenler", "directory.recently_active": "Son zamanlarda aktif", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Hesap ayarları", + "disabled_account_banner.text": "{disabledAccount} hesabınız şu an devre dışı.", "dismissable_banner.community_timeline": "Bunlar, {domain} sunucusunda hesabı olanların yakın zamandaki herkese açık gönderileridir.", "dismissable_banner.dismiss": "Yoksay", "dismissable_banner.explore_links": "Bunlar, ademi merkeziyetçi ağda bu ve diğer sunucularda şimdilerde insanların hakkında konuştuğu haber öyküleridir.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Resmi} other {Resimleri}} gizle", "missing_indicator.label": "Bulunamadı", "missing_indicator.sublabel": "Bu kaynak bulunamadı", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "{disabledAccount} hesabınız, {movedToAccount} hesabına taşıdığınız için şu an devre dışı.", "mute_modal.duration": "Süre", "mute_modal.hide_notifications": "Bu kullanıcıdan bildirimler gizlensin mı?", "mute_modal.indefinite": "Belirsiz", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 5e5853f44c4..c5cdcb2f585 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} підписка} few {{counter} підписки} many {{counter} підписок} other {{counter} підписки}}", "account.follows.empty": "Цей користувач ще ні на кого не підписався.", "account.follows_you": "Підписані на вас", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Перейти до профілю", "account.hide_reblogs": "Сховати поширення від @{name}", "account.joined_short": "Дата приєднання", "account.languages": "Змінити обрані мови", @@ -182,8 +182,8 @@ "directory.local": "Лише з домену {domain}", "directory.new_arrivals": "Нові надходження", "directory.recently_active": "Нещодавно активні", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Налаштування облікового запису", + "disabled_account_banner.text": "Ваш обліковий запис {disabledAccount} наразі вимкнений.", "dismissable_banner.community_timeline": "Це останні публічні дописи від людей, чиї облікові записи розміщені на {domain}.", "dismissable_banner.dismiss": "Відхилити", "dismissable_banner.explore_links": "Ці новини розповідають історії про людей на цих та інших серверах децентралізованої мережі прямо зараз.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, one {Приховати зображення} other {Приховати зображення}}", "missing_indicator.label": "Не знайдено", "missing_indicator.sublabel": "Ресурс не знайдено", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Ваш обліковий запис {disabledAccount} наразі вимкнений, оскільки вас перенесено до {movedToAccount}.", "mute_modal.duration": "Тривалість", "mute_modal.hide_notifications": "Сховати сповіщення від користувача?", "mute_modal.indefinite": "Не визначено", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 60486ba9c04..5dfe7e22225 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -14,17 +14,17 @@ "about.powered_by": "Mạng xã hội liên hợp {mastodon}", "about.rules": "Quy tắc máy chủ", "account.account_note_header": "Ghi chú", - "account.add_or_remove_from_list": "Thêm hoặc Xóa khỏi danh sách", + "account.add_or_remove_from_list": "Thêm hoặc xóa khỏi danh sách", "account.badges.bot": "Bot", "account.badges.group": "Nhóm", "account.block": "Chặn @{name}", - "account.block_domain": "Ẩn mọi thứ từ {domain}", + "account.block_domain": "Chặn mọi thứ từ {domain}", "account.blocked": "Đã chặn", "account.browse_more_on_origin_server": "Truy cập trang của người này", "account.cancel_follow_request": "Thu hồi yêu cầu theo dõi", "account.direct": "Nhắn riêng @{name}", - "account.disable_notifications": "Tắt thông báo khi @{name} đăng tút", - "account.domain_blocked": "Người đã chặn", + "account.disable_notifications": "Tắt thông báo khi @{name} đăng bài viết", + "account.domain_blocked": "Tên miền đã chặn", "account.edit_profile": "Sửa hồ sơ", "account.enable_notifications": "Nhận thông báo khi @{name} đăng tút", "account.endorse": "Tôn vinh người này", @@ -39,7 +39,7 @@ "account.following_counter": "{count, plural, one {{counter} Theo dõi} other {{counter} Theo dõi}}", "account.follows.empty": "Người này chưa theo dõi ai.", "account.follows_you": "Đang theo dõi bạn", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Xem hồ sơ", "account.hide_reblogs": "Ẩn tút @{name} đăng lại", "account.joined_short": "Đã tham gia", "account.languages": "Đổi ngôn ngữ mong muốn", @@ -182,8 +182,8 @@ "directory.local": "Từ {domain}", "directory.new_arrivals": "Mới tham gia", "directory.recently_active": "Hoạt động gần đây", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Cài đặt tài khoản", + "disabled_account_banner.text": "Tài khoản {disabledAccount} của bạn hiện không khả dụng.", "dismissable_banner.community_timeline": "Những tút gần đây của những người có tài khoản thuộc máy chủ {domain}.", "dismissable_banner.dismiss": "Bỏ qua", "dismissable_banner.explore_links": "Những sự kiện đang được thảo luận nhiều trên máy chủ này và những máy chủ khác thuộc mạng liên hợp của nó.", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "{number, plural, other {Ẩn hình ảnh}}", "missing_indicator.label": "Không tìm thấy", "missing_indicator.sublabel": "Nội dung này không còn tồn tại", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Tài khoản {disabledAccount} của bạn hiện không khả dụng vì bạn đã chuyển sang {movedToAccount}.", "mute_modal.duration": "Thời hạn", "mute_modal.hide_notifications": "Ẩn thông báo từ người này?", "mute_modal.indefinite": "Vĩnh viễn", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index 55f1b58a07a..fb83d0f7175 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -39,7 +39,7 @@ "account.following_counter": "正在关注 {counter} 人", "account.follows.empty": "此用户目前尚未关注任何人。", "account.follows_you": "关注了你", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "转到个人资料", "account.hide_reblogs": "隐藏来自 @{name} 的转贴", "account.joined_short": "加入于", "account.languages": "更改订阅语言", @@ -182,8 +182,8 @@ "directory.local": "仅来自 {domain}", "directory.new_arrivals": "新来者", "directory.recently_active": "最近活跃", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "账户设置", + "disabled_account_banner.text": "您的帐户 {disabledAccount} 目前已被禁用。", "dismissable_banner.community_timeline": "这些是来自 {domain} 用户的最新公共嘟文。", "dismissable_banner.dismiss": "忽略", "dismissable_banner.explore_links": "这些新闻故事正被本站和分布式网络上其他站点的用户谈论。", @@ -258,7 +258,7 @@ "filter_modal.title.status": "过滤一条嘟文", "follow_recommendations.done": "完成", "follow_recommendations.heading": "关注你感兴趣的用户!这里有一些推荐。", - "follow_recommendations.lead": "你关注的人的嘟文将按时间顺序在你的主页上显示。 别担心,你可以随时取消关注!", + "follow_recommendations.lead": "你关注的人的嘟文将按时间顺序显示在你的主页上。别担心,你可以在任何时候取消对别人的关注!", "follow_request.authorize": "授权", "follow_request.reject": "拒绝", "follow_requests.unlocked_explanation": "尽管你没有锁嘟,但是 {domain} 的工作人员认为你也许会想手动审核审核这些账号的关注请求。", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "隐藏图片", "missing_indicator.label": "找不到内容", "missing_indicator.sublabel": "无法找到此资源", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "您的帐户 {disabledAccount} 已停用,因为您已迁移到 {movedToAccount} 。", "mute_modal.duration": "持续时长", "mute_modal.hide_notifications": "同时隐藏来自这个用户的通知?", "mute_modal.indefinite": "无期限", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 2982716a0dd..37a8ea506fc 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -1,18 +1,18 @@ { - "about.blocks": "Moderated servers", - "about.contact": "Contact:", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", - "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", - "about.domain_blocks.silenced.title": "Limited", - "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", - "about.domain_blocks.suspended.title": "Suspended", - "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", - "about.rules": "Server rules", + "about.blocks": "受管制的伺服器", + "about.contact": "聯絡我們:", + "about.disclaimer": "Mastodon 是一個自由的開源軟體,為 Mastodon gGmbH 的註冊商標。", + "about.domain_blocks.comment": "原因", + "about.domain_blocks.domain": "域名", + "about.domain_blocks.preamble": "Mastodon 一般允許您閱讀,並和聯邦宇宙上任何伺服器的用戶互動。這些伺服器是本站設下的例外。", + "about.domain_blocks.severity": "嚴重性", + "about.domain_blocks.silenced.explanation": "一般來說您不會看到來自這個伺服器的個人檔案和內容,除非您明確地打開或著追蹤此個人檔案。", + "about.domain_blocks.silenced.title": "受限的", + "about.domain_blocks.suspended.explanation": "來自此伺服器的資料將不會被處理、儲存或交換,本站也將無法和此伺服器上的用戶互動或者溝通。", + "about.domain_blocks.suspended.title": "已停權", + "about.not_available": "此信息在此伺服器上尚未可存取。", + "about.powered_by": "由 {mastodon} 提供之去中心化社交媒體", + "about.rules": "伺服器規則", "account.account_note_header": "筆記", "account.add_or_remove_from_list": "從列表中新增或移除", "account.badges.bot": "機械人", @@ -21,40 +21,40 @@ "account.block_domain": "封鎖來自 {domain} 的一切文章", "account.blocked": "已封鎖", "account.browse_more_on_origin_server": "瀏覽原服務站上的個人資料頁", - "account.cancel_follow_request": "Withdraw follow request", + "account.cancel_follow_request": "撤回追蹤請求", "account.direct": "私訊 @{name}", "account.disable_notifications": "如果 @{name} 發文請不要再通知我", "account.domain_blocked": "服務站被封鎖", "account.edit_profile": "修改個人資料", "account.enable_notifications": "如果 @{name} 發文請通知我", "account.endorse": "在個人資料頁推薦對方", - "account.featured_tags.last_status_at": "Last post on {date}", - "account.featured_tags.last_status_never": "No posts", - "account.featured_tags.title": "{name}'s featured hashtags", + "account.featured_tags.last_status_at": "上次帖文於 {date}", + "account.featured_tags.last_status_never": "沒有帖文", + "account.featured_tags.title": "{name} 的精選標籤", "account.follow": "關注", - "account.followers": "關注者", - "account.followers.empty": "尚未有人關注這位使用者。", - "account.followers_counter": "有 {count, plural,one {{counter} 個} other {{counter} 個}}關注者", - "account.following": "正在關注", - "account.following_counter": "正在關注 {count, plural,one {{counter}}other {{counter} 人}}", - "account.follows.empty": "這位使用者尚未關注任何人。", - "account.follows_you": "關注你", - "account.go_to_profile": "Go to profile", + "account.followers": "追蹤者", + "account.followers.empty": "尚未有人追蹤這位使用者。", + "account.followers_counter": "有 {count, plural,one {{counter} 個} other {{counter} 個}} 追蹤者", + "account.following": "正在追蹤", + "account.following_counter": "正在追蹤 {count, plural,one {{counter}}other {{counter} 人}}", + "account.follows.empty": "這位使用者尚未追蹤任何人。", + "account.follows_you": "追蹤您", + "account.go_to_profile": "前往個人檔案", "account.hide_reblogs": "隱藏 @{name} 的轉推", - "account.joined_short": "Joined", - "account.languages": "Change subscribed languages", + "account.joined_short": "加入於", + "account.languages": "變更訂閱語言", "account.link_verified_on": "此連結的所有權已在 {date} 檢查過", - "account.locked_info": "這位使用者將私隱設定為「不公開」,會手動審批誰能關注他/她。", + "account.locked_info": "此帳號的隱私狀態被設為鎖定。該擁有者會手動審核追蹤者。", "account.media": "媒體", "account.mention": "提及 @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "{name} 的新帳號現在是:", "account.mute": "將 @{name} 靜音", "account.mute_notifications": "將來自 @{name} 的通知靜音", "account.muted": "靜音", "account.posts": "文章", "account.posts_with_replies": "包含回覆的文章", "account.report": "舉報 @{name}", - "account.requested": "等候審批", + "account.requested": "正在等待核准。按一下以取消追蹤請求", "account.share": "分享 @{name} 的個人資料", "account.show_reblogs": "顯示 @{name} 的推文", "account.statuses_counter": "{count, plural,one {{counter} 篇}other {{counter} 篇}}文章", @@ -62,51 +62,51 @@ "account.unblock_domain": "解除對域名 {domain} 的封鎖", "account.unblock_short": "解除封鎖", "account.unendorse": "不再於個人資料頁面推薦對方", - "account.unfollow": "取消關注", + "account.unfollow": "取消追蹤", "account.unmute": "取消 @{name} 的靜音", "account.unmute_notifications": "取消來自 @{name} 通知的靜音", "account.unmute_short": "取消靜音", "account_note.placeholder": "按此添加備注", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", - "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", - "admin.dashboard.retention.average": "Average", - "admin.dashboard.retention.cohort": "Sign-up month", - "admin.dashboard.retention.cohort_size": "New users", + "admin.dashboard.daily_retention": "註冊後用戶日計存留率", + "admin.dashboard.monthly_retention": "註冊後用戶月計存留率", + "admin.dashboard.retention.average": "平均", + "admin.dashboard.retention.cohort": "註冊月份", + "admin.dashboard.retention.cohort_size": "新用戶", "alert.rate_limited.message": "請在 {retry_time, time, medium} 後重試", "alert.rate_limited.title": "已限速", "alert.unexpected.message": "發生不可預期的錯誤。", "alert.unexpected.title": "噢!", "announcement.announcement": "公告", - "attachments_list.unprocessed": "(unprocessed)", - "audio.hide": "Hide audio", + "attachments_list.unprocessed": "(未處理)", + "audio.hide": "隱藏音訊", "autosuggest_hashtag.per_week": "{count} / 週", "boost_modal.combo": "如你想在下次路過這顯示,請按{combo},", - "bundle_column_error.copy_stacktrace": "Copy error report", - "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", - "bundle_column_error.error.title": "Oh, no!", - "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", - "bundle_column_error.network.title": "Network error", + "bundle_column_error.copy_stacktrace": "複製錯誤報告", + "bundle_column_error.error.body": "無法提供請求的頁面。這可能是因為代碼出現錯誤或瀏覽器出現相容問題。", + "bundle_column_error.error.title": "大鑊!", + "bundle_column_error.network.body": "嘗試載入此頁面時發生錯誤。這可能是因為您的網路連線或此伺服器暫時出現問題。", + "bundle_column_error.network.title": "網絡錯誤", "bundle_column_error.retry": "重試", - "bundle_column_error.return": "Go back home", - "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", + "bundle_column_error.return": "返回主頁", + "bundle_column_error.routing.body": "找不到請求的頁面。您確定網址欄中的 URL 正確嗎?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "關閉", "bundle_modal_error.message": "加載本組件出錯。", "bundle_modal_error.retry": "重試", - "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", - "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "closed_registrations.other_server_instructions": "基於Mastodon去中心化的特性,你可以在其他伺服器上創建賬戶並與本站互動。", + "closed_registrations_modal.description": "目前無法在 {domain} 建立新帳號,但您並不一定需要擁有 {domain} 的帳號亦能使用 Mastodon 。", + "closed_registrations_modal.find_another_server": "尋找另外的伺服器", + "closed_registrations_modal.preamble": "Mastodon 是去中心化的,所以無論您在哪個伺服器建立帳號,都可以追蹤此伺服器上的任何人並與他們互動。您甚至可以自行搭建一個全新的伺服器!", + "closed_registrations_modal.title": "在 Mastodon 註冊", + "column.about": "關於", "column.blocks": "封鎖名單", "column.bookmarks": "書籤", "column.community": "本站時間軸", - "column.direct": "Direct messages", + "column.direct": "私訊", "column.directory": "瀏覽個人資料", "column.domain_blocks": "封鎖的服務站", "column.favourites": "最愛的文章", - "column.follow_requests": "關注請求", + "column.follow_requests": "追蹤請求", "column.home": "主頁", "column.lists": "列表", "column.mutes": "靜音名單", @@ -124,10 +124,10 @@ "community.column_settings.local_only": "只顯示本站", "community.column_settings.media_only": "只顯示多媒體", "community.column_settings.remote_only": "只顯示外站", - "compose.language.change": "Change language", - "compose.language.search": "Search languages...", + "compose.language.change": "更改語言", + "compose.language.search": "搜尋語言...", "compose_form.direct_message_warning_learn_more": "了解更多", - "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "compose_form.encryption_warning": "Mastodon 上的帖文並未端對端加密。請不要透過 Mastodon 分享任何敏感資訊。", "compose_form.hashtag_warning": "這文章因為不是公開,所以不會被標籤搜索。只有公開的文章才會被標籤搜索。", "compose_form.lock_disclaimer": "你的用戶狀態沒有{locked},任何人都能立即關注你,然後看到「只有關注者能看」的文章。", "compose_form.lock_disclaimer.lock": "鎖定", @@ -138,9 +138,9 @@ "compose_form.poll.remove_option": "移除此選擇", "compose_form.poll.switch_to_multiple": "變更投票為允許多個選項", "compose_form.poll.switch_to_single": "變更投票為限定單一選項", - "compose_form.publish": "Publish", + "compose_form.publish": "發佈", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "儲存變更", "compose_form.sensitive.hide": "標記媒體為敏感內容", "compose_form.sensitive.marked": "媒體被標示為敏感", "compose_form.sensitive.unmarked": "媒體沒有被標示為敏感", @@ -151,14 +151,14 @@ "confirmations.block.block_and_report": "封鎖並檢舉", "confirmations.block.confirm": "封鎖", "confirmations.block.message": "你確定要封鎖{name}嗎?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "撤回請求", + "confirmations.cancel_follow_request.message": "您確定要撤回追蹤 {name} 的請求嗎?", "confirmations.delete.confirm": "刪除", "confirmations.delete.message": "你確定要刪除這文章嗎?", "confirmations.delete_list.confirm": "刪除", "confirmations.delete_list.message": "你確定要永久刪除這列表嗎?", - "confirmations.discard_edit_media.confirm": "Discard", - "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", + "confirmations.discard_edit_media.confirm": "捨棄", + "confirmations.discard_edit_media.message": "您在媒體描述或預覽有尚未儲存的變更。確定要捨棄它們嗎?", "confirmations.domain_block.confirm": "封鎖整個網站", "confirmations.domain_block.message": "你真的真的確定要封鎖整個 {domain} ?多數情況下,封鎖或靜音幾個特定目標就已經有效,也是比較建議的做法。若然封鎖全站,你將不會再在這裏看到該站的內容和通知。來自該站的關注者亦會被移除。", "confirmations.logout.confirm": "登出", @@ -170,30 +170,30 @@ "confirmations.redraft.message": "你確定要刪除並重新編輯嗎?所有相關的回覆、轉推與最愛都會被刪除。", "confirmations.reply.confirm": "回覆", "confirmations.reply.message": "現在回覆將蓋掉您目前正在撰寫的訊息。是否仍要回覆?", - "confirmations.unfollow.confirm": "取消關注", - "confirmations.unfollow.message": "真的不要繼續關注 {name} 了嗎?", + "confirmations.unfollow.confirm": "取消追蹤", + "confirmations.unfollow.message": "真的不要繼續追蹤 {name} 了嗎?", "conversation.delete": "刪除對話", "conversation.mark_as_read": "標為已讀", "conversation.open": "檢視對話", "conversation.with": "與 {names}", - "copypaste.copied": "Copied", - "copypaste.copy": "Copy", + "copypaste.copied": "已複製", + "copypaste.copy": "複製", "directory.federated": "來自已知的聯盟網絡", "directory.local": "僅來自 {domain}", "directory.new_arrivals": "新內容", "directory.recently_active": "最近活躍", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", - "dismissable_banner.dismiss": "Dismiss", - "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", - "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", - "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", - "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", + "disabled_account_banner.account_settings": "帳號設定", + "disabled_account_banner.text": "您的帳號 {disabledAccount} 目前已停用。", + "dismissable_banner.community_timeline": "這些是 {domain} 上用戶的最新公開帖文。", + "dismissable_banner.dismiss": "關閉", + "dismissable_banner.explore_links": "這些新聞內容正在被本站以及去中心化網路上其他伺服器的人們熱烈討論。", + "dismissable_banner.explore_statuses": "來自本站以及去中心化網路中其他伺服器的這些帖文正在本站引起關注。", + "dismissable_banner.explore_tags": "這些主題標籤正在被本站以及去中心化網路上的人們熱烈討論。", + "dismissable_banner.public_timeline": "這些是來自本站以及去中心化網路中其他已知伺服器之最新公開帖文。", "embed.instructions": "要內嵌此文章,請將以下代碼貼進你的網站。", "embed.preview": "看上去會是這樣:", "emoji_button.activity": "活動", - "emoji_button.clear": "Clear", + "emoji_button.clear": "清除", "emoji_button.custom": "自訂", "emoji_button.flags": "旗幟", "emoji_button.food": "飲飲食食", @@ -213,13 +213,13 @@ "empty_column.blocks": "你還沒有封鎖任何使用者。", "empty_column.bookmarked_statuses": "你還沒建立任何書籤。這裡將會顯示你建立的書籤。", "empty_column.community": "本站時間軸暫時未有內容,快寫一點東西來搶頭香啊!", - "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": "您還沒有任何私訊。當您私訊別人或收到私訊時,它將在此顯示。", "empty_column.domain_blocks": "尚未隱藏任何網域。", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "目前沒有熱門話題,請稍候再回來看看!", "empty_column.favourited_statuses": "你還沒收藏任何文章。這裡將會顯示你收藏的嘟文。", "empty_column.favourites": "還沒有人收藏這則文章。這裡將會顯示被收藏的嘟文。", "empty_column.follow_recommendations": "似乎未能替您產生任何建議。您可以試著搜尋您知道的帳戶或者探索熱門主題標籤", - "empty_column.follow_requests": "您尚未收到任何關注請求。這裡將會顯示收到的關注請求。", + "empty_column.follow_requests": "您尚未收到任何追蹤請求。這裡將會顯示收到的追蹤請求。", "empty_column.hashtag": "這個標籤暫時未有內容。", "empty_column.home": "你還沒有關注任何使用者。快看看{public},向其他使用者搭訕吧。", "empty_column.home.suggestions": "檢視部份建議", @@ -234,41 +234,41 @@ "error.unexpected_crash.next_steps_addons": "請嘗試停止使用這些附加元件然後重新載入頁面。如果問題沒有解決,你仍然可以使用不同的瀏覽器或 Mastodon 應用程式來檢視。", "errors.unexpected_crash.copy_stacktrace": "複製 stacktrace 到剪貼簿", "errors.unexpected_crash.report_issue": "舉報問題", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", - "explore.trending_tags": "Hashtags", - "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", - "filter_modal.added.context_mismatch_title": "Context mismatch!", - "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", - "filter_modal.added.expired_title": "Expired filter!", - "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", - "filter_modal.added.review_and_configure_title": "Filter settings", - "filter_modal.added.settings_link": "settings page", - "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", - "filter_modal.added.title": "Filter added!", - "filter_modal.select_filter.context_mismatch": "does not apply to this context", - "filter_modal.select_filter.expired": "expired", - "filter_modal.select_filter.prompt_new": "New category: {name}", - "filter_modal.select_filter.search": "Search or create", - "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", - "filter_modal.select_filter.title": "Filter this post", - "filter_modal.title.status": "Filter a post", + "explore.search_results": "搜尋結果", + "explore.suggested_follows": "為您推薦", + "explore.title": "探索", + "explore.trending_links": "最新消息", + "explore.trending_statuses": "帖文", + "explore.trending_tags": "主題標籤", + "filter_modal.added.context_mismatch_explanation": "此過濾器類別不適用於您所存取帖文的情境。如果您想要此帖文被於此情境被過濾,您必須編輯過濾器。", + "filter_modal.added.context_mismatch_title": "情境不符合!", + "filter_modal.added.expired_explanation": "此過濾器類別已失效,您需要更新過期日期才能套用。", + "filter_modal.added.expired_title": "過期的過濾器!", + "filter_modal.added.review_and_configure": "若欲檢視並進一步配置此過濾器類別,請前往 {settings_link}。", + "filter_modal.added.review_and_configure_title": "過濾器設定", + "filter_modal.added.settings_link": "設定頁面", + "filter_modal.added.short_explanation": "此帖文已被新增至以下過濾器類別:{title}。", + "filter_modal.added.title": "已新增過濾器!", + "filter_modal.select_filter.context_mismatch": "不適用於目前情境", + "filter_modal.select_filter.expired": "已過期", + "filter_modal.select_filter.prompt_new": "新類別:{name}", + "filter_modal.select_filter.search": "搜尋或新增", + "filter_modal.select_filter.subtitle": "使用既有類別,或創建一個新類別", + "filter_modal.select_filter.title": "過濾此帖文", + "filter_modal.title.status": "過濾一則帖文", "follow_recommendations.done": "完成", - "follow_recommendations.heading": "跟隨人們以看到來自他們的嘟文!這裡有些建議。", - "follow_recommendations.lead": "您跟隨對象知嘟文將會以時間順序顯示於您的 home feed 上。別擔心犯下錯誤,您隨時可以取消跟隨人們!", + "follow_recommendations.heading": "追蹤人們以看到他們的帖文!這裡有些建議。", + "follow_recommendations.lead": "您所追蹤的對象之帖文將會以時間順序顯示於您的首頁時間軸上。別擔心犯下錯誤,您隨時可以取消追蹤任何人!", "follow_request.authorize": "批准", "follow_request.reject": "拒絕", - "follow_requests.unlocked_explanation": "即使您的帳戶未上鎖,{domain} 的工作人員認為您可能想手動審核來自這些帳戶的關注請求。", - "footer.about": "About", - "footer.directory": "Profiles directory", - "footer.get_app": "Get the app", - "footer.invite": "Invite people", - "footer.keyboard_shortcuts": "Keyboard shortcuts", - "footer.privacy_policy": "Privacy policy", - "footer.source_code": "View source code", + "follow_requests.unlocked_explanation": "即使您的帳號未上鎖,{domain} 的工作人員認為您可能會想手動審核來自這些帳號的追蹤請求。", + "footer.about": "關於", + "footer.directory": "個人檔案目錄", + "footer.get_app": "取得應用程式", + "footer.invite": "邀請他人", + "footer.keyboard_shortcuts": "鍵盤快速鍵", + "footer.privacy_policy": "隱私權政策", + "footer.source_code": "查看原始碼", "generic.saved": "已儲存", "getting_started.heading": "開始使用", "hashtag.column_header.tag_mode.all": "以及{additional}", @@ -280,25 +280,25 @@ "hashtag.column_settings.tag_mode.any": "任一", "hashtag.column_settings.tag_mode.none": "全不", "hashtag.column_settings.tag_toggle": "在這欄位加入額外的標籤", - "hashtag.follow": "Follow hashtag", - "hashtag.unfollow": "Unfollow hashtag", + "hashtag.follow": "追蹤主題標籤", + "hashtag.unfollow": "取消追蹤主題標籤", "home.column_settings.basic": "基本", "home.column_settings.show_reblogs": "顯示被轉推的文章", "home.column_settings.show_replies": "顯示回應文章", "home.hide_announcements": "隱藏公告", "home.show_announcements": "顯示公告", - "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", - "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", - "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", - "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", - "interaction_modal.on_another_server": "On a different server", - "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", - "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", - "interaction_modal.title.favourite": "Favourite {name}'s post", - "interaction_modal.title.follow": "Follow {name}", - "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.description.favourite": "在 Mastodon 上有個帳號的話,您可以點讚並收藏此帖文,讓作者知道您對它的欣賞。", + "interaction_modal.description.follow": "在 Mastodon 上有個帳號的話,您可以追蹤 {name} 以於首頁時間軸接收他們的帖文。", + "interaction_modal.description.reblog": "在 Mastodon 上有個帳號的話,您可以向自己的追縱者們轉發此帖文。", + "interaction_modal.description.reply": "在 Mastodon 上擁有帳號的話,您可以回覆此帖文。", + "interaction_modal.on_another_server": "於不同伺服器", + "interaction_modal.on_this_server": "於此伺服器", + "interaction_modal.other_server_instructions": "只需簡單地於您慣用的應用程式或有登入您帳號之網頁介面的搜尋欄中複製並貼上此 URL。", + "interaction_modal.preamble": "由於 Mastodon 是去中心化的,即使您於此伺服器上沒有帳號,仍可以利用託管於其他 Mastodon 伺服器或相容平台上的既存帳號。", + "interaction_modal.title.favourite": "將 {name} 的帖文加入最愛", + "interaction_modal.title.follow": "追蹤 {name}", + "interaction_modal.title.reblog": "轉發 {name} 的帖文", + "interaction_modal.title.reply": "回覆 {name} 的帖文", "intervals.full.days": "{number, plural, one {# 天} other {# 天}}", "intervals.full.hours": "{number, plural, one {# 小時} other {# 小時}}", "intervals.full.minutes": "{number, plural, one {# 分鐘} other {# 分鐘}}", @@ -308,7 +308,7 @@ "keyboard_shortcuts.column": "把標示移動到其中一列", "keyboard_shortcuts.compose": "把標示移動到文字輸入區", "keyboard_shortcuts.description": "描述", - "keyboard_shortcuts.direct": "to open direct messages column", + "keyboard_shortcuts.direct": "開啟私訊欄", "keyboard_shortcuts.down": "在列表往下移動", "keyboard_shortcuts.enter": "打開文章", "keyboard_shortcuts.favourite": "收藏文章", @@ -341,8 +341,8 @@ "lightbox.expand": "擴大檢視", "lightbox.next": "下一頁", "lightbox.previous": "上一頁", - "limited_account_hint.action": "Show profile anyway", - "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", + "limited_account_hint.action": "一律顯示個人檔案", + "limited_account_hint.title": "此個人檔案已被 {domain} 的管理員隱藏。", "lists.account.add": "新增到列表", "lists.account.remove": "從列表刪除", "lists.delete": "刪除列表", @@ -361,24 +361,24 @@ "media_gallery.toggle_visible": "隱藏圖片", "missing_indicator.label": "找不到內容", "missing_indicator.sublabel": "無法找到內容", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "您的帳號 {disabledAccount} 目前已停用,因為您已搬家至 {movedToAccount}。", "mute_modal.duration": "時間", "mute_modal.hide_notifications": "需要隱藏這使用者的通知嗎?", "mute_modal.indefinite": "沒期限", - "navigation_bar.about": "About", + "navigation_bar.about": "關於", "navigation_bar.blocks": "封鎖名單", "navigation_bar.bookmarks": "書籤", "navigation_bar.community_timeline": "本站時間軸", "navigation_bar.compose": "撰寫新文章", - "navigation_bar.direct": "Direct messages", + "navigation_bar.direct": "私訊", "navigation_bar.discover": "探索", "navigation_bar.domain_blocks": "封鎖的服務站", "navigation_bar.edit_profile": "修改個人資料", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "探索", "navigation_bar.favourites": "最愛的內容", "navigation_bar.filters": "靜音詞彙", - "navigation_bar.follow_requests": "關注請求", - "navigation_bar.follows_and_followers": "關注及關注者", + "navigation_bar.follow_requests": "追蹤請求", + "navigation_bar.follows_and_followers": "追蹤及追蹤者", "navigation_bar.lists": "列表", "navigation_bar.logout": "登出", "navigation_bar.mutes": "靜音名單", @@ -386,14 +386,14 @@ "navigation_bar.pins": "置頂文章", "navigation_bar.preferences": "偏好設定", "navigation_bar.public_timeline": "跨站時間軸", - "navigation_bar.search": "Search", + "navigation_bar.search": "搜尋", "navigation_bar.security": "安全", - "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", - "notification.admin.report": "{name} reported {target}", - "notification.admin.sign_up": "{name} signed up", + "not_signed_in_indicator.not_signed_in": "您需要登入才能存取此資源。", + "notification.admin.report": "{name} 檢舉了 {target}", + "notification.admin.sign_up": "{name} 已經註冊", "notification.favourite": "{name} 喜歡你的文章", - "notification.follow": "{name} 開始關注你", - "notification.follow_request": "{name} 要求關注你", + "notification.follow": "{name} 開始追蹤你", + "notification.follow_request": "{name} 要求追蹤你", "notification.mention": "{name} 提及你", "notification.own_poll": "你的投票已結束", "notification.poll": "你參與過的一個投票已經結束", @@ -409,8 +409,8 @@ "notifications.column_settings.filter_bar.advanced": "顯示所有分類", "notifications.column_settings.filter_bar.category": "快速過濾欄", "notifications.column_settings.filter_bar.show_bar": "Show filter bar", - "notifications.column_settings.follow": "關注你:", - "notifications.column_settings.follow_request": "新的關注請求:", + "notifications.column_settings.follow": "新追蹤者:", + "notifications.column_settings.follow_request": "新的追蹤請求:", "notifications.column_settings.mention": "提及你:", "notifications.column_settings.poll": "投票結果:", "notifications.column_settings.push": "推送通知", @@ -424,7 +424,7 @@ "notifications.filter.all": "全部", "notifications.filter.boosts": "轉推", "notifications.filter.favourites": "最愛", - "notifications.filter.follows": "關注的使用者", + "notifications.filter.follows": "追蹤的使用者", "notifications.filter.mentions": "提及", "notifications.filter.polls": "投票結果", "notifications.filter.statuses": "已關注的用戶的最新動態", @@ -486,7 +486,7 @@ "report.comment.title": "Is there anything else you think we should know?", "report.forward": "轉寄到 {target}", "report.forward_hint": "這個帳戶屬於其他服務站。要向該服務站發送匿名的舉報訊息嗎?", - "report.mute": "Mute", + "report.mute": "靜音", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Next", "report.placeholder": "額外訊息", @@ -508,7 +508,7 @@ "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.title": "Don't want to see this?", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", + "report.unfollow": "取消追蹤 @{name}", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached", "report_notification.categories.other": "Other", @@ -608,8 +608,8 @@ "time_remaining.moments": "剩餘時間", "time_remaining.seconds": "剩餘 {number, plural, one {# 秒} other {# 秒}}", "timeline_hint.remote_resource_not_displayed": "不會顯示來自其他伺服器的 {resource}", - "timeline_hint.resources.followers": "關注者", - "timeline_hint.resources.follows": "關注中", + "timeline_hint.resources.followers": "追蹤者", + "timeline_hint.resources.follows": "追蹤中", "timeline_hint.resources.statuses": "更早的文章", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.trending_now": "現在流行", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 7c3aa634270..e3086e089f9 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -39,7 +39,7 @@ "account.following_counter": "正在跟隨 {count, plural,one {{counter}}other {{counter} 人}}", "account.follows.empty": "這位使用者尚未跟隨任何人。", "account.follows_you": "跟隨了您", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "前往個人檔案", "account.hide_reblogs": "隱藏來自 @{name} 的轉嘟", "account.joined_short": "已加入", "account.languages": "變更訂閱的語言", @@ -182,8 +182,8 @@ "directory.local": "僅來自 {domain} 網域", "directory.new_arrivals": "新人", "directory.recently_active": "最近活躍", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "帳號設定", + "disabled_account_banner.text": "您的帳號 {disabledAccount} 目前已停用。", "dismissable_banner.community_timeline": "這些是 {domain} 上面託管帳號之最新公開嘟文。", "dismissable_banner.dismiss": "關閉", "dismissable_banner.explore_links": "這些新聞故事正在被此伺服器以及去中心化網路上的人們熱烈討論著。", @@ -211,7 +211,7 @@ "empty_column.account_timeline": "這裡還沒有嘟文!", "empty_column.account_unavailable": "無法取得個人檔案", "empty_column.blocks": "您還沒有封鎖任何使用者。", - "empty_column.bookmarked_statuses": "您還沒建立任何書籤。當您建立書簽時,它將於此顯示。", + "empty_column.bookmarked_statuses": "您還沒建立任何書籤。當您建立書籤時,它將於此顯示。", "empty_column.community": "本站時間軸是空的。快公開嘟些文搶頭香啊!", "empty_column.direct": "您還沒有任何私訊。當您私訊別人或收到私訊時,它將於此顯示。", "empty_column.domain_blocks": "尚未封鎖任何網域。", @@ -361,7 +361,7 @@ "media_gallery.toggle_visible": "切換可見性", "missing_indicator.label": "找不到", "missing_indicator.sublabel": "找不到此資源", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "您的帳號 {disabledAccount} 目前已停用,因為您已搬家至 {movedToAccount}。", "mute_modal.duration": "持續時間", "mute_modal.hide_notifications": "是否隱藏來自這位使用者的通知?", "mute_modal.indefinite": "無期限", diff --git a/config/locales/activerecord.cy.yml b/config/locales/activerecord.cy.yml index b007364df82..61cb241618e 100644 --- a/config/locales/activerecord.cy.yml +++ b/config/locales/activerecord.cy.yml @@ -19,8 +19,20 @@ cy: account: attributes: username: - invalid: dim ond llythrennau, rhifau a tanlinellau + invalid: gall gynnwys dim ond llythrennau, rhifau a tanlinellau reserved: yn neilltuedig + admin/webhook: + attributes: + url: + invalid: nid yw'n URL dilys + doorkeeper/application: + attributes: + website: + invalid: nid yw'n URL dilys + import: + attributes: + data: + malformed: wedi'i gamffurfio status: attributes: reblog: @@ -28,5 +40,16 @@ cy: user: attributes: email: - blocked: yn defnyddio darparwr e-bost nas caniateir - unreachable: nid yw'n bodoli + blocked: yn defnyddio darparwr e-bost nd yw'n cael ei ganiatáu + unreachable: nid yw i weld yn bodoli + role_id: + elevated: nid yw'n gallu bod yn uwch na'ch rôl presennol + user_role: + attributes: + permissions_as_keys: + dangerous: yn cynnwys caniatâd nad ydynt yn ddiogel ar gyfer rôl sail + elevated: yn methu a chynnwys caniatâd nad yw eich rôl cyfredol yn ei gynnwys + own_role: nid oes modd ei newid gyda'ch rôl cyfredol + position: + elevated: nid yw'n gallu bod yn uwch na'ch rôl cyfredol + own_role: nid oes modd ei newid gyda'ch rôl cyfredol diff --git a/config/locales/activerecord.en-GB.yml b/config/locales/activerecord.en-GB.yml index ef03d181049..c1a7d39c8a0 100644 --- a/config/locales/activerecord.en-GB.yml +++ b/config/locales/activerecord.en-GB.yml @@ -1 +1,55 @@ +--- en-GB: + activerecord: + attributes: + poll: + expires_at: Deadline + options: Choices + user: + agreement: Service agreement + email: E-mail address + locale: Locale + password: Password + user/account: + username: Username + user/invite_request: + text: Reason + errors: + models: + account: + attributes: + username: + invalid: must contain only letters, numbers and underscores + reserved: is reserved + admin/webhook: + attributes: + url: + invalid: is not a valid URL + doorkeeper/application: + attributes: + website: + invalid: is not a valid URL + import: + attributes: + data: + malformed: is malformed + status: + attributes: + reblog: + taken: of post already exists + user: + attributes: + email: + blocked: uses a disallowed e-mail provider + unreachable: does not seem to exist + role_id: + elevated: cannot be higher than your current role + user_role: + attributes: + permissions_as_keys: + dangerous: include permissions that are not safe for the base role + elevated: cannot include permissions your current role does not possess + own_role: cannot be changed with your current role + position: + elevated: cannot be higher than your current role + own_role: cannot be changed with your current role diff --git a/config/locales/activerecord.fy.yml b/config/locales/activerecord.fy.yml index a3398cfbab0..cc10d817d54 100644 --- a/config/locales/activerecord.fy.yml +++ b/config/locales/activerecord.fy.yml @@ -3,8 +3,10 @@ fy: activerecord: attributes: poll: + expires_at: Deadline options: Karren user: + agreement: Tsjinstbetingsten email: E-mailadres locale: Taal password: Wachtwurd @@ -18,7 +20,36 @@ fy: attributes: username: invalid: mei allinnich letters, nûmers en ûnderstreekjes befetsje + reserved: reservearre + admin/webhook: + attributes: + url: + invalid: is in ûnjildige URL + doorkeeper/application: + attributes: + website: + invalid: is in ûnjildige URL + import: + attributes: + data: + malformed: hat de ferkearde opmaak + status: + attributes: + reblog: + taken: fan berjocht bestiet al user: attributes: email: + blocked: brûkt in net tastiene e-mailprovider unreachable: liket net te bestean + role_id: + elevated: kin net heger wêze as dyn aktuele rol + user_role: + attributes: + permissions_as_keys: + dangerous: rjochten tafoegje dy’t net feilich binne foar de basisrol + elevated: kin gjin rjochten tafoegje dy’t dyn aktuele rol net besit + own_role: kin net mei dyn aktuele rol wizige wurde + position: + elevated: kin net heger wêze as dyn aktuele rol + own_role: kin net mei dyn aktuele rol wizige wurde diff --git a/config/locales/activerecord.ga.yml b/config/locales/activerecord.ga.yml index 64f3e57f803..236cc479e17 100644 --- a/config/locales/activerecord.ga.yml +++ b/config/locales/activerecord.ga.yml @@ -3,8 +3,10 @@ ga: activerecord: attributes: poll: + expires_at: Sprioc-am options: Roghanna user: + agreement: Comhaontú seirbhísí email: Seoladh ríomhphoist locale: Láthair password: Pasfhocal @@ -12,3 +14,13 @@ ga: username: Ainm úsáideora user/invite_request: text: Fáth + errors: + models: + account: + attributes: + username: + reserved: in áirithe + import: + attributes: + data: + malformed: míchumtha diff --git a/config/locales/activerecord.he.yml b/config/locales/activerecord.he.yml index 7ad45964ffa..6fe45567879 100644 --- a/config/locales/activerecord.he.yml +++ b/config/locales/activerecord.he.yml @@ -29,10 +29,14 @@ he: attributes: website: invalid: היא כתובת לא חוקית + import: + attributes: + data: + malformed: בתצורה לא תואמת status: attributes: reblog: - taken: של החצרוץ כבר קיים + taken: של ההודעה כבר קיים user: attributes: email: diff --git a/config/locales/activerecord.no.yml b/config/locales/activerecord.no.yml index 43b589745da..eb1793ca76d 100644 --- a/config/locales/activerecord.no.yml +++ b/config/locales/activerecord.no.yml @@ -6,21 +6,50 @@ expires_at: Tidsfrist options: Valg user: - email: E-mail address - locale: Område + agreement: Tjenesteavtale + email: E-postadresse + locale: Landstandard password: Passord user/account: username: Brukernavn user/invite_request: - text: Grunn + text: Årsak errors: models: account: attributes: username: - invalid: bare bokstaver, tall og understreker + invalid: må inneholde kun bokstaver, tall og understrekingstegn reserved: er reservert + admin/webhook: + attributes: + url: + invalid: er ikke en gyldig nettadresse + doorkeeper/application: + attributes: + website: + invalid: er ikke en gyldig nettadresse + import: + attributes: + data: + malformed: er feilformet status: attributes: reblog: - taken: av status eksisterer allerede + taken: av innlegg finnes fra før + user: + attributes: + email: + blocked: bruker en forbudt e-postleverandør + unreachable: ser ikke ut til å finnes + role_id: + elevated: kan ikke være høyere enn din nåværende rolle + user_role: + attributes: + permissions_as_keys: + dangerous: inkluder tillatelser som ikke er trygge for grunn-rollen + elevated: kan ikke inneholde rettigheter som din nåværende rolle ikke innehar + own_role: kan ikke endres med din nåværende rolle + position: + elevated: kan ikke være høyere enn din nåværende rolle + own_role: kan ikke endres med din nåværende rolle diff --git a/config/locales/br.yml b/config/locales/br.yml index 2de887b6d92..a6b971eb756 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -14,12 +14,12 @@ br: last_active: oberiantiz ziwezhañ nothing_here: N'eus netra amañ ! posts: - few: Toud - many: Toud - one: Toud - other: Toud - two: Toud - posts_tab_heading: Toudoù + few: Kannadoù + many: Kannadoù + one: Kannad + other: Kannadoù + two: Kannadoù + posts_tab_heading: Kannadoù admin: accounts: add_email_domain_block: Stankañ an domani postel @@ -29,10 +29,10 @@ br: by_domain: Domani change_email: changed_msg: Chomlec'h postel kemmet ! - current_email: Postel bremanel - label: Kemm ar postel + current_email: Postel a vremañ + label: Kemmañ ar postel new_email: Postel nevez - submit: Kemm ar postel + submit: Kemmañ ar postel deleted: Dilamet domain: Domani edit: Aozañ @@ -55,12 +55,17 @@ br: reset: Adderaouekaat reset_password: Adderaouekaat ar ger-tremen search: Klask + statuses: Kannadoù suspended: Astalet title: Kontoù username: Anv action_logs: action_types: - destroy_status: Dilemel ar statud + destroy_status: Dilemel ar c'hannad + update_status: Hizivaat ar c'hannad + actions: + destroy_status_html: Dilamet eo bet kannad %{target} gant %{name} + update_status_html: Hizivaet eo bet kannad %{target} gant %{name} announcements: new: create: Sevel ur gemenn @@ -95,6 +100,8 @@ br: create: Ouzhpenniñ un domani instances: by_domain: Domani + dashboard: + instance_statuses_measure: kannadoù stoket moderation: all: Pep tra invites: @@ -117,6 +124,7 @@ br: other: "%{count} a notennoù" two: "%{count} a notennoù" are_you_sure: Ha sur oc'h? + delete_and_resolve: Dilemel ar c'hannadoù notes: delete: Dilemel status: Statud @@ -126,6 +134,13 @@ br: all: D'an holl dud statuses: deleted: Dilamet + open: Digeriñ ar c'hannad + original_status: Kannad orin + status_changed: Kannad kemmet + title: Kannadoù ar gont + strikes: + actions: + delete_statuses: Dilamet eo bet kannadoù %{target} gant %{name} warning_presets: add_new: Ouzhpenniñ unan nevez delete: Dilemel @@ -186,7 +201,16 @@ br: notifications: Kemennoù index: delete: Dilemel + statuses: + few: "%{count} a gannadoù" + many: "%{count} a gannadoù" + one: "%{count} c'hannad" + other: "%{count} a gannadoù" + two: "%{count} gannad" title: Siloù + statuses: + index: + title: Kannadoù silet generic: all: Pep tra copy: Eilañ @@ -207,9 +231,17 @@ br: title: Heulier nevez mention: action: Respont + reblog: + subject: Skignet ho kannad gant %{name} + status: + subject: Embannet ez eus bet traoù gant %{name} + update: + subject: Kemmet eo bet ur c'hannad gant %{name} otp_authentication: enable: Gweredekaat setup: Kefluniañ + preferences: + posting_defaults: Arventennoù embann dre ziouer relationships: followers: Heulier·ezed·ien following: O heuliañ @@ -257,7 +289,7 @@ br: visibilities: public: Publik stream_entries: - pinned: Toud spilhennet + pinned: Kannad spilhennet themes: default: Mastodoñ (Teñval) mastodon-light: Mastodoñ (Sklaer) @@ -272,6 +304,7 @@ br: edit: Aozañ user_mailer: warning: + statuses: 'Kannadoù meneget :' title: none: Diwall welcome: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index f57d7cc09dd..b75af246329 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -724,10 +724,10 @@ ca: title: Contingut multimèdia metadata: Metadada no_status_selected: No s’han canviat els estatus perquè cap no ha estat seleccionat - open: Obrir apunt - original_status: Apunt original + open: Obrir publicació + original_status: Publicació original reblogs: Impulsos - status_changed: Apunt canviat + status_changed: Publicació canviada title: Estats del compte trending: Tendència visibility: Visibilitat @@ -792,7 +792,7 @@ ca: description_html: Aquestes son publicacions que el teu servidor veu i que ara mateix s'estan compartint i afavorint molt. Poden ajudar als teus nous usuaris i als que retornen a trobar més gent a qui seguir. Cap publicació es mostra publicament fins que no aprovis l'autor i l'autor permeti que el seu compte sigui sugerit a altres. També pots aceptar o rebutjar publicacions individuals. disallow: Rebutja publicació disallow_account: Rebutja autor - no_status_selected: No s'ha canviat els apunts en tendència perquè cap ha estat seleccionat + no_status_selected: No s'han canviat les publicacions en tendència perquè cap ha estat seleccionada not_discoverable: L'autor no ha activat poder ser detectable shared_by: one: Compartit o afavorit una vegada @@ -1099,8 +1099,8 @@ ca: edit: add_keyword: Afegeix paraula clau keywords: Paraules clau - statuses: Apunts individuals - statuses_hint_html: Aquest filtre aplica als apunts individuals seleccionats independentment de si coincideixen amb les paraules clau de sota. Revisa o elimina els apunts des d'el filtre. + statuses: Publicacions individuals + statuses_hint_html: Aquest filtre s'aplica a la selecció de publicacions individuals, independentment de si coincideixen amb les paraules clau següents. Revisa o elimina publicacions del filtre. title: Editar filtre errors: deprecated_api_multiple_keywords: Aquests paràmetres no poden ser canviats des d'aquesta aplicació perquè apliquen a més d'un filtre per paraula clau. Utilitza una aplicació més recent o la interfície web. @@ -1115,11 +1115,11 @@ ca: one: "%{count} paraula clau" other: "%{count} paraules clau" statuses: - one: "%{count} apunt" - other: "%{count} apunts" + one: "%{count} publicació" + other: "%{count} publicacions" statuses_long: - one: "%{count} apunt individual oculta" - other: "%{count} apunts individuals ocultats" + one: "%{count} publicació individual ocultada" + other: "%{count} publicacions individuals ocultades" title: Filtres new: save: Desa el nou filtre @@ -1129,8 +1129,8 @@ ca: batch: remove: Eliminar del filtre index: - hint: Aquest filtre aplica als apunts seleccionats independentment d'altres criteris. Pots afegir més apunts a aquest filtre des de l'interfície Web. - title: Apunts filtrats + hint: Aquest filtre aplica als apunts seleccionats independentment d'altres criteris. Pots afegir més publicacions a aquest filtre des de la interfície Web. + title: Publicacions filtrades footer: trending_now: En tendència generic: diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 33fed4ee99c..eb096ff3331 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -247,6 +247,7 @@ cs: create_user_role_html: "%{name} vytvořil %{target} roli" demote_user_html: Uživatel %{name} degradoval uživatele %{target} destroy_announcement_html: Uživatel %{name} odstranil oznámení %{target} + destroy_canonical_email_block_html: "%{name} odblokoval e-mail s hashem %{target}" destroy_custom_emoji_html: "%{name} odstranil emoji %{target}" destroy_domain_allow_html: Uživatel %{name} zakázal federaci s doménou %{target} destroy_domain_block_html: Uživatel %{name} odblokoval doménu %{target} @@ -269,6 +270,7 @@ cs: reject_user_html: "%{name} odmítl registraci od %{target}" remove_avatar_user_html: Uživatel %{name} odstranil avatar uživatele %{target} reopen_report_html: Uživatel %{name} znovu otevřel hlášení %{target} + resend_user_html: "%{name} znovu odeslal potvrzovací e-mail pro %{target}" reset_password_user_html: Uživatel %{name} obnovil heslo uživatele %{target} resolve_report_html: Uživatel %{name} vyřešil hlášení %{target} sensitive_account_html: "%{name} označil média účtu %{target} jako citlivá" @@ -703,6 +705,7 @@ cs: preamble: Přizpůsobte si webové rozhraní Mastodon. title: Vzhled branding: + preamble: Značka vašeho serveru jej odlišuje od ostatních serverů v síti. Tyto informace se mohou zobrazovat v různých prostředích, například ve webovém rozhraní Mastodonu, v nativních aplikacích, v náhledech odkazů na jiných webových stránkách a v aplikacích pro zasílání zpráv atd. Z tohoto důvodu je nejlepší, aby tyto informace byly jasné, krátké a stručné. title: Značka content_retention: preamble: Určuje, jak je obsah generovaný uživatelem uložen v Mastodonu. @@ -749,6 +752,7 @@ cs: no_status_selected: Nebyly změněny žádné příspěvky, neboť žádné nebyly vybrány open: Otevřít příspěvek original_status: Původní příspěvek + reblogs: Boosty status_changed: Příspěvek změněn title: Příspěvky účtu trending: Populární @@ -983,6 +987,7 @@ cs: title: Nastavení sign_up: preamble: S účtem na tomto serveru Mastodon budete moci sledovat jakoukoliv jinou osobu v síti bez ohledu na to, kde je jejich účet hostován. + title: Pojďme vás nastavit na %{domain}. status: account_status: Stav účtu confirming: Čeká na dokončení potvrzení e-mailu. @@ -1172,6 +1177,11 @@ cs: none: Žádné order_by: Seřadit podle save_changes: Uložit změny + select_all_matching_items: + few: Vybrat %{count} položky odpovídající vašemu hledání. + many: Vybrat všech %{count} položek odpovídajících vašemu hledání. + one: Vybrat %{count} položku odpovídající vašemu hledání. + other: Vybrat všech %{count} položek odpovídajících vašemu hledání. today: dnes validation_errors: few: Něco ještě není úplně v pořádku! Zkontrolujte prosím %{count} chyby uvedené níže diff --git a/config/locales/da.yml b/config/locales/da.yml index 7df261a4f84..b09bb77f7e9 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -686,7 +686,7 @@ da: title: Indholdsopbevaring discovery: follow_recommendations: Følg-anbefalinger - preamble: At vise interessant indhold er vital ifm. at få nye brugere om bord, som måske ikke kender nogen på Mastodon. Styr, hvordan forskellige opdagelsesfunktioner fungerer på serveren. + preamble: At vise interessant indhold er vitalt ifm. at få nye brugere om bord, som måske ikke kender nogen på Mastodon. Styr, hvordan forskellige opdagelsesfunktioner fungerer på serveren. profile_directory: Profiloversigt public_timelines: Offentlige tidslinjer title: Opdagelse diff --git a/config/locales/de.yml b/config/locales/de.yml index 14bbaf51c99..d97b31640a3 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1472,7 +1472,7 @@ de: show_more: Mehr anzeigen show_newer: Neuere anzeigen show_older: Ältere anzeigen - show_thread: Zeige Unterhaltung + show_thread: Unterhaltung anzeigen sign_in_to_participate: Melde dich an, um an der Konversation teilzuhaben title: '%{name}: "%{quote}"' visibilities: diff --git a/config/locales/devise.eo.yml b/config/locales/devise.eo.yml index 1b7fbd198ba..eaee27b888f 100644 --- a/config/locales/devise.eo.yml +++ b/config/locales/devise.eo.yml @@ -24,11 +24,11 @@ eo: explanation_when_pending: Vi petis inviton al %{host} per ĉi tiu retpoŝta adreso. Kiam vi konfirmas vian retpoŝtan adreson, ni revizios vian kandidatiĝon. Vi ne povas ensaluti ĝis tiam. Se via kandidatiĝo estas rifuzita, viaj datumoj estos forigitaj, do neniu alia ago estos postulita de vi. Se tio ne estis vi, bonvolu ignori ĉi tiun retpoŝton. extra_html: Bonvolu rigardi la regulojn de la servilo kaj niajn uzkondiĉojn. subject: 'Mastodon: Konfirmaj instrukcioj por %{instance}' - title: Konfirmi retadreson + title: Konfirmi retpoŝton email_changed: - explanation: 'La retadreso de via konto ŝanĝiĝas al:' + explanation: 'La retpoŝtadreso de via konto ŝanĝiĝas al:' extra: Se vi ne volis ŝanĝi vian retadreson, iu verŝajne aliris al via konto. Bonvolu tuj ŝanĝi vian pasvorton aŭ kontakti la administranton de la servilo, se vi estas blokita ekster via konto. - subject: 'Mastodon: Retadreso ŝanĝita' + subject: 'Mastodon: Retpoŝton ŝanĝiĝis' title: Nova retadreso password_change: explanation: La pasvorto de via konto estis ŝanĝita. @@ -36,10 +36,10 @@ eo: subject: 'Mastodon: Pasvorto ŝanĝita' title: Pasvorto ŝanĝita reconfirmation_instructions: - explanation: Retajpu la novan adreson por ŝanĝi vian retadreson. + explanation: Retajpu la novan adreson por ŝanĝi vian retpoŝtadreson. extra: Se ĉi tiu ŝanĝo ne estis komencita de vi, bonvolu ignori ĉi tiun retmesaĝon. La retadreso por la Mastodon-konto ne ŝanĝiĝos se vi ne aliras la supran ligilon. - subject: 'Mastodon: Konfirmi retadreson por %{instance}' - title: Kontrolu retadreson + subject: 'Mastodon: Konfirmi retpoŝton por %{instance}' + title: Kontrolu retpoŝtadreson reset_password_instructions: action: Ŝanĝi pasvorton explanation: Vi petis novan pasvorton por via konto. @@ -53,7 +53,7 @@ eo: two_factor_enabled: explanation: Dufaktora aŭtentigo sukcese ebligita por via akonto. Vi bezonos ĵetonon kreitan per parigitan aplikaĵon por ensaluti. subject: 'Mastodon: dufaktora aŭtentigo ebligita' - title: la du-etapa aŭtentigo estas ŝaltita + title: 2FA aktivigita two_factor_recovery_codes_changed: explanation: La antaŭaj reakiraj kodoj estis nuligitaj kaj novaj estis generitaj. subject: 'Mastodon: Reakiraj kodoj de dufaktora aŭtentigo rekreitaj' diff --git a/config/locales/devise.gd.yml b/config/locales/devise.gd.yml index 7b0f0a7bcfb..c8a34054cf1 100644 --- a/config/locales/devise.gd.yml +++ b/config/locales/devise.gd.yml @@ -92,8 +92,8 @@ gd: signed_up_but_inactive: Tha thu air clàradh leinn. Gidheadh, chan urrainn dhuinn do clàradh a-steach air sgàth ’s nach deach an cunntas agad a ghnìomhachadh fhathast. signed_up_but_locked: Tha thu air clàradh leinn. Gidheadh, chan urrainn dhuinn do clàradh a-steach air sgàth ’s gu bheil an cunntas agad glaiste. signed_up_but_pending: Chaidh teachdaireachd le ceangal dearbhaidh a chur dhan t-seòladh puist-d agad. Nuair a bhios tu air briogadh air a’ cheangal, nì sinn lèirmheas air d’ iarrtas. Leigidh sinn fios dhut ma thèid aontachadh ris. - signed_up_but_unconfirmed: Chaidh teachdaireachd le ceangal dearbhaidh a chur dhan t-seòladh puist-d agad. Lean ris a’ cheangal ud a ghnìomhachadh a’ chunntais agad. Thoir sùil air pasgan an spama agad mura faigh thu am post-d seo. - update_needs_confirmation: Chaidh an cunntas agad ùrachadh ach feumaidh sinn an seòladh puist-d ùr agad a dhearbhadh. Thoir sùil air a’ phost-d agad agus lean ris a’ cheangal dearbhaidh a dhearbhadh an t-seòlaidh puist-d ùir agad. Thoir sùil air pasgan an spama agad mura faigh thu am post-d seo. + signed_up_but_unconfirmed: Chaidh teachdaireachd le ceangal dearbhaidh a chur dhan t-seòladh puist-d agad. Lean air a’ cheangal ud a ghnìomhachadh a’ chunntais agad. Thoir sùil air pasgan an spama agad mura faigh thu am post-d seo. + update_needs_confirmation: Chaidh an cunntas agad ùrachadh ach feumaidh sinn an seòladh puist-d ùr agad a dhearbhadh. Thoir sùil air a’ phost-d agad agus lean air a’ cheangal dearbhaidh a dhearbhadh an t-seòlaidh puist-d ùir agad. Thoir sùil air pasgan an spama agad mura faigh thu am post-d seo. updated: Chaidh an cunntas agad ùrachadh. sessions: already_signed_out: Chaidh do chlàradh a-mach. diff --git a/config/locales/devise.no.yml b/config/locales/devise.no.yml index 4fdc1276b55..a5d6cad7a10 100644 --- a/config/locales/devise.no.yml +++ b/config/locales/devise.no.yml @@ -3,17 +3,17 @@ devise: confirmations: confirmed: E-postaddressen din er blitt bekreftet. - send_instructions: Du vil motta en e-post med instruksjoner for bekreftelse om noen få minutter. - send_paranoid_instructions: Hvis din e-postaddresse finnes i vår database vil du motta en e-post med instruksjoner for bekreftelse om noen få minutter. + send_instructions: Du vil motta en e-post med instruksjoner for bekreftelse om noen få minutter. Sjekk spam-mappen hvis du ikke mottok e-posten. + send_paranoid_instructions: Hvis e-postadressen din finnes i databasen vår vil du om noen få minutter motta en e-post med instruksjoner for bekreftelse. Sjekk spam-mappen din hvis du ikke mottok e-posten. failure: already_authenticated: Du er allerede innlogget. - inactive: Din konto er ikke blitt aktivert ennå. + inactive: Kontoen din er ikke blitt aktivert ennå. invalid: Ugyldig %{authentication_keys} eller passord. last_attempt: Du har ett forsøk igjen før kontoen din låses. - locked: Din konto er låst. + locked: Kontoen din er låst. not_found_in_database: Ugyldig %{authentication_keys} eller passord. pending: Kontoen din er fortsatt under gjennomgang. - timeout: Økten din løp ut på tid. Logg inn på nytt for å fortsette. + timeout: Økten din har utløpt. Logg inn igjen for å fortsette. unauthenticated: Du må logge inn eller registrere deg før du kan fortsette. unconfirmed: Du må bekrefte e-postadressen din før du kan fortsette. mailer: @@ -22,41 +22,41 @@ action_with_app: Bekreft og gå tilbake til %{app} explanation: Du har laget en konto på %{host} med denne e-postadressen. Du er ett klikk unna å aktivere den. Hvis dette ikke var deg, vennligst se bort fra denne e-posten. explanation_when_pending: Du søkte om en invitasjon til %{host} med denne E-postadressen. Når du har bekreftet E-postadressen din, vil vi gå gjennom søknaden din. Du kan logge på for å endre dine detaljer eller slette kontoen din, men du har ikke tilgang til de fleste funksjoner før kontoen din er akseptert. Dersom søknaden din blir avslått, vil dataene dine bli fjernet, så ingen ytterligere handlinger fra deg vil være nødvendige. Dersom dette ikke var deg, vennligst ignorer denne E-posten. - extra_html: Vennligst også sjekk ut instansens regler og våre bruksvilkår. - subject: 'Mastodon: Instruksjoner for å bekrefte e-postadresse %{instance}' + extra_html: Sjekk også ut instansens regler og våre bruksvilkår. + subject: 'Mastodon: Instruksjoner for bekreftelse for %{instance}' title: Bekreft e-postadresse email_changed: explanation: 'E-postadressen til din konto endres til:' - extra: Hvis du ikke endret din e-postadresse, er det sannsynlig at noen har fått tilgang til din konto. Vennligst endre ditt passord umiddelbart eller kontakt instansens administrator dersom du er utestengt fra kontoen din. - subject: 'Mastadon: E-postadresse endret' + extra: Hvis du ikke endret e-postadressen din, er det sannsynlig at noen har fått tilgang til kontoen din. Vennligst endre passordet ditt umiddelbart eller kontakt instansens administrator dersom du er låst ute fra kontoen din. + subject: 'Mastodon: E-postadresse endret' title: Ny e-postadresse password_change: - explanation: Passordet til din konto har blitt endret. - extra: Hvis du ikke endret ditt passord, er det sannsynlig at noen har fått tilgang til din konto. Vennligst endre ditt passord umiddelbart eller kontakt instansens administrator dersom du er utestengt fra kontoen din. + explanation: Passordet til kontoen din har blitt endret. + extra: Hvis du ikke endret passordet ditt, er det sannsynlig at noen har fått tilgang til kontoen din. Vennligst endre passordet ditt umiddelbart eller kontakt instansens administrator dersom du er utestengt fra kontoen din. subject: 'Mastodon: Passord endret' title: Passord endret reconfirmation_instructions: - explanation: Din nye e-postadresse må bekreftes for å bli endret. - extra: Se bort fra denne e-posten dersom du ikke gjorde denne endringen. E-postadressen for Mastadon-kontoen blir ikke endret før du trykker på lenken over. + explanation: Bekreft den nye e-postadressen for å endre e-post. + extra: Se bort fra denne e-posten dersom du ikke gjorde denne endringen. E-postadressen for Mastodon-kontoen blir ikke endret før du trykker på lenken over. subject: 'Mastodon: Bekreft e-postadresse for %{instance}' title: Bekreft e-postadresse reset_password_instructions: action: Endre passord - explanation: Du ba om et nytt passord for din konto. - extra: Se bort fra denne e-posten dersom du ikke ba om dette. Ditt passord blir ikke endret før du trykker på lenken over og lager et nytt. + explanation: Du ba om et nytt passord til kontoen din. + extra: Se bort fra denne e-posten dersom du ikke ba om dette. Passordet ditt blir ikke endret før du trykker på lenken over og lager et nytt. subject: 'Mastodon: Hvordan nullstille passord' title: Nullstill passord two_factor_disabled: - explanation: 2-trinnsinnlogging for kontoen din har blitt skrudd av. Pålogging er mulig gjennom kun E-postadresse og passord. - subject: 'Mastodon: To-faktor autentisering deaktivert' + explanation: Tofaktorautentisering for kontoen din har blitt skrudd av. Pålogging er nå mulig ved å bruke kun e-postadresse og passord. + subject: 'Mastodon: Tofaktorautentisering deaktivert' title: 2FA deaktivert two_factor_enabled: - explanation: To-faktor autentisering er aktivert for kontoen din. Et symbol som er generert av den sammenkoblede TOTP-appen vil være påkrevd for innlogging. - subject: 'Mastodon: To-faktor autentisering aktivert' + explanation: Tofaktorautentisering er aktivert for kontoen din. Et token som er generert av appen for tidsbasert engangspassord (TOTP) som er koblet til kontoen kreves for innlogging. + subject: 'Mastodon: Tofaktorautentisering aktivert' title: 2FA aktivert two_factor_recovery_codes_changed: - explanation: De forrige gjenopprettingskodene er ugyldig og nye generert. - subject: 'Mastodon: 2-trinnsgjenopprettingskoder har blitt generert på nytt' + explanation: De forrige gjenopprettingskodene er gjort ugyldige og nye er generert. + subject: 'Mastodon: Tofaktor-gjenopprettingskoder har blitt generert på nytt' title: 2FA-gjenopprettingskodene ble endret unlock_instructions: subject: 'Mastodon: Instruksjoner for å gjenåpne konto' @@ -70,37 +70,39 @@ subject: 'Mastodon: Sikkerhetsnøkkel slettet' title: En av sikkerhetsnøklene dine har blitt slettet webauthn_disabled: + explanation: Autentisering med sikkerhetsnøkler er deaktivert for kontoen din. Innlogging er nå mulig ved hjelp av kun et token som er generert av engangspassord-appen som er koblet til kontoen. subject: 'Mastodon: Autentisering med sikkerhetsnøkler ble skrudd av' title: Sikkerhetsnøkler deaktivert webauthn_enabled: + explanation: Sikkerhetsnøkkel-autentisering er aktivert for din konto. Din sikkerhetsnøkkel kan nå brukes til innlogging. subject: 'Mastodon: Sikkerhetsnøkkelsautentisering ble skrudd på' title: Sikkerhetsnøkler aktivert omniauth_callbacks: failure: Kunne ikke autentisere deg fra %{kind} fordi "%{reason}". - success: Vellykket autentisering fra %{kind}. + success: Vellykket autentisering fra %{kind}-konto. passwords: - no_token: Du har ingen tilgang til denne siden hvis ikke klikket på en e-post om nullstilling av passord. Hvis du kommer fra en sådan bør du dobbelsjekke at du limte inn hele URLen. - send_instructions: Du vil motta en e-post med instruksjoner om nullstilling av passord om noen få minutter. - send_paranoid_instructions: Hvis e-postadressen din finnes i databasen vår vil du motta en e-post med instruksjoner om nullstilling av passord om noen få minutter. + no_token: Du har ikke tilgang til denne siden hvis du ikke kom hit etter å ha klikket på en e-post om nullstilling av passord. Hvis du kommer fra en sådan bør du dobbelsjekke at du limte inn hele URLen. + send_instructions: Hvis e-postadressen din finnes i databasen vår, vil du motta en e-post med instruksjoner om nullstilling av passord om noen få minutter. Sjekk spam-mappen din hvis du ikke mottok e-posten. + send_paranoid_instructions: Hvis e-postadressen din finnes i databasen vår vil du motta en e-post med instruksjoner om nullstilling av passord om noen få minutter. Sjekk spam-mappen din hvis du ikke mottok e-posten. updated: Passordet ditt er endret. Du er nå logget inn. updated_not_active: Passordet ditt er endret. registrations: - destroyed: Adjø! Kontoen din er slettet. På gjensyn. + destroyed: Ha det! Kontoen din er avsluttet. Vi håper å se deg igjen snart. signed_up: Velkommen! Registreringen var vellykket. signed_up_but_inactive: Registreringen var vellykket. Vi kunne dessverre ikke logge deg inn fordi kontoen din ennå ikke har blitt aktivert. signed_up_but_locked: Registreringen var vellykket. Vi kunne dessverre ikke logge deg inn fordi kontoen din har blitt låst. - signed_up_but_pending: En melding med en bekreftelseslink er sendt til din e-postadresse. Etter at du har klikket på koblingen, vil vi gjennomgå søknaden din. Du vil bli varslet hvis den er godkjent. - signed_up_but_unconfirmed: En e-post med en bekreftelseslenke har blitt sendt til din innboks. Klikk på lenken i e-posten for å aktivere kontoen din. - update_needs_confirmation: Du har oppdatert kontoen din, men vi må bekrefte din nye e-postadresse. Sjekk e-posten din og følg bekreftelseslenken for å bekrefte din nye e-postadresse. + signed_up_but_pending: En melding med en bekreftelseslenke er sendt til din e-postadresse. Etter at du har klikket på lenken, vil vi gjennomgå søknaden din. Du vil bli varslet hvis den blir godkjent. + signed_up_but_unconfirmed: En melding med en bekreftelseslenke har blitt sendt til din e-postadresse. Klikk på lenken i e-posten for å aktivere kontoen din. Sjekk spam-mappen din hvis du ikke mottok e-posten. + update_needs_confirmation: Du har oppdatert kontoen din, men vi må bekrefte din nye e-postadresse. Sjekk e-posten din og følg bekreftelseslenken for å bekrefte din nye e-postadresse. Sjekk spam-mappen din hvis du ikke mottok e-posten. updated: Kontoen din ble oppdatert. sessions: already_signed_out: Logget ut. signed_in: Logget inn. signed_out: Logget ut. unlocks: - send_instructions: Du vil motta en e-post med instruksjoner for å åpne kontoen din om noen få minutter. - send_paranoid_instructions: Hvis kontoen din eksisterer vil du motta en e-post med instruksjoner for å åpne kontoen din om noen få minutter. - unlocked: Kontoen din ble åpnet uten problemer. Logg på for å fortsette. + send_instructions: Du vil motta en e-post med instruksjoner for å låse opp kontoen din om noen få minutter. Sjekk spam-mappen din hvis du ikke mottok e-posten. + send_paranoid_instructions: Hvis kontoen din eksisterer vil du motta en e-post med instruksjoner for å låse opp kontoen din om noen få minutter. Sjekk spam-katalogen din hvis du ikke mottok denne e-posten. + unlocked: Kontoen din er nå låst opp. Logg på for å fortsette. errors: messages: already_confirmed: har allerede blitt bekreftet, prøv å logge på istedet diff --git a/config/locales/devise.pl.yml b/config/locales/devise.pl.yml index cc1b670bb88..ff086888f3c 100644 --- a/config/locales/devise.pl.yml +++ b/config/locales/devise.pl.yml @@ -3,7 +3,7 @@ pl: devise: confirmations: confirmed: Twój adres e-mail został poprawnie zweryfikowany. - send_instructions: W ciągu kilku minut otrzymasz wiadomosć e-mail z instrukcją jak potwierdzić Twój adres e-mail. Jeżeli nie otrzymano wiadomości, sprawdź folder ze spamem. + send_instructions: W ciągu kilku minut otrzymasz wiadomość e-mail z instrukcją jak potwierdzić Twój adres e-mail. Jeżeli nie otrzymano wiadomości, sprawdź folder ze spamem. send_paranoid_instructions: Jeśli Twój adres e-mail już istnieje w naszej bazie danych, w ciągu kilku minut otrzymasz wiadomość e-mail z instrukcją jak potwierdzić Twój adres e-mail. Jeżeli nie otrzymano wiadomości, sprawdź folder ze spamem. failure: already_authenticated: Jesteś już zalogowany(-a). diff --git a/config/locales/devise.zh-TW.yml b/config/locales/devise.zh-TW.yml index baf99581285..36ce2035171 100644 --- a/config/locales/devise.zh-TW.yml +++ b/config/locales/devise.zh-TW.yml @@ -51,7 +51,7 @@ zh-TW: subject: Mastodon:已停用兩階段驗證 title: 已停用 2FA two_factor_enabled: - explanation: 已對您的帳號啟用兩階段驗證。登入時將需要配對之 TOTP 應用程式所產生之 Token。 + explanation: 已對您的帳號啟用兩階段驗證。登入時將需要已配對的 TOTP 應用程式所產生之 Token。 subject: Mastodon:已啟用兩階段驗證 title: 已啟用 2FA two_factor_recovery_codes_changed: @@ -70,9 +70,9 @@ zh-TW: subject: Mastodon:安全密鑰已移除 title: 您的一支安全密鑰已經被移除 webauthn_disabled: - explanation: 您的帳號並沒有啟用安全密鑰認證方式。只能以 TOTP app 產生地成對 token 登入。 - subject: Mastodon:安全密鑰認證方式已關閉 - title: 已關閉安全密鑰 + explanation: 您的帳號已停用安全密鑰認證。只能透過已配對的 TOTP 應用程式所產生之 Token 登入。 + subject: Mastodon:安全密鑰認證方式已停用 + title: 已停用安全密鑰 webauthn_enabled: explanation: 您的帳號已啟用安全密鑰認證。您可以使用安全密鑰登入了。 subject: Mastodon:已啟用安全密鑰認證 diff --git a/config/locales/doorkeeper.en-GB.yml b/config/locales/doorkeeper.en-GB.yml index ef03d181049..3f0ea6b7b7f 100644 --- a/config/locales/doorkeeper.en-GB.yml +++ b/config/locales/doorkeeper.en-GB.yml @@ -1 +1,119 @@ +--- en-GB: + activerecord: + attributes: + doorkeeper/application: + name: Application name + redirect_uri: Redirect URI + scopes: Scopes + website: Application website + errors: + models: + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: cannot contain a fragment. + invalid_uri: must be a valid URI. + relative_uri: must be an absolute URI. + secured_uri: must be an HTTPS/SSL URI. + doorkeeper: + applications: + buttons: + authorize: Authorise + cancel: Cancel + destroy: Destroy + edit: Edit + submit: Submit + confirmations: + destroy: Are you sure? + edit: + title: Edit application + form: + error: Whoops! Check your form for possible errors + help: + native_redirect_uri: Use %{native_redirect_uri} for local tests + redirect_uri: Use one line per URI + scopes: Separate scopes with spaces. Leave blank to use the default scopes. + index: + application: Application + callback_url: Callback URL + delete: Delete + empty: You have no applications. + name: Name + new: New application + scopes: Scopes + show: Show + title: Your applications + new: + title: New application + show: + actions: Actions + application_id: Client key + callback_urls: Callback URLs + scopes: Scopes + secret: Client secret + title: 'Application: %{name}' + authorizations: + buttons: + authorize: Authorise + deny: Deny + error: + title: An error has occurred + new: + prompt_html: "%{client_name} would like permission to access your account. It is a third-party application. If you do not trust it, then you should not authorise it." + review_permissions: Review permissions + title: Authorisation required + show: + title: Copy this authorisation code and paste it to the application. + authorized_applications: + buttons: + revoke: Revoke + confirmations: + revoke: Are you sure? + index: + authorized_at: Authorised on %{date} + description_html: These are applications that can access your account using the API. If there are applications you do not recognise here, or an application is misbehaving, you can revoke its access. + last_used_at: Last used on %{date} + never_used: Never used + scopes: Permissions + superapp: Internal + layouts: + application: + title: OAuth authorisation required + scopes: + admin:read: read all data on the server + admin:read:accounts: read sensitive information of all accounts + admin:read:reports: read sensitive information of all reports and reported accounts + admin:write: modify all data on the server + admin:write:accounts: perform moderation actions on accounts + admin:write:reports: perform moderation actions on reports + crypto: use end-to-end encryption + follow: modify account relationships + push: receive your push notifications + read: read all your account's data + read:accounts: see accounts information + read:blocks: see your blocks + read:bookmarks: see your bookmarks + read:favourites: see your favourites + read:filters: see your filters + read:follows: see your follows + read:lists: see your lists + read:mutes: see your mutes + read:notifications: see your notifications + read:reports: see your reports + read:search: search on your behalf + read:statuses: see all posts + write: modify all your account's data + write:accounts: modify your profile + write:blocks: block accounts and domains + write:bookmarks: bookmark posts + write:conversations: mute and delete conversations + write:favourites: favourite posts + write:filters: create filters + write:follows: follow people + write:lists: create lists + write:media: upload media files + write:mutes: mute people and conversations + write:notifications: clear your notifications + write:reports: report other people + write:statuses: publish posts diff --git a/config/locales/doorkeeper.eo.yml b/config/locales/doorkeeper.eo.yml index 473757a37ad..34b4fafaa99 100644 --- a/config/locales/doorkeeper.eo.yml +++ b/config/locales/doorkeeper.eo.yml @@ -92,7 +92,7 @@ eo: temporarily_unavailable: La rajtiga servilo ne povas nun plenumi la peton pro dumtempa troŝarĝo aŭ servila prizorgado. unauthorized_client: Kliento ne rajtas fari ĉi tian peton per ĉi tiu metodo. unsupported_grant_type: La tipo de la rajtiga konsento ne estas subtenata de la rajtiga servilo. - unsupported_response_type: La rajtiga servilo ne subtenas ĉi tian respondon. + unsupported_response_type: La aŭtentiga servilo ne subtenas ĉi tian respondon. flash: applications: create: @@ -108,6 +108,7 @@ eo: title: blocks: Blokita bookmarks: Legosignoj + favourites: Preferaĵoj lists: Listoj mutes: Silentigitaj reports: Raportoj diff --git a/config/locales/doorkeeper.fr.yml b/config/locales/doorkeeper.fr.yml index 7e890f3d6d6..bc4bd20bb7b 100644 --- a/config/locales/doorkeeper.fr.yml +++ b/config/locales/doorkeeper.fr.yml @@ -86,7 +86,7 @@ fr: invalid_grant: L’autorisation accordée est invalide, expirée, annulée, ne concorde pas avec l’URL de redirection utilisée dans la requête d’autorisation, ou a été délivrée à un autre client. invalid_redirect_uri: L’URL de redirection n’est pas valide. invalid_request: - missing_param: 'Parramètre requis manquant: %{value}.' + missing_param: 'Paramètre requis manquant: %{value}.' request_not_authorized: La requête doit être autorisée. Le paramètre requis pour l'autorisation de la requête est manquant ou non valide. unknown: La requête omet un paramètre requis, inclut une valeur de paramètre non prise en charge ou est autrement mal formée. invalid_resource_owner: Les identifiants fournis par le propriétaire de la ressource ne sont pas valides ou le propriétaire de la ressource ne peut être trouvé diff --git a/config/locales/doorkeeper.fy.yml b/config/locales/doorkeeper.fy.yml index 38527486856..5e3f3c6c073 100644 --- a/config/locales/doorkeeper.fy.yml +++ b/config/locales/doorkeeper.fy.yml @@ -4,6 +4,8 @@ fy: attributes: doorkeeper/application: name: Namme fan applikaasje + redirect_uri: Redirect-URI + scopes: Tastimmingen website: Webstee fan applikaasje errors: models: @@ -15,9 +17,169 @@ fy: relative_uri: moat in absolute URI wêze. secured_uri: moat in HTTPS/SSL URI wêze. doorkeeper: + applications: + buttons: + authorize: Autorisearje + cancel: Annulearje + destroy: Ferneatigje + edit: Bewurkje + submit: Yntsjinje + confirmations: + destroy: Bisto wis? + edit: + title: Tapassing bewurkje + form: + error: Oeps! Kontrolearje it formulier op flaters + help: + native_redirect_uri: Brûk %{native_redirect_uri} foar lokale tests + redirect_uri: Brûk ien rigel per URI + scopes: Tastimmingen mei spaasjes fan inoar skiede. Lit leech om de standerttastimmingen te brûken. + index: + application: Tapassing + callback_url: Callback-URL + delete: Fuortsmite + empty: Do hast gjin tapassingen konfigurearre. + name: Namme + new: Nije tapassing + scopes: Tastimmingen + show: Toane + title: Dyn tapassingen + new: + title: Nije tapassing + show: + actions: Aksjes + application_id: Client-kaai + callback_urls: Callback-URL’s + scopes: Tastimmingen + secret: Client-geheim + title: 'Tapassing: %{name}' + authorizations: + buttons: + authorize: Autorisearje + deny: Wegerje + error: + title: Der is in flater bard + new: + prompt_html: "%{client_name} hat tastimming nedich om tagong te krijen ta dyn account. It giet om in tapassing fan in tredde partij.Asto dit net fertroust, moatsto gjin tastimming jaan." + review_permissions: Tastimmingen beoardiele + title: Autorisaasje fereaske + show: + title: Kopiearje dizze autorisaasjekoade en plak it yn de tapassing. + authorized_applications: + buttons: + revoke: Ynlûke + confirmations: + revoke: Bisto wis? + index: + authorized_at: Autorisearre op %{date} + description_html: Dit binne tapassingen dy’t tagong hawwe ta dyn account fia de API. As der tapassingen tusken steane dy’tsto net werkenst of in tapassing harren misdraacht, kinsto de tagongsrjochten fan de tapassing ynlûke. + last_used_at: Lêst brûkt op %{date} + never_used: Nea brûkt + scopes: Tastimmingen + superapp: Yntern + title: Dyn autorisearre tapassingen + errors: + messages: + access_denied: De boarne-eigener of autorisaasjeserver hat it fersyk wegere. + credential_flow_not_configured: De wachtwurdgegevens-flow fan de boarne-eigener is mislearre, omdat Doorkeeper.configure.resource_owner_from_credentials net ynsteld is. + invalid_client: Clientferifikaasje is mislearre troch in ûnbekende client, ûntbrekkende client-autentikaasje of in net stipe autentikaasjemetoade. + invalid_grant: De opjûne autorisaasje is ûnjildich, ferrûn, ynlutsen, komt net oerien mei de redirect-URI dy’t opjûn is of útjûn waard oan in oere client. + invalid_redirect_uri: De opjûne redirect-URI is ûnjildich. + invalid_request: + missing_param: 'Untbrekkende fereaske parameter: %{value}.' + request_not_authorized: It fersyk moat autorisearre wurde. De fereaske parameter foar it autorisaasjefersyk ûntbrekt of is ûnjildich. + unknown: It fersyk mist in fereaske parameter, befettet in net-stipe parameterwearde of is op in oare manier net krekt. + invalid_resource_owner: De opjûne boarne-eigenersgegevens binne ûnjildich of de boarne-eigener kin net fûn wurde + invalid_scope: De opfrege tastimming is ûnjildich, ûnbekend of net krekt. + invalid_token: + expired: Tagongskoade ferrûn + revoked: Tagongskoade ynlutsen + unknown: Tagongskoade ûnjildich + resource_owner_authenticator_not_configured: It opsykjen fan de boarne-eigener is mislearre, omdat Doorkeeper.configure.resource_owner_authenticator net ynsteld is. + server_error: De autorisaasjeserver is in ûnferwachte situaasje tsjinkaam dy’t it fersyk behindere. + temporarily_unavailable: De autorisaasjeserver is op dit stuit net yn steat it fersyk te behanneljen as gefolch fan in tydlike oerbelêsting of ûnderhâld oan de server. + unauthorized_client: De client is net autorisearre om dit fersyk op dizze manier út te fieren. + unsupported_grant_type: It type autorisaasje wurdt net troch de autorisaasjeserver stipe. + unsupported_response_type: De autorisaasjeserver stipet dit antwurdtype net. + flash: + applications: + create: + notice: Tapassing oanmakke. + destroy: + notice: Tapassing fuortsmiten. + update: + notice: Tapassing bewurke. + authorized_applications: + destroy: + notice: Tapassing ynlutsen. grouped_scopes: + access: + read: Allinnich-lêze-tagong + read/write: Lês- en skriuwtagong + write: Allinnich skriuwtagong title: + accounts: Accounts + admin/accounts: Accountbehear + admin/all: Alle behearfunksjes + admin/reports: Rapportaazjebehear + all: Alles + blocks: Blokkearje + bookmarks: Blêdwizers conversations: Petearen + crypto: End-to-end-fersifering + favourites: Favoriten + filters: Filters + follow: Relaasjes + follows: Folgjend + lists: Listen + media: Mediabylagen + mutes: Negearre + notifications: Meldingen + push: Pushmeldingen + reports: Rapportaazjes + search: Sykje + statuses: Berjochten + layouts: + admin: + nav: + applications: Tapassingen + oauth2_provider: OAuth2-provider + application: + title: OAuth-autorisaasje fereaske scopes: + admin:read: alle gegevens op de server lêze + admin:read:accounts: gefoelige ynformaasje fan alle accounts lêze + admin:read:reports: gefoelige ynformaasje fan alle rapportaazjes en rapportearre accounts lêze + admin:write: wizigje alle gegevens op de server + admin:write:accounts: moderaasjemaatregelen tsjin accounts nimme + admin:write:reports: moderaasjemaatregelen nimme yn rapportaazjes + crypto: end-to-end-encryptie brûke + follow: relaasjes tusken accounts bewurkje + push: dyn pushmeldingen ûntfange + read: alle gegevens fan dyn account lêze + read:accounts: accountynformaasje besjen + read:blocks: dyn blokkearre brûkers besjen + read:bookmarks: dyn blêdwizers besjen + read:favourites: dyn favoriten besjen + read:filters: dyn filters besjen + read:follows: de accounts dy’tsto folgest besjen + read:lists: dyn listen besjen + read:mutes: dyn negearre brûkers besjen + read:notifications: dyn meldingen besjen + read:reports: dyn rapportearre berjochten besjen + read:search: út dyn namme sykje + read:statuses: alle berjochten besjen + write: alle gegevens fan dyn account bewurkje + write:accounts: dyn profyl bewurkje + write:blocks: accounts en domeinen blokkearje + write:bookmarks: berjochten oan blêdwizers tafoegje write:conversations: petearen negearre en fuortsmite + write:favourites: berjochten as favoryt markearje + write:filters: filters oanmeitsje + write:follows: minsken folgje + write:lists: listen oanmeitsje + write:media: mediabestannen oplade write:mutes: minsken en petearen negearre + write:notifications: meldingen fuortsmite + write:reports: oare minsken rapportearje + write:statuses: berjochten pleatse diff --git a/config/locales/doorkeeper.ga.yml b/config/locales/doorkeeper.ga.yml index cd911b60a40..73ff9d0fcb1 100644 --- a/config/locales/doorkeeper.ga.yml +++ b/config/locales/doorkeeper.ga.yml @@ -5,6 +5,7 @@ ga: doorkeeper/application: name: Ainm feidhmchláir redirect_uri: Atreoraigh URI + website: Suíomh gréasáin feidhmchláir doorkeeper: applications: buttons: @@ -12,12 +13,17 @@ ga: cancel: Cealaigh destroy: Scrios edit: Cuir in eagar + submit: Cuir isteach confirmations: destroy: An bhfuil tú cinnte? index: delete: Scrios name: Ainm show: Taispeáin + show: + application_id: Eochair chliaint + secret: Rún cliaint + title: 'Ainm feidhmchláir: %{name}' authorizations: buttons: deny: Diúltaigh diff --git a/config/locales/doorkeeper.gd.yml b/config/locales/doorkeeper.gd.yml index 497b7dcdd56..6d4cbecfe34 100644 --- a/config/locales/doorkeeper.gd.yml +++ b/config/locales/doorkeeper.gd.yml @@ -134,8 +134,8 @@ gd: lists: Liostaichean media: Ceanglachain mheadhanan mutes: Mùchaidhean - notifications: Fiosan - push: Fiosan putaidh + notifications: Brathan + push: Brathan putaidh reports: Gearanan search: Lorg statuses: Postaichean @@ -155,17 +155,17 @@ gd: admin:write:reports: gnìomhan na maorsainneachd a ghabhail air gearanan crypto: crioptachadh o cheann gu ceann a chleachdadh follow: dàimhean chunntasan atharrachadh - push: na fiosan putaidh agad fhaighinn + push: na brathan putaidh agad fhaighinn read: dàta sam bith a’ cunntais agad a leughadh read:accounts: fiosrachadh nan cunntasan fhaicinn read:blocks: na bacaidhean agad fhaicinn read:bookmarks: na comharran-lìn agad fhaicinn read:favourites: na h-annsachdan agad fhaicinn read:filters: na criathragan agad fhaicinn - read:follows: faicinn cò air a tha thu a’ leantainn + read:follows: faicinn cò a tha thu a’ leantainn read:lists: na liostaichean agad fhaicinn read:mutes: na mùchaidhean agad fhaicinn - read:notifications: na fiosan agad faicinn + read:notifications: na brathan agad faicinn read:reports: na gearanan agad fhaicinn read:search: lorg a dhèanamh às do leth read:statuses: na postaichean uile fhaicinn @@ -176,10 +176,10 @@ gd: write:conversations: còmhraidhean a mhùchadh is a sguabadh às write:favourites: postaichean a chur ris na h-annsachdan write:filters: criathragan a chruthachadh - write:follows: leantainn air daoine + write:follows: leantainn dhaoine write:lists: liostaichean a chruthachadh write:media: faidhlichean meadhain a luchdadh suas write:mutes: daoine is còmhraidhean a mhùchadh - write:notifications: na fiosan agad a ghlanadh às + write:notifications: na brathan agad fhalamhachadh write:reports: gearan a dhèanamh mu chàch write:statuses: postaichean fhoillseachadh diff --git a/config/locales/doorkeeper.he.yml b/config/locales/doorkeeper.he.yml index e2f0c340136..eda38153c65 100644 --- a/config/locales/doorkeeper.he.yml +++ b/config/locales/doorkeeper.he.yml @@ -138,7 +138,7 @@ he: push: התראות בדחיפה reports: דיווחים search: חיפוש - statuses: חצרוצים + statuses: הודעות layouts: admin: nav: @@ -168,13 +168,13 @@ he: read:notifications: צפיה בהתראותיך read:reports: צפיה בדוחותיך read:search: חיפוש מטעם עצמך - read:statuses: צפיה בכל החצרוצים + read:statuses: צפיה בכל ההודעות write: להפיץ הודעות בשמך write:accounts: שינוי הפרופיל שלך write:blocks: חסימת חשבונות ודומיינים - write:bookmarks: סימון חצרוצים + write:bookmarks: סימון הודעות write:conversations: השתקת ומחיקת שיחות - write:favourites: חצרוצים מחובבים + write:favourites: הודעות מחובבות write:filters: יצירת מסננים write:follows: עקיבה אחר אנשים write:lists: יצירת רשימות @@ -182,4 +182,4 @@ he: write:mutes: השתקת אנשים ושיחות write:notifications: ניקוי התראותיך write:reports: דיווח על אנשים אחרים - write:statuses: פרסום חצרוצים + write:statuses: פרסום הודעות diff --git a/config/locales/doorkeeper.no.yml b/config/locales/doorkeeper.no.yml index 40eff8bb195..7ba1baf7a81 100644 --- a/config/locales/doorkeeper.no.yml +++ b/config/locales/doorkeeper.no.yml @@ -3,7 +3,7 @@ activerecord: attributes: doorkeeper/application: - name: Navn + name: Applikasjonsnavn redirect_uri: Omdirigerings-URI scopes: Omfang website: Applikasjonsnettside @@ -12,24 +12,24 @@ doorkeeper/application: attributes: redirect_uri: - fragment_present: kan ikke inneholde ett fragment. + fragment_present: kan ikke inneholde et fragment. invalid_uri: må være en gyldig URI. relative_uri: må være en absolutt URI. secured_uri: må være en HTTPS/SSL URI. doorkeeper: applications: buttons: - authorize: Autoriser + authorize: Autorisér cancel: Avbryt destroy: Ødelegg - edit: Rediger + edit: Redigér submit: Send inn confirmations: destroy: Er du sikker? edit: title: Endre applikasjon form: - error: Oops! Sjekk skjemaet ditt for mulige feil + error: Oops! Sjekk om du har feil i skjemaet ditt help: native_redirect_uri: Bruk %{native_redirect_uri} for lokale tester redirect_uri: Bruk én linje per URI @@ -60,6 +60,8 @@ error: title: En feil oppstod new: + prompt_html: "%{client_name} ønsker tilgang til kontoen din. Det er en tredjeparts applikasjon. Hvis du ikke stoler på den, bør du ikke autorisere den." + review_permissions: Gå gjennom tillatelser title: Autorisasjon påkrevd show: title: Kopier denne koden og lim den inn i programmet. @@ -69,18 +71,24 @@ confirmations: revoke: Opphev? index: + authorized_at: Autorisert %{date} + description_html: Dette er applikasjoner som kan få tilgang til kontoen din ved hjelp av API-et. Hvis det finnes applikasjoner du ikke gjenkjenner her, eller en applikasjon skaper problemer, kan du tilbakekalle tilgangen den har. + last_used_at: Sist brukt %{date} + never_used: Aldri brukt + scopes: Tillatelser + superapp: Internt title: Dine autoriserte applikasjoner errors: messages: - access_denied: Ressurseieren eller autoriseringstjeneren avviste forespørslen. + access_denied: Ressurseieren eller autoriseringsserveren avviste forespørselen. credential_flow_not_configured: Ressurseiers passordflyt feilet fordi Doorkeeper.configure.resource_owner_from_credentials ikke var konfigurert. invalid_client: Klientautentisering feilet på grunn av ukjent klient, ingen autentisering inkludert, eller autentiseringsmetode er ikke støttet. - invalid_grant: Autoriseringen er ugyldig, utløpt, opphevet, stemmer ikke overens med omdirigerings-URIen eller var utstedt til en annen klient. + invalid_grant: Autoriseringen er ugyldig, utløpt, opphevet, stemmer ikke overens med omdirigerings-URIen i autoriseringsforespørselen eller var utstedt til en annen klient. invalid_redirect_uri: Den inkluderte omdirigerings-URLen er ikke gyldig. invalid_request: missing_param: 'Mangler påkrevd parameter: %{value}.' - request_not_authorized: Forespørselen må godkjennes. Påkrevd parameter for godkjenningsforespørselen mangler eller er ugyldig. - unknown: Forespørselen mangler en påkrevd parameter, inkluderer en ukjent parameterverdi, eller er utformet for noe annet. + request_not_authorized: Forespørselen må autoriseres. Påkrevd parameter for autorisasjonsforespørselen mangler eller er ugyldig. + unknown: Forespørselen mangler en påkrevd parameter, inkluderer en parameterverdi som ikke støttes, eller har på annet vis feil struktur. invalid_resource_owner: Ressurseierens detaljer er ikke gyldige, eller så er det ikke mulig å finne eieren invalid_scope: Det etterspurte omfanget er ugyldig, ukjent eller har feil struktur. invalid_token: @@ -89,10 +97,10 @@ unknown: Tilgangsbeviset er ugyldig resource_owner_authenticator_not_configured: Ressurseier kunne ikke finnes fordi Doorkeeper.configure.resource_owner_authenticator ikke er konfigurert. server_error: Autoriseringstjeneren støtte på en uventet hendelse som hindret den i å svare på forespørslen. - temporarily_unavailable: Autoriseringstjeneren kan ikke håndtere forespørslen grunnet en midlertidig overbelastning eller tjenervedlikehold. + temporarily_unavailable: Autoriseringsserveren kan ikke håndtere forespørselen grunnet en midlertidig overbelastning eller vedlikehold av serveren. unauthorized_client: Klienten har ikke autorisasjon for å utføre denne forespørslen med denne metoden. unsupported_grant_type: Autorisasjonstildelingstypen er ikke støttet av denne autoriseringstjeneren. - unsupported_response_type: Autorisasjonsserveren støtter ikke denne typen av forespørsler. + unsupported_response_type: Autorisasjonsserveren støtter ikke denne respons-typen. flash: applications: create: @@ -104,45 +112,74 @@ authorized_applications: destroy: notice: Applikasjon opphevet. + grouped_scopes: + access: + read: Kun lesetilgang + read/write: Lese- og skrivetilgang + write: Kun skrivetilgang + title: + accounts: Kontoer + admin/accounts: Administrasjon av kontoer + admin/all: All administrativ funksjonalitet + admin/reports: Administrasjon av rapporteringer + all: Alt + blocks: Blokkeringer + bookmarks: Bokmerker + conversations: Samtaler + crypto: Ende-til-ende-kryptering + favourites: Favoritter + filters: Filtre + follow: Relasjoner + follows: Følger + lists: Lister + media: Mediavedlegg + mutes: Dempinger + notifications: Varslinger + push: Push-varslinger + reports: Rapporteringer + search: Søk + statuses: Innlegg layouts: admin: nav: applications: Applikasjoner - oauth2_provider: OAuth2-tilbyder + oauth2_provider: OAuth2-leverandør application: title: OAuth-autorisering påkrevet scopes: admin:read: lese alle data på tjeneren - admin:read:accounts: lese sensitiv informasjon om alle kontoer - admin:read:reports: lese sensitiv informasjon om alle rapporter og rapporterte kontoer + admin:read:accounts: lese sensitiv informasjon for alle kontoer + admin:read:reports: lese sensitiv informasjon for alle rapporter og rapporterte kontoer admin:write: modifisere alle data på tjeneren admin:write:accounts: utføre moderatorhandlinger på kontoer admin:write:reports: utføre moderatorhandlinger på rapporter - follow: følg, blokkér, avblokkér, avfølg brukere - push: motta dine varsler + crypto: bruk ende-til-ende-kryptering + follow: endre konto-relasjoner + push: motta push-varslingene dine read: lese dine data read:accounts: se informasjon om kontoer - read:blocks: se dine blokkeringer - read:bookmarks: se dine bokmerker + read:blocks: se blokkeringene dine + read:bookmarks: se bokmerkene dine read:favourites: se dine likinger - read:filters: se dine filtre - read:follows: se dine følginger + read:filters: se filtrene dine + read:follows: se hvem du følger read:lists: se listene dine read:mutes: se dine dempinger - read:notifications: se dine varslinger - read:reports: se dine rapporter + read:notifications: se varslingene dine + read:reports: se rapportene dine read:search: søke på dine vegne - read:statuses: se alle statuser + read:statuses: se alle innlegg write: poste på dine vegne write:accounts: endre på profilen din write:blocks: blokkere kontoer og domener - write:bookmarks: bokmerke statuser - write:favourites: like statuser - write:filters: opprett filtre - write:follows: følg personer - write:lists: opprett lister - write:media: last opp mediafiler + write:bookmarks: bokmerke innlegg + write:conversations: dempe og slette samtaler + write:favourites: like innlegg + write:filters: opprette filtre + write:follows: følge personer + write:lists: opprette lister + write:media: laste opp mediafiler write:mutes: dempe folk og samtaler - write:notifications: tømme dine varsler + write:notifications: tømme varslingene dine write:reports: rapportere andre folk - write:statuses: legg ut statuser + write:statuses: legge ut innlegg diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml index eef5eb146c9..905dff0e690 100644 --- a/config/locales/doorkeeper.pt-BR.yml +++ b/config/locales/doorkeeper.pt-BR.yml @@ -138,7 +138,7 @@ pt-BR: push: Notificações push reports: Denúncias search: Buscar - statuses: Posts + statuses: Publicações layouts: admin: nav: diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 90361464912..4cabba4989c 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -2,9 +2,10 @@ eo: about: about_mastodon_html: 'Mastodon estas socia retejo de la estonteco: sen reklamo, sen kompania gvato, etika dezajno kaj malcentraligo! Vi regu viajn datumojn kun Mastodon!' - contact_missing: Ne ŝargita + contact_missing: Ne elektita contact_unavailable: Ne disponebla hosted_on: "%{domain} estas nodo de Mastodon" + title: Pri accounts: follow: Sekvi followers: @@ -18,22 +19,22 @@ eo: pin_errors: following: Vi devas sekvi la homon, kiun vi volas proponi posts: - one: Mesaĝo + one: Afiŝo other: Mesaĝoj - posts_tab_heading: Mesaĝoj + posts_tab_heading: Afiŝoj admin: account_actions: action: Plenumi agon title: Plenumi kontrolan agon al %{acct} account_moderation_notes: create: Lasi noton - created_msg: Noto de mederigado sukcese kreita! + created_msg: Noto de mederigado estis sukcese kreita! destroyed_msg: Noto de moderigado sukcese detruita! accounts: add_email_domain_block: Bloki retadresan domajnon approve: Aprobi are_you_sure: Ĉu vi certas? - avatar: Rolfiguro + avatar: Profilbildo by_domain: Domajno change_email: current_email: Nuna retadreso @@ -41,22 +42,26 @@ eo: new_email: Nova retadreso submit: Ŝanĝi retadreson title: Ŝanĝi retadreson por %{username} + change_role: + label: Ŝanĝi rolon + no_role: Neniu rolo + title: Ŝanĝi rolon por %{username} confirm: Konfirmi confirmed: Konfirmita confirming: Konfirmante - custom: Kutimo + custom: Aliaj agordoj delete: Forigi datumojn deleted: Forigita demote: Degradi disable: Frostigi - disable_two_factor_authentication: Malaktivigi 2FA-n + disable_two_factor_authentication: Malŝalti 2FA-n disabled: Frostigita display_name: Montrata nomo domain: Domajno edit: Redakti - email: Retadreso - email_status: Retadreso Stato - enable: Ebligi + email: Retpoŝto + email_status: Stato de retpoŝto + enable: Malfrostigi enabled: Ebligita followers: Sekvantoj follows: Sekvatoj @@ -67,7 +72,7 @@ eo: ip: IP joined: Aliĝis location: - all: Ĉio + all: Ĉiuj local: Lokaj remote: Foraj title: Loko @@ -76,19 +81,19 @@ eo: memorialize: Ŝanĝi al memoro memorialized: Memorita moderation: - active: Aktiva + active: Aktivaj all: Ĉio pending: Pritraktata suspended: Suspendita title: Moderigado moderation_notes: Notoj de moderigado - most_recent_activity: Lasta ago + most_recent_activity: Lastaj afiŝoj most_recent_ip: Lasta IP no_account_selected: Neniu konto estis ŝanĝita ĉar neniu estis selektita no_limits_imposed: Neniu limito trudita not_subscribed: Ne abonita pending: Pritraktata recenzo - perform_full_suspension: Haltigi + perform_full_suspension: Suspendi promote: Plirangigi protocol: Protokolo public: Publika @@ -100,8 +105,8 @@ eo: removed_avatar_msg: La bildo de la rolfiguro de %{username} estas sukcese forigita resend_confirmation: already_confirmed: Ĉi tiu uzanto jam estas konfirmita - send: Resendi konfirman retmesaĝon - success: Konfirma retmesaĝo sukcese sendita! + send: Resendi konfirman retpoŝton + success: Konfirma retpoŝto estis sukcese sendita! reset: Restarigi reset_password: Restarigi pasvorton resubscribe: Reaboni @@ -119,7 +124,7 @@ eo: targeted_reports: Raporitaj de alia silence: Mutigita silenced: Silentigita - statuses: Mesaĝoj + statuses: Afiŝoj subscribe: Aboni suspend: Haltigu suspended: Suspendita @@ -127,7 +132,7 @@ eo: title: Kontoj unblock_email: Malbloki retpoŝtadresojn unblocked_email_msg: Sukcese malblokis la retpoŝtadreson de %{username} - unconfirmed_email: Nekonfirmita retadreso + unconfirmed_email: Nekonfirmita retpoŝto undo_sensitized: Malfari sentema undo_silenced: Malfari kaŝon undo_suspension: Malfari haltigon @@ -137,23 +142,23 @@ eo: view_domain: Vidi la resumon de la domajno warn: Averti web: Reto - whitelisted: En la blanka listo + whitelisted: Permesita por federacio action_logs: action_types: approve_user: Aprobi Uzanton assigned_to_self_report: Atribui Raporton - change_email_user: Ŝanĝi retadreson de uzanto - confirm_user: Konfermi uzanto - create_account_warning: Krei averton + change_email_user: Ŝanĝi retpoŝton de uzanto + confirm_user: Konfirmi uzanton + create_account_warning: Krei Averton create_announcement: Krei Anoncon - create_custom_emoji: Krei Propran emoĝion + create_custom_emoji: Krei Propran Emoĝion create_domain_allow: Krei Domajnan Permeson - create_domain_block: Krei blokadon de domajno - create_email_domain_block: Krei blokadon de retpoŝta domajno + create_domain_block: Krei Blokadon De Domajno + create_email_domain_block: Krei Blokadon De Retpoŝta Domajno create_ip_block: Krei IP-regulon - demote_user: Malpromocii uzanton + demote_user: Malpromocii Uzanton destroy_announcement: Forigi Anoncon - destroy_custom_emoji: Forigi Propran emoĝion + destroy_custom_emoji: Forigi Propran Emoĝion destroy_domain_allow: Forigi Domajnan Permeson destroy_domain_block: Forigi blokadon de domajno destroy_email_domain_block: Forigi blokadon de retpoŝta domajno @@ -176,12 +181,12 @@ eo: resolve_report: Solvitaj reporto sensitive_account: Marki tikla la aŭdovidaĵojn de via konto silence_account: Silentigi konton - suspend_account: Haltigi konton + suspend_account: Suspendi la konton unassigned_report: Malatribui Raporton unblock_email_account: Malbloki retpoŝtadreson unsensitive_account: Malmarku la amaskomunikilojn en via konto kiel sentemaj unsilence_account: Malsilentigi konton - unsuspend_account: Malhaltigi konton + unsuspend_account: Reaktivigi la konton update_announcement: Ĝisdatigi anoncon update_custom_emoji: Ĝisdatigi proprajn emoĝiojn update_domain_block: Ĝigdatigi domajnan blokadon @@ -255,7 +260,7 @@ eo: disabled: Neebligita disabled_msg: La emoĝio sukcese neebligita emoji: Emoĝio - enable: Ebligi + enable: Enŝalti enabled: Ebligita enabled_msg: Tiu emoĝio estis sukcese ebligita list: Listo @@ -304,7 +309,7 @@ eo: desc_html: "Kaŝi igos la mesaĝojn de la konto nevideblaj al tiuj, kiuj ne sekvas tiun. Haltigi forigos ĉiujn enhavojn, aŭdovidaĵojn kaj datumojn de la konto. Uzu Nenio se vi simple volas malakcepti aŭdovidaĵojn." noop: Nenio silence: Mutigi - suspend: Haltigi + suspend: Suspendi title: Nova domajna blokado obfuscate: Malklara domajna nomo private_comment: Privata komento @@ -343,6 +348,7 @@ eo: reject_media: Malakcepti la aŭdovidaĵojn reject_reports: Malakcepti raportojn silence: Kaŝu + suspend: Suspendi policy: Politiko dashboard: instance_accounts_dimension: Plej sekvataj kontoj @@ -401,7 +407,7 @@ eo: description_html: "Fratara ripetilo estas survoja servilo, kiu interŝanĝas grandan kvanton de publikaj mesaĝoj inter serviloj, kiuj abonas kaj publikigas al ĝi. Ĝi povas helpi etajn kaj mezgrandajn servilojn malkovri enhavon de la fediverse, kio normale postulus al lokaj uzantoj mane sekvi homojn de foraj serviloj." disable: Neebligi disabled: Neebligita - enable: Ebligi + enable: Enŝalti enable_hint: Post ebligo, via servilo abonos ĉiujn publikajn mesaĝojn de tiu ripetilo, kaj komencos sendi publikajn mesaĝojn de la servilo al ĝi. enabled: Ebligita inbox_url: URL de la ripetilo @@ -512,18 +518,18 @@ eo: allow: Permesi disallow: Malpermesi links: - allow: Permesi ligilon - disallow: Malpermesi ligilon + allow: Permesi la ligilon + disallow: Malpermesi la ligilon title: Tendencantaj ligiloj pending_review: Atendante revizion statuses: - allow: Permesi afiŝon - allow_account: Permesi aŭtoron - disallow: Malpermesi afiŝon - disallow_account: Malpermesi aŭtoron + allow: Permesi la afiŝon + allow_account: Permesi la aŭtoron + disallow: Malpermesi la afiŝon + disallow_account: Malpermesi la aŭtoron shared_by: - one: Kundividita kaj aldonita al preferaĵoj unufoje - other: Kundividita kaj aldonita al preferaĵoj %{friendly_count}-foje + one: Kundividita kaj aldonita al la preferaĵoj unufoje + other: Kundividita kaj aldonita al la preferaĵoj %{friendly_count}-foje title: Tendencantaj afiŝoj tags: dashboard: @@ -537,10 +543,13 @@ eo: delete: Forviŝi edit_preset: Redakti la antaŭagordojn de averto title: Administri avertajn antaŭagordojn + webhooks: + enabled: Aktiva admin_mailer: new_appeal: actions: disable: por frostigi ties konton + suspend: por suspendi iliajn kontojn new_pending_account: body: La detaloj de la nova konto estas sube. Vi povas aprobi aŭ Malakcepti ĉi kandidatiĝo. subject: Nova konto atendas por recenzo en %{instance} (%{username}) @@ -874,7 +883,7 @@ eo: trillion: Dn otp_authentication: code_hint: Enmetu la kodon kreitan de via aŭtentiga aplikaĵo por konfirmi - enable: Ebligi + enable: Enŝalti instructions_html: "Skanu ĉi tiun QR-kodon per Google Authenticator aŭ per simila aplikaĵo en via poŝtelefono. De tiam, la aplikaĵo kreos nombrojn, kiujn vi devos enmeti." manual_instructions: 'Se vi ne povas skani la QR-kodon kaj bezonas enmeti ĝin mane, jen la tut-teksta sekreto:' setup: Agordi diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 5ac6853700c..dc8703af6c6 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -283,7 +283,7 @@ fi: update_ip_block_html: "%{name} muutti sääntöä IP-osoitteelle %{target}" update_status_html: "%{name} päivitti viestin %{target}" update_user_role_html: "%{name} muutti roolia %{target}" - deleted_account: poistettu tili + deleted_account: poisti tilin empty: Lokeja ei löytynyt. filter_by_action: Suodata tapahtuman mukaan filter_by_user: Suodata käyttäjän mukaan diff --git a/config/locales/fy.yml b/config/locales/fy.yml index c48a0b1b5ca..9d90643881b 100644 --- a/config/locales/fy.yml +++ b/config/locales/fy.yml @@ -4,22 +4,116 @@ fy: last_active: letst warber admin: accounts: + delete: Gegevens fuortsmite + deleted: Fuortsmiten + domain: Domein + edit: Bewurkje + followers: Folgers + follows: Folgjend + header: Omslachfoto + inbox_url: Ynboks-URL + ip: IP + joined: Registrearre + location: + all: Alle + local: Lokaal + remote: Ekstern + title: Lokaasje + login_status: Oanmeldsteat + media_attachments: Mediabylagen moderation: active: Aktyf + all: Alle + pending: Yn ôfwachting + silenced: Beheind + suspended: Utsteld + title: Moderaasje + perform_full_suspension: Utstelle + promote: Promovearje + protocol: Protokol + public: Iepenbier + reject: Wegerje security_measures: only_password: Allinnich wachtwurd password_and_2fa: Wachtwurd en 2FA + title: Accounts + unblock_email: E-mailadres deblokkearje + warn: Warskôgje + web: Web-app + action_logs: + action_types: + destroy_announcement: Meidieling fuortsmite + deleted_account: fuortsmiten account + custom_emojis: + copy: Kopiearje + delete: Fuortsmite + disable: Utskeakelje + disabled: Utskeakele + emoji: Emoji + enable: Ynskeakelje + enabled: Ynskeakele + image_hint: PNG of GIF net grutter as %{size} + list: Yn list + listed: Werjaan + upload: Oplade dashboard: active_users: warbere brûkers + interactions: ynteraksjes + title: Dashboerd top_languages: Meast aktive talen top_servers: Meast aktive tsjinners + website: Website + disputes: + appeals: + empty: Gjin beswieren fûn. + title: Beswieren + email_domain_blocks: + delete: Fuortsmite + domain: Domein + new: + create: Domain tafoegje + resolve: Domein opsykje + follow_recommendations: + status: Steat instances: + back_to_all: Alle + back_to_limited: Beheind + back_to_warning: Warskôging + by_domain: Domein confirm_purge: Wolle jo werklik alle gegevens fan dit domein foar ivich fuortsmite? + content_policies: + comment: Ynterne reden + policies: + silence: Beheind + suspend: Utsteld + policy: Belied dashboard: instance_accounts_measure: bewarre accounts + ip_blocks: + delete: Fuortsmite + relays: + delete: Fuortsmite + reports: + delete_and_resolve: Berjocht fuortsmite + notes: + delete: Fuortsmite + roles: + delete: Fuortsmite + rules: + delete: Fuortsmite + statuses: + deleted: Fuortsmiten system_checks: database_schema_check: message_html: Der binne database migraasjes yn ôfwachting. Jo moatte dizze útfiere om der foar te soargjen dat de applikaasje wurkjen bliuwt sa as it heard + warning_presets: + delete: Fuortsmite + webhooks: + delete: Fuortsmite + auth: + delete_account: Account fuortsmite + deletes: + proceed: Account fuortsmite errors: '400': The request you submitted was invalid or malformed. '403': You don't have permission to view this page. @@ -33,6 +127,12 @@ fy: filters: contexts: thread: Petearen + index: + delete: Fuortsmite + generic: + delete: Fuortsmite + invites: + delete: Deaktivearje notification_mailer: mention: action: Beäntwurdzje @@ -43,7 +143,11 @@ fy: last_active: Letst warber rss: content_warning: 'Ynhâldswarskôging:' + settings: + delete: Account fuortsmite statuses: content_warning: 'Ynhâldswarskôging: %{warning}' pin_errors: direct: Berjochten dy allinnich sichtber binne foar fermelde brûkers kinne net fêstset wurde + webauthn_credentials: + delete: Fuortsmite diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 45516c4d5fa..3c4239f7766 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -62,6 +62,19 @@ ga: statuses: Postálacha title: Cuntais web: Gréasán + action_logs: + action_types: + assigned_to_self_report: Sann tuairisc + create_account_warning: Cruthaigh rabhadh + destroy_announcement: Scrios Fógra + destroy_ip_block: Scrios riail IP + destroy_status: Scrios postáil + reopen_report: Athoscail tuairisc + resolve_report: Réitigh tuairisc + unassigned_report: Cealaigh tuairisc a shann + actions: + create_account_warning_html: Sheol %{name} rabhadh do %{target} + deleted_account: cuntas scriosta announcements: live: Beo publish: Foilsigh @@ -87,6 +100,7 @@ ga: status: Stádas instances: back_to_all: Uile + back_to_warning: Rabhadh content_policies: policy: Polasaí delivery: @@ -116,6 +130,7 @@ ga: status: Stádas reports: category: Catagóir + delete_and_resolve: Scrios postála no_one_assigned: Duine ar bith notes: delete: Scrios @@ -124,6 +139,12 @@ ga: title: Tuairiscí roles: delete: Scrios + privileges: + delete_user_data: Scrios sonraí úsáideora + rules: + delete: Scrios + site_uploads: + delete: Scrios comhad uaslódáilte statuses: account: Údar deleted: Scriosta @@ -131,6 +152,9 @@ ga: open: Oscail postáil original_status: Bunphostáil with_media: Le meáin + strikes: + actions: + delete_statuses: Scrios %{name} postála %{target} tags: review: Stádas athbhreithnithe trends: @@ -139,6 +163,29 @@ ga: statuses: allow: Ceadaigh postáil allow_account: Ceadaigh údar + warning_presets: + delete: Scrios + webhooks: + delete: Scrios + admin_mailer: + new_appeal: + actions: + delete_statuses: chun postála acu a scrios + none: rabhadh + auth: + delete_account: Scrios cuntas + too_fast: Chuireadh foirm róthapa, bain triail arís. + deletes: + proceed: Scrios cuntas + disputes: + strikes: + appeal_submitted_at: Achomharc curtha isteach + appealed_msg: Bhí d'achomharc curtha isteach. Má ceadaítear é, cuirfidh ar an eolas tú. + appeals: + submit: Cuir achomharc isteach + title_actions: + none: Rabhadh + your_appeal_pending: Chuir tú achomharc isteach errors: '400': The request you submitted was invalid or malformed. '403': You don't have permission to view this page. @@ -149,3 +196,33 @@ ga: '429': Too many requests '500': '503': The page could not be served due to a temporary server failure. + filters: + contexts: + thread: Comhráite + index: + delete: Scrios + generic: + delete: Scrios + notification_mailer: + admin: + report: + subject: Chuir %{name} tuairisc isteach + rss: + content_warning: 'Rabhadh ábhair:' + statuses: + content_warning: 'Rabhadh ábhair: %{warning}' + show_more: Taispeáin níos mó + show_newer: Taispeáin níos déanaí + show_thread: Taispeáin snáithe + user_mailer: + warning: + appeal: Cuir achomharc isteach + categories: + spam: Turscar + reason: 'Fáth:' + subject: + none: Rabhadh do %{acct} + title: + none: Rabhadh + webauthn_credentials: + delete: Scrios diff --git a/config/locales/gd.yml b/config/locales/gd.yml index ed6040f68cb..99f432ea422 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -7,7 +7,7 @@ gd: hosted_on: Mastodon ’ga òstadh air %{domain} title: Mu dhèidhinn accounts: - follow: Lean air + follow: Lean followers: few: Luchd-leantainn one: Neach-leantainn @@ -19,7 +19,7 @@ gd: link_verified_on: Chaidh dearbhadh cò leis a tha an ceangal seo %{date} nothing_here: Chan eil dad an-seo! pin_errors: - following: Feumaidh tu leantainn air neach mus urrainn dhut a bhrosnachadh + following: Feumaidh tu neach a leantainn mus urrainn dhut a bhrosnachadh posts: few: Postaichean one: Post @@ -75,7 +75,7 @@ gd: enabled: An comas enabled_msg: Chaidh an cunntas aig %{username} a dhì-reòthadh followers: Luchd-leantainn - follows: A’ leantainn air + follows: A’ leantainn header: Bann-cinn inbox_url: URL a’ bhogsa a-steach invite_request_text: Adhbharan na ballrachd @@ -400,7 +400,7 @@ gd: create: Cruthaich bacadh hint: Cha chuir bacadh na h-àrainne crìoch air cruthachadh chunntasan san stòr-dàta ach cuiridh e dòighean maorsainneachd sònraichte an sàs gu fèin-obrachail air a h-uile dàta a tha aig na cunntasan ud. severity: - desc_html: Falaichidh am mùchadh postaichean a’ chunntais do dhuine sam bith nach ail a’ leantainn air. Bheir an cur à rèim air falbh gach susbaint, meadhan is dàta pròifil a’ chunntais. Tagh Chan eil gin mur eil thu ach airson faidhlichean meadhain a dhiùltadh. + desc_html: Falaichidh am mùchadh postaichean a’ chunntais do dhuine sam bith nach eil ’ga leantainn. Bheir an cur à rèim air falbh gach susbaint, meadhan is dàta pròifil a’ chunntais. Tagh Chan eil gin mur eil thu ach airson faidhlichean meadhain a dhiùltadh. noop: Chan eil gin silence: Mùch suspend: Cuir à rèim @@ -439,7 +439,7 @@ gd: resolved_through_html: Chaidh fuasgladh slighe %{domain} title: Àrainnean puist-d ’gam bacadh follow_recommendations: - description_html: "Cuidichidh molaidhean leantainn an luchd-cleachdaidh ùr ach an lorg iad susbaint inntinneach gu luath. Mur an do ghabh cleachdaiche conaltradh gu leòr le càch airson molaidhean leantainn gnàthaichte fhaighinn, mholamaid na cunntasan seo ’nan àite. Thèid an àireamhachadh às ùr gach latha stèidhichte air na cunntasan air an robh an conaltradh as trice ’s an luchd-leantainn ionadail as motha sa chànan." + description_html: "Cuidichidh molaidhean leantainn an luchd-cleachdaidh ùr ach an lorg iad susbaint inntinneach gu luath. Mur an do ghabh cleachdaiche conaltradh gu leòr le càch airson molaidhean leantainn gnàthaichte fhaighinn, mholamaid na cunntasan seo ’nan àite. Thèid an àireamhachadh às ùr gach latha, stèidhichte air na cunntasan air an robh an conaltradh as trice ’s an luchd-leantainn ionadail as motha sa chànan." language: Dhan chànan status: Staid suppress: Mùch na molaidhean leantainn @@ -547,7 +547,7 @@ gd: relays: add_new: Cuir ath-sheachadan ùr ris delete: Sguab às - description_html: "’S e frithealaiche eadar-mheadhanach a th’ ann an ath-sheachadan co-nasgaidh a nì iomlaid air grunnan mòra de phostaichean poblach eadar na frithealaichean a dh’fho-sgrìobhas ’s a dh’fhoillsicheas dha. ’S urrainn dha cuideachadh a thoirt do dh’fhrithealaichean beaga is meadhanach mòr ach an rùraich iad susbaint sa cho-shaoghal agus às an aonais, bhiodh aig cleachdaichean ionadail leantainn air daoine eile air frithealaichean cèine a làimh." + description_html: "’S e frithealaiche eadar-mheadhanach a th’ ann an ath-sheachadan co-nasgaidh a nì iomlaid air grunnan mòra de phostaichean poblach eadar na frithealaichean a dh’fho-sgrìobhas ’s a dh’fhoillsicheas dha. ’S urrainn dha cuideachadh a thoirt do dh’fhrithealaichean beaga is meadhanach mòr ach an rùraich iad susbaint sa cho-shaoghal agus às an aonais, bhiodh aig cleachdaichean ionadail daoine eile a leantainn air frithealaichean cèine a làimh." disable: Cuir à comas disabled: Chaidh a chur à comas enable: Cuir an comas @@ -578,7 +578,7 @@ gd: mark_as_sensitive_description_html: Thèid comharra an fhrionasachd a chur ris na meadhanan sna postaichean le gearan orra agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. other_description_html: Seall barrachd roghainnean airson giùlan a’ chunntais a stiùireadh agus an conaltradh leis a’ chunntas a chaidh gearan a dhèanamh mu dhèidhinn a ghnàthachadh. resolve_description_html: Cha dèid gnìomh sam bith a ghabhail an aghaidh a’ chunntais le gearan air agus thèid an gearan a dhùnadh gun rabhadh a chlàradh. - silence_description_html: Chan fhaic ach an fheadhainn a tha a’ leantainn oirre mu thràth no a lorgas a làimh i a’ phròifil seo agus cuingichidh seo uiread nan daoine a ruigeas i gu mòr. Gabhaidh seo a neo-dhèanamh uair sam bith. + silence_description_html: Chan fhaic ach an fheadhainn a tha ’ga leantainn mu thràth no a lorgas a làimh i a’ phròifil seo agus cuingichidh seo uiread nan daoine a ruigeas i gu mòr. Gabhaidh seo a neo-dhèanamh uair sam bith. suspend_description_html: Cha ghabh a’ phròifil seo agus an t-susbaint gu leòr aice inntrigeadh gus an dèid a sguabadh às air deireadh na sgeòil. Cha ghabh eadar-ghabhail a dhèanamh leis a’ chunntas. Gabhaidh seo a neo-dhèanamh am broinn 30 latha. actions_description_html: Socraich dè a nì thu airson an gearan seo fhuasgladh. Ma chuireas tu peanas air a’ chunntas le gearan air, gheibh iad brath air a’ phost-d mura tagh thu an roinn-seòrsa Spama. add_to_report: Cuir barrachd ris a’ ghearan @@ -819,7 +819,7 @@ gd: statuses: allow: Ceadaich am post allow_account: Ceadaich an t-ùghdar - description_html: Seo na postaichean air a bheil am frithealaiche agad eòlach ’s a tha ’gan co-roinneadh is ’nan annsachd gu tric aig an àm seo. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh ùr no a thill ach an lorg iad daoine airson leantainn orra. Cha dèid postaichean a shealltainn gu poblach gus an gabh thu ris an ùghdar agus gus an aontaich an t-ùghdar gun dèid an cunntas aca a mholadh do dhaoine eile. ’S urrainn dhut postaichean àraidh a cheadachadh no a dhiùltadh cuideachd. + description_html: Seo na postaichean air a bheil am frithealaiche agad eòlach ’s a tha ’gan co-roinneadh is ’nan annsachd gu tric aig an àm seo. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh ùr no a thill ach an lorg iad daoine airson an leantainn. Cha dèid postaichean a shealltainn gu poblach gus an gabh thu ris an ùghdar agus gus an aontaich an t-ùghdar gun dèid an cunntas aca a mholadh do dhaoine eile. ’S urrainn dhut postaichean àraidh a cheadachadh no a dhiùltadh cuideachd. disallow: Na ceadaich am post disallow_account: Na ceadaich an t-ùghdar no_status_selected: Cha deach post a’ treandadh sam bith atharrachadh o nach deach gin dhiubh a thaghadh @@ -957,7 +957,7 @@ gd: description: prefix_invited_by_user: Thug @%{name} cuireadh dhut ach am faigh thu ballrachd air an fhrithealaiche seo de Mhastodon! prefix_sign_up: Clàraich le Mastodon an-diugh! - suffix: Le cunntas, ’s urrainn dhut leantainn air daoine, naidheachdan a phostadh agus conaltradh leis an luchd-chleachdaidh air frithealaiche Mastodon sam bith is a bharrachd! + suffix: Le cunntas, ’s urrainn dhut daoine a leantainn, naidheachdan a phostadh agus conaltradh leis an luchd-chleachdaidh air frithealaiche Mastodon sam bith is a bharrachd! didnt_get_confirmation: Nach d’fhuair thu an stiùireadh mun dearbhadh? dont_have_your_security_key: Nach eil iuchair tèarainteachd agad? forgot_password: Na dhìochuimhnich thu am facal-faire agad? @@ -988,7 +988,7 @@ gd: email_settings_hint_html: Chaidh am post-d dearbhaidh a chur gu %{email}. Mur eil an seòladh puist-d seo mar bu chòir, ’s urrainn dhut atharrachadh ann an roghainnean a’ chunntais. title: Suidheachadh sign_up: - preamble: Le cunntas air an fhrithealaiche Mastodon seo, ’s urrainn dhut leantainn air neach sam bith air an lìonra, ge b’ e càit a bheil an cunntas aca-san ’ga òstadh. + preamble: Le cunntas air an fhrithealaiche Mastodon seo, ’s urrainn dhut neach sam bith a leantainn air an lìonra, ge b’ e càit a bheil an cunntas aca-san ’ga òstadh. title: Suidhicheamaid %{domain} dhut. status: account_status: Staid a’ chunntais @@ -1000,17 +1000,17 @@ gd: too_fast: Chaidh am foirm a chur a-null ro luath, feuch ris a-rithist. use_security_key: Cleachd iuchair tèarainteachd authorize_follow: - already_following: Tha thu a’ leantainn air a’ chunntas seo mu thràth + already_following: Tha thu a’ leantainn a’ chunntais seo mu thràth already_requested: Chuir thu iarrtas leantainn dhan chunntas seo mu thràth error: Gu mì-fhortanach, thachair mearachd le lorg a’ chunntais chèin - follow: Lean air + follow: Lean follow_request: 'Chuir thu iarrtas leantainn gu:' - following: 'Taghta! Chaidh leat a’ leantainn air:' + following: 'Taghta! Chaidh leat a’ leantainn:' post_follow: close: Air neo dùin an uinneag seo. return: Seall pròifil a’ chleachdaiche web: Tadhail air an duilleag-lìn - title: Lean air %{acct} + title: Lean %{acct} challenge: confirm: Lean air adhart hint_html: "Gliocas: Chan iarr sinn am facal-faire agad ort a-rithist fad uair a thìde." @@ -1215,13 +1215,13 @@ gd: merge_long: Cùm na reacordan a tha ann is cuir feadhainn ùr ris overwrite: Sgrìobh thairis air overwrite_long: Cuir na reacordan ùra an àite na feadhna a tha ann - preface: "’S urrainn dhut dàta ion-phortadh a dh’às-phortaich thu o fhrithealaiche eile, can liosta nan daoine air a leanas tu no a tha thu a’ bacadh." + preface: "’S urrainn dhut dàta ion-phortadh a dh’às-phortaich thu o fhrithealaiche eile, can liosta nan daoine a leanas tu no a tha thu a’ bacadh." success: Chaidh an dàta agad a luchdadh suas is thèid a phròiseasadh a-nis types: blocking: Liosta-bhacaidh bookmarks: Comharran-lìn domain_blocking: Liosta-bhacaidh àrainnean - following: Liosta dhen fheadhainn air a leanas tu + following: Liosta dhen fheadhainn a leanas tu muting: Liosta a’ mhùchaidh upload: Luchdaich suas invites: @@ -1317,12 +1317,12 @@ gd: subject: Is annsa le %{name} am post agad title: Annsachd ùr follow: - body: Tha %{name} a’ leantainn ort a-nis! - subject: Tha %{name} a’ leantainn ort a-nis + body: Tha %{name} ’gad leantainn a-nis! + subject: Tha %{name} ’gad leantainn a-nis title: Neach-leantainn ùr follow_request: action: Stiùirich na h-iarrtasan leantainn - body: Dh’iarr %{name} leantainn ort + body: Dh’iarr %{name} leantainn subject: 'Neach-leantainn ri dhèiligeadh: %{name}' title: Iarrtas leantainn ùr mention: @@ -1392,7 +1392,7 @@ gd: relationships: activity: Gnìomhachd a’ chunntais dormant: Na thàmh - follow_selected_followers: Lean air an luchd-leantainn a thagh thu + follow_selected_followers: Lean an luchd-leantainn a thagh thu followers: Luchd-leantainn following: A’ leantainn invited: Air cuireadh fhaighinn @@ -1404,7 +1404,7 @@ gd: relationship: Dàimh remove_selected_domains: Thoir air falbh a h-uile neach-leantainn o na h-àrainnean a thagh thu remove_selected_followers: Thoir air falbh a h-uile neach-leantainn a thagh thu - remove_selected_follows: Na lean air na cleachdaichean a thagh thu tuilleadh + remove_selected_follows: Na lean na cleachdaichean a thagh thu tuilleadh status: Staid a’ chunntais remote_follow: missing_resource: Cha do lorg sinn URL ath-stiùiridh riatanach a’ chunntais agad @@ -1542,7 +1542,7 @@ gd: visibilities: direct: Dìreach private: Luchd-leantainn a-mhàin - private_long: Na seall dhan luchd-leantainn + private_long: Na seall ach dhan luchd-leantainn public: Poblach public_long: Chì a h-uile duine seo unlisted: Falaichte o liostaichean @@ -1647,7 +1647,7 @@ gd: disable: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh ach mairidh a’ phròifil ’s an dàta eile agad. Faodaidh tu lethbhreac-glèidhidh dhen dàta agad iarraidh, roghainnean a’ chunntais atharrachadh no an cunntas agad a sguabadh às. mark_statuses_as_sensitive: Chuir maoir %{instance} comharra na frionasachd ri cuid dhe na postaichean agad. Is ciall dha seo gum feumar gnogag a thoirt air na meadhanan sna postaichean mus faicear ro-shealladh. ’S urrainn dhut fhèin comharra a chur gu bheil meadhan frionasach nuair a sgrìobhas tu post san à ri teachd. sensitive: O seo a-mach, thèid comharra na frionasachd a chur ri faidhle meadhain sam bith a luchdaicheas tu suas agus thèid am falach air cùlaibh rabhaidh a ghabhas briogadh air. - silence: "’S urrainn dhut an cunntas agad a chleachdadh fhathast ach chan fhaic ach na daoine a tha a’ leantainn ort mu thràth na postaichean agad air an fhrithealaiche seo agus dh’fhaoidte gun dèid d’ às-dhùnadh o iomadh gleus rùrachaidh. Gidheadh, faodaidh càch leantainn ort a làimh fhathast." + silence: "’S urrainn dhut an cunntas agad a chleachdadh fhathast ach chan fhaic ach na daoine a tha ’gad leantainn mu thràth na postaichean agad air an fhrithealaiche seo agus dh’fhaoidte gun dèid d’ às-dhùnadh o iomadh gleus rùrachaidh. Gidheadh, faodaidh càch ’gad leantainn a làimh fhathast." suspend: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh agus chan fhaigh thu grèim air a’ phròifil no air an dàta eile agad. ’S urrainn dhut clàradh a-steach fhathast airson lethbhreac-glèidhidh dhen dàta agad iarraidh mur dèid an dàta a thoirt air falbh an ceann 30 latha gu slàn ach cumaidh sinn cuid dhen dàta bhunasach ach nach seachain thu an cur à rèim. reason: 'Adhbhar:' statuses: 'Iomradh air postaichean:' @@ -1669,16 +1669,16 @@ gd: suspend: Cunntas à rèim welcome: edit_profile_action: Suidhich a’ phròifil agad - edit_profile_step: "’S urrainn dhut a’ phròifil agad a ghnàthachadh is tu a’ luchdadh suas dealbh pròifil, ag atharrachadh d’ ainm-taisbeanaidh is a bharrachd. ’S urrainn dhut lèirmheas a dhèanamh air daoine mus fhaod iad leantainn ort ma thogras tu." + edit_profile_step: "’S urrainn dhut a’ phròifil agad a ghnàthachadh is tu a’ luchdadh suas dealbh pròifil, ag atharrachadh d’ ainm-taisbeanaidh is a bharrachd. ’S urrainn dhut lèirmheas a dhèanamh air daoine mus fhaod iad ’gad leantainn ma thogras tu." explanation: Seo gliocas no dhà gus tòiseachadh final_action: Tòisich air postadh - final_step: 'Tòisich air postadh! Fiù ’s mur eil duine sam bith a’ leantainn ort, chì cuid mhath na postaichean poblach agad, can air an loidhne-ama ionadail no le tagaichean hais. Saoil an innis thu beagan mu d’ dhèidhinn air an taga hais #fàilte?' + final_step: 'Tòisich air postadh! Fiù ’s mur eil duine sam bith ’gad leantainn, chì cuid mhath na postaichean poblach agad, can air an loidhne-ama ionadail no le tagaichean hais. Saoil an innis thu beagan mu d’ dhèidhinn air an taga hais #fàilte?' full_handle: D’ ainm-cleachdaiche slàn - full_handle_hint: Seo na bheir thu dha na caraidean agad ach an urrainn dhaibh teachdaireachd a chur thugad no leantainn ort o fhrithealaiche eile. + full_handle_hint: Seo na bheir thu dha na caraidean agad ach an urrainn dhaibh teachdaireachd a chur thugad no ’gad leantainn o fhrithealaiche eile. subject: Fàilte gu Mastodon title: Fàilte air bòrd, %{name}! users: - follow_limit_reached: Chan urrainn dhut leantainn air còrr is %{limit} daoine + follow_limit_reached: Chan urrainn dhut còrr is %{limit} daoine a leantainn invalid_otp_token: Còd dà-cheumnach mì-dhligheach otp_lost_help_html: Ma chaill thu an t-inntrigeadh dhan dà chuid diubh, ’s urrainn dhut fios a chur gu %{email} seamless_external_login: Rinn thu clàradh a-steach le seirbheis on taobh a-muigh, mar sin chan eil roghainnean an fhacail-fhaire ’s a’ phuist-d ri làimh dhut. diff --git a/config/locales/he.yml b/config/locales/he.yml index 46fd07d3085..6c53ff25381 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -5,6 +5,7 @@ he: contact_missing: ללא הגדרה contact_unavailable: לא רלוונטי/חסר hosted_on: מסטודון שיושב בכתובת %{domain} + title: אודות accounts: follow: לעקוב followers: @@ -20,11 +21,11 @@ he: pin_errors: following: עליך לעקוב אחרי חשבון לפני שניתן יהיה להמליץ עליו posts: - many: פוסטים - one: פוסט - other: פוסטים - two: פוסטים - posts_tab_heading: חצרוצים + many: הודעות + one: הודעה + other: הודעות + two: הודעותיים + posts_tab_heading: הודעות admin: account_actions: action: בצע/י פעולה @@ -179,6 +180,7 @@ he: confirm_user: אשר משתמש create_account_warning: יצירת אזהרה create_announcement: יצירת הכרזה + create_canonical_email_block: יצירת חסימת דואל create_custom_emoji: יצירת אמוג'י מיוחד create_domain_allow: יצירת דומיין מותר create_domain_block: יצירת דומיין חסום @@ -188,13 +190,14 @@ he: create_user_role: יצירת תפקיד demote_user: הורדת משתמש בדרגה destroy_announcement: מחיקת הכרזה + destroy_canonical_email_block: מחיקת חסימת דואל destroy_custom_emoji: מחיקת אמוג'י יחודי destroy_domain_allow: מחיקת דומיין מותר destroy_domain_block: מחיקת דומיין חסום destroy_email_domain_block: מחיקת חסימת דומיין דוא"ל destroy_instance: טיהור דומיין destroy_ip_block: מחיקת כלל IP - destroy_status: מחיקת פוסט + destroy_status: מחיקת הודעה destroy_unavailable_domain: מחיקת דומיין בלתי זמין destroy_user_role: מחיקת תפקיד disable_2fa_user: השעיית זיהוי דו-גורמי @@ -210,6 +213,7 @@ he: reject_user: דחיית משתמש remove_avatar_user: הסרת תמונת פרופיל reopen_report: פתיחת דו"ח מחדש + resend_user: שליחת דואל אישור שוב reset_password_user: איפוס סיסמה resolve_report: פתירת דו"ח sensitive_account: חשבון רגיש לכח @@ -223,6 +227,7 @@ he: update_announcement: עדכון הכרזה update_custom_emoji: עדכון סמלון מותאם אישית update_domain_block: עדכון חסימת שם מתחם + update_ip_block: עדכון כלל IP update_status: סטטוס עדכון update_user_role: עדכון תפקיד actions: @@ -234,6 +239,7 @@ he: confirm_user_html: '%{name} אישר/ה את כותבת הדו"אל של המשתמש %{target}' create_account_warning_html: "%{name} שלח/ה אזהרה ל %{target}" create_announcement_html: "%{name} יצר/ה הכרזה חדשה %{target}" + create_canonical_email_block_html: "%{name} חסם/ה את הדואל %{target}" create_custom_emoji_html: "%{name} העלו אמוג'י חדש %{target}" create_domain_allow_html: "%{name} אישר/ה פדרציה עם הדומיין %{target}" create_domain_block_html: "%{name} חסם/ה את הדומיין %{target}" @@ -243,13 +249,14 @@ he: create_user_role_html: "%{name} יצר את התפקיד של %{target}" demote_user_html: "%{name} הוריד/ה בדרגה את המשתמש %{target}" destroy_announcement_html: "%{name} מחק/ה את ההכרזה %{target}" + destroy_canonical_email_block_html: "%{name} הסיר/ה חסימה מדואל %{target}" destroy_custom_emoji_html: "%{name} מחק אמוג'י של %{target}" destroy_domain_allow_html: "%{name} לא התיר/ה פדרציה עם הדומיין %{target}" destroy_domain_block_html: "%{name} הסיר/ה חסימה מהדומיין %{target}" destroy_email_domain_block_html: '%{name} הסיר/ה חסימה מדומיין הדוא"ל %{target}' destroy_instance_html: "%{name} טיהר/ה את הדומיין %{target}" destroy_ip_block_html: "%{name} מחק/ה את הכלל עבור IP %{target}" - destroy_status_html: "%{name} הסיר/ה פוסט מאת %{target}" + destroy_status_html: ההודעה של %{target} הוסרה ע"י %{name} destroy_unavailable_domain_html: "%{name} התחיל/ה מחדש משלוח לדומיין %{target}" destroy_user_role_html: "%{name} ביטל את התפקיד של %{target}" disable_2fa_user_html: "%{name} ביטל/ה את הדרישה לאימות דו-גורמי למשתמש %{target}" @@ -265,6 +272,7 @@ he: reject_user_html: "%{name} דחו הרשמה מ-%{target}" remove_avatar_user_html: "%{name} הסירו את תמונת הפרופיל של %{target}" reopen_report_html: '%{name} פתח מחדש דו"ח %{target}' + resend_user_html: "%{name} הפעיל.ה שליחה מחדש של דואל אימות עבור %{target}" reset_password_user_html: הסיסמה עבור המשתמש %{target} התאפסה על־ידי %{name} resolve_report_html: '%{name} פתר/ה דו"ח %{target}' sensitive_account_html: "%{name} סימן/ה את המדיה של %{target} כרגיש" @@ -278,8 +286,10 @@ he: update_announcement_html: "%{name} עדכן/ה הכרזה %{target}" update_custom_emoji_html: "%{name} עדכן/ה אמוג'י %{target}" update_domain_block_html: "%{name} עדכן/ה חסימת דומיין עבור %{target}" - update_status_html: "%{name} עדכן/ה פוסט של %{target}" + update_ip_block_html: "%{name} שינה כלל עבור IP %{target}" + update_status_html: "%{name} עדכן/ה הודעה של %{target}" update_user_role_html: "%{name} שינה את התפקיד של %{target}" + deleted_account: חשבון מחוק empty: לא נמצאו יומנים. filter_by_action: סינון לפי פעולה filter_by_user: סינון לפי משתמש @@ -323,6 +333,7 @@ he: listed: ברשימה new: title: הוספת אמוג'י מיוחד חדש + no_emoji_selected: לא בוצעו שינויים ברגשונים שכן לא נבחרו כאלו not_permitted: אין לך הרשאות לביצוע פעולה זו overwrite: לדרוס shortcode: קוד קצר @@ -351,10 +362,10 @@ he: other: "%{count} דוחות ממתינים" two: "%{count} דוחות ממתינים" pending_tags_html: - many: "%{count} האשתגיות ממתינות" - one: "%{count} האשתג ממתין" - other: "%{count} האשתגיות ממתינות" - two: "%{count} האשתגיות ממתינות" + many: "%{count} תגיות ממתינות" + one: תגית %{count} ממתינה + other: "%{count} תגיות ממתינות" + two: "%{count} תגיות ממתינות" pending_users_html: many: "%{count} משתמשים ממתינים" one: "%{count} משתמש/ת ממתינ/ה" @@ -475,7 +486,7 @@ he: instance_languages_dimension: שפות מובילות instance_media_attachments_measure: קבצי מדיה מאופסנים instance_reports_measure: דו"חות אודותיהם - instance_statuses_measure: חצרוצים מאופסנים + instance_statuses_measure: הודעות מאופסנות delivery: all: הכל clear: ניקוי שגיאות משלוח @@ -536,11 +547,11 @@ he: relays: add_new: הוספת ממסר חדש delete: מחיקה - description_html: "ממסר פדרטיבי הוא שרת מתווך שמחליף כמויות גדולות של חצרוצים פומביים בין שרתים שרשומים ומפרסמים אליו. הוא יכול לעזור לשרתים קטנים ובינוניים לגלות תוכן מהפדרציה, מה שאחרת היה דורש ממשתמשים מקומיים לעקוב ידנית אחרי אנשים בשרתים מרוחקים." + description_html: "ממסר פדרטיבי הוא שרת מתווך שמחליף כמויות גדולות של הודעות פומביות בין שרתים שרשומים ומפרסמים אליו. הוא יכול לעזור לשרתים קטנים ובינוניים לגלות תוכן מהפדרציה, מה שאחרת היה דורש ממשתמשים מקומיים לעקוב ידנית אחרי אנשים בשרתים מרוחקים." disable: השבתה disabled: מושבת enable: לאפשר - enable_hint: מרגע שאופשר, השרת שלך יירשם לכל החצרוצים הפומביים מהממסר הזה, ויתחיל לשלוח את חצרוציו הפומביים לממסר. + enable_hint: מרגע שאופשר, השרת שלך יירשם לכל ההודעות הפומביות מהממסר הזה, ויתחיל לשלוח את הודעותיו הפומביות לממסר. enabled: מאופשר inbox_url: קישורית ממסר pending: ממתין לאישור הממסר @@ -563,8 +574,8 @@ he: action_log: ביקורת יומן action_taken_by: פעולה בוצעה ע"י actions: - delete_description_html: הפוסטים המדווחים יימחקו ותרשם עבירה על מנת להקל בהעלאה של דיווחים עתידיים על אותה חשבון. - mark_as_sensitive_description_html: המדיה בחצרוצים מדווחים תסומן כרגישה ועבירה תרשם כדי לעזור לך להסלים באינטראקציות עתידיות עם אותו החשבון. + delete_description_html: ההודעות המדווחות יימחקו ותרשם עבירה על מנת להקל בהעלאה של דיווחים עתידיים על אותו החשבון. + mark_as_sensitive_description_html: המדיה בהודעות מדווחות תסומן כרגישה ועבירה תרשם כדי לעזור לך להסלים באינטראקציות עתידיות עם אותו החשבון. other_description_html: ראו אפשרויות נוספות לשליטה בהתנהגות החשבון וכדי לבצע התאמות בתקשורת עם החשבון המדווח. resolve_description_html: אף פעולה לא תבוצע נגד החשבון עליו דווח, לא תירשם עבירה, והדיווח ייסגר. silence_description_html: הפרופיל יהיה גלוי אך ורק לאלה שכבר עוקבים אחריו או לאלה שיחפשו אותו ידנית, מה שיגביל מאד את תפוצתו. ניתן תמיד להחזיר את המצב לקדמותו. @@ -581,7 +592,7 @@ he: none: ללא comment_description_html: 'על מנת לספק עוד מידע, %{name} כתב\ה:' created_at: מדווח - delete_and_resolve: מחיקת חצרוצים + delete_and_resolve: מחיקת הודעות forwarded: קודם forwarded_to: קודם ל-%{domain} mark_as_resolved: סימון כפתור @@ -687,35 +698,73 @@ he: empty: שום כללי שרת לא הוגדרו עדיין. title: כללי שרת settings: + about: + manage_rules: ניהול כללי שרת + preamble: תיאור מעמיק על דרכי ניהול השרת, ניהול הדיונים, ומקורות המימון שלו. + rules_hint: קיים מקום ייעודי לחוקים שעל המשתמשים שלך לדבוק בהם. + title: אודות + appearance: + preamble: התאמה מיוחדת של מנשק המשתמש של מסטודון. + title: מראה + branding: + preamble: המיתוג של השרת שלך מבדל אותו משרתים אחרים ברשת. המידע יכול להיות מוצג בסביבות שונות כגון מנשק הווב של מסטודון, יישומים מרומיים, בצפיה מקדימה של קישור או בתוך יישומוני הודעות וכולי. מסיבה זו מומלץ לשמור על המידע ברור, קצר וממצה. + title: מיתוג + content_retention: + preamble: שליטה על דרך אחסון תוכן המשתמשים במסטודון. + title: תקופת השמירה של תכנים + discovery: + follow_recommendations: המלצות מעקב + preamble: הצפה של תוכן מעניין בקבלת פני משתמשות חדשות שאולי אינן מכירות עדיין א.נשים במסטודון. ניתן לשלוט איך אפשרויות גילוי שונות עובדות על השרת שלך. + profile_directory: מדריך פרופילים + public_timelines: פידים פומביים + title: איתור + trends: נושאים חמים domain_blocks: all: לכולם disabled: לאף אחד users: למשתמשים מקומיים מחוברים + registrations: + preamble: שליטה בהרשאות יצירת חשבון בשרת שלך. + title: הרשמות registrations_mode: modes: approved: נדרש אישור הרשמה none: אף אחד לא יכול להרשם open: כל אחד יכול להרשם + title: הגדרות שרת site_uploads: delete: מחיקת קובץ שהועלה destroyed_msg: העלאת אתר נמחקה בהצלחה! statuses: + account: מחבר + application: יישום back_to_account: חזרה לדף החשבון back_to_report: חזרה לעמוד הדיווח batch: remove_from_report: הסרה מהדיווח report: דווח deleted: מחוקים + favourites: חיבובים + history: היסטורית גרסאות + in_reply_to: השיבו ל־ + language: שפה media: title: מדיה - no_status_selected: לא בוצעו שינויים בחצרוצים שכן לא נבחרו חצרוצים - title: חצרוצי חשבון + metadata: נתוני-מטא + no_status_selected: לא בוצעו שינויים בהודעות שכן לא נבחרו כאלו + open: פתח הודעה + original_status: הודעה מקורית + reblogs: שיתופים + status_changed: הודעה שונתה + title: הודעות החשבון + trending: נושאים חמים + visibility: נראות with_media: עם מדיה strikes: actions: - delete_statuses: "%{name} מחק/ה את חצרוציו של %{target}" + delete_statuses: "%{name} מחק/ה את הודעותיו של %{target}" disable: "%{name} הקפיא/ה את חשבונו של %{target}" - mark_statuses_as_sensitive: "%{name} סימנה את חצרוציו של %{target} כרגישים" + mark_statuses_as_sensitive: "%{name} סימנ/ה את הודעותיו של %{target} כרגישים" none: "%{name} שלח/ה אזהרה ל-%{target}" sensitive: "%{name} סימן/ה את חשבונו של %{target} כרגיש" silence: "%{name} הגביל/ה את חשבונו/ה של %{target}" @@ -737,7 +786,7 @@ he: message_html: שום הליכי Sidekiq לא רצים עבור %{value} תור(ות). בחנו בבקשה את הגדרות Sidekiq tags: review: סקירת מצב - updated_msg: הגדרות האשתג עודכנו בהצלחה + updated_msg: הגדרות תגיות עודכנו בהצלחה title: ניהול trends: allow: לאפשר @@ -746,9 +795,12 @@ he: links: allow: אישור קישורית allow_provider: אישור מפרסם - description_html: בקישוריות אלה נעשה כרגע שימוש על ידי חשבונות רבים שהשרת שלך רואה חצרוצים מהם. זה עשוי לסייע למשתמשיך לברר מה קורה בעולם. שום קישוריות לא יוצגו עד שתאשרו את המפרסם. ניתן גם לאפשר או לדחות קישוריות ספציפיות. + description_html: בקישוריות אלה נעשה כרגע שימוש על ידי חשבונות רבים שהשרת שלך רואה הודעות מהם. זה עשוי לסייע למשתמשיך לברר מה קורה בעולם. שום קישוריות לא יוצגו עד שתאשרו את המפרסם. ניתן גם לאפשר או לדחות קישוריות ספציפיות. disallow: לא לאשר קישורית disallow_provider: לא לאשר מפרסם + no_link_selected: לא בוצעו שינויים בקישורים שכן לא נבחרו כאלו + publishers: + no_publisher_selected: לא בוצעו שינויים במפרסמים שכן לא נבחרו כאלו shared_by_over_week: many: הופץ על ידי %{count} אנשים בשבוע האחרון one: הופץ על ידי אדם אחד בשבוע האחרון @@ -765,18 +817,19 @@ he: title: מפרסמים rejected: דחוי statuses: - allow: הרשאת פוסט + allow: הרשאת הודעה allow_account: הרשאת מחבר/ת - description_html: אלו הם חצרוצים שהשרת שלך מכיר וזוכים להדהודים וחיבובים רבים כרגע. זה עשוי למשתמשיך החדשים והחוזרים למצוא עוד נעקבים. החצרוצים לא מוצגים עד שיאושר המחבר/ת, והמחבר/ת יאשרו שחשבונים יומלץ לאחרים. ניתן לאשר או לדחות חצרוצים ספציפיים. - disallow: לדחות פוסט + description_html: אלו הן הודעות שהשרת שלך מכיר וזוכות להדהודים וחיבובים רבים כרגע. זה עשוי למשתמשיך החדשים והחוזרים למצוא עוד נעקבים. ההודעות לא מוצגות עד שיאושר המחבר/ת, והמחבר/ת יאשרו שחשבונים יומלץ לאחרים. ניתן לאשר או לדחות הודעות ספציפיות. + disallow: לדחות הודעה disallow_account: לא לאשר מחבר/ת + no_status_selected: לא בוצעו שינויים בהודעות חמות שכן לא נבחרו כאלו not_discoverable: המחבר/ת לא בחר/ה לאפשר את גילויים shared_by: many: הודהד וחובב %{friendly_count} פעמים one: הודהד או חובב פעם אחת other: הודהד וחובב %{friendly_count} פעמים two: הודהד וחובב %{friendly_count} פעמים - title: חצרוצים חמים + title: הודעות חמות tags: current_score: ציון נוכחי %{score} dashboard: @@ -785,13 +838,14 @@ he: tag_servers_dimension: שרתים מובילים tag_servers_measure: שרתים שונים tag_uses_measure: כלל השימושים - description_html: אלו הן האשתגיות שמופיעות הרבה כרגע בחצרוצים המגיעים לשרת. זה עשוי לעזור למשתמשיך למצוא על מה אנשים מרבים לדבר כרגע. שום האשתגיות לא יוצגו בפומבי עד שתאושרנה. + description_html: אלו הן התגיות שמופיעות הרבה כרגע בהודעות המגיעות לשרת. זה עשוי לעזור למשתמשיך למצוא על מה אנשים מרבים לדבר כרגע. שום תגיות לא יוצגו בפומבי עד שתאושרנה. listable: ניתנות להצעה + no_tag_selected: לא בוצעו שינויים בתגיות שכן לא נבחרו כאלו not_listable: לא תוצענה not_trendable: לא תופענה תחת נושאים חמים not_usable: לא שמישות peaked_on_and_decaying: הגיע לשיא ב-%{date}, ודועך עכשיו - title: האשתגיות חמות + title: תגיות חמות trendable: עשויה להופיע תחת נושאים חמים trending_rank: 'מדורגת #%{rank}' usable: ניתנת לשימוש @@ -812,6 +866,7 @@ he: webhooks: add_new: הוספת נקודת קצה delete: מחיקה + description_html: כלי webhook מאפשר למסטודון לשגר התראות זמן-אמת לגבי אירועים נבחרים ליישומון שלך כדי שהוא יוכל להגיב אוטומטית. disable: כיבוי disabled: כבוי edit: עריכת נקודת קצה @@ -833,9 +888,9 @@ he: admin_mailer: new_appeal: actions: - delete_statuses: כדי למחוק את חצרוציהם + delete_statuses: כדי למחוק את הודעותיהם disable: כדי להקפיא את חשבונם - mark_statuses_as_sensitive: כדי לסמן את חצרוציהם כרגישים + mark_statuses_as_sensitive: כדי לסמן את הודעותיהם כרגישות none: אזהרה sensitive: כדי לסמן את חשבונם כרגיש silence: כדי להגביל את חשבונם @@ -855,11 +910,11 @@ he: new_trending_links: title: נושאים חמים new_trending_statuses: - title: חצרוצים לוהטים + title: הודעות חמות new_trending_tags: - no_approved_tags: אין כרגע שום האשתגיות חמות מאושרות. - requirements: כל אחת מהמועמדות האלה עשויה לעבור את ההאשתגית החמה המאושרת מדרגה %{rank}, שהיא כרגע %{lowest_tag_name} עם ציון של %{lowest_tag_score}. - title: האשתגיות חמות + no_approved_tags: אין כרגע שום תגיות חמות מאושרות. + requirements: כל אחת מהמועמדות האלו עשויה לעבור את התגית החמה המאושרת מדרגה %{rank}, שהיא כרגע %{lowest_tag_name} עם ציון של %{lowest_tag_score}. + title: תגיות חמות subject: נושאים חמים חדשים מוכנים לסקירה ב-%{instance} aliases: add_new: יצירת שם נרדף @@ -870,7 +925,7 @@ he: remove: הסרת שם נרדף appearance: advanced_web_interface: ממשק ווב מתקדם - advanced_web_interface_hint: 'אם ברצונך לעשות שימוש במלוא רוחב המסך, ממשק הווב המתקדם מאפשר לך להגדיר עמודות רבות ושונות כדי לראות בו זמנית כמה מידע שתרצה/י: פיד הבית, התראות, פרהסיה ומספר כלשהו של רשימות והאשתגיות.' + advanced_web_interface_hint: 'אם ברצונך לעשות שימוש במלוא רוחב המסך, ממשק הווב המתקדם מאפשר לך להגדיר עמודות רבות ושונות כדי לראות בו זמנית כמה מידע שתרצה/י: פיד הבית, התראות, פרהסיה ומספר כלשהו של רשימות ותגיות.' animations_and_accessibility: הנפשות ונגישות confirmation_dialogs: חלונות אישור discovery: גילוי @@ -879,14 +934,14 @@ he: guide_link: https://crowdin.com/project/mastodon guide_link_text: כולם יכולים לתרום. sensitive_content: תוכן רגיש - toot_layout: פריסת פוסט + toot_layout: פריסת הודעה application_mailer: notification_preferences: שינוי העדפות דוא"ל salutation: "%{name}," settings: 'שינוי הגדרות דוא"ל: %{link}' view: 'תצוגה:' view_profile: צפיה בפרופיל - view_status: הצגת פוסט + view_status: הצגת הודעה applications: created: ישום נוצר בהצלחה destroyed: ישום נמחק בהצלחה @@ -895,6 +950,7 @@ he: warning: זהירות רבה נדרשת עם מידע זה. אין לחלוק אותו אף פעם עם אף אחד! your_token: אסימון הגישה שלך auth: + apply_for_account: להכנס לרשימת המתנה change_password: סיסמה delete_account: מחיקת חשבון delete_account_html: אם ברצונך למחוק את החשבון, ניתן להמשיך כאן. תתבקש/י לספק אישור נוסף. @@ -914,6 +970,7 @@ he: migrate_account: מעבר לחשבון אחר migrate_account_html: אם ברצונך להכווין את החשבון לעבר חשבון אחר, ניתן להגדיר זאת כאן. or_log_in_with: או התחבר באמצעות + privacy_policy_agreement_html: קארתי והסכמתי למדיניות הפרטיות providers: cas: CAS saml: SAML @@ -921,12 +978,18 @@ he: registration_closed: "%{instance} לא מקבל חברים חדשים" resend_confirmation: שלח הוראות אימות בשנית reset_password: איפוס סיסמה + rules: + preamble: אלו נקבעים ונאכפים ע"י המנחים של %{domain}. + title: כמה חוקים בסיסיים. security: אבטחה set_new_password: סיסמה חדשה setup: email_below_hint_html: אם כתובת הדוא"ל להלן לא נכונה, ניתן לשנותה כאן ולקבל דוא"ל אישור חדש. email_settings_hint_html: דוא"ל האישור נשלח ל-%{email}. אם כתובת הדוא"ל הזו לא נכונה, ניתן לשנותה בהגדרות החשבון. title: הגדרות + sign_up: + preamble: כיוון שמסטודון מבוזרת, תוכל/י להשתמש בחשבון שלך משרתי מסטודון או רשתות תואמות אחרות אם אין לך חשבון על שרת זה. + title: הבא נקים לך את השרת בכתובת %{domain}. status: account_status: מצב חשבון confirming: ממתין שדוא"ל האישור יושלם. @@ -984,7 +1047,7 @@ he: warning: before: 'לפני שנמשיך, נא לקרוא בזהירות את ההערות הבאות:' caches: מידע שהוטמן על ידי שרתים אחרים עשוי להתמיד - data_removal: חצרוציך וכל מידע אחר יוסרו לתמיד + data_removal: הודעותיך וכל מידע אחר יוסרו לתמיד email_change_html: ניתן לשנות את כתובת הדוא"ל שלך מבלי למחוק את החשבון email_contact_html: אם הוא עדיין לא הגיע, ניתן לקבל עזרה על ידי משלוח דואל ל-%{email} email_reconfirmation_html: אם לא מתקבל דוא"ל האישור, ניתן לבקש אותו שוב @@ -1008,13 +1071,13 @@ he: description_html: אלו הן הפעולות שננקטו כנגד חשבונך והאזהרות שנשלחו אליך על ידי צוות %{instance}. recipient: הנמען reject_appeal: דחיית ערעור - status: 'פוסט #%{id}' - status_removed: הפוסט כבר הוסר מהמערכת + status: 'הודעה #%{id}' + status_removed: ההודעה כבר הוסרה מהמערכת title: "%{action} מתאריך %{date}" title_actions: - delete_statuses: הסרת פוסט + delete_statuses: הסרת הודעה disable: הקפאת חשבון - mark_statuses_as_sensitive: סימון חצרוצים כרגישים + mark_statuses_as_sensitive: סימון הודעות כרגישות none: אזהרה sensitive: סימו חשבון כרגיש silence: הגבלת חשבון @@ -1046,7 +1109,7 @@ he: archive_takeout: date: תאריך download: הורדת הארכיון שלך - hint_html: ניתן לבקש ארכיון של חצרוציך וקבצי המדיה שלך. המידע המיוצא יהיה בפורמט אקטיביטיפאב, שיכול להיקרא על ידי כל תוכנה התומכת בו. ניתן לבקש ארכיון מדי 7 ימים. + hint_html: ניתן לבקש ארכיון של הודעותיך וקבצי המדיה שלך. המידע המיוצא יהיה בפורמט אקטיביטיפאב, שיכול להיקרא על ידי כל תוכנה התומכת בו. ניתן לבקש ארכיון מדי 7 ימים. in_progress: מייצר את הארכיון שלך... request: לבקש את הארכיון שלך size: גודל @@ -1060,8 +1123,8 @@ he: featured_tags: add_new: הוספת חדש errors: - limit: המספר המירבי של האשתגיות כבר מוצג - hint_html: "מהן האשתגיות נבחרות? הן מוצגות במובלט בפרופיל הפומבי שלך ומאפשר לאנשים לעיין בחצרוציך הפומביים המסמונים בהאשתגיות אלה. הן כלי אדיר למעקב אחר עבודות יצירה ופרוייקטים לטווח ארוך." + limit: המספר המירבי של התגיות כבר מוצג + hint_html: "מהן תגיות נבחרות? הן מוצגות במובלט בפרופיל הפומבי שלך ומאפשר לאנשים לעיין בהודעות הפומביות שלך המסומנות בתגיות אלה. הן כלי אדיר למעקב אחר עבודות יצירה ופרוייקטים לטווח ארוך." filters: contexts: account: פרופילים @@ -1072,7 +1135,8 @@ he: edit: add_keyword: הוספת מילת מפתח keywords: מילות מפתח - statuses: פוסטים יחידים + statuses: הודעות מסויימות + statuses_hint_html: הסנן פועל על בחירה ידנית של הודעות בין אם הן מתאימות למילות המפתח להלן ואם לאו. posts regardless of whether they match the keywords below. בחינה או הסרה של ההודעות מהסנן. title: ערוך מסנן errors: deprecated_api_multiple_keywords: לא ניתן לשנות פרמטרים אלו מהיישומון הזה בגלל שהם חלים על יותר ממילת מפתח אחת. ניתן להשתמש ביישומון מעודכן יותר או בממשק הוובי. @@ -1088,6 +1152,16 @@ he: one: מילת מפתח %{count} other: "%{count} מילות מפתח" two: "%{count} מילות מפתח" + statuses: + many: "%{count} הודעות" + one: הודעה %{count} + other: "%{count} הודעות" + two: "%{count} הודעותיים" + statuses_long: + many: "%{count} הודעות הוסתרו" + one: הודעה %{count} יחידה הוסתרה + other: "%{count} הודעות הוסתרו" + two: הודעותיים %{count} הוסתרו title: מסננים new: save: שמירת מסנן חדש @@ -1097,8 +1171,8 @@ he: batch: remove: הסרה מפילטר index: - hint: פילטר זה חל באופן של בחירת פוסטים בודדים ללא תלות בקריטריונים אחרים. תוכלו להוסיף עוד פוסטים לפילטר זה ממשק הווב. - title: פוסטים שסוננו + hint: סנן זה חל באופן של בחירת הודעות בודדות ללא תלות בקריטריונים אחרים. תוכלו להוסיף עוד הודעות לסנן זה ממנשק הווב. + title: הודעות שסוננו footer: trending_now: נושאים חמים generic: @@ -1175,7 +1249,7 @@ he: title: הסטוריית אימותים media_attachments: validations: - images_and_video: לא ניתן להוסיף וידאו לפוסט שכבר מכיל תמונות + images_and_video: לא ניתן להוסיף וידאו להודעה שכבר מכילה תמונות not_ready: לא ניתן להצמיד קבצים שהעלאתם לא הסתיימה. נסה/י שוב בעוד רגע! too_many: לא ניתן להוסיף יותר מארבעה קבצים migrations: @@ -1215,6 +1289,8 @@ he: carry_blocks_over_text: חשבון זה עבר מ-%{acct}, אותו חסמת בעבר. carry_mutes_over_text: חשבון זה עבר מ-%{acct}, אותו השתקת בעבר. copy_account_note_text: 'חשבון זה הועבר מ-%{acct}, הנה הערותיך הקודמות לגביהם:' + navigation: + toggle_menu: הצגת\הסתרת תפריט notification_mailer: admin: report: @@ -1222,8 +1298,8 @@ he: sign_up: subject: "%{name} נרשמו" favourite: - body: 'חצרוצך חובב על ידי %{name}:' - subject: חצרוצך חובב על ידי %{name} + body: 'הודעתך חובבה על ידי %{name}:' + subject: הודעתך חובבה על ידי %{name} title: חיבוב חדש follow: body: "%{name} עכשיו במעקב אחריך!" @@ -1242,13 +1318,13 @@ he: poll: subject: סקר מאת %{name} הסתיים reblog: - body: 'חצרוצך הודהד על ידי %{name}:' - subject: חצרוצך הודהד על ידי%{name} + body: 'הודעתך הודהדה על ידי %{name}:' + subject: הודעתך הודהדה על ידי%{name} title: הדהוד חדש status: - subject: "%{name} בדיוק חצרץ" + subject: "%{name} בדיוק פרסם" update: - subject: "%{name} ערכו פוסט" + subject: "%{name} ערכו הודעה" notifications: email_events: ארועים להתראות דוא"ל email_events_hint: 'בחר/י ארועים עבורים תרצה/י לקבל התראות:' @@ -1290,8 +1366,10 @@ he: too_many_options: לא יכול להכיל יותר מ-%{max} פריטים preferences: other: שונות - posting_defaults: ברירות מחדל לפוסטים + posting_defaults: ברירות מחדל להודעות public_timelines: פידים פומביים + privacy_policy: + title: מדיניות פרטיות reactions: errors: limit_reached: גבול מספר התגובות השונות הושג @@ -1321,11 +1399,11 @@ he: rss: content_warning: 'אזהרת תוכן:' descriptions: - account: פוסטים ציבוריים מחשבון @%{acct} - tag: 'פוסטים ציבוריים עם תיוג #%{hashtag}' + account: הודעות ציבוריות מחשבון @%{acct} + tag: 'הודעות ציבוריות עם תיוג #%{hashtag}' scheduled_statuses: - over_daily_limit: חרגת מהמספר המקסימלי של חצרוצים מתוזמנים להיום, שהוא %{limit} - over_total_limit: חרגת מהמספר המקסימלי של חצרוצים מתוזמנים, שהוא %{limit} + over_daily_limit: חרגת מהמספר המקסימלי של הודעות מתוזמנות להיום, שהוא %{limit} + over_total_limit: חרגת מהמספר המקסימלי של הודעות מתוזמנות, שהוא %{limit} too_soon: תאריך התזמון חייב להיות בעתיד sessions: activity: פעילות אחרונה @@ -1380,7 +1458,7 @@ he: development: פיתוח edit_profile: עריכת פרופיל export: יצוא מידע - featured_tags: האשתגיות נבחרות + featured_tags: תגיות נבחרות import: יבוא import_and_export: יבוא ויצוא migrate: הגירת חשבון @@ -1388,7 +1466,7 @@ he: preferences: העדפות profile: פרופיל relationships: נעקבים ועוקבים - statuses_cleanup: מחיקת חצרוצים אוטומטית + statuses_cleanup: מחיקת הודעות אוטומטית strikes: עבירות מנהלתיות two_factor_authentication: אימות דו-שלבי webauthn_authentication: מפתחות אבטחה @@ -1404,7 +1482,7 @@ he: many: "%{count} תמונות" one: תמונה %{count} other: "%{count} תמונות" - two: "%{count} תמונות" + two: "%{count} תמונותיים" video: many: "%{count} סרטונים" one: סרטון %{count} @@ -1414,19 +1492,19 @@ he: content_warning: 'אזהרת תוכן: %{warning}' default_language: זהה לשפת ממשק disallowed_hashtags: - many: 'מכיל את ההאשתגיות האסורות: %{tags}' - one: 'מכיל את ההאשתג האסור: %{tags}' - other: 'מכיל את ההאשתגיות האסורות: %{tags}' - two: 'מכיל את ההאשתגיות האסורות: %{tags}' + many: 'מכיל את התגיות האסורות: %{tags}' + one: 'מכיל את התגית האסורה: %{tags}' + other: 'מכיל את התגיות האסורות: %{tags}' + two: 'מכיל את התגיות האסורות: %{tags}' edited_at_html: נערך ב-%{date} errors: - in_reply_not_found: נראה שהפוסט שאת/ה מנסה להגיב לו לא קיים. + in_reply_not_found: נראה שההודעה שאת/ה מנסה להגיב לה לא קיימת. open_in_web: פתח ברשת over_character_limit: חריגה מגבול התווים של %{max} pin_errors: - direct: לא ניתן לקבע חצרוצים שנראותם מוגבלת למכותבים בלבד - limit: הגעת למספר החצרוצים המוצמדים המירבי. - ownership: חצרוצים של אחרים לא יכולים להיות מוצמדים + direct: לא ניתן לקבע הודעות שנראותן מוגבלת למכותבים בלבד + limit: הגעת למספר המירבי של ההודעות המוצמדות + ownership: הודעות של אחרים לא יכולות להיות מוצמדות reblog: אין אפשרות להצמיד הדהודים poll: total_people: @@ -1455,26 +1533,26 @@ he: unlisted: מוסתר unlisted_long: פומבי, אבל לא להצגה בפיד הציבורי statuses_cleanup: - enabled: מחק חצרוצים ישנים אוטומטית - enabled_hint: מוחק אוטומטית את חצרוציך לכשהגיעו לסף גיל שנקבע מראש, אלא אם הם תואמים את אחת ההחרגות למטה + enabled: מחק הודעות ישנות אוטומטית + enabled_hint: מוחק אוטומטית את הודעותיך לכשהגיעו לסף גיל שנקבע מראש, אלא אם הן תואמות את אחת ההחרגות למטה exceptions: החרגות - explanation: היות ומחיקת חצרוצים היא פעולה יקרה במשאבים, היא נעשית לאט לאורך זמן כאשר השרת לא עסוק במשימות אחרות. לכן, ייתכן שהחצרוצים שלך ימחקו מעט אחרי שיגיעו לסף הגיל שהוגדר. + explanation: היות ומחיקת הודעות היא פעולה יקרה במשאבים, היא נעשית לאט לאורך זמן כאשר השרת לא עסוק במשימות אחרות. לכן, ייתכן שההודעות שלך ימחקו מעט אחרי שיגיעו לסף הגיל שהוגדר. ignore_favs: התעלם ממחובבים ignore_reblogs: התעלם מהדהודים interaction_exceptions: החרגות מבוססות אינטראקציות - interaction_exceptions_explanation: שים.י לב שאין עֲרֻבָּה למחיקת חצרוצים אם הם יורדים מתחת לסף החיבובים או ההדהודים לאחר הסריקה הראשונית. + interaction_exceptions_explanation: שים.י לב שאין עֲרֻבָּה למחיקת הודעות אם הן יורדות מתחת לסף החיבובים או ההדהודים לאחר הסריקה הראשונית. keep_direct: שמירת הודעות ישירות keep_direct_hint: לא מוחק אך אחת מההודעות הישירות שלך - keep_media: שמור חצרוצים עם מדיה - keep_media_hint: לא מוחק את חצרוציך שמצורפים אליהם קבצי מדיה - keep_pinned: שמור חצרוצים מוצמדים - keep_pinned_hint: לא מוחק אף אחד מהחצרוצים המוצמדים שלך + keep_media: שמור הודעות עם מדיה + keep_media_hint: לא מוחק את הודעותיך שמצורפים אליהן קבצי מדיה + keep_pinned: שמור הודעות מוצמדות + keep_pinned_hint: לא מוחק אף אחד מההודעות המוצמדות שלך keep_polls: שמור סקרים keep_polls_hint: לא מוחר אף אחד מהסקרים שלך - keep_self_bookmark: שמור חצרוצים שסימנת - keep_self_bookmark_hint: לא מוחק חצרוצים שסימנת - keep_self_fav: שמור חצרומים שחיבבת - keep_self_fav_hint: לא מוחק חצרוצים שלך אם חיבבת אותם + keep_self_bookmark: שמור הודעות שסימנת + keep_self_bookmark_hint: לא מוחק הודעות שסימנת + keep_self_fav: שמור הודעות שחיבבת + keep_self_fav_hint: לא מוחק הודעות שלך אם חיבבת אותם min_age: '1209600': שבועיים '15778476': חצי שנה @@ -1485,12 +1563,12 @@ he: '63113904': שנתיים '7889238': 3 חודשים min_age_label: סף גיל - min_favs: השאר חצרוצים מחובבים לפחות - min_favs_hint: לא מוחק מי מחצרוציך שקיבלו לפחות את המספר הזה של חיבובים. להשאיר ריק כדי למחוק חצרוצים ללא קשר למספר החיבובים שקיבלו - min_reblogs: שמור חצרוצים מהודהדים לפחות - min_reblogs_hint: לא מוחק מי מחצרוציך שקיבלו לפחות את המספר הזה של הדהודים. להשאיר ריק כדי למחוק חצרוצים ללא קשר למספר ההדהודים שקיבלו + min_favs: השאר הודעות מחובבות לפחות + min_favs_hint: לא מוחק מי מהודעותיך שקיבלו לפחות את המספר הזה של חיבובים. להשאיר ריק כדי למחוק הודעות ללא קשר למספר החיבובים שקיבלו + min_reblogs: שמור הודעות מהודהדות לפחות + min_reblogs_hint: לא מוחק מי מהודעותיך שקיבלו לפחות את המספר הזה של הדהודים. להשאיר ריק כדי למחוק הודעות ללא קשר למספר ההדהודים שקיבלו stream_entries: - pinned: פוסט נעוץ + pinned: הודעה נעוצה reblogged: הודהד sensitive_content: תוכן רגיש strikes: @@ -1550,34 +1628,36 @@ he: spam: ספאם violation: התוכן מפר את כללי הקהילה הבאים explanation: - delete_statuses: כמה מחצרוציך מפרים אחד או יותר מכללי הקהילה וכתוצאה הוסרו על ידי מנחי הקהילה של %{instance}. + delete_statuses: כמה מהודעותיך מפרות אחד או יותר מכללי הקהילה וכתוצאה הוסרו על ידי מנחי הקהילה של %{instance}. disable: אינך יכול/ה יותר להשתמש בחשבונך, אבל הפרופיל ושאר המידע נשארו על עומדם. ניתן לבקש גיבוי של המידע, לשנות את הגדרות החשבון או למחוק אותו. - mark_statuses_as_sensitive: כמה מחצרוציך סומנו כרגישים על ידי מנחי הקהילה של %{instance}. זה אומר שאנשים יצטרכו להקיש על המדיה בחצרוצים לפני שתופיע תצוגה מקדימה. ניתן לסמן את המידע כרגיש בעצמך בחצרוציך העתידיים. + mark_statuses_as_sensitive: כמה מהודעותיך סומנו כרגישות על ידי מנחי הקהילה של %{instance}. זה אומר שאנשים יצטרכו להקיש על המדיה בהודעות לפני שתופיע תצוגה מקדימה. ניתן לסמן את המידע כרגיש בעצמך בהודעותיך העתידיות. sensitive: מעתה ואילך כל קבצי המדיה שיועלו על ידך יסומנו כרגישים ויוסתרו מאחורי אזהרה. - silence: ניתן עדיין להשתמש בחשבונך אבל רק אנשים שכבר עוקבים אחריך יראו את חצרוציך בשרת זה, וייתכן שתוחרג/י מאמצעי גילוי משתמשים. עם זאת, אחרים יוכלו עדיין לעקוב אחריך. + silence: ניתן עדיין להשתמש בחשבונך אבל רק אנשים שכבר עוקבים אחריך יראו את הודעותיך בשרת זה, וייתכן שתוחרג/י מאמצעי גילוי משתמשים. עם זאת, אחרים יוכלו עדיין לעקוב אחריך. suspend: לא ניתן יותר להשתמש בחשבונך, ופרופילך וכל מידע אחר לא נגישים יותר. ניתן עדיין להתחבר על מנת לבקש גיבוי של המידע שלך עד שיוסר סופית בעוד כ-30 יום, אבל מידע מסויים ישמר על מנת לוודא שלא תחמוק/י מההשעיה. reason: 'סיבה:' - statuses: 'חצרוצים מצוטטים:' + statuses: 'הודעות מצוטטות:' subject: - delete_statuses: הפוסטים שלכם ב%{acct} הוסרו + delete_statuses: ההודעות שלכם ב%{acct} הוסרו disable: חשבונך %{acct} הוקפא - mark_statuses_as_sensitive: חצרוציך ב-%{acct} סומנו כרגישים + mark_statuses_as_sensitive: הודעותיך ב-%{acct} סומנו כרגישות none: אזהרה עבור %{acct} - sensitive: חצרוציך ב-%{acct} יסומנו כרגישים מעתה ואילך + sensitive: הודעותיך ב-%{acct} יסומנו כרגישות מעתה ואילך silence: חשבונך %{acct} הוגבל suspend: חשבונך %{acct} הושעה title: - delete_statuses: פוסטים שהוסרו + delete_statuses: הודעות הוסרו disable: חשבון קפוא - mark_statuses_as_sensitive: חצרוצים סומנו כרגישים + mark_statuses_as_sensitive: הודעות סומנו כרגישות none: אזהרה sensitive: החשבון סומן כרגיש silence: חשבון מוגבל suspend: חשבון מושעה welcome: edit_profile_action: הגדרת פרופיל + edit_profile_step: תוכל.י להתאים אישית את הפרופיל באמצעות העלאת יצגן (אוואטר), כותרת, שינוי כינוי ועוד. אם תרצה.י לסקור את עוקביך/ייך החדשים לפני שתרשה.י להם לעקוב אחריך/ייך. explanation: הנה כמה טיפים לעזור לך להתחיל - final_action: התחל/ילי לחצרץ + final_action: התחל/ילי לפרסם הודעות + final_step: 'התחל/ילי לפרסם הודעות! אפילו ללא עוקבים ייתכן שההודעות הפומביות שלך יראו ע"י אחרים, למשל בציר הזמן המקומי או בתגיות הקבצה (האשתגים). כדאי להציג את עצמך תחת התגית #introductions או #היכרות.' full_handle: שם המשתמש המלא שלך full_handle_hint: זה מה שתאמר.י לחברייך כדי שיוכלו לשלוח לך הודעה או לעקוב אחרייך ממופע אחר. subject: ברוכים הבאים למסטודון diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 9de79cd4e69..e6ba07305cf 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1534,7 +1534,7 @@ ja: subject: アーカイブの準備ができました title: アーカイブの取り出し suspicious_sign_in: - change_password: パスワードを変更する + change_password: パスワードを変更 details: 'ログインの詳細は以下のとおりです:' explanation: 新しいIPアドレスからあなたのアカウントへのサインインが検出されました。 further_actions_html: あなたがログインしていない場合は、すぐに%{action}し、アカウントを安全に保つために二要素認証を有効にすることをお勧めします。 diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 2712fd48be7..ddebd9e5dc3 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -906,7 +906,7 @@ lv: hint_html: Ja vēlies pāriet no cita konta uz šo, šeit vari izveidot aizstājvārdu, kas ir nepieciešams, lai varētu turpināt sekotāju pārvietošanu no vecā konta uz šo. Šī darbība pati par sevi ir nekaitīga un atgriezeniska. Konta migrācija tiek sākta no vecā konta. remove: Atsaistīt aizstājvārdu appearance: - advanced_web_interface: Paplašinātais web interfeiss + advanced_web_interface: Paplašinātā tīmekļa saskarne advanced_web_interface_hint: 'Ja vēlies izmantot visu ekrāna platumu, uzlabotā tīmekļa saskarne ļauj konfigurēt daudzas dažādas kolonnas, lai vienlaikus redzētu tik daudz informācijas, cik vēlies: Sākums, paziņojumi, federētā ziņu lenta, neierobežots skaits sarakstu un tēmturu.' animations_and_accessibility: Animācijas un pieejamība confirmation_dialogs: Apstiprināšanas dialogi @@ -1095,12 +1095,12 @@ lv: in_progress: Notiek tava arhīva apkopošana... request: Pieprasi savu arhīvu size: Izmērs - blocks: Tu bloķē + blocks: Bloķētie konti bookmarks: Grāmatzīmes csv: CSV domain_blocks: Bloķētie domēni lists: Saraksti - mutes: Tu apklusini + mutes: Apklusinātie konti storage: Mediju krātuve featured_tags: add_new: Pievienot jaunu @@ -1186,7 +1186,7 @@ lv: errors: over_rows_processing_limit: satur vairāk, nekā %{count} rindas modes: - merge: Savienot + merge: Apvienot merge_long: Saglabāt esošos ierakstus un pievienot jaunus overwrite: Pārrakstīt overwrite_long: Nomainīt pašreizējos ierakstus ar jauniem @@ -1195,9 +1195,9 @@ lv: types: blocking: Bloķēšanas saraksts bookmarks: Grāmatzīmes - domain_blocking: Domēnu bloķēšanas saraksts - following: Šāds saraksts - muting: Izslēgšanas saraksts + domain_blocking: Bloķēto domēnu saraksts + following: Sekojamo lietotāju saraksts + muting: Apklusināto lietotāju saraksts upload: Augšupielādēt invites: delete: Deaktivizēt @@ -1454,7 +1454,7 @@ lv: notifications: Paziņojumi preferences: Iestatījumi profile: Profils - relationships: Man seko un sekotāji + relationships: Sekojamie un sekotāji statuses_cleanup: Automātiska ziņu dzēšana strikes: Moderācijas aizrādījumi two_factor_authentication: Divfaktoru Aut @@ -1476,7 +1476,7 @@ lv: zero: "%{count} video" boosted_from_html: Paaugstināja %{acct_link} content_warning: 'Satura brīdinājums: %{warning}' - default_language: Tāda, kā interfeisa valoda + default_language: Tāda, kā saskarnes valoda disallowed_hashtags: one: 'saturēja neatļautu tēmturi: %{tags}' other: 'saturēja neatļautus tēmturus: %{tags}' @@ -1641,7 +1641,7 @@ lv: explanation: Šeit ir daži padomi, kā sākt darbu final_action: Sāc publicēt final_step: 'Sāc publicēt! Pat bez sekotājiem tavas publiskās ziņas var redzēt citi, piemēram, vietējā ziņu lentā vai atsaucēs. Iespējams, tu vēlēsies iepazīstināt ar sevi, izmantojot tēmturi #introductions.' - full_handle: Tavs pilnais rokturis + full_handle: Tavs pilnais lietotājvārds full_handle_hint: Šis ir tas, ko tu pasaki saviem draugiem, lai viņi varētu tev ziņot vai sekot tev no cita servera. subject: Laipni lūgts Mastodon title: Laipni lūgts uz borta, %{name}! diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 59c530fb9f3..88b224c3e9b 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -35,7 +35,7 @@ nl: approve: Goedkeuren approved_msg: Het goedkeuren van het account van %{username} is geslaagd are_you_sure: Weet je het zeker? - avatar: Avatar + avatar: Profielfoto by_domain: Domein change_email: changed_msg: E-mailadres succesvol veranderd! @@ -116,9 +116,9 @@ nl: redownloaded_msg: Het herstellen van het oorspronkelijke profiel van %{username} is geslaagd reject: Afwijzen rejected_msg: Het afwijzen van het registratieverzoek van %{username} is geslaagd - remove_avatar: Avatar verwijderen + remove_avatar: Profielfoto verwijderen remove_header: Omslagfoto verwijderen - removed_avatar_msg: Het verwijderen van de avatar van %{username} is geslaagd + removed_avatar_msg: Het verwijderen van de profielfoto van %{username} is geslaagd removed_header_msg: Het verwijderen van de omslagfoto van %{username} is geslaagd resend_confirmation: already_confirmed: Deze gebruiker is al bevestigd @@ -205,7 +205,7 @@ nl: promote_user: Gebruiker promoveren reject_appeal: Bezwaar afwijzen reject_user: Gebruiker afwijzen - remove_avatar_user: Avatar verwijderen + remove_avatar_user: Profielfoto verwijderen reopen_report: Rapportage heropenen resend_user: Bevestigingsmail opnieuw verzenden reset_password_user: Wachtwoord opnieuw instellen @@ -264,7 +264,7 @@ nl: promote_user_html: Gebruiker %{target} is door %{name} gepromoveerd reject_appeal_html: "%{name} heeft het bezwaar tegen de moderatiemaatregel van %{target} afgewezen" reject_user_html: "%{name} heeft de registratie van %{target} afgewezen" - remove_avatar_user_html: "%{name} verwijderde de avatar van %{target}" + remove_avatar_user_html: "%{name} verwijderde de profielfoto van %{target}" reopen_report_html: "%{name} heeft rapportage %{target} heropend" resend_user_html: "%{name} heeft de bevestigingsmail voor %{target} opnieuw verzonden" reset_password_user_html: Wachtwoord van gebruiker %{target} is door %{name} opnieuw ingesteld @@ -686,6 +686,7 @@ nl: title: Bewaartermijn berichten discovery: follow_recommendations: Aanbevolen accounts + preamble: Het tonen van interessante inhoud is van essentieel belang voor het aan boord halen van nieuwe gebruikers, die mogelijk niemand van Mastodon kennen. Bepaal hoe verschillende functies voor het ontdekken van gebruikers op jouw server werken. profile_directory: Gebruikersgids public_timelines: Openbare tijdlijnen title: Ontdekken @@ -788,6 +789,7 @@ nl: statuses: allow: Bericht goedkeuren allow_account: Account goedkeuren + description_html: Dit zijn berichten die op jouw server bekend zijn en die momenteel veel worden gedeeld en als favoriet worden gemarkeerd. Hiermee kunnen nieuwe en terugkerende gebruikers meer mensen vinden om te volgen. Er worden geen berichten in het openbaar weergegeven totdat het account door jou is goedgekeurd en de gebruiker toestaat dat diens account aan anderen wordt aanbevolen. Je kunt ook individuele berichten goed- of afkeuren. disallow: Bericht afkeuren disallow_account: Account afkeuren no_status_selected: Er werden geen trending berichten gewijzigd, omdat er geen enkele werd geselecteerd @@ -804,6 +806,7 @@ nl: tag_servers_dimension: Populaire servers tag_servers_measure: verschillende servers tag_uses_measure: totaal aantal keer gebruikt + description_html: Deze hashtags verschijnen momenteel in veel berichten die op jouw server zichtbaar zijn. Hiermee kunnen jouw gebruikers zien waar mensen op dit moment het meest over praten. Er worden geen hashtags in het openbaar weergegeven totdat je ze goedkeurt. listable: Kan worden aanbevolen no_tag_selected: Er werden geen hashtags gewijzigd, omdat er geen enkele werd geselecteerd not_listable: Wordt niet aanbevolen @@ -829,6 +832,7 @@ nl: webhooks: add_new: Eindpunt toevoegen delete: Verwijderen + description_html: Met een webhook kan Mastodon meldingen in real-time over gekozen gebeurtenissen naar jouw eigen toepassing sturen, zodat je applicatie automatisch reacties kan genereren. disable: Uitschakelen disabled: Uitgeschakeld edit: Eindpunt bewerken @@ -873,6 +877,7 @@ nl: title: Trending berichten new_trending_tags: no_approved_tags: Op dit moment zijn er geen goedgekeurde hashtags. + requirements: 'Elk van deze kandidaten kan de #%{rank} goedgekeurde trending hashtag overtreffen, die momenteel #%{lowest_tag_name} is met een score van %{lowest_tag_score}.' title: Trending hashtags subject: Nieuwe trends te beoordelen op %{instance} aliases: @@ -1600,7 +1605,7 @@ nl: suspend: Account opgeschort welcome: edit_profile_action: Profiel instellen - edit_profile_step: Je kunt jouw profiel aanpassen door een profielafbeelding (avatar) te uploaden, jouw weergavenaam aan te passen en meer. Je kunt het handmatig goedkeuren van volgers instellen. + edit_profile_step: Je kunt jouw profiel aanpassen door een profielfoto te uploaden, jouw weergavenaam aan te passen en meer. Je kunt het handmatig goedkeuren van volgers instellen. explanation: Hier zijn enkele tips om je op weg te helpen final_action: Begin berichten te plaatsen final_step: 'Begin berichten te plaatsen! Zelfs zonder volgers kunnen jouw openbare berichten door anderen bekeken worden, bijvoorbeeld op de lokale tijdlijn en onder hashtags. Je kunt jezelf voorstellen met het gebruik van de hashtag #introductions.' diff --git a/config/locales/nn.yml b/config/locales/nn.yml index 34c233b8bbd..e3915a0992e 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -255,8 +255,21 @@ nn: destroy_user_role_html: "%{name} sletta rolla %{target}" disable_2fa_user_html: "%{name} tok vekk krav om tofaktorautentisering for brukaren %{target}" disable_custom_emoji_html: "%{name} deaktiverte emojien %{target}" + disable_sign_in_token_auth_user_html: "%{name} deaktivert e-post token for godkjenning for %{target}" + disable_user_html: "%{name} slo av innlogging for brukaren %{target}" + enable_custom_emoji_html: "%{name} aktiverte emojien %{target}" + enable_sign_in_token_auth_user_html: "%{name} aktiverte e-post token autentisering for %{target}" + enable_user_html: "%{name} aktiverte innlogging for brukaren %{target}" + memorialize_account_html: "%{name} endret %{target}s konto til en minneside" + promote_user_html: "%{name} fremja brukaren %{target}" + reject_appeal_html: "%{name} avviste klagen frå %{target} på modereringa" reject_user_html: "%{name} avslo registrering fra %{target}" + remove_avatar_user_html: "%{name} fjerna %{target} sitt profilbilete" + reopen_report_html: "%{name} opna rapporten %{target} på nytt" + resend_user_html: "%{name} sendte bekreftelsesepost for %{target} på nytt" reset_password_user_html: "%{name} tilbakestilte passordet for brukaren %{target}" + resolve_report_html: "%{name} løyste ein rapport %{target}" + sensitive_account_html: "%{name} markerte %{target} sitt media som sensitivt" silence_account_html: "%{name} begrenset %{target} sin konto" deleted_account: sletta konto empty: Ingen loggar funne. diff --git a/config/locales/no.yml b/config/locales/no.yml index 7c386799446..d891cd537d8 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -37,11 +37,17 @@ avatar: Profilbilde by_domain: Domene change_email: + changed_msg: E-post ble endret! current_email: Nåværende E-post label: Endre e-post new_email: Ny E-post submit: Endre e-post title: Endre E-postadressen til %{username} + change_role: + changed_msg: Rollen ble endret! + label: Endre rolle + no_role: Ingen rolle + title: Endre rolle for %{username} confirm: Bekreft confirmed: Bekreftet confirming: Bekrefte @@ -91,9 +97,14 @@ most_recent_ip: Nyligste IP no_account_selected: Ingen brukere ble forandret da ingen var valgt no_limits_imposed: Ingen grenser er tatt i bruk + no_role_assigned: Ingen rolle tildelt not_subscribed: Ikke abonnért pending: Avventer gjennomgang perform_full_suspension: Utfør full utvisning + previous_strikes: Tidligere advarsler + previous_strikes_description_html: + one: Denne kontoen har en advarsel. + other: Denne kontoen har %{count} advarsler. promote: Oppgradere protocol: Protokoll public: Offentlig @@ -113,12 +124,14 @@ reset: Tilbakestill reset_password: Nullstill passord resubscribe: Abonner på nytt + role: Rolle search: Søk search_same_email_domain: Andre brukere med samme E-postdomene search_same_ip: Andre brukere med den samme IP-en security_measures: only_password: Bare passord password_and_2fa: Passord og 2FA + sensitive: Sensitiv sensitized: Merket som følsom shared_inbox_url: Delt Innboks URL show: @@ -127,11 +140,14 @@ silence: Målbind silenced: Stilnet statuses: Statuser + strikes: Tidligere advarsler subscribe: Abonnere suspended: Suspendert suspension_irreversible: Dataene fra denne kontoen har blitt ikke reverserbart slettet. Du kan oppheve suspenderingen av kontoen for å gjøre den brukbart, men den vil ikke gjenopprette alle data den tidligere har hatt. suspension_reversible_hint_html: Kontoen har blitt suspendert, og dataene vil bli fullstendig fjernet den %{date}. Frem til da kan kontoen gjenopprettes uten negative effekter. Hvis du ønsker å fjerne alle kontoens data umiddelbart, kan du gjøre det nedenfor. title: Kontoer + unblock_email: Avblokker e-postadresse + unblocked_email_msg: Fjernet blokkering av %{username} sin e-postadresse unconfirmed_email: Ubekreftet E-postadresse undo_silenced: Angre målbinding undo_suspension: Angre utvisning @@ -148,6 +164,7 @@ approve_user: Godkjenn bruker assigned_to_self_report: Tilordne rapport change_email_user: Endre brukerens E-postadresse + change_role_user: Endre rolle for brukeren confirm_user: Bekreft brukeren create_account_warning: Opprett en advarsel create_announcement: Opprett en kunngjøring @@ -156,11 +173,17 @@ create_domain_block: Opprett domene-blokk create_email_domain_block: Opprett e-post domeneblokk create_ip_block: Opprett IP-regel + create_user_role: Opprett rolle demote_user: Degrader bruker destroy_announcement: Slett kunngjøringen + destroy_canonical_email_block: Slett blokkering av e-post destroy_custom_emoji: Slett den tilpassede emojien + destroy_domain_block: Slett blokkering av domene + destroy_email_domain_block: Slett blokkering av e-postdomene destroy_ip_block: Slett IP-regel destroy_status: Slett statusen + destroy_unavailable_domain: Slett utilgjengelig domene + destroy_user_role: Slett rolle disable_2fa_user: Skru av 2-trinnsinnlogging disable_custom_emoji: Skru av tilpassede emojier disable_user: Deaktiver bruker @@ -175,12 +198,22 @@ resolve_report: Løs rapport silence_account: Demp konto suspend_account: Suspender kontoen + unblock_email_account: Fjern blokkering av e-postadresse unsuspend_account: Opphev suspensjonen av kontoen update_announcement: Oppdater kunngjøringen update_custom_emoji: Oppdater tilpasset Emoji + update_domain_block: Oppdater blokkering av domene + update_ip_block: Oppdater IP-regel update_status: Oppdater statusen + update_user_role: Oppdater rolle actions: approve_user_html: "%{name} godkjente registrering fra %{target}" + change_email_user_html: "%{name} endret e-postadressen til brukeren %{target}" + change_role_user_html: "%{name} endret rolle for %{target}" + confirm_user_html: "%{name} bekreftet e-postadressen til brukeren %{target}" + create_account_warning_html: "%{name} sendte en advarsel til %{target}" + create_announcement_html: "%{name} opprettet ny kunngjøring %{target}" + create_canonical_email_block_html: "%{name} blokkerte e-post med hash %{target}" create_custom_emoji_html: "%{name} lastet opp ny emoji %{target}" create_domain_allow_html: "%{name} tillatt føderasjon med domenet %{target}" create_domain_block_html: "%{name} blokkert domene %{target}" @@ -815,6 +848,10 @@ status: Kontostatus remote_follow: missing_resource: Kunne ikke finne URLen for din konto + rss: + descriptions: + account: Offentlige innlegg fra @%{acct} + tag: 'Offentlige innlegg merket med #%{hashtag}' scheduled_statuses: over_daily_limit: Du har overskredet grensen på %{limit} planlagte tuter for den dagen over_total_limit: Du har overskredet grensen på %{limit} planlagte tuter @@ -880,6 +917,8 @@ preferences: Innstillinger profile: Profil relationships: Følginger og følgere + statuses_cleanup: Automatisert sletting av innlegg + strikes: Modereringsadvarsler two_factor_authentication: Tofaktorautentisering webauthn_authentication: Sikkerhetsnøkler statuses: @@ -896,6 +935,10 @@ other: "%{count} videoer" boosted_from_html: Boostet fra %{acct_link} content_warning: 'Innholdsadvarsel: %{warning}' + disallowed_hashtags: + one: 'inneholdt en ikke tillatt hashtag: %{tags}' + other: 'inneholdt de ikke tillatte hashtaggene: %{tags}' + edited_at_html: Redigert %{date} errors: in_reply_not_found: Posten du prøver å svare ser ikke ut til eksisterer. open_in_web: Åpne i nettleser @@ -927,6 +970,20 @@ public_long: Synlig for alle unlisted: Uoppført unlisted_long: Synlig for alle, men ikke på offentlige tidslinjer + statuses_cleanup: + enabled: Slett gamle innlegg automatisk + enabled_hint: Sletter innleggene dine automatisk når de oppnår en angitt alder, med mindre de samsvarer med ett av unntakene nedenfor + exceptions: Unntak + min_age: + '1209600': 2 uker + '15778476': 6 måneder + '2629746': 1 måned + '31556952': 1 år + '5259492': 2 måneder + '604800': 1 uke + '63113904': 2 år + '7889238': 3 måneder + min_age_label: Terskel for alder stream_entries: pinned: Festet tut reblogged: fremhevde @@ -941,6 +998,7 @@ formats: default: "%-d. %b %Y, %H:%M" month: "%b %Y" + time: "%H:%M" two_factor_authentication: add: Legg til disable: Skru av @@ -957,22 +1015,41 @@ recovery_instructions_html: Hvis du skulle miste tilgang til telefonen din, kan du bruke en av gjenopprettingskodene nedenfor til å gjenopprette tilgang til din konto. Oppbevar gjenopprettingskodene sikkert, for eksempel ved å skrive dem ut og gjemme dem på et lurt sted bare du vet om. webauthn: Sikkerhetsnøkler user_mailer: + appeal_approved: + action: Gå til kontoen din backup_ready: explanation: Du ba om en fullstendig sikkerhetskopi av Mastodon-kontoen din. Den er nå klar for nedlasting! subject: Arkivet ditt er klart til å lastes ned + suspicious_sign_in: + change_password: endre passord + details: 'Her er detaljer om påloggingen:' + explanation: Vi har oppdaget en pålogging til din konto fra en ny IP-adresse. + further_actions_html: Hvis dette ikke var deg, anbefaler vi at du %{action} umiddelbart og aktiverer tofaktorautentisering for å holde kontoen din sikker. + title: En ny pålogging warning: + categories: + spam: Søppelpost + reason: 'Årsak:' + statuses: 'Innlegg angitt:' subject: + delete_statuses: Dine innlegg på %{acct} har blitt fjernet disable: Kontoen din, %{acct}, har blitt fryst + mark_statuses_as_sensitive: Dine innlegg på %{acct} har blitt merket som sensitivt innhold none: Advarsel for %{acct} + sensitive: Dine innlegg på %{acct} vil bli merket som sensitive fra nå silence: Kontoen din, %{acct}, har blitt begrenset suspend: Kontoen din, %{acct}, har blitt suspendert title: + delete_statuses: Innlegg fjernet disable: Kontoen er fryst + mark_statuses_as_sensitive: Innlegg markert som sensitive none: Advarsel + sensitive: Konto markert som sensitiv silence: Kontoen er begrenset suspend: Kontoen er suspendert welcome: edit_profile_action: Sett opp profil + edit_profile_step: Du kan tilpasse profilen din ved å laste opp et profilbilde, endre visningsnavnet ditt og mer. Du kan velge at nye følgere må godkjennes av deg før de får lov til å følge deg. explanation: Her er noen tips for å komme i gang final_action: Start postingen full_handle: Ditt fullstendige brukernavn @@ -991,9 +1068,11 @@ webauthn_credentials: add: Legg til ny sikkerhetsnøkkel create: + error: Det oppstod et problem med å legge til sikkerhetsnøkkelen. Prøv igjen. success: Sikkerhetsnøkkelen din ble vellykket lagt til. delete: Slett delete_confirmation: Er du sikker på at du vil slette denne sikkerhetsnøkkelen? + description_html: Dersom du aktiverer sikkerhetsnøkkelautentisering, vil innlogging kreve at du bruker en av sikkerhetsnøklene dine. destroy: error: Det oppsto et problem med å slette sikkerhetsnøkkelen. Prøv igjen. success: Sikkerhetsnøkkelen din ble vellykket slettet. diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 319aa5e7507..37c470d314c 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -501,6 +501,7 @@ oc: title: Configuracion status: account_status: Estat del compte + functional: Vòstre compte es complètament foncional. use_security_key: Utilizar clau de seguretat authorize_follow: already_following: Seguètz ja aqueste compte @@ -694,6 +695,7 @@ oc: on_cooldown: Sètz en temps de recargament followers_count: Seguidors al moment de mudar incoming_migrations: Mudar d’un compte diferent + incoming_migrations_html: Per venir d’un autre compte cap a aqueste, vos cal d’en primièr crear un alias de compte. moved_msg: Vòstre compte manda ara a %{acct} e vòstres seguidors son desplaçats. not_redirecting: Vòstre compte manda pas enlòc pel moment. past_migrations: Migracions passadas @@ -859,6 +861,7 @@ oc: preferences: Preferéncias profile: Perfil relationships: Abonaments e seguidors + statuses_cleanup: Supression auto de las publicacions two_factor_authentication: Autentificacion en dos temps webauthn_authentication: Claus de seguretat statuses: @@ -912,13 +915,23 @@ oc: unlisted_long: Tot lo monde pòt veire mai serà pas visible sul flux public statuses_cleanup: enabled: Supression automatica de publicacions ancianas + enabled_hint: Suprimís automaticament vòstras publicacions quand correspondon al critèri d’atge causit, levat se correspondon tanben a las excepcions çai-jos + explanation: Perque la supression es una operacion costosa en ressorsa, es realizat doçament quand lo servidor es pas ocupat a quicòm mai. Per aquò, vòstras publicacions seràn benlèu pas suprimidas aprèp aver atengut lo critèri d’atge. + ignore_favs: Ignorar los favorits + ignore_reblogs: Ignorar los partatges + interaction_exceptions: Excepcions basadas sus las interaccions keep_direct: Gardar los messatges dirèctes + keep_direct_hint: Suprimís pas vòstres messatges dirèctes keep_media: Gardar las publicacions amb pèça-junta + keep_media_hint: Suprimís pas vòstras publicacions s’an de mèdias junts keep_pinned: Gardar las publicacions penjadas + keep_pinned_hint: Suprimís pas vòstras publicacions penjadas keep_polls: Gardar los sondatges keep_polls_hint: Suprimir pas vòstres sondatges keep_self_bookmark: Gardar las publicacions que metèretz en favorit + keep_self_bookmark_hint: Suprimís pas vòstras publicacions se las avètz mesas en marcapaginas keep_self_fav: Gardar las publicacions que metèretz en favorit + keep_self_fav_hint: Suprimís pas vòstras publicacions se las avètz mesas en favorits min_age: '1209600': 2 setmanas '15778476': 6 meses @@ -930,6 +943,9 @@ oc: '7889238': 3 meses min_age_label: Sulhet d’ancianetat min_favs: Gardar al mens las publicacion en favorit + min_favs_hint: Suprimís pas las publicacions qu’an recebut al mens aquesta quantitat de favorits. Daissar blanc per suprimir las publicacion quina quantitat de favorits qu’ajan + min_reblogs: Gardar las publicacions partejadas al mens + min_reblogs_hint: Suprimís pas vòstras publicacions qu’an agut aqueste nombre de partiment. Daissar blanc per suprimir las publicacions sens far cas als partiments stream_entries: pinned: Tut penjat reblogged: a partejat diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index f372ef6bce0..ec794492b43 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -4,7 +4,7 @@ pt-BR: about_mastodon_html: 'A rede social do futuro: Sem anúncios, sem vigilância corporativa, com design ético e muita descentralização! Possua seus próprios dados com o Mastodon!' contact_missing: Não definido contact_unavailable: Não disponível - hosted_on: Instância Mastodon em %{domain} + hosted_on: Servidor Mastodon em %{domain} title: Sobre accounts: follow: Seguir @@ -19,9 +19,9 @@ pt-BR: pin_errors: following: Você deve estar seguindo a pessoa que você deseja sugerir posts: - one: Toot - other: Toots - posts_tab_heading: Toots + one: Publicação + other: Publicações + posts_tab_heading: Publicações admin: account_actions: action: Tomar uma atitude @@ -31,9 +31,9 @@ pt-BR: created_msg: Nota de moderação criada com sucesso! destroyed_msg: Nota de moderação excluída com sucesso! accounts: - add_email_domain_block: Adicionar o domínio de e-mail à lista negra + add_email_domain_block: Bloquear domínio de e-mail approve: Aprovar - approved_msg: Aprovado com sucesso o pedido de registro de %{username} + approved_msg: O registro de %{username} foi aprovado com sucesso are_you_sure: Você tem certeza? avatar: Imagem de perfil by_domain: Domínio @@ -45,10 +45,10 @@ pt-BR: submit: Alterar e-mail title: Alterar e-mail para %{username} change_role: - changed_msg: Função alterada com sucesso! - label: Alterar função - no_role: Nenhuma função - title: Alterar função para %{username} + changed_msg: Cargo alterado com sucesso! + label: Alterar cargo + no_role: Sem cargo + title: Alterar cargo para %{username} confirm: Confirmar confirmed: Confirmado confirming: Confirmando @@ -60,12 +60,12 @@ pt-BR: disable: Congelar disable_sign_in_token_auth: Desativar autenticação via token por email disable_two_factor_authentication: Desativar autenticação de dois fatores - disabled: Desativada + disabled: Congelada display_name: Nome de exibição domain: Domínio edit: Editar email: E-mail - email_status: Status do e-mail + email_status: Estado do e-mail enable: Descongelar enable_sign_in_token_auth: Ativar autenticação via token por email enabled: Ativada @@ -99,7 +99,7 @@ pt-BR: most_recent_activity: Atividade mais recente most_recent_ip: IP mais recente no_account_selected: Nenhuma conta foi alterada, pois nenhuma conta foi selecionada - no_limits_imposed: Nenhum limite imposto + no_limits_imposed: Sem limite imposto no_role_assigned: Nenhuma função atribuída not_subscribed: Não inscrito pending: Revisão pendente @@ -142,7 +142,7 @@ pt-BR: targeted_reports: Denúncias sobre esta conta silence: Silenciar silenced: Silenciado - statuses: Toots + statuses: Publicações strikes: Ataques anteriores subscribe: Inscrever-se suspend: Suspender @@ -250,7 +250,7 @@ pt-BR: destroy_email_domain_block_html: "%{name} adicionou domínio de e-mail %{target} à lista branca" destroy_instance_html: "%{name} purgou o domínio %{target}" destroy_ip_block_html: "%{name} excluiu regra para o IP %{target}" - destroy_status_html: "%{name} excluiu post de %{target}" + destroy_status_html: "%{name} removeu a publicação de %{target}" destroy_unavailable_domain_html: "%{name} retomou a entrega ao domínio %{target}" destroy_user_role_html: "%{name} excluiu a função %{target}" disable_2fa_user_html: "%{name} desativou a exigência de autenticação de dois fatores para o usuário %{target}" @@ -266,6 +266,7 @@ pt-BR: reject_user_html: "%{name} rejeitou a inscrição de %{target}" remove_avatar_user_html: "%{name} removeu a imagem de perfil de %{target}" reopen_report_html: "%{name} reabriu a denúncia %{target}" + resend_user_html: "%{name} reenviou um e-mail de confirmação para %{target}" reset_password_user_html: "%{name} redefiniu a senha de %{target}" resolve_report_html: "%{name} fechou a denúncia %{target}" sensitive_account_html: "%{name} marcou a mídia de %{target} como sensível" @@ -385,7 +386,7 @@ pt-BR: create: Criar bloqueio hint: O bloqueio de domínio não vai prevenir a criação de entradas de contas na base de dados, mas vai retroativamente e automaticamente aplicar métodos específicos de moderação nessas contas. severity: - desc_html: "Silenciar vai fazer os posts da conta invisíveis para qualquer um que não os esteja seguindo. Suspender vai remover todo o conteúdo, mídia, e dados de perfil da conta. Use Nenhum se você só quer rejeitar arquivos de mídia." + desc_html: "Silenciar vai tornar as publicações da conta invisíveis para qualquer um que não o esteja seguindo. Suspender vai remover todo o conteúdo, mídia e dados de perfil da conta. Use Nenhum se você só quer rejeitar arquivos de mídia." noop: Nenhum silence: Silenciar suspend: Banir @@ -595,7 +596,7 @@ pt-BR: skip_to_actions: Pular para ações status: Situação statuses: Conteúdo denunciado - statuses_description_html: Conteúdo Ofensivo será citado em comunicação com a conta relatada + statuses_description_html: Conteúdo ofensivo será citado em comunicação com a conta denunciada target_origin: Origem da conta relatada title: Denúncias unassign: Largar @@ -618,6 +619,9 @@ pt-BR: edit: Editar função de '%{name}' everyone: Permissões padrão everyone_full_description_html: Esta é a função base que afeta todos os usuários, mesmo aqueles sem uma função atribuída. Todas as outras funções dela herdam as suas permissões. + permissions_count: + one: "%{count} permissão" + other: "%{count} permissões" privileges: administrator: Administrador administrator_description: Usuários com essa permissão irão ignorar todas as permissões @@ -670,17 +674,21 @@ pt-BR: settings: about: manage_rules: Gerenciar regras do servidor + preamble: Forneça informações detalhadas sobre como o servidor é operado, moderado e financiado. rules_hint: Existe uma área dedicada para as regras que os usuários devem aderir. title: Sobre appearance: preamble: Personalize a interface web do Mastodon. title: Aparência branding: + preamble: A marca do seu servidor o diferencia de outros servidores na rede. Essa informação pode ser exibida em vários ambientes, como a interface web do Mastodon, aplicativos nativos, pré-visualizações de links em outros sites, aplicativos de mensagens, etc. Por isso, é melhor manter essa informação clara, curta e concisa. title: Marca content_retention: + preamble: Controlar como o conteúdo gerado pelo usuário é armazenado no Mastodon. title: Retenção de conteúdo discovery: follow_recommendations: Seguir recomendações + preamble: Navegar por um conteúdo interessante é fundamental para integrar novos usuários que podem não conhecer ninguém no Mastodon. Controle como várias características de descoberta funcionam no seu servidor. profile_directory: Diretório de perfis public_timelines: Timelines públicas title: Descobrir @@ -717,12 +725,12 @@ pt-BR: media: title: Mídia metadata: Metadados - no_status_selected: Nenhum status foi modificado porque nenhum estava selecionado - open: Abrir post - original_status: Postagem original + no_status_selected: Nenhuma publicação foi modificada porque nenhuma estava selecionada + open: Publicação aberta + original_status: Publicação original reblogs: Reblogs status_changed: Publicação alterada - title: Toots da conta + title: Publicações da conta trending: Em alta visibility: Visibilidade with_media: Com mídia @@ -755,12 +763,13 @@ pt-BR: trends: allow: Permitir approved: Aprovado - disallow: Anular + disallow: Impedir links: allow: Permitir link allow_provider: Permitir editor - disallow: Proibir link - disallow_provider: Anular editor + disallow: Impedir link + disallow_provider: Impedir publicador + no_link_selected: Nenhum link foi alterado como nenhum foi selecionado title: Em alta no momento usage_comparison: Compartilhado %{today} vezes hoje, em comparação com %{yesterday} de ontem only_allowed: Somente permitido @@ -772,9 +781,11 @@ pt-BR: title: Editor rejected: Rejeitado statuses: - allow: Permitir postagem + allow: Permitir publicação allow_account: Permitir autor - description_html: Estes são posts que seu servidor sabe que estão sendo muito compartilhados e favorecidos no momento. Isso pode ajudar seus usuários, novos e retornantes, a encontrar mais pessoas para seguir. Nenhum post é exibido publicamente até que você aprove o autor e o autor permitir que sua conta seja sugerida a outros. Você também pode permitir ou rejeitar postagens individuais. + description_html: Estes são as publicações que seu servidor sabe que estão sendo muito compartilhadas e favorecidas no momento. Isso pode ajudar seus usuários, novos e atuais, a encontrar mais pessoas para seguir. Nenhuma publicação é exibida publicamente até que você aprove o autor e o autor permitir que sua conta seja sugerida a outros. Você também pode permitir ou rejeitar publicações individuais. + disallow: Impedir publicação + disallow_account: Impedir autor title: Publicações em alta tags: current_score: Pontuação atual %{score} @@ -783,6 +794,7 @@ pt-BR: tag_languages_dimension: Idiomas principais tag_servers_dimension: Servidores mais populares tag_servers_measure: servidores diferentes + tag_uses_measure: usos listable: Pode ser sugerido not_listable: Não será sugerido not_trendable: Não aparecerá em alta @@ -880,13 +892,14 @@ pt-BR: warning: Tenha cuidado com estes dados. Nunca compartilhe com alguém! your_token: Seu código de acesso auth: + apply_for_account: Entrar na lista de espera change_password: Senha delete_account: Excluir conta delete_account_html: Se você deseja excluir sua conta, você pode fazer isso aqui. Uma confirmação será solicitada. description: - prefix_invited_by_user: "@%{name} convidou você para entrar nesta instância Mastodon!" + prefix_invited_by_user: "@%{name} convidou você para entrar neste servidor Mastodon!" prefix_sign_up: Crie uma conta no Mastodon hoje! - suffix: Com uma conta, você poderá seguir pessoas, postar atualizações, trocar mensagens com usuários de qualquer instância Mastodon e muito mais! + suffix: Com uma conta, você poderá seguir pessoas, publicar atualizações, trocar mensagens com usuários de qualquer servidor Mastodon e muito mais! didnt_get_confirmation: Não recebeu instruções de confirmação? dont_have_your_security_key: Não está com a sua chave de segurança? forgot_password: Esqueceu a sua senha? @@ -906,6 +919,8 @@ pt-BR: registration_closed: "%{instance} não está aceitando novos membros" resend_confirmation: Reenviar instruções de confirmação reset_password: Redefinir senha + rules: + title: Algumas regras básicas. security: Segurança set_new_password: Definir uma nova senha setup: @@ -968,7 +983,7 @@ pt-BR: success_msg: A sua conta foi excluída com sucesso warning: before: 'Antes de prosseguir, por favor leia com cuidado:' - caches: Conteúdo que foi armazenado em cache por outras instâncias pode continuar a existir + caches: Conteúdo que foi armazenado em cache por outros servidores pode continuar a existir data_removal: Seus toots e outros dados serão removidos permanentemente email_change_html: Você pode alterar seu endereço de e-mail sem excluir sua conta email_contact_html: Se você ainda não recebeu, você pode enviar um e-mail pedindo ajuda para %{email} @@ -993,13 +1008,13 @@ pt-BR: description_html: Estas são ações tomadas contra sua conta e avisos que foram enviados a você pela equipe de %{instance}. recipient: Endereçado para reject_appeal: Rejeitar recurso - status: 'Postagem #%{id}' - status_removed: Postagem já removida do sistema + status: 'Publicação #%{id}' + status_removed: Publicação já removida do sistema title: "%{action} de %{date}" title_actions: delete_statuses: Remoção de publicações disable: Congelamento de conta - mark_statuses_as_sensitive: Marcar as postagens como sensíveis + mark_statuses_as_sensitive: Marcar as publicações como sensíveis none: Aviso sensitive: Marcar a conta como sensível silence: Limitação da conta @@ -1057,17 +1072,30 @@ pt-BR: edit: add_keyword: Adicionar palavra-chave keywords: Palavras-chave - statuses: Postagens individuais + statuses: Publicações individuais title: Editar filtro errors: invalid_context: Contexto inválido ou nenhum contexto informado index: delete: Remover empty: Sem filtros. + expires_in: Expira em %{distance} + expires_on: Expira em %{date} + keywords: + one: "%{count} palavra-chave" + other: "%{count} palavras-chave" + statuses: + one: "%{count} publicação" + other: "%{count} publicações" title: Filtros new: save: Salvar novo filtro title: Adicionar filtro + statuses: + batch: + remove: Remover do filtro + index: + title: Publicações filtradas footer: trending_now: Em alta no momento generic: @@ -1093,7 +1121,7 @@ pt-BR: merge_long: Manter os registros existentes e adicionar novos overwrite: Sobrescrever overwrite_long: Substituir os registros atuais com os novos - preface: Você pode importar dados que você exportou de outra instância, como a lista de pessoas que você segue ou bloqueou. + preface: Você pode importar dados que você exportou de outro servidor, como a lista de pessoas que você segue ou bloqueou. success: Os seus dados foram enviados com sucesso e serão processados em instantes types: blocking: Lista de bloqueio @@ -1119,7 +1147,7 @@ pt-BR: one: 1 uso other: "%{count} usos" max_uses_prompt: Sem limite - prompt: Gere e compartilhe links para permitir acesso a essa instância + prompt: Gere e compartilhe links para permitir acesso a esse servidor table: expires_at: Expira em uses: Usos @@ -1187,8 +1215,8 @@ pt-BR: sign_up: subject: "%{name} se inscreveu" favourite: - body: "%{name} favoritou seu toot:" - subject: "%{name} favoritou seu toot" + body: "%{name} favoritou sua publicação:" + subject: "%{name} favoritou sua publicação" title: Novo favorito follow: body: "%{name} te seguiu!" @@ -1211,7 +1239,7 @@ pt-BR: subject: "%{name} deu boost no seu toot" title: Novo boost status: - subject: "%{name} acabou de postar" + subject: "%{name} acabou de publicar" update: subject: "%{name} editou uma publicação" notifications: @@ -1257,6 +1285,8 @@ pt-BR: other: Outro posting_defaults: Padrões de publicação public_timelines: Linhas públicas + privacy_policy: + title: Política de Privacidade reactions: errors: limit_reached: Limite de reações diferentes atingido @@ -1289,8 +1319,8 @@ pt-BR: account: Publicações públicas de @%{acct} tag: 'Publicações públicas marcadas com #%{hashtag}' scheduled_statuses: - over_daily_limit: Você excedeu o limite de %{limit} toots agendados para esse dia - over_total_limit: Você excedeu o limite de %{limit} toots agendados + over_daily_limit: Você excedeu o limite de %{limit} publicações agendadas para esse dia + over_total_limit: Você excedeu o limite de %{limit} publicações agendadas too_soon: A data agendada precisa ser no futuro sessions: activity: Última atividade @@ -1369,22 +1399,22 @@ pt-BR: video: one: "%{count} vídeo" other: "%{count} vídeos" - boosted_from_html: Boost de %{acct_link} - content_warning: 'Aviso de Conteúdo: %{warning}' + boosted_from_html: Impulso de %{acct_link} + content_warning: 'Aviso de conteúdo: %{warning}' default_language: Igual ao idioma da interface disallowed_hashtags: one: 'continha hashtag não permitida: %{tags}' other: 'continha hashtags não permitidas: %{tags}' edited_at_html: Editado em %{date} errors: - in_reply_not_found: O toot que você quer responder parece não existir. + in_reply_not_found: A publicação que você quer responder parece não existir. open_in_web: Abrir no navegador over_character_limit: limite de caracteres de %{max} excedido pin_errors: - direct: Posts visíveis apenas para usuários mencionados não podem ser fixados + direct: Publicações visíveis apenas para usuários mencionados não podem ser fixadas limit: Quantidade máxima de toots excedida - ownership: Toots dos outros não podem ser fixados - reblog: Boosts não podem ser fixados + ownership: Publicações dos outros não podem ser fixadas + reblog: Um impulso não pode ser fixado poll: total_people: one: "%{count} pessoa" @@ -1401,33 +1431,33 @@ pt-BR: title: '%{name}: "%{quote}"' visibilities: direct: Direto - private: Privado - private_long: Posta apenas para seguidores + private: Apenas seguidores + private_long: Exibir apenas para seguidores public: Público - public_long: Posta em linhas públicas - unlisted: Não-listado - unlisted_long: Não posta em linhas públicas + public_long: Todos podem ver + unlisted: Não listado + unlisted_long: Todos podem ver, mas não é listado em linhas do tempo públicas statuses_cleanup: enabled: Excluir publicações antigas automaticamente enabled_hint: Exclui suas publicações automaticamente assim que elas alcançam sua validade, a não ser que se enquadrem em alguma das exceções abaixo exceptions: Exceções explanation: Já que a exclusão de publicações é uma operação custosa, ela é feita lentamente quando o servidor não está ocupado. Por isso suas publicações podem ser excluídas algum tempo depois de alcançarem sua validade. ignore_favs: Ignorar favoritos - ignore_reblogs: Ignorar boosts + ignore_reblogs: Ignorar impulsos interaction_exceptions: Exceções baseadas nas interações interaction_exceptions_explanation: Note que não há garantia de que as publicações sejam excluídas se ficarem abaixo do limite de favoritos ou boosts depois de tê-lo ultrapassado. keep_direct: Manter mensagens diretas - keep_direct_hint: Não deleta nenhuma de suas mensagens diretas + keep_direct_hint: Não exclui nenhuma de suas mensagens diretas keep_media: Manter publicações com mídia keep_media_hint: Não exclui nenhuma de suas publicações com mídia keep_pinned: Manter publicações fixadas - keep_pinned_hint: Não exclui nenhuma publicação fixada + keep_pinned_hint: Não exclui nenhuma de suas publicações fixadas keep_polls: Manter enquetes keep_polls_hint: Não exclui nenhuma de suas enquetes keep_self_bookmark: Manter publicações que você salvou - keep_self_bookmark_hint: Não exclui suas próprias publicações se você as tiver salvado + keep_self_bookmark_hint: Não exclui suas próprias publicações se você as salvou keep_self_fav: Manter publicações que você favoritou - keep_self_fav_hint: Não exclui suas próprias publicações se você as tiver favoritado + keep_self_fav_hint: Não exclui suas próprias publicações se você as favoritou min_age: '1209600': 2 semanas '15778476': 6 meses @@ -1439,9 +1469,9 @@ pt-BR: '7889238': 3 meses min_age_label: Validade min_favs: Manter publicações favoritadas por ao menos - min_favs_hint: Não exclui publicações que tiverem sido favoritados ao menos essa quantidade de vezes. Deixe em branco para excluir publicações independente da quantidade de favoritos - min_reblogs: Manter publicações boostadas por ao menos - min_reblogs_hint: Não exclui publicações que tiverem sido boostadas ao menos essa quantidade de vezes. Deixe em branco para excluir publicações independente da quantidade de boosts + min_favs_hint: Não exclui publicações que receberam pelo menos esta quantidade de favoritos. Deixe em branco para excluir publicações independentemente da quantidade de favoritos + min_reblogs: Manter publicações impulsionadas por ao menos + min_reblogs_hint: Não exclui publicações que receberam pelo menos esta quantidade de impulsos. Deixe em branco para excluir publicações independentemente da quantidade de impulsos stream_entries: pinned: Toot fixado reblogged: deu boost @@ -1503,6 +1533,7 @@ pt-BR: spam: Spam violation: O conteúdo viola as seguintes diretrizes da comunidade explanation: + delete_statuses: Algumas de suas publicações infringiram uma ou mais diretrizes da comunidade e foram removidas pelos moderadores de %{instance}. disable: Você não poderá mais usar a sua conta, mas o seu perfil e outros dados permanecem intactos. Você pode solicitar um backup dos seus dados, mudar as configurações ou excluir sua conta. sensitive: A partir de agora, todos os seus arquivos de mídia enviados serão marcados como confidenciais e escondidos por trás de um aviso de clique. reason: 'Motivo:' @@ -1518,7 +1549,7 @@ pt-BR: title: delete_statuses: Publicações removidas disable: Conta bloqueada - mark_statuses_as_sensitive: Postagens marcadas como sensíveis + mark_statuses_as_sensitive: Publicações marcadas como sensíveis none: Aviso sensitive: Conta marcada como sensível silence: Conta silenciada diff --git a/config/locales/ro.yml b/config/locales/ro.yml index b96d22dd59d..c8e1d8a3e25 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -39,6 +39,7 @@ ro: avatar: Poză de profil by_domain: Domeniu change_email: + changed_msg: E-mail schimbat cu succes! current_email: E-mailul curent label: Schimbă adresa de email new_email: E-mail nou @@ -196,6 +197,8 @@ ro: update_announcement: Actualizare Anunț update_custom_emoji: Actualizare Emoji Personalizat update_status: Actualizează Starea + actions: + create_custom_emoji_html: "%{name} a încărcat noi emoji %{target}" announcements: live: În direct new: diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 6d639595205..cfdceff8e88 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -212,6 +212,7 @@ ru: reject_user: Отклонить remove_avatar_user: Удаление аватаров reopen_report: Возобновление жалоб + resend_user: Повторно отправить письмо с подтверждением reset_password_user: Сброс пароля пользователей resolve_report: Отметка жалоб «решёнными» sensitive_account: Присвоение пользователям отметки «деликатного содержания» @@ -285,6 +286,7 @@ ru: update_ip_block_html: "%{name} изменил(а) правило для IP %{target}" update_status_html: "%{name} изменил(а) пост пользователя %{target}" update_user_role_html: "%{name} изменил(а) роль %{target}" + deleted_account: удалённая учётная запись empty: Журнал пуст. filter_by_action: Фильтр по действию filter_by_user: Фильтр по пользователю @@ -468,6 +470,8 @@ ru: dashboard: instance_accounts_dimension: Популярные аккаунты instance_accounts_measure: сохраненные учетные записи + instance_followers_measure: наши подписчики там + instance_follows_measure: их подписчики тут instance_languages_dimension: Популярные языки instance_media_attachments_measure: сохраненные медиафайлы instance_statuses_measure: сохраненные посты @@ -558,6 +562,8 @@ ru: action_log: Журнал аудита action_taken_by: 'Действие предпринято:' actions: + delete_description_html: Обжалованные сообщения будут удалены, а претензия - записана, чтобы помочь вам в решении конфликтов при повторных нарушениях со стороны того же аккаунта. + mark_as_sensitive_description_html: Весь медиаконтент в обжалованных сообщениях будет отмечен как чувствительный, а претензия - записана, чтобы помочь вам в решении конфликтов при повторных нарушениях со стороны того же аккаунта. resolve_description_html: Никаких действий не будет выполнено относительно доложенного содержимого. Жалоба будет закрыта. silence_description_html: Профиль будет просматриваем только пользователями, которые уже подписаны на него, либо открыли его вручную. Это действие можно отменить в любой момент. suspend_description_html: Профиль и всё опубликованное в нём содержимое станут недоступны, пока в конечном итоге учётная запись не будет удалена. Пользователи не смогут взаимодействовать с этой учётной записью. Это действие можно отменить в течение 30 дней. @@ -629,12 +635,21 @@ ru: other: "%{count} разрешений" privileges: administrator: Администратор + administrator_description: Пользователи с этим разрешением будут обходить все права delete_user_data: Удалить пользовательские данные delete_user_data_description: Позволяет пользователям удалять данные других пользователей без задержки invite_users: Пригласить пользователей invite_users_description: Позволяет пользователям приглашать новых людей на сервер manage_announcements: Управление объявлениями manage_announcements_description: Позволяет пользователям управлять объявлениями на сервере + manage_appeals: Управление апелляциями + manage_appeals_description: Позволяет пользователям просматривать апелляции на действия модерации + manage_blocks: Управление блоками + manage_custom_emojis: Управление смайлами + manage_custom_emojis_description: Позволяет пользователям управлять пользовательскими эмодзи на сервере + manage_federation: Управление Федерацией + manage_federation_description: Позволяет пользователям блокировать или разрешить объединение с другими доменами и контролировать возможность доставки + manage_invites: Управление приглашениями view_audit_log: Посмотреть журнал аудита view_audit_log_description: Позволяет пользователям просматривать историю административных действий на сервере view_dashboard: Открыть панель управления diff --git a/config/locales/simple_form.ca.yml b/config/locales/simple_form.ca.yml index 2fd51bfea38..c392d40611b 100644 --- a/config/locales/simple_form.ca.yml +++ b/config/locales/simple_form.ca.yml @@ -77,7 +77,7 @@ ca: backups_retention_period: Mantenir els arxius d'usuari generats durant el número de dies especificats. bootstrap_timeline_accounts: Aquests comptes es fixaran en la part superior de les recomanacions de seguiment dels nous usuaris. closed_registrations_message: Mostrat quan el registres estan tancats - content_cache_retention_period: Els apunts des d'altres servidors s'esborraran després del número de dies especificat quan es configura un valor positiu. Això pot ser irreversible. + content_cache_retention_period: Les publicacions d'altres servidors se suprimiran després del nombre de dies especificat quan s'estableix un valor positiu. Això pot ser irreversible. custom_css: Pots aplicar estils personalitzats en la versió web de Mastodon. mascot: Anul·la l'ilustració en l'interfície web avançada. media_cache_retention_period: Els fitxers multimèdia descarregats s'esborraran després del número de dies especificat quan el valor configurat és positiu, i tornats a descarregats sota demanda. @@ -91,9 +91,9 @@ ca: site_title: Com pot la gent referir-se al teu servidor a part del seu nom de domini. theme: El tema que els visitants i els nous usuaris veuen. thumbnail: Una imatge d'aproximadament 2:1 mostrada junt l'informació del teu servidor. - timeline_preview: Els visitants amb sessió no iniciada seran capaços de navegar per els apunts públics més recents en el teu servidor. + timeline_preview: Els visitants amb sessió no iniciada seran capaços de navegar per les publicacions més recents en el teu servidor. trendable_by_default: Omet la revisió manual del contingut en tendència. Els articles individuals poden encara ser eliminats després del fet. - trends: Les tendències mostres els apunts, les etiquetes i les noves històries que estan guanyant atenció en el teu servidor. + trends: Les tendències mostren quines publicacions, etiquetes i notícies estan guanyant força al vostre servidor. form_challenge: current_password: Estàs entrant en una àrea segura imports: diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml index ef03d181049..617fb593cb6 100644 --- a/config/locales/simple_form.en-GB.yml +++ b/config/locales/simple_form.en-GB.yml @@ -1 +1,11 @@ +--- en-GB: + simple_form: + hints: + account_alias: + acct: Specify the username@domain of the account you want to move from + account_migration: + acct: Specify the username@domain of the account you want to move to + account_warning_preset: + text: You can use post syntax, such as URLs, hashtags and mentions + title: Optional. Not visible to the recipient diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml index dffffa61ce9..0bb1264a34a 100644 --- a/config/locales/simple_form.eo.yml +++ b/config/locales/simple_form.eo.yml @@ -26,7 +26,7 @@ eo: ends_at: Laŭvola. La anonco estos aŭtomate maleldonita ĉi tiam scheduled_at: Lasi malplena por eldoni la anoncon tuj starts_at: Laŭvola. Se via anonco estas ligita al specifa tempo - text: Vi povas uzi afiŝo-sintakson. Bonvolu mensemi pri la spaco, kiun la anonco okupos sur la ekrano de la uzanto + text: Vi povas uzi la sintakso de afiŝoj. Bonvolu zorgi pri la spaco, kiun la anonco okupos sur la ekrano de la uzanto defaults: autofollow: Homoj, kiuj registriĝos per la invito aŭtomate sekvos vin avatar: Formato PNG, GIF aŭ JPG. Ĝis %{size}. Estos malgrandigita al %{dimensions}px @@ -108,7 +108,7 @@ eo: none: Fari nenion sensitive: Tikla silence: Silentigi - suspend: Haltigi kaj nemalfereble forigi kontajn datumojn + suspend: Suspendi warning_preset_id: Uzi antaŭagorditan averton announcement: all_day: Ĉiutaga evento diff --git a/config/locales/simple_form.ga.yml b/config/locales/simple_form.ga.yml index 5fa6bb8bae7..4be8c4f4535 100644 --- a/config/locales/simple_form.ga.yml +++ b/config/locales/simple_form.ga.yml @@ -16,6 +16,7 @@ ga: account_warning_preset: title: Teideal admin_account_action: + text: Rabhadh saincheaptha types: none: Seol rabhadh announcement: @@ -28,12 +29,23 @@ ga: note: Beathaisnéis password: Pasfhocal setting_display_media_default: Réamhshocrú + setting_display_media_hide_all: Cuir uile i bhfolach + setting_display_media_show_all: Taispeáin uile + setting_theme: Téama suímh + setting_trends: Taispeáin treochta an lae title: Teideal username: Ainm úsáideora featured_tag: name: Haischlib + filters: + actions: + hide: Cuir i bhfolach go hiomlán + warn: Cuir i bhfolach le rabhadh form_admin_settings: + site_extended_description: Cur síos fada + site_short_description: Cur síos freastalaí site_terms: Polasaí príobháideachais + site_title: Ainm freastalaí ip_block: ip: IP tag: diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml index 290546c7677..28dc0625eab 100644 --- a/config/locales/simple_form.gd.yml +++ b/config/locales/simple_form.gd.yml @@ -18,7 +18,7 @@ gd: disable: Bac an cleachdaiche o chleachdadh a’ chunntais aca ach na sguab às no falaich an t-susbaint aca. none: Cleachd seo airson rabhadh a chur dhan chleachdaiche gun ghnìomh eile a ghabhail. sensitive: Èignich comharra gu bheil e frionasach air a h-uile ceanglachan meadhain a’ chleachdaiche seo. - silence: Bac an cleachdaiche o bhith a’ postadh le faicsinneachd poblach, falaich na postaichean aca agus brathan o na daoine nach eil ga leantainn. + silence: Bac an cleachdaiche o bhith a’ postadh le faicsinneachd poblach, falaich na postaichean aca agus brathan o na daoine nach eil ’ga leantainn. suspend: Bac conaltradh sam bith leis a’ chunntas seo agus sguab às an t-susbaint aige. Gabhaidh seo a neo-dhèanamh am broinn 30 latha. warning_preset_id: Roghainneil. ’S urrainn dhut teacsa gnàthaichte a chur ri deireadh an ro-sheata fhathast announcement: @@ -30,7 +30,7 @@ gd: appeal: text: Chan urrainn dhut ath-thagradh a dhèanamh air rabhadh ach aon turas defaults: - autofollow: Leanaidh na daoine a chlàraicheas leis a cuireadh ort gu fèin-obrachail + autofollow: Leanaidh na daoine a chlàraicheas leis a cuireadh thu gu fèin-obrachail avatar: PNG, GIF or JPG. %{size} air a char as motha. Thèid a sgèileadh sìos gu %{dimensions}px bot: Comharraich do chàch gu bheil an cunntas seo ri gnìomhan fèin-obrachail gu h-àraidh is dh’fhaoidte nach doir duine sam bith sùil air idir context: Na co-theacsaichean air am bi a’ chriathrag an sàs @@ -44,7 +44,7 @@ gd: inbox_url: Dèan lethbhreac dhen URL o phrìomh-dhuilleag an ath-sheachadain a bu mhiann leat cleachdadh irreversible: Thèid postaichean criathraichte à sealladh gu buan fiù ’s ma bheir thu a’ chriathrag air falbh às dèidh làimhe locale: Cànan eadar-aghaidh a’ chleachdaiche, nam post-d ’s nam brathan putaidh - locked: Stiùirich cò dh’fhaodas leantainn ort le gabhail ri iarrtasan leantainn a làimh + locked: Stiùirich cò dh’fhaodas ’gad leantainn le gabhail ri iarrtasan leantainn a làimh password: Cleachd co-dhiù 8 caractaran phrase: Thèid a mhaidseadh gun aire air litrichean mòra ’s beaga no air rabhadh susbainte puist scopes: Na APIan a dh’fhaodas an aplacaid inntrigeadh. Ma thaghas tu sgòp air ìre as àirde, cha leig thu leas sgòpaichean fa leth a thaghadh. @@ -54,7 +54,7 @@ gd: setting_display_media_default: Falaich meadhanan ris a bheil comharra gu bheil iad frionasach setting_display_media_hide_all: Falaich na meadhanan an-còmhnaidh setting_display_media_show_all: Seall na meadhanan an-còmhnaidh - setting_hide_network: Thèid cò a tha thu a’ leantainn orra ’s an luchd-leantainn agad fhèin a chur am falach air a’ phròifil agad + setting_hide_network: Thèid cò a tha thu a’ leantainn ’s an luchd-leantainn agad fhèin a chur am falach air a’ phròifil agad setting_noindex: Bheir seo buaidh air a’ phròifil phoblach ’s air duilleagan nam postaichean agad setting_show_application: Chithear cò an aplacaid a chleachd thu airson post a sgrìobhadh ann an seallaidhean mionaideach nam postaichean agad setting_use_blurhash: Tha caiseadan stèidhichte air dathan nan nithean lèirsinneach a chaidh fhalach ach chan fhaicear am mion-fhiosrachadh @@ -161,7 +161,7 @@ gd: appeal: text: Mìnich carson a bu chòir an caochladh a chur orra defaults: - autofollow: Thoir cuireadh dhaibh airson leantainn air a’ chunntas agad + autofollow: Thoir cuireadh dhaibh airson an cunntas agad a leantainn avatar: Avatar bot: Seo cunntas bot chosen_languages: Criathraich na cànain @@ -210,7 +210,7 @@ gd: setting_system_font_ui: Cleachd cruth-clò bunaiteach an t-siostaim setting_theme: Ùrlar na làraich setting_trends: Seall na treandaichean an-diugh - setting_unfollow_modal: Seall còmhradh dearbhaidh mus sguir thu de leantainn air cuideigin + setting_unfollow_modal: Seall còmhradh dearbhaidh mus sguir thu de chuideigin a leantainn setting_use_blurhash: Seall caiseadan dathte an àite meadhanan falaichte setting_use_pending_items: Am modh slaodach severity: Donad @@ -254,8 +254,8 @@ gd: trends: Cuir na treandaichean an comas interactions: must_be_follower: Bac na brathan nach eil o luchd-leantainn - must_be_following: Bac na brathan o dhaoine air nach lean thu - must_be_following_dm: Bac teachdaireachdan dìreach o dhaoine air nach lean thu + must_be_following: Bac na brathan o dhaoine nach lean thu + must_be_following_dm: Bac teachdaireachdan dìreach o dhaoine nach lean thu invite: comment: Beachd invite_request: @@ -272,8 +272,8 @@ gd: appeal: Tha cuideigin ag ath-thagradh co-dhùnadh na maorsainneachd digest: Cuir puist-d le geàrr-chunntas favourite: Is annsa le cuideigin am post agad - follow: Lean cuideigin ort - follow_request: Dh’iarr cuideigin leantainn ort + follow: Lean cuideigin thu + follow_request: Dh’iarr cuideigin ’gad leantainn mention: Thug cuideigin iomradh ort pending_account: Tha cunntas ùr feumach air lèirmheas reblog: Bhrosnaich cuideigin am post agad diff --git a/config/locales/simple_form.gl.yml b/config/locales/simple_form.gl.yml index 9aa9c57459b..bcd7453f6ea 100644 --- a/config/locales/simple_form.gl.yml +++ b/config/locales/simple_form.gl.yml @@ -66,6 +66,8 @@ gl: email_domain_block: domain: Este pode ser o nome de dominio que aparece no enderezo de email ou o rexistro MX que utiliza. Será comprobado no momento do rexistro. with_dns_records: Vaise facer un intento de resolver os rexistros DNS proporcionados e os resultados tamén irán a lista de bloqueo + featured_tag: + name: 'Aquí tes algún dos cancelos que usaches recentemente:' filters: action: Elixe a acción a realizar cando algunha publicación coincida co filtro actions: diff --git a/config/locales/simple_form.he.yml b/config/locales/simple_form.he.yml index ffa091b6847..ae1ad4fb734 100644 --- a/config/locales/simple_form.he.yml +++ b/config/locales/simple_form.he.yml @@ -7,18 +7,18 @@ he: account_migration: acct: נא לציין משתמש@דומיין של החשבון אליו תרצה/י לעבור account_warning_preset: - text: ניתן להשתמש בתחביר חצרוצי, כגון קישוריות, האשתגיות ואזכורים + text: ניתן להשתמש בתחביר הודעות, כגון קישוריות, תגיות ואזכורים title: אופציונלי. בלתי נראה למקבל ההודעה admin_account_action: - include_statuses: המשתמש יראה אילו חצרוצים גרמו לפעולה או לאזהרה + include_statuses: המשתמש יראה אילו הודעות גרמו לפעולה או לאזהרה send_email_notification: המשתמש יקבל הסבר מה קרה לחשבונם - text_html: אופציונלי. ניתן להשתמש בתחביר חצרוצי. ניתן להוסיף הגדרות אזהרה כדי לחסוך זמן + text_html: אופציונלי. ניתן להשתמש בתחביר הודעות. ניתן להוסיף הגדרות אזהרה כדי לחסוך זמן type_html: נא לבחור מה לעשות עם %{acct} types: disable: מנעי מהמשתמש להשתמש בחשבונם, מבלי למחוק או להסתיר את תוכנו. none: השתמשי בזה כדי לשלוח למשתמש אזהרה, מבלי לגרור פעולות נוספות. sensitive: אלצי את כל קבצי המדיה המצורפים על ידי המשתמש להיות מסומנים כרגישים. - silence: מנעי מהמשתמש להיות מסוגל לחצרץ בנראות פומבית, החביאי את חצרוציהם והתראותיהם מאנשים שלא עוקבים אחריהם. + silence: מנעי מהמשתמש להיות מסוגל לפרסם בנראות פומבית, החביאי את הודעותיהם והתראותיהם מאנשים שלא עוקבים אחריהם. suspend: מנעי כל התקשרות עם חשבון זה ומחקי את תוכנו. ניתן לשחזור תוך 30 יום. warning_preset_id: אופציונלי. ניתן עדיין להוסיף טקסט ייחודי לסוף ההגדרה announcement: @@ -26,7 +26,7 @@ he: ends_at: אופציונלי. הכרזות יוסרו באופן אוטומטי בזמן זה scheduled_at: נא להשאיר ריק כדי לפרסם את ההכרזה באופן מיידי starts_at: אופציונלי. במקרה שהכרזתך כבולה לטווח זמן ספציפי - text: ניתן להשתמש בתחביר חצרוצי. נא לשים לב לשטח שתתפוס ההכרזה על מסך המשתמש + text: ניתן להשתמש בתחביר הודעות. נא לשים לב לשטח שתתפוס ההכרזה על מסך המשתמש appeal: text: ניתן לערער על עברה רק פעם אחת defaults: @@ -42,13 +42,13 @@ he: fields: ניתן להציג עד ארבעה פריטים כטבלה בפרופילך header: PNG, GIF או JPG. מקסימום %{size}. גודל התמונה יוקטן %{dimensions}px inbox_url: נא להעתיק את הקישורית מדף הבית של הממסר בו תרצה/י להשתמש - irreversible: חצרוצים מסוננים יעלמו באופן בלתי הפיך, אפילו אם מאוחר יותר יוסר המסנן + irreversible: הודעות מסוננות יעלמו באופן בלתי הפיך, אפילו אם מאוחר יותר יוסר המסנן locale: שפת ממשק המשתמש, הדוא"ל וההתראות בדחיפה locked: מחייב אישור עוקבים באופן ידני. פרטיות ההודעות תהיה עוקבים-בלבד אלא אם יצוין אחרת password: נא להשתמש בלפחות 8 תוים - phrase: התאמה תמצא ללא תלות באזהרת תוכן בפוסט + phrase: התאמה תמצא ללא תלות באזהרת תוכן בהודעה scopes: לאיזה ממשק יורשה היישום לגשת. בבחירת תחום כללי, אין צורך לבחור ממשקים ספציפיים. - setting_aggregate_reblogs: לא להראות הדהודים של חצרוצים שהודהדו לאחרונה (משפיע רק על הדהודים שהתקבלו לא מזמן) + setting_aggregate_reblogs: לא להראות הדהודים של הודעות שהודהדו לאחרונה (משפיע רק על הדהודים שהתקבלו לא מזמן) setting_always_send_emails: בדרך כלל התראות דוא"ל לא יישלחו בזמן שימוש פעיל במסטודון setting_default_sensitive: מדיה רגישה מוסתרת כברירת מחדל וניתן להציגה בקליק setting_display_media_default: הסתרת מדיה המסומנת כרגישה @@ -56,7 +56,7 @@ he: setting_display_media_show_all: גלה מדיה תמיד setting_hide_network: עוקבייך ונעקבייך יוסתרו בפרופילך setting_noindex: משפיע על הפרופיל הציבורי שלך ועמודי ההודעות - setting_show_application: היישום בו נעשה שימוש כדי לפרסם פוסט יופיע בתצוגה המפורטת של הפוסט + setting_show_application: היישום בו נעשה שימוש כדי לפרסם הודעה יופיע בתצוגה המפורטת של ההודעה setting_use_blurhash: הגראדיינטים מבוססים על תוכן התמונה המוסתרת, אבל מסתירים את כל הפרטים setting_use_pending_items: הסתר עדכוני פיד מאחורי קליק במקום לגלול את הפיד אוטומטית username: שם המשתמש שלך יהיה ייחודי ב-%{domain} @@ -67,12 +67,33 @@ he: domain: זה יכול להיות שם הדומיין המופיע בכתובת הדוא"ל או רשומת ה-MX בה הוא משתמש. הם ייבדקו בהרשמה. with_dns_records: ייעשה נסיון למצוא את רשומות ה-DNS של דומיין נתון והתוצאות ייחסמו גם הן featured_tag: - name: 'הנה כמה מההאשטגים שהשתמשת בהם לאחרונה:' + name: 'הנה כמה מהתגיות שהשתמשת בהן לאחרונה:' filters: - action: בחרו איזו פעולה לבצע כאשר פוסט מתאים למסנן + action: בחרו איזו פעולה לבצע כאשר הודעה מתאימה למסנן actions: hide: הסתר את התוכן המסונן, כאילו לא היה קיים warn: הסתר את התוכן המסונן מאחורי אזהרה עם כותרת המסנן + form_admin_settings: + backups_retention_period: לשמור ארכיון משתמש שנוצר למשך מספר הימים המצוין. + bootstrap_timeline_accounts: חשבונות אלו יוצמדו לראש רשימת המלצות המעקב של משתמשים חדשים. + closed_registrations_message: להציג כאשר הרשמות חדשות אינן מאופשרות + content_cache_retention_period: הודעות משרתים אחרים ימחקו אחרי מספר הימים המצוין כאשר מצוין מספר חיובי. פעולה זו אינה הפיכה. + custom_css: ניתן לבחור ערכות סגנון אישיות בגרסת הדפדפן של מסטודון. + mascot: בחירת ציור למנשק הווב המתקדם. + media_cache_retention_period: קבצי מדיה שהורדו ימחקו אחרי מספר הימים שיצוינו אם נבחר מספר חיובי, או-אז יורדו שוב מחדש בהתאם לצורך. + profile_directory: מדריך הפרופילים מפרט את כל המשתמשים שביקשו להיות ניתנים לגילוי. + require_invite_text: כאשר הרשמות דורשות אישור ידני, הפיכת טקסט ה"מדוע את/ה רוצה להצטרף" להכרחי במקום אופציונלי + site_contact_email: מה היא הדרך ליצור איתך קשר לצורך תמיכה או לצורך תאימות עם החוק. + site_contact_username: כיצד יכולים אחרים ליצור איתך קשר על רשת מסטודון. + site_extended_description: מידע נוסף שיהיה מועיל למבקרים ולמשתמשים שלך. ניתן לכתוב בתחביר מארקדאון. + site_short_description: תיאור קצר שיעזור להבחין בייחודיות השרת שלך. מי מריץ אותו, למי הוא מיועד? + site_terms: נסחו מדיניות פרטיות או השאירו ריק כדי להשתמש בברירת המחדל. ניתן לנסח בעזרת תחביר מארקדאון. + site_title: כיצד יקרא השרת שלך על ידי הקהל מלבד שם המתחם. + theme: ערכת המראה שיראו משתמשים חדשים ולא מחוברים. + thumbnail: תמונה ביחס 2:1 בערך שתוצג ליד המידע על השרת שלך. + timeline_preview: משתמשים מנותקים יוכלו לדפדף בהודעות ציר הזמן הציבורי שעל השרת. + trendable_by_default: לדלג על בדיקה ידנית של התכנים החמים. פריטים ספציפיים עדיין ניתנים להסרה לאחר מעשה. + trends: נושאים חמים יציגו אילו הודעות, תגיות וידיעות חדשות צוברות חשיפה על השרת שלך. form_challenge: current_password: את.ה נכנס. ת לאזור מאובטח imports: @@ -96,7 +117,7 @@ he: tag: name: ניתן רק להחליף בין אותיות קטנות וגדולות, למשל כדי לשפר את הקריאות user: - chosen_languages: אם פעיל, רק חצרוצים בשפות הנבחרות יוצגו לפידים הפומביים + chosen_languages: אם פעיל, רק הודעות בשפות הנבחרות יוצגו לפידים הפומביים role: התפקיד שולט על אילו הרשאות יש למשתמש user_role: color: צבע לתפקיד בממשק המשתמש, כ RGB בפורמט הקסדצימלי @@ -120,7 +141,7 @@ he: text: טקסט קבוע מראש title: כותרת admin_account_action: - include_statuses: כלול חצרוצים מדווחים בהודעת הדוא"ל + include_statuses: כלול הודעות מדווחות בהודעת הדוא"ל send_email_notification: יידע את המשתמש באמצעות דוא"ל text: התראה בהתאמה אישית type: פעולה @@ -171,8 +192,8 @@ he: setting_always_send_emails: תמיד שלח התראות לדוא"ל setting_auto_play_gif: ניגון אוטומטי של גיפים setting_boost_modal: הצגת דיאלוג אישור לפני הדהוד - setting_crop_images: קטום תמונות בחצרוצים לא מורחבים ל 16 על 9 - setting_default_language: שפת ברירת מחדל לפוסט + setting_crop_images: קטום תמונות בהודעות לא מורחבות ל 16 על 9 + setting_default_language: שפת ברירת מחדל להודעה setting_default_privacy: פרטיות ההודעות setting_default_sensitive: תמיד לתת סימון "רגיש" למדיה setting_delete_modal: להראות תיבת אישור לפני מחיקת חיצרוץ @@ -181,11 +202,11 @@ he: setting_display_media_default: ברירת מחדל setting_display_media_hide_all: להסתיר הכל setting_display_media_show_all: להציג הכול - setting_expand_spoilers: להרחיב תמיד חצרוצים מסומנים באזהרת תוכן + setting_expand_spoilers: להרחיב תמיד הודעות מסומנות באזהרת תוכן setting_hide_network: להחביא את הגרף החברתי שלך setting_noindex: לבקש הסתרה ממנועי חיפוש setting_reduce_motion: הפחתת תנועה בהנפשות - setting_show_application: הצגת הישום ששימש לפרסום הפוסט + setting_show_application: הצגת הישום ששימש לפרסום ההודעה setting_system_font_ui: להשתמש בגופן ברירת המחדל של המערכת setting_theme: ערכת העיצוב של האתר setting_trends: הצגת הנושאים החמים @@ -202,11 +223,35 @@ he: email_domain_block: with_dns_records: לכלול רשומות MX וכתובות IP של הדומיין featured_tag: - name: האשתג + name: תגית filters: actions: hide: הסתרה כוללת warn: הסתרה עם אזהרה + form_admin_settings: + backups_retention_period: תקופת השמירה של ארכיון המשתמש + bootstrap_timeline_accounts: המלצה על חשבונות אלה למשתמשים חדשים + closed_registrations_message: הודעה מיוחדת כשההרשמה לא מאופשרת + content_cache_retention_period: תקופת שמירת מטמון תוכן + custom_css: CSS בהתאמה אישית + mascot: סמל השרת (ישן) + media_cache_retention_period: תקופת שמירת מטמון מדיה + profile_directory: הפעלת ספריית פרופילים + registrations_mode: מי יכולים לפתוח חשבון + require_invite_text: לדרוש סיבה להצטרפות + show_domain_blocks: הצגת חסימת דומיינים + show_domain_blocks_rationale: הצגת סיבות חסימה למתחמים + site_contact_email: דואל ליצירת קשר + site_contact_username: שם משתמש של איש קשר + site_extended_description: תיאור מורחב + site_short_description: תיאור השרת + site_terms: מדיניות פרטיות + site_title: שם השרת + theme: ערכת נושא ברירת מחדל + thumbnail: תמונה ממוזערת מהשרת + timeline_preview: הרשאת גישה בלתי מאומתת לפיד הפומבי + trendable_by_default: הרשאה לפריטים להופיע בנושאים החמים ללא אישור מוקדם + trends: אפשר פריטים חמים (טרנדים) interactions: must_be_follower: חסימת התראות משאינם עוקבים must_be_following: חסימת התראות משאינם נעקבים @@ -226,21 +271,21 @@ he: notification_emails: appeal: מישהם מערערים על החלטת מנהל קהילה digest: שליחת הודעות דוא"ל מסכמות - favourite: שליחת דוא"ל כשמחבבים פוסט + favourite: שליחת דוא"ל כשמחבבים הודעה follow: שליחת דוא"ל כשנוספות עוקבות follow_request: שליחת דוא"ל כשמבקשים לעקוב mention: שליחת דוא"ל כשפונים אלייך pending_account: נדרשת סקירה של חשבון חדש - reblog: שליחת דוא"ל כשמהדהדים פוסט שלך + reblog: שליחת דוא"ל כשמהדהדים הודעה שלך report: דו"ח חדש הוגש trending_tag: נושאים חמים חדשים דורשים סקירה rule: text: כלל tag: - listable: הרשה/י להאשתג זה להופיע בחיפושים והצעות - name: האשתג - trendable: הרשה/י להאשתג זה להופיע תחת נושאים חמים - usable: הרשה/י לחצרוצים להכיל האשתג זה + listable: הרשה/י לתגית זו להופיע בחיפושים והצעות + name: תגית + trendable: הרשה/י לתגית זו להופיע תחת נושאים חמים + usable: הרשה/י להודעות להכיל תגית זו user: role: תפקיד user_role: diff --git a/config/locales/simple_form.it.yml b/config/locales/simple_form.it.yml index dd9207b44b5..2f33fb622d2 100644 --- a/config/locales/simple_form.it.yml +++ b/config/locales/simple_form.it.yml @@ -3,7 +3,7 @@ it: simple_form: hints: account_alias: - acct: Indica il nomeutente@dominio dell'account da cui vuoi trasferirti + acct: Indica il nomeutente@dominio dell'account dal quale vuoi trasferirti account_migration: acct: Indica il nomeutente@dominio dell'account al quale vuoi trasferirti account_warning_preset: diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml index 7f31232a114..8b5b1dce3a6 100644 --- a/config/locales/simple_form.lv.yml +++ b/config/locales/simple_form.lv.yml @@ -54,7 +54,7 @@ lv: setting_display_media_default: Paslēpt mediju, kas atzīmēts kā sensitīvs setting_display_media_hide_all: Vienmēr slēpt medijus setting_display_media_show_all: Vienmēr rādīt medijus - setting_hide_network: Kam tu seko un kurš seko tev, tavā profilā tiks paslēps + setting_hide_network: Tavā profilā netiks rādīts, kam tu seko un kurš seko tev setting_noindex: Ietekmē tavu publisko profilu un ziņu lapas setting_show_application: Lietojumprogramma, ko tu izmanto publicēšanai, tiks parādīta tavu ziņu detalizētajā skatā setting_use_blurhash: Gradientu pamatā ir paslēpto vizuālo attēlu krāsas, bet neskaidras visas detaļas @@ -120,7 +120,7 @@ lv: chosen_languages: Ja ieķeksēts, publiskos laika grafikos tiks parādītas tikai ziņas noteiktajās valodās role: Loma kontrolē, kādas atļaujas ir lietotājam user_role: - color: Krāsa, kas jāizmanto lomai visā lietotāja interfeisā, kā RGB hex formātā + color: Krāsa, kas jāizmanto lomai visā lietotāja saskarnē, kā RGB hex formātā highlighted: Tas padara lomu publiski redzamu name: Lomas publiskais nosaukums, ja loma ir iestatīta rādīšanai kā emblēma permissions_as_keys: Lietotājiem ar šo lomu būs piekļuve... @@ -179,7 +179,7 @@ lv: honeypot: "%{label} (neaizpildi)" inbox_url: URL vai releja pastkaste irreversible: Nomest, nevis paslēpt - locale: Interfeisa valoda + locale: Saskarnes valoda locked: Pieprasīt sekotāju pieprasījumus max_uses: Maksimālais lietojumu skaits new_password: Jauna parole @@ -187,7 +187,7 @@ lv: otp_attempt: Divfaktoru kods password: Parole phrase: Atslēgvārds vai frāze - setting_advanced_layout: Iespējot paplašināto web interfeisu + setting_advanced_layout: Iespējot paplašināto tīmekļa saskarni setting_aggregate_reblogs: Grupēt paaugstinājumus ziņu lentās setting_always_send_emails: Vienmēr sūtīt e-pasta paziņojumus setting_auto_play_gif: Automātiski atskaņot animētos GIF @@ -203,7 +203,7 @@ lv: setting_display_media_hide_all: Paslēpt visu setting_display_media_show_all: Parādīt visu setting_expand_spoilers: Vienmēr izvērst ziņas, kas apzīmētas ar brīdinājumiem par saturu - setting_hide_network: Slēpt savu sociālo diagrammu + setting_hide_network: Slēpt savu sociālo grafu setting_noindex: Atteikties no meklētājprogrammu indeksēšanas setting_reduce_motion: Ierobežot kustību animācijās setting_show_application: Atklāt lietojumprogrammu, ko izmanto ziņu nosūtīšanai diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 7d627b8f759..44db453904d 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -64,6 +64,7 @@ nl: domain_allow: domain: Dit domein is in staat om gegevens van deze server op te halen, en binnenkomende gegevens worden verwerkt en opgeslagen email_domain_block: + domain: Dit kan de domeinnaam zijn die wordt weergegeven in het e-mailadres of in het MX-record dat het gebruikt. Ze worden gecontroleerd tijdens de registratie. with_dns_records: Er wordt een poging gewaagd om de desbetreffende DNS-records op te zoeken, waarna de resultaten ook worden geblokkeerd featured_tag: name: 'Hier zijn enkele van de hashtags die je onlangs hebt gebruikt:' @@ -84,7 +85,9 @@ nl: require_invite_text: Maak het invullen van "Waarom wil je je hier registreren?" verplicht in plaats van optioneel, wanneer registraties handmatig moeten worden goedgekeurd site_contact_email: Hoe mensen je kunnen bereiken voor juridische vragen of support. site_contact_username: Hoe mensen je op Mastodon kunnen bereiken. - site_terms: Gebruik je eigen privacybeleid of laat leeg om de standaardwaarde te gebruiken. Kan worden opgemaakt met Markdown syntax. + site_extended_description: Alle aanvullende informatie die nuttig kan zijn voor bezoekers en jouw gebruikers. Kan worden opgemaakt met Markdown. + site_short_description: Een korte beschrijving om het unieke karakter van je server te tonen. Wie beheert de server, wat is de doelgroep? + site_terms: Gebruik je eigen privacybeleid of laat leeg om de standaardwaarde te gebruiken. Kan worden opgemaakt met Markdown. site_title: Hoe mensen buiten de domeinnaam naar je server kunnen verwijzen. theme: Thema die (niet ingelogde) bezoekers en nieuwe gebruikers zien. thumbnail: Een afbeelding van ongeveer een verhouding van 2:1 die naast jouw serverinformatie wordt getoond. @@ -121,6 +124,7 @@ nl: highlighted: Dit maakt de rol openbaar zichtbaar name: Openbare naam van de rol, wanneer de rol als badge op profielpagina's wordt getoond permissions_as_keys: Gebruikers met deze rol hebben toegang tot... + position: Een hogere rol beslist in bepaalde situaties over het oplossen van conflicten. Bepaalde acties kunnen alleen worden uitgevoerd op rollen met een lagere prioriteit webhook: events: Selecteer de te verzenden gebeurtenissen url: Waar gebeurtenissen naartoe worden verzonden @@ -158,7 +162,7 @@ nl: text: Leg uit waarom deze beslissing volgens jou teruggedraaid moet worden defaults: autofollow: Uitnodigen om jouw account te volgen - avatar: Avatar + avatar: Profielfoto bot: Dit is een bot-account chosen_languages: Talen filteren confirm_new_password: Nieuw wachtwoord bevestigen diff --git a/config/locales/simple_form.nn.yml b/config/locales/simple_form.nn.yml index 0343dc4572d..50dacf53a01 100644 --- a/config/locales/simple_form.nn.yml +++ b/config/locales/simple_form.nn.yml @@ -3,14 +3,14 @@ nn: simple_form: hints: account_alias: - acct: Spesifiser brukarnamn@domenet til brukaren du vil flytja frå + acct: Angi brukarnamn@domene til brukaren du ynskjer å flytta frå account_migration: - acct: Spesifiser brukarnamn@domenet til brukaren du vil flytja til + acct: Angi brukarnamn@domene til brukaren du ynskjer å flytta til account_warning_preset: text: Du kan bruka tut-syntaks, som t. d. URL-ar, emneknaggar og nemningar title: Valfritt. Ikkje synleg for mottakar admin_account_action: - include_statuses: Brukaren får sjå kva tut som gjorde moderatorhandllinga eller -åtvaringa + include_statuses: Brukaren får sjå kva tut som førte til moderatorhandlinga eller -åtvaringa send_email_notification: Brukaren får ei forklåring av kva som har hendt med kontoen sin text_html: Valfritt. Du kan bruka tut-syntaks. Du kan leggja til åtvaringsførehandsinnstillingar for å spara tid type_html: Vel det du vil gjera med %{acct} @@ -56,18 +56,44 @@ nn: setting_display_media_show_all: Vis alltid media setting_hide_network: Kven du fylgjer og kven som fylgjer deg vert ikkje vist på profilen din setting_noindex: Påverkar den offentlege profilen og statussidene dine - setting_show_application: Programmet du brukar for å tuta synast i den detaljerte visninga av tuta dine - setting_use_blurhash: Overgangar er bygt på dei løynde sine leter, men gjer detaljar utydelege - setting_use_pending_items: Gøym tidslineoppdateringar ved eit klikk, i staden for å bla ned hendestraumen automatisk + setting_show_application: Programmet du brukar for å tuta blir vist i den detaljerte visninga av tuta dine + setting_use_blurhash: Overgangar er basert på fargane til skjulte grafikkelement, men gjer detaljar utydelege + setting_use_pending_items: Gøym tidslineoppdateringar bak eit klikk, i staden for å rulla ned automatisk username: Brukarnamnet ditt vert unikt på %{domain} whole_word: Når søkjeordet eller setninga berre er alfanumerisk, nyttast det berre om det samsvarar med heile ordet domain_allow: domain: Dette domenet er i stand til å henta data frå denne tenaren og innkomande data vert handsama og lagra email_domain_block: domain: Dette kan vera domenenamnet som blir vist i e-postadressa eller den MX-oppføringa den brukar. Dei vil bli kontrollert ved registrering. - with_dns_records: Eit forsøk på å løysa gjeve domene som DNS-data vil vera gjord og resultata vert svartelista + with_dns_records: Det vil bli gjort eit forsøk på å avgjera DNS-oppføringa til domenet og resultata vil bli tilsvarande blokkert featured_tag: - name: 'Her er nokre av dei mest brukte hashtaggane dine i det siste:' + name: 'Her er nokre av emneknaggane du har brukt i det siste:' + filters: + action: Velg kva som skal gjerast når eit innlegg samsvarar med filteret + actions: + hide: Skjul filtrert innhald fullstendig og lat som om det ikkje finst + warn: Skjul det filtrerte innhaldet bak ei åtvaring som nemner tittelen på filteret + form_admin_settings: + backups_retention_period: Ta vare på genererte brukararkiv i angitt antal dagar. + bootstrap_timeline_accounts: Desse kontoane vil bli festa øverst på fylgjaranbefalingane til nye brukarar. + closed_registrations_message: Vist når det er stengt for registrering + content_cache_retention_period: Innlegg frå andre tenarar vil bli sletta etter det angitte talet på dagar når det er sett til ein positiv verdi. Dette kan vera irreversibelt. + custom_css: Du kan bruka eigendefinerte stilar på nettversjonen av Mastodon. + mascot: Overstyrer illustrasjonen i det avanserte webgrensesnittet. + media_cache_retention_period: Mediafiler som har blitt lasta ned vil bli sletta etter det angitte talet på dagar når det er sett til ein positiv verdi, og lasta ned på nytt ved etterspørsel. + profile_directory: Profilkatalogen viser alle brukarar som har valt å kunne bli oppdaga. + require_invite_text: Når registrering krev manuell godkjenning, lyt du gjera tekstfeltet "Kvifor vil du bli med?" obligatorisk i staden for valfritt + site_contact_email: Korleis kan ein få tak i deg når det gjeld juridiske spørsmål eller spørsmål om støtte. + site_contact_username: Korleis folk kan koma i kontakt med deg på Mastodon. + site_extended_description: Tilleggsinformasjon som kan vera nyttig for besøkjande og brukarar. Kan strukturerast med Markdown-syntaks. + site_short_description: Ein kort omtale for lettare å finne tenaren blant alle andre. Kven driftar han, kven er i målgruppa? + site_terms: Bruk eigen personvernpolicy eller la stå tom for å bruka standard. Kan strukturerast med Markdown-syntaks. + site_title: Kva ein kan kalla tenaren, utanom domenenamnet. + theme: Tema som er synleg for nye brukarar og besøkjande som ikkje er logga inn. + thumbnail: Eit omlag 2:1 bilete vist saman med informasjon om tenaren. + timeline_preview: Besøkjande som ikkje er logga inn vil kunne bla gjennom dei siste offentlege innlegga på tenaren. + trendable_by_default: Hopp over manuell gjennomgang av populært innhald. Enkeltståande innlegg kan fjernast frå trendar i etterkant. + trends: Trendar viser kva for nokre innlegg, emneknaggar og nyheiter som er i støytet på tenaren. form_challenge: current_password: Du går inn i eit trygt område imports: @@ -75,25 +101,33 @@ nn: invite_request: text: Dette kjem til å hjelpa oss med å gå gjennom søknaden din ip_block: - comment: Valgfritt. Husk hvorfor du la til denne regelen. - expires_in: IP-adressene er en helt begrenset ressurs, de deles og endres ofte hender. Ubestemte IP-blokker anbefales ikke. - ip: Skriv inn en IPv4 eller IPv6-adresse. Du kan blokkere alle områder ved å bruke CIDR-syntaksen. Pass på å ikke låse deg selv! + comment: Valfritt. Hugs kvifor du la til denne regelen. + expires_in: IP-adresser er ein avgrensa ressurs, er av og til delte og byter ofte eigar. På grunn av dette er det ikkje tilrådd med uavgrensa IP-blokkeringar. + ip: Skriv inn ei IPv4 eller IPv6 adresse. Du kan blokkere heile IP-områder ved bruk av CIDR-syntaks. Pass på å ikkje blokkera deg sjølv! severities: no_access: Blokker tilgang til alle ressurser - sign_up_requires_approval: Nye registreringer vil kreve din godkjenning - severity: Velg hva som vil skje med forespørsler fra denne IP + sign_up_block: Nye registreringar vil ikkje vera mogleg + sign_up_requires_approval: Du må godkjenna nye registreringar + severity: Vel kva som skal skje ved førespurnader frå denne IP rule: - text: Beskriv en regel eller krav til brukere på denne serveren. Prøv å holde den kort og enkelt + text: Forklar ein regel eller eit krav for brukarar på denne tenaren. Prøv å skriva kort og lettfattleg sessions: otp: Angi tofaktorkoden fra din telefon eller bruk en av dine gjenopprettingskoder. + webauthn: Om det er ein USB-nøkkel må du setja han inn og om nødvendig trykkja på han. tag: name: Du kan berre endra bruken av store/små bokstavar, t. d. for å gjera det meir leseleg user: chosen_languages: Når merka vil berre tuta på dei valde språka synast på offentlege tidsliner role: Rolla kontrollerer kva tilgangar brukaren har user_role: + color: Fargen som skal nyttast for denne rolla i heile brukargrensesnittet, som RGB i hex-format highlighted: Dette gjer rolla synleg offentleg + name: Offentleg namn på rolla, dersom rolla skal visast som eit emblem permissions_as_keys: Brukarar med denne rolla vil ha tilgang til... + position: Høgare rolle avgjer konfliktløysing i visse situasjonar. Visse handlingar kan kun utførast på rollar med lågare prioritet + webhook: + events: Vel hendingar å senda + url: Kvar hendingar skal sendast labels: account: fields: @@ -114,7 +148,7 @@ nn: types: disable: Slå av innlogging none: Gjer inkje - sensitive: Sensitiv + sensitive: Ømtolig silence: Togn suspend: Utvis og slett kontodata for godt warning_preset_id: Bruk åtvaringsoppsett @@ -124,6 +158,8 @@ nn: scheduled_at: Planlegg publisering starts_at: Byrjing av hendinga text: Lysing + appeal: + text: Forklar kvifor denne avgjerda bør gjerast om defaults: autofollow: Bed om å fylgja kontoen din avatar: Bilete @@ -192,6 +228,30 @@ nn: actions: hide: Gøym totalt warn: Gøym med ei advarsel + form_admin_settings: + backups_retention_period: Arkiveringsperiode for brukararkiv + bootstrap_timeline_accounts: Tilrå alltid desse kontoane for nye brukarar + closed_registrations_message: Eigendefinert melding når registrering ikkje er mogleg + content_cache_retention_period: Oppbevaringsperiode for innhaldsbuffer + custom_css: Egendefinert CSS + mascot: Eigendefinert maskot (eldre funksjon) + media_cache_retention_period: Oppbevaringsperiode for mediebuffer + profile_directory: Aktiver profilkatalog + registrations_mode: Kven kan registrera seg + require_invite_text: Krev ei grunngjeving for å få bli med + show_domain_blocks: Vis domeneblokkeringar + show_domain_blocks_rationale: Vis grunngjeving for domeneblokkeringar + site_contact_email: E-postadresse for kontakt + site_contact_username: Brukarnamn for kontakt + site_extended_description: Utvida omtale av tenaren + site_short_description: Stutt om tenaren + site_terms: Personvernsreglar + site_title: Tenarnamn + theme: Standardtema + thumbnail: Miniatyrbilete for tenaren + timeline_preview: Tillat uautentisert tilgang til offentleg tidsline + trendable_by_default: Tillat trendar utan gjennomgang på førehand + trends: Aktiver trendar interactions: must_be_follower: Gøym varslingar frå folk som ikkje fylgjer deg must_be_following: Gøym varslingar frå folk du ikkje fylgjer @@ -205,9 +265,11 @@ nn: ip: IP severities: no_access: Blokker tilgang + sign_up_block: Blokker registrering sign_up_requires_approval: Begrens påmeldinger severity: Oppføring notification_emails: + appeal: Nokon klagar på ei moderatoravgjerd digest: Send samandrag på e-post favourite: Send e-post når nokon merkjer statusen din som favoritt follow: Send e-post når nokon fylgjer deg @@ -216,6 +278,7 @@ nn: pending_account: Send e-post når ein ny konto treng gjennomgang reblog: Send e-post når nokon framhevar statusen din report: Ny rapport er sendt + trending_tag: Ny trend krev gjennomgang rule: text: Regler tag: @@ -226,11 +289,16 @@ nn: user: role: Rolle user_role: + color: Emblemfarge + highlighted: Vis rolle som emblem på brukarprofil name: Namn + permissions_as_keys: Løyve position: Prioritet webhook: + events: Aktiverte hendingar url: Endepunkts-URL 'no': Nei + not_recommended: Ikkje anbefalt recommended: Tilrådt required: mark: "*" diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml index 7d7a152453a..c074b894534 100644 --- a/config/locales/simple_form.oc.yml +++ b/config/locales/simple_form.oc.yml @@ -40,6 +40,7 @@ oc: phrase: Serà pres en compte que siá en majuscula o minuscula o dins un avertiment de contengut sensible scopes: A quinas APIs poiràn accedir las aplicacions. Se seleccionatz un encastre de naut nivèl, fa pas mestièr de seleccionar los nivèls mai basses. setting_aggregate_reblogs: Mostrar pas los nòus partatges que son estats partejats recentament (afecta pas que los nòus partatges recebuts) + setting_always_send_emails: Normalament enviam pas los corrièls de notificacion se sètz a utilizar Mastodon activament setting_default_sensitive: Los mèdias sensibles son resconduts per defaut e se revelhan amb un clic setting_display_media_default: Rescondre los mèdias marcats coma sensibles setting_display_media_hide_all: Totjorn rescondre los mèdias @@ -135,6 +136,7 @@ oc: phrase: Senhal o frasa setting_advanced_layout: Activar l’interfàcia web avançada setting_aggregate_reblogs: Agropar los partatges dins lo flux d’actualitat + setting_always_send_emails: Totjorn enviar los corrièls de notificacion setting_auto_play_gif: Lectura automatica dels GIFS animats setting_boost_modal: Mostrar una fenèstra de confirmacion abans de partejar un estatut setting_crop_images: Retalhar los imatges dins los tuts pas desplegats a 16x9 diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index c2d3b9ffe57..aa2d6ef8d98 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -67,9 +67,9 @@ pt-BR: domain: Este pode ser o nome de domínio que aparece no endereço de e-mail ou no registro MX que ele utiliza. Eles serão verificados após a inscrição. with_dns_records: Será feita uma tentativa de resolver os registros DNS do domínio em questão e os resultados também serão colocados na lista negra featured_tag: - name: 'Aqui estão algumas ‘hashtags’ utilizadas recentemente:' + name: 'Aqui estão algumas hashtags usadas recentemente:' filters: - action: Escolher qual ação executar quando um post corresponder ao filtro + action: Escolher qual ação executar quando uma publicação corresponder ao filtro actions: hide: Esconder completamente o conteúdo filtrado, comportando-se como se ele não existisse warn: Ocultar o conteúdo filtrado por trás de um aviso mencionando o título do filtro @@ -79,10 +79,11 @@ pt-BR: closed_registrations_message: Exibido quando as inscrições estiverem fechadas site_contact_username: Como as pessoas podem chegar até você no Mastodon. site_extended_description: Quaisquer informações adicionais que possam ser úteis para os visitantes e seus usuários. Podem ser estruturadas com formato Markdown. + site_title: Como as pessoas podem se referir ao seu servidor além do nome do domínio. form_challenge: current_password: Você está entrando em uma área segura imports: - data: Arquivo CSV exportado de outra instância Mastodon + data: Arquivo CSV exportado de outro servidor Mastodon invite_request: text: Isso vai nos ajudar a revisar sua aplicação ip_block: @@ -206,8 +207,16 @@ pt-BR: hide: Ocultar completamente warn: Ocultar com um aviso form_admin_settings: + custom_css: CSS personalizável + profile_directory: Ativar diretório de perfis registrations_mode: Quem pode se inscrever site_contact_email: E-mail de contato + site_extended_description: Descrição estendida + site_short_description: Descrição do servidor + site_terms: Política de privacidade + site_title: Nome do servidor + theme: Tema padrão + thumbnail: Miniatura do servidor trends: Habilitar tendências interactions: must_be_follower: Bloquear notificações de não-seguidores @@ -222,6 +231,7 @@ pt-BR: ip: IP severities: no_access: Bloquear acesso + sign_up_block: Bloquear registros sign_up_requires_approval: Limitar novas contas severity: Regra notification_emails: @@ -242,10 +252,18 @@ pt-BR: name: Hashtag trendable: Permitir que esta hashtag fique em alta usable: Permitir que toots usem esta hashtag + user: + role: Cargo + user_role: + color: Cor do emblema + name: Nome + permissions_as_keys: Permissões + position: Prioridade webhook: events: Eventos habilitados url: URL do Endpoint 'no': Não + not_recommended: Não recomendado recommended: Recomendado required: mark: "*" diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 758549c6f2c..021def2fd76 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -42,7 +42,7 @@ th: fields: คุณสามารถมีได้มากถึง 4 รายการแสดงเป็นตารางในโปรไฟล์ของคุณ header: PNG, GIF หรือ JPG สูงสุด %{size} จะถูกย่อขนาดเป็น %{dimensions}px inbox_url: คัดลอก URL จากหน้าแรกของรีเลย์ที่คุณต้องการใช้ - irreversible: โพสต์ที่กรองจะหายไปอย่างถาวร แม้ว่าจะเอาตัวกรองออกในภายหลัง + irreversible: โพสต์ที่กรองอยู่จะหายไปอย่างถาวร แม้ว่าจะเอาตัวกรองออกในภายหลัง locale: ภาษาของส่วนติดต่อผู้ใช้, อีเมล และการแจ้งเตือนแบบผลัก locked: ควบคุมผู้ที่สามารถติดตามคุณด้วยตนเองได้โดยอนุมัติคำขอติดตาม password: ใช้อย่างน้อย 8 ตัวอักษร @@ -75,6 +75,14 @@ th: warn: ซ่อนเนื้อหาที่กรองอยู่หลังคำเตือนที่กล่าวถึงชื่อเรื่องของตัวกรอง form_admin_settings: closed_registrations_message: แสดงเมื่อมีการปิดการลงทะเบียน + mascot: เขียนทับภาพประกอบในส่วนติดต่อเว็บขั้นสูง + site_contact_email: วิธีที่ผู้คนสามารถเข้าถึงคุณสำหรับการสอบถามด้านกฎหมายหรือการสนับสนุน + site_contact_username: วิธีที่ผู้คนสามารถเข้าถึงคุณใน Mastodon + site_terms: ใช้นโยบายความเป็นส่วนตัวของคุณเองหรือเว้นว่างไว้เพื่อใช้ค่าเริ่มต้น สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown + site_title: วิธีที่ผู้คนอาจอ้างอิงถึงเซิร์ฟเวอร์ของคุณนอกเหนือจากชื่อโดเมนของเซิร์ฟเวอร์ + theme: ชุดรูปแบบที่ผู้เยี่ยมชมที่ออกจากระบบและผู้ใช้ใหม่เห็น + thumbnail: แสดงภาพ 2:1 โดยประมาณควบคู่ไปกับข้อมูลเซิร์ฟเวอร์ของคุณ + timeline_preview: ผู้เยี่ยมชมที่ออกจากระบบจะสามารถเรียกดูโพสต์สาธารณะล่าสุดที่มีในเซิร์ฟเวอร์ trends: แนวโน้มแสดงว่าโพสต์, แฮชแท็ก และเรื่องข่าวใดกำลังได้รับความสนใจในเซิร์ฟเวอร์ของคุณ form_challenge: current_password: คุณกำลังเข้าสู่พื้นที่ปลอดภัย @@ -212,6 +220,8 @@ th: warn: ซ่อนด้วยคำเตือน form_admin_settings: backups_retention_period: ระยะเวลาการเก็บรักษาการเก็บถาวรผู้ใช้ + bootstrap_timeline_accounts: แนะนำบัญชีเหล่านี้ให้กับผู้ใช้ใหม่เสมอ + closed_registrations_message: ข้อความที่กำหนดเองเมื่อการลงทะเบียนไม่พร้อมใช้งาน content_cache_retention_period: ระยะเวลาการเก็บรักษาแคชเนื้อหา custom_css: CSS ที่กำหนดเอง mascot: มาสคอตที่กำหนดเอง (ดั้งเดิม) @@ -220,6 +230,7 @@ th: registrations_mode: ผู้ที่สามารถลงทะเบียน require_invite_text: ต้องมีเหตุผลที่จะเข้าร่วม show_domain_blocks: แสดงการปิดกั้นโดเมน + show_domain_blocks_rationale: แสดงเหตุผลที่โดเมนได้รับการปิดกั้น site_contact_email: อีเมลสำหรับติดต่อ site_contact_username: ชื่อผู้ใช้สำหรับติดต่อ site_extended_description: คำอธิบายแบบขยาย @@ -228,6 +239,7 @@ th: site_title: ชื่อเซิร์ฟเวอร์ theme: ชุดรูปแบบเริ่มต้น thumbnail: ภาพขนาดย่อเซิร์ฟเวอร์ + timeline_preview: อนุญาตการเข้าถึงเส้นเวลาสาธารณะที่ไม่ได้รับรองความถูกต้อง trendable_by_default: อนุญาตแนวโน้มโดยไม่มีการตรวจทานล่วงหน้า trends: เปิดใช้งานแนวโน้ม interactions: diff --git a/config/locales/simple_form.tr.yml b/config/locales/simple_form.tr.yml index 6eb379ad8b9..5ccb6016973 100644 --- a/config/locales/simple_form.tr.yml +++ b/config/locales/simple_form.tr.yml @@ -3,7 +3,7 @@ tr: simple_form: hints: account_alias: - acct: Taşıyacağınız hesabı kullanıcıadı@alanadı şeklinde belirtin + acct: Taşımak istediğiniz hesabı kullanıcıadı@alanadı şeklinde belirtin account_migration: acct: Yeni hesabınızı kullanıcıadı@alanadını şeklinde belirtin account_warning_preset: diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 8392ece915f..c2a249b59f3 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -686,6 +686,7 @@ sv: title: Bibehållande av innehåll discovery: follow_recommendations: Följrekommendationer + preamble: Att visa intressant innehåll är avgörande i onboarding av nya användare som kanske inte känner någon på Mastodon. Styr hur olika upptäcktsfunktioner fungerar på din server. profile_directory: Profilkatalog public_timelines: Offentliga tidslinjer title: Upptäck @@ -861,16 +862,22 @@ sv: body: "%{target} överklagade ett modereringsbeslut av typen %{type}, taget av %{action_taken_by} den %{date}. De skrev:" next_steps: Du kan godkänna överklagan för att ångra modereringsbeslutet, eller ignorera det. subject: "%{username} överklagar ett modereringsbeslut på %{instance}" + new_pending_account: + body: Detaljerna för det nya kontot finns nedan. Du kan godkänna eller avvisa denna ansökan. + subject: Nytt konto flaggat för granskning på %{instance} (%{username}) new_report: body: "%{reporter} har rapporterat %{target}" body_remote: Någon från %{domain} har rapporterat %{target} subject: Ny rapport för %{instance} (#%{id}) new_trends: + body: 'Följande objekt behöver granskas innan de kan visas publikt:' new_trending_links: title: Trendande länkar new_trending_statuses: title: Trendande inlägg new_trending_tags: + no_approved_tags: Det finns för närvarande inga godkända trendande hashtaggar. + requirements: 'Någon av dessa kandidater skulle kunna överträffa #%{rank} godkända trendande hashtaggar, som för närvarande är #%{lowest_tag_name} med en poäng på %{lowest_tag_score}.' title: Trendande hashtaggar subject: Nya trender tillgängliga för granskning på %{instance} aliases: @@ -878,9 +885,11 @@ sv: created_msg: Ett nytt alias skapades. Du kan nu initiera flytten från det gamla kontot. deleted_msg: Aliaset togs bort. Att flytta från det kontot till detta kommer inte längre vara möjligt. empty: Du har inga alias. + hint_html: Om du vill flytta från ett annat konto till detta kan du skapa ett alias här, detta krävs innan du kan fortsätta med att flytta följare från det gamla kontot till detta. Denna åtgärd är ofarlig och kan ångras. Kontomigreringen initieras från det gamla kontot.. remove: Avlänka alias appearance: advanced_web_interface: Avancerat webbgränssnitt + advanced_web_interface_hint: 'Om du vill utnyttja hela skärmens bredd så kan du i det avancerade webbgränssnittet ställa in många olika kolumner för att se så mycket information samtidigt som du vill: Hem, notiser, federerad tidslinje, valfritt antal listor och hashtaggar.' animations_and_accessibility: Animationer och tillgänglighet confirmation_dialogs: Bekräftelsedialoger discovery: Upptäck @@ -944,6 +953,7 @@ sv: title: Ställ in sign_up: preamble: Med ett konto på denna Mastodon-server kan du följa alla andra personer på nätverket, oavsett vilken server deras konto tillhör. + title: Låt oss få igång dig på %{domain}. status: account_status: Kontostatus confirming: Väntar på att e-postbekräftelsen ska slutföras. diff --git a/config/locales/th.yml b/config/locales/th.yml index 2a56a6cdf09..a941977e61a 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -665,6 +665,7 @@ th: disabled: ให้กับไม่มีใคร users: ให้กับผู้ใช้ในเซิร์ฟเวอร์ที่เข้าสู่ระบบ registrations: + preamble: ควบคุมผู้ที่สามารถสร้างบัญชีในเซิร์ฟเวอร์ของคุณ title: การลงทะเบียน registrations_mode: modes: @@ -888,6 +889,7 @@ th: resend_confirmation: ส่งคำแนะนำการยืนยันใหม่ reset_password: ตั้งรหัสผ่านใหม่ rules: + preamble: มีการตั้งและบังคับใช้กฎโดยผู้ควบคุมของ %{domain} title: กฎพื้นฐานบางประการ security: ความปลอดภัย set_new_password: ตั้งรหัสผ่านใหม่ diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index ba69d52f241..9c0c2a74de0 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -1146,7 +1146,7 @@ zh-TW: success: 資料檔上傳成功,正在匯入,請稍候 types: blocking: 您封鎖的使用者名單 - bookmarks: 我的最愛 + bookmarks: 書籤 domain_blocking: 域名封鎖名單 following: 您跟隨的使用者名單 muting: 您靜音的使用者名單 @@ -1282,7 +1282,7 @@ zh-TW: code_hint: 請輸入您驗證應用程式所產生的代碼以確認 description_html: 若您啟用使用驗證應用程式的兩階段驗證,您每次登入都需要輸入由您的手機所產生之 Token。 enable: 啟用 - instructions_html: "請用您手機上的 Google Authenticator 或類似的 TOTP 應用程式掃描此 QR code。從現在開始,該應用程式將會產生您每次登入都必須輸入的權杖。" + instructions_html: "請用您手機上的 Google Authenticator 或類似的 TOTP 應用程式掃描此 QR code。從現在開始,該應用程式將會產生您每次登入都必須輸入的 token。" manual_instructions: 如果您無法掃描 QR code,則必須手動輸入此明文密碼: setup: 設定 wrong_code: 您輸入的驗證碼無效!伺服器時間或是裝置時間無誤嗎? @@ -1470,8 +1470,8 @@ zh-TW: keep_pinned_hint: 不會刪除您的釘選嘟文 keep_polls: 保留投票 keep_polls_hint: 不會刪除您的投票 - keep_self_bookmark: 保留您已標記為書簽之嘟文 - keep_self_bookmark_hint: 不會刪除您已標記為書簽之嘟文 + keep_self_bookmark: 保留您已標記為書籤之嘟文 + keep_self_bookmark_hint: 不會刪除您已標記為書籤之嘟文 keep_self_fav: 保留您已標記為最愛之嘟文 keep_self_fav_hint: 不會刪除您已標記為最愛之嘟文 min_age: From a5394980f22e061ec7e4f6df3f3b571624f5ca7d Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 9 Nov 2022 20:10:38 +0100 Subject: [PATCH 026/144] Fix NameError in Webfinger redirect handling in ActivityPub::FetchRemoteActorService (#20260) --- app/services/activitypub/fetch_remote_actor_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/activitypub/fetch_remote_actor_service.rb b/app/services/activitypub/fetch_remote_actor_service.rb index 17bf2f2876a..db09c38d826 100644 --- a/app/services/activitypub/fetch_remote_actor_service.rb +++ b/app/services/activitypub/fetch_remote_actor_service.rb @@ -56,7 +56,7 @@ class ActivityPub::FetchRemoteActorService < BaseService @username, @domain = split_acct(webfinger.subject) unless confirmed_username.casecmp(@username).zero? && confirmed_domain.casecmp(@domain).zero? - raise Webfinger::RedirectError, "Too many webfinger redirects for URI #{uri} (stopped at #{@username}@#{@domain})" + raise Webfinger::RedirectError, "Too many webfinger redirects for URI #{@uri} (stopped at #{@username}@#{@domain})" end raise Error, "Webfinger response for #{@username}@#{@domain} does not loop back to #{@uri}" if webfinger.link('self', 'href') != @uri From 45ce858fd92e2af75989369088631087c9cd6033 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 02:31:09 +0100 Subject: [PATCH 027/144] Fix `mailers` queue not being used for mailers (#20274) Regression since Rails 6.1 --- config/application.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/config/application.rb b/config/application.rb index 2e54eb6f67a..4d6c7ebf102 100644 --- a/config/application.rb +++ b/config/application.rb @@ -163,6 +163,7 @@ module Mastodon # config.autoload_paths += Dir[Rails.root.join('app', 'api', '*')] config.active_job.queue_adapter = :sidekiq + config.action_mailer.deliver_later_queue_name = 'mailers' config.middleware.use Rack::Attack config.middleware.use Mastodon::RackMiddleware From b280a255c4ee7117fa2b141a200b76975a727a7f Mon Sep 17 00:00:00 2001 From: trwnh Date: Wed, 9 Nov 2022 21:02:05 -0600 Subject: [PATCH 028/144] Change `master` branch to `main` branch (#20290) --- config/deploy.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/deploy.rb b/config/deploy.rb index 2bdb115950f..b69a8306748 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -3,7 +3,7 @@ lock '3.17.1' set :repo_url, ENV.fetch('REPO', 'https://github.com/mastodon/mastodon.git') -set :branch, ENV.fetch('BRANCH', 'master') +set :branch, ENV.fetch('BRANCH', 'main') set :application, 'mastodon' set :rbenv_type, :user From 0cd0786aef140ea41aa229cd52ac67867259a3f5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 05:34:42 +0100 Subject: [PATCH 029/144] Revert filtering public timelines by locale by default (#20294) --- app/controllers/api/v1/timelines/public_controller.rb | 1 - app/models/public_feed.rb | 11 ++--------- app/models/tag_feed.rb | 1 - 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/app/controllers/api/v1/timelines/public_controller.rb b/app/controllers/api/v1/timelines/public_controller.rb index 15b91d63eae..d253b744f99 100644 --- a/app/controllers/api/v1/timelines/public_controller.rb +++ b/app/controllers/api/v1/timelines/public_controller.rb @@ -35,7 +35,6 @@ class Api::V1::Timelines::PublicController < Api::BaseController def public_feed PublicFeed.new( current_account, - locale: content_locale, local: truthy_param?(:local), remote: truthy_param?(:remote), only_media: truthy_param?(:only_media) diff --git a/app/models/public_feed.rb b/app/models/public_feed.rb index 2cf9206d2b5..1cfd9a500c9 100644 --- a/app/models/public_feed.rb +++ b/app/models/public_feed.rb @@ -8,7 +8,6 @@ class PublicFeed # @option [Boolean] :local # @option [Boolean] :remote # @option [Boolean] :only_media - # @option [String] :locale def initialize(account, options = {}) @account = account @options = options @@ -28,7 +27,7 @@ class PublicFeed scope.merge!(remote_only_scope) if remote_only? scope.merge!(account_filters_scope) if account? scope.merge!(media_only_scope) if media_only? - scope.merge!(language_scope) + scope.merge!(language_scope) if account&.chosen_languages.present? scope.cache_ids.to_a_paginated_by_id(limit, max_id: max_id, since_id: since_id, min_id: min_id) end @@ -86,13 +85,7 @@ class PublicFeed end def language_scope - if account&.chosen_languages.present? - Status.where(language: account.chosen_languages) - elsif @options[:locale].present? - Status.where(language: @options[:locale]) - else - Status.all - end + Status.where(language: account.chosen_languages) end def account_filters_scope diff --git a/app/models/tag_feed.rb b/app/models/tag_feed.rb index 8502b79afa3..b8cd63557e5 100644 --- a/app/models/tag_feed.rb +++ b/app/models/tag_feed.rb @@ -12,7 +12,6 @@ class TagFeed < PublicFeed # @option [Boolean] :local # @option [Boolean] :remote # @option [Boolean] :only_media - # @option [String] :locale def initialize(tag, account, options = {}) @tag = tag super(account, options) From 78a6b871fe3dae308380ea88132ddadc86a1431e Mon Sep 17 00:00:00 2001 From: James Tucker Date: Wed, 9 Nov 2022 20:49:30 -0800 Subject: [PATCH 030/144] Improve performance by avoiding regex construction (#20215) ```ruby 10.times { p /#{FOO}/.object_id } 10.times { p FOO_RE.object_id } ``` --- app/controllers/api/v1/tags_controller.rb | 2 +- app/lib/hashtag_normalizer.rb | 2 +- app/models/account.rb | 3 ++- app/models/custom_emoji.rb | 3 ++- app/models/featured_tag.rb | 2 +- app/models/tag.rb | 13 ++++++++----- app/services/account_search_service.rb | 4 +++- app/services/resolve_url_service.rb | 4 +++- 8 files changed, 21 insertions(+), 12 deletions(-) diff --git a/app/controllers/api/v1/tags_controller.rb b/app/controllers/api/v1/tags_controller.rb index 9e5c53330a5..32f71bdce2a 100644 --- a/app/controllers/api/v1/tags_controller.rb +++ b/app/controllers/api/v1/tags_controller.rb @@ -24,7 +24,7 @@ class Api::V1::TagsController < Api::BaseController private def set_or_create_tag - return not_found unless /\A(#{Tag::HASHTAG_NAME_RE})\z/.match?(params[:id]) + return not_found unless Tag::HASHTAG_NAME_RE.match?(params[:id]) @tag = Tag.find_normalized(params[:id]) || Tag.new(name: Tag.normalize(params[:id]), display_name: params[:id]) end end diff --git a/app/lib/hashtag_normalizer.rb b/app/lib/hashtag_normalizer.rb index c1f99e16383..49fa6101de0 100644 --- a/app/lib/hashtag_normalizer.rb +++ b/app/lib/hashtag_normalizer.rb @@ -8,7 +8,7 @@ class HashtagNormalizer private def remove_invalid_characters(str) - str.gsub(/[^[:alnum:]#{Tag::HASHTAG_SEPARATORS}]/, '') + str.gsub(Tag::HASHTAG_INVALID_CHARS_RE, '') end def ascii_folding(str) diff --git a/app/models/account.rb b/app/models/account.rb index be1968fa696..cc3a8f3df4a 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -64,6 +64,7 @@ class Account < ApplicationRecord USERNAME_RE = /[a-z0-9_]+([a-z0-9_\.-]+[a-z0-9_]+)?/i MENTION_RE = /(?<=^|[^\/[:word:]])@((#{USERNAME_RE})(?:@[[:word:]\.\-]+[[:word:]]+)?)/i URL_PREFIX_RE = /\Ahttp(s?):\/\/[^\/]+/ + USERNAME_ONLY_RE = /\A#{USERNAME_RE}\z/i include Attachmentable include AccountAssociations @@ -84,7 +85,7 @@ class Account < ApplicationRecord validates_with UniqueUsernameValidator, if: -> { will_save_change_to_username? } # Remote user validations - validates :username, format: { with: /\A#{USERNAME_RE}\z/i }, if: -> { !local? && will_save_change_to_username? } + validates :username, format: { with: USERNAME_ONLY_RE }, if: -> { !local? && will_save_change_to_username? } # Local user validations validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: 30 }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' } diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb index 077ce559af8..7b19cd2ac99 100644 --- a/app/models/custom_emoji.rb +++ b/app/models/custom_emoji.rb @@ -30,6 +30,7 @@ class CustomEmoji < ApplicationRecord SCAN_RE = /(?<=[^[:alnum:]:]|\n|^) :(#{SHORTCODE_RE_FRAGMENT}): (?=[^[:alnum:]:]|$)/x + SHORTCODE_ONLY_RE = /\A#{SHORTCODE_RE_FRAGMENT}\z/ IMAGE_MIME_TYPES = %w(image/png image/gif image/webp).freeze @@ -41,7 +42,7 @@ class CustomEmoji < ApplicationRecord before_validation :downcase_domain validates_attachment :image, content_type: { content_type: IMAGE_MIME_TYPES }, presence: true, size: { less_than: LIMIT } - validates :shortcode, uniqueness: { scope: :domain }, format: { with: /\A#{SHORTCODE_RE_FRAGMENT}\z/ }, length: { minimum: 2 } + validates :shortcode, uniqueness: { scope: :domain }, format: { with: SHORTCODE_ONLY_RE }, length: { minimum: 2 } scope :local, -> { where(domain: nil) } scope :remote, -> { where.not(domain: nil) } diff --git a/app/models/featured_tag.rb b/app/models/featured_tag.rb index debae22121e..70f949b6acf 100644 --- a/app/models/featured_tag.rb +++ b/app/models/featured_tag.rb @@ -17,7 +17,7 @@ class FeaturedTag < ApplicationRecord belongs_to :account, inverse_of: :featured_tags belongs_to :tag, inverse_of: :featured_tags, optional: true # Set after validation - validates :name, presence: true, format: { with: /\A(#{Tag::HASHTAG_NAME_RE})\z/i }, on: :create + validates :name, presence: true, format: { with: Tag::HASHTAG_NAME_RE }, on: :create validate :validate_tag_uniqueness, on: :create validate :validate_featured_tags_limit, on: :create diff --git a/app/models/tag.rb b/app/models/tag.rb index 8929baf66f0..b66f8542360 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -27,11 +27,14 @@ class Tag < ApplicationRecord has_many :followers, through: :passive_relationships, source: :account HASHTAG_SEPARATORS = "_\u00B7\u200c" - HASHTAG_NAME_RE = "([[:word:]_][[:word:]#{HASHTAG_SEPARATORS}]*[[:alpha:]#{HASHTAG_SEPARATORS}][[:word:]#{HASHTAG_SEPARATORS}]*[[:word:]_])|([[:word:]_]*[[:alpha:]][[:word:]_]*)" - HASHTAG_RE = /(?:^|[^\/\)\w])#(#{HASHTAG_NAME_RE})/i + HASHTAG_NAME_PAT = "([[:word:]_][[:word:]#{HASHTAG_SEPARATORS}]*[[:alpha:]#{HASHTAG_SEPARATORS}][[:word:]#{HASHTAG_SEPARATORS}]*[[:word:]_])|([[:word:]_]*[[:alpha:]][[:word:]_]*)" - validates :name, presence: true, format: { with: /\A(#{HASHTAG_NAME_RE})\z/i } - validates :display_name, format: { with: /\A(#{HASHTAG_NAME_RE})\z/i } + HASHTAG_RE = /(?:^|[^\/\)\w])#(#{HASHTAG_NAME_PAT})/i + HASHTAG_NAME_RE = /\A(#{HASHTAG_NAME_PAT})\z/i + HASHTAG_INVALID_CHARS_RE = /[^[:alnum:]#{HASHTAG_SEPARATORS}]/ + + validates :name, presence: true, format: { with: HASHTAG_NAME_RE } + validates :display_name, format: { with: HASHTAG_NAME_RE } validate :validate_name_change, if: -> { !new_record? && name_changed? } validate :validate_display_name_change, if: -> { !new_record? && display_name_changed? } @@ -102,7 +105,7 @@ class Tag < ApplicationRecord names = Array(name_or_names).map { |str| [normalize(str), str] }.uniq(&:first) names.map do |(normalized_name, display_name)| - tag = matching_name(normalized_name).first || create(name: normalized_name, display_name: display_name.gsub(/[^[:alnum:]#{HASHTAG_SEPARATORS}]/, '')) + tag = matching_name(normalized_name).first || create(name: normalized_name, display_name: display_name.gsub(HASHTAG_INVALID_CHARS_RE, '')) yield tag if block_given? diff --git a/app/services/account_search_service.rb b/app/services/account_search_service.rb index 9f2330a9476..85538870bf9 100644 --- a/app/services/account_search_service.rb +++ b/app/services/account_search_service.rb @@ -3,6 +3,8 @@ class AccountSearchService < BaseService attr_reader :query, :limit, :offset, :options, :account + MENTION_ONLY_RE = /\A#{Account::MENTION_RE}\z/i + # Min. number of characters to look for non-exact matches MIN_QUERY_LENGTH = 5 @@ -180,7 +182,7 @@ class AccountSearchService < BaseService end def username_complete? - query.include?('@') && "@#{query}".match?(/\A#{Account::MENTION_RE}\Z/) + query.include?('@') && "@#{query}".match?(MENTION_ONLY_RE) end def likely_acct? diff --git a/app/services/resolve_url_service.rb b/app/services/resolve_url_service.rb index 37c856cf869..52f35daf377 100644 --- a/app/services/resolve_url_service.rb +++ b/app/services/resolve_url_service.rb @@ -4,6 +4,8 @@ class ResolveURLService < BaseService include JsonLdHelper include Authorization + USERNAME_STATUS_RE = %r{/@(?#{Account::USERNAME_RE})/(?[0-9]+)\Z} + def call(url, on_behalf_of: nil) @url = url @on_behalf_of = on_behalf_of @@ -43,7 +45,7 @@ class ResolveURLService < BaseService # We don't have an index on `url`, so try guessing the `uri` from `url` parsed_url = Addressable::URI.parse(@url) - parsed_url.path.match(%r{/@(?#{Account::USERNAME_RE})/(?[0-9]+)\Z}) do |matched| + parsed_url.path.match(USERNAME_STATUS_RE) do |matched| parsed_url.path = "/users/#{matched[:username]}/statuses/#{matched[:status_id]}" scope = scope.or(Status.where(uri: parsed_url.to_s, url: @url)) end From 9965a23b043b0ab511e083c44acda891ea441859 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 06:27:45 +0100 Subject: [PATCH 031/144] Change link verification to ignore IDN domains (#20295) Fix #3833 --- app/models/account/field.rb | 16 +++++++++++++++- spec/models/account/field_spec.rb | 8 ++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/models/account/field.rb b/app/models/account/field.rb index 4e0fd9230d8..d74f90b2bce 100644 --- a/app/models/account/field.rb +++ b/app/models/account/field.rb @@ -3,6 +3,7 @@ class Account::Field < ActiveModelSerializers::Model MAX_CHARACTERS_LOCAL = 255 MAX_CHARACTERS_COMPAT = 2_047 + ACCEPTED_SCHEMES = %w(http https).freeze attributes :name, :value, :verified_at, :account @@ -34,7 +35,20 @@ class Account::Field < ActiveModelSerializers::Model end def verifiable? - value_for_verification.present? && /\A#{FetchLinkCardService::URL_PATTERN}\z/.match?(value_for_verification) + return false if value_for_verification.blank? + + # This is slower than checking through a regular expression, but we + # need to confirm that it's not an IDN domain. + + parsed_url = Addressable::URI.parse(value_for_verification) + + ACCEPTED_SCHEMES.include?(parsed_url.scheme) && + parsed_url.user.nil? && + parsed_url.password.nil? && + parsed_url.host.present? && + parsed_url.normalized_host == parsed_url.host + rescue Addressable::URI::InvalidURIError, IDN::Idna::IdnaError + false end def requires_verification? diff --git a/spec/models/account/field_spec.rb b/spec/models/account/field_spec.rb index 7d61a2c622d..fcb2a884a19 100644 --- a/spec/models/account/field_spec.rb +++ b/spec/models/account/field_spec.rb @@ -66,6 +66,14 @@ RSpec.describe Account::Field, type: :model do end end + context 'for an IDN URL' do + let(:value) { 'http://twitter.com∕dougallj∕status∕1590357240443437057.ê.cc/twitter.html' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end + context 'for text that is not a URL' do let(:value) { 'Hello world' } From e37e8deb0ff207d36bb359ce395e2888dacc216d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 07:32:37 +0100 Subject: [PATCH 032/144] Fix profile header being cut off in light theme in web UI (#20298) --- app/javascript/styles/mastodon-light/diff.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss index d960070d62d..1214d2519f7 100644 --- a/app/javascript/styles/mastodon-light/diff.scss +++ b/app/javascript/styles/mastodon-light/diff.scss @@ -78,7 +78,7 @@ html { .column-header__back-button, .column-header__button, .column-header__button.active, -.account__header__bar { +.account__header { background: $white; } From ef582dc4f2fe53b08988faf8d51f567ac32e5b93 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 08:49:35 +0100 Subject: [PATCH 033/144] Add option to open original page in dropdowns of remote content in web UI (#20299) Change profile picture click to open profile picture in modal in web UI --- .../mastodon/components/status_action_bar.js | 25 +++----- .../features/account/components/header.js | 28 ++++++--- .../account_timeline/components/header.js | 6 ++ .../containers/header_container.js | 7 +++ .../features/status/components/action_bar.js | 24 +++----- .../features/ui/components/image_modal.js | 59 +++++++++++++++++++ .../features/ui/components/modal_root.js | 2 + 7 files changed, 111 insertions(+), 40 deletions(-) create mode 100644 app/javascript/mastodon/features/ui/components/image_modal.js diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js index b07837dcaf3..2a1fedb93bf 100644 --- a/app/javascript/mastodon/components/status_action_bar.js +++ b/app/javascript/mastodon/components/status_action_bar.js @@ -45,6 +45,7 @@ const messages = defineMessages({ unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, filter: { id: 'status.filter', defaultMessage: 'Filter this post' }, + openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' }, }); const mapStateToProps = (state, { status }) => ({ @@ -221,25 +222,10 @@ class StatusActionBar extends ImmutablePureComponent { } handleCopy = () => { - const url = this.props.status.get('url'); - const textarea = document.createElement('textarea'); - - textarea.textContent = url; - textarea.style.position = 'fixed'; - - document.body.appendChild(textarea); - - try { - textarea.select(); - document.execCommand('copy'); - } catch (e) { - - } finally { - document.body.removeChild(textarea); - } + const url = this.props.status.get('url'); + navigator.clipboard.writeText(url); } - handleHideClick = () => { this.props.onFilter(); } @@ -254,12 +240,17 @@ class StatusActionBar extends ImmutablePureComponent { const mutingConversation = status.get('muted'); const account = status.get('account'); const writtenByMe = status.getIn(['account', 'id']) === me; + const isRemote = status.getIn(['account', 'username']) !== status.getIn(['account', 'acct']); let menu = []; menu.push({ text: intl.formatMessage(messages.open), action: this.handleOpen }); if (publicStatus) { + if (isRemote) { + menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: status.get('url') }); + } + menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy }); menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); } diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index 8d3b3c5e64b..c38eea55b34 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -53,6 +53,7 @@ const messages = defineMessages({ add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' }, admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' }, languages: { id: 'account.languages', defaultMessage: 'Change subscribed languages' }, + openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' }, }); const titleFromAccount = account => { @@ -97,6 +98,7 @@ class Header extends ImmutablePureComponent { onEditAccountNote: PropTypes.func.isRequired, onChangeLanguages: PropTypes.func.isRequired, onInteractionModal: PropTypes.func.isRequired, + onOpenAvatar: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, domain: PropTypes.string.isRequired, hidden: PropTypes.bool, @@ -140,6 +142,13 @@ class Header extends ImmutablePureComponent { } } + handleAvatarClick = e => { + if (e.button === 0 && !(e.ctrlKey || e.metaKey)) { + e.preventDefault(); + this.props.onOpenAvatar(); + } + } + render () { const { account, hidden, intl, domain } = this.props; const { signedIn } = this.context.identity; @@ -148,7 +157,9 @@ class Header extends ImmutablePureComponent { return null; } - const suspended = account.get('suspended'); + const suspended = account.get('suspended'); + const isRemote = account.get('acct') !== account.get('username'); + const remoteDomain = isRemote ? account.get('acct').split('@')[1] : null; let info = []; let actionBtn = ''; @@ -200,6 +211,11 @@ class Header extends ImmutablePureComponent { menu.push(null); } + if (isRemote) { + menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: account.get('url') }); + menu.push(null); + } + if ('share' in navigator) { menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare }); menu.push(null); @@ -250,15 +266,13 @@ class Header extends ImmutablePureComponent { menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport }); } - if (signedIn && account.get('acct') !== account.get('username')) { - const domain = account.get('acct').split('@')[1]; - + if (signedIn && isRemote) { menu.push(null); if (account.getIn(['relationship', 'domain_blocking'])) { - menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.props.onUnblockDomain }); + menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: remoteDomain }), action: this.props.onUnblockDomain }); } else { - menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.props.onBlockDomain }); + menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: remoteDomain }), action: this.props.onBlockDomain }); } } @@ -296,7 +310,7 @@ class Header extends ImmutablePureComponent {
- + diff --git a/app/javascript/mastodon/features/account_timeline/components/header.js b/app/javascript/mastodon/features/account_timeline/components/header.js index f31848f412d..d67e307ffca 100644 --- a/app/javascript/mastodon/features/account_timeline/components/header.js +++ b/app/javascript/mastodon/features/account_timeline/components/header.js @@ -24,6 +24,7 @@ export default class Header extends ImmutablePureComponent { onAddToList: PropTypes.func.isRequired, onChangeLanguages: PropTypes.func.isRequired, onInteractionModal: PropTypes.func.isRequired, + onOpenAvatar: PropTypes.func.isRequired, hideTabs: PropTypes.bool, domain: PropTypes.string.isRequired, hidden: PropTypes.bool, @@ -101,6 +102,10 @@ export default class Header extends ImmutablePureComponent { this.props.onInteractionModal(this.props.account); } + handleOpenAvatar = () => { + this.props.onOpenAvatar(this.props.account); + } + render () { const { account, hidden, hideTabs } = this.props; @@ -129,6 +134,7 @@ export default class Header extends ImmutablePureComponent { onEditAccountNote={this.handleEditAccountNote} onChangeLanguages={this.handleChangeLanguages} onInteractionModal={this.handleInteractionModal} + onOpenAvatar={this.handleOpenAvatar} domain={this.props.domain} hidden={hidden} /> diff --git a/app/javascript/mastodon/features/account_timeline/containers/header_container.js b/app/javascript/mastodon/features/account_timeline/containers/header_container.js index 1d09cd1efc0..f53cd248079 100644 --- a/app/javascript/mastodon/features/account_timeline/containers/header_container.js +++ b/app/javascript/mastodon/features/account_timeline/containers/header_container.js @@ -152,6 +152,13 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ })); }, + onOpenAvatar (account) { + dispatch(openModal('IMAGE', { + src: account.get('avatar'), + alt: account.get('acct'), + })); + }, + }); export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header)); diff --git a/app/javascript/mastodon/features/status/components/action_bar.js b/app/javascript/mastodon/features/status/components/action_bar.js index fc82aa9c2ec..c1242754cc9 100644 --- a/app/javascript/mastodon/features/status/components/action_bar.js +++ b/app/javascript/mastodon/features/status/components/action_bar.js @@ -39,6 +39,7 @@ const messages = defineMessages({ unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unblock domain {domain}' }, unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, + openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' }, }); const mapStateToProps = (state, { status }) => ({ @@ -174,22 +175,8 @@ class ActionBar extends React.PureComponent { } handleCopy = () => { - const url = this.props.status.get('url'); - const textarea = document.createElement('textarea'); - - textarea.textContent = url; - textarea.style.position = 'fixed'; - - document.body.appendChild(textarea); - - try { - textarea.select(); - document.execCommand('copy'); - } catch (e) { - - } finally { - document.body.removeChild(textarea); - } + const url = this.props.status.get('url'); + navigator.clipboard.writeText(url); } render () { @@ -201,10 +188,15 @@ class ActionBar extends React.PureComponent { const mutingConversation = status.get('muted'); const account = status.get('account'); const writtenByMe = status.getIn(['account', 'id']) === me; + const isRemote = status.getIn(['account', 'username']) !== status.getIn(['account', 'acct']); let menu = []; if (publicStatus) { + if (isRemote) { + menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: status.get('url') }); + } + menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy }); menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); menu.push(null); diff --git a/app/javascript/mastodon/features/ui/components/image_modal.js b/app/javascript/mastodon/features/ui/components/image_modal.js new file mode 100644 index 00000000000..7522c3da553 --- /dev/null +++ b/app/javascript/mastodon/features/ui/components/image_modal.js @@ -0,0 +1,59 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import classNames from 'classnames'; +import { defineMessages, injectIntl } from 'react-intl'; +import IconButton from 'mastodon/components/icon_button'; +import ImageLoader from './image_loader'; + +const messages = defineMessages({ + close: { id: 'lightbox.close', defaultMessage: 'Close' }, +}); + +export default @injectIntl +class ImageModal extends React.PureComponent { + + static propTypes = { + src: PropTypes.string.isRequired, + alt: PropTypes.string.isRequired, + onClose: PropTypes.func.isRequired, + intl: PropTypes.object.isRequired, + }; + + state = { + navigationHidden: false, + }; + + toggleNavigation = () => { + this.setState(prevState => ({ + navigationHidden: !prevState.navigationHidden, + })); + }; + + render () { + const { intl, src, alt, onClose } = this.props; + const { navigationHidden } = this.state; + + const navigationClassName = classNames('media-modal__navigation', { + 'media-modal__navigation--hidden': navigationHidden, + }); + + return ( +
+
+ +
+ +
+ +
+
+ ); + } + +} diff --git a/app/javascript/mastodon/features/ui/components/modal_root.js b/app/javascript/mastodon/features/ui/components/modal_root.js index 484ebbd8b63..6c4aabae5c3 100644 --- a/app/javascript/mastodon/features/ui/components/modal_root.js +++ b/app/javascript/mastodon/features/ui/components/modal_root.js @@ -12,6 +12,7 @@ import BoostModal from './boost_modal'; import AudioModal from './audio_modal'; import ConfirmationModal from './confirmation_modal'; import FocalPointModal from './focal_point_modal'; +import ImageModal from './image_modal'; import { MuteModal, BlockModal, @@ -31,6 +32,7 @@ const MODAL_COMPONENTS = { 'MEDIA': () => Promise.resolve({ default: MediaModal }), 'VIDEO': () => Promise.resolve({ default: VideoModal }), 'AUDIO': () => Promise.resolve({ default: AudioModal }), + 'IMAGE': () => Promise.resolve({ default: ImageModal }), 'BOOST': () => Promise.resolve({ default: BoostModal }), 'CONFIRM': () => Promise.resolve({ default: ConfirmationModal }), 'MUTE': MuteModal, From 16122761c5eca0f25f17968a208a24ddd99e073e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 08:49:48 +0100 Subject: [PATCH 034/144] Fix confusing wording in interaction modal in web UI (#20302) --- app/javascript/mastodon/features/interaction_modal/index.js | 2 +- app/javascript/mastodon/locales/en.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/features/interaction_modal/index.js b/app/javascript/mastodon/features/interaction_modal/index.js index 9f774790336..d4535378f0c 100644 --- a/app/javascript/mastodon/features/interaction_modal/index.js +++ b/app/javascript/mastodon/features/interaction_modal/index.js @@ -150,7 +150,7 @@ class InteractionModal extends React.PureComponent {

-

+

diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 8e05412f5f1..2de98465163 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -293,7 +293,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", From 7bdb2433f1a6e0b6a5e4df068003ac6e2e296048 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 08:49:59 +0100 Subject: [PATCH 035/144] Change larger reblogs/favourites numbers to be shortened in web UI (#20303) --- app/javascript/mastodon/components/animated_number.js | 6 +++--- app/javascript/styles/mastodon/components.scss | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/components/animated_number.js b/app/javascript/mastodon/components/animated_number.js index fbe948c5b02..b1aebc73ecb 100644 --- a/app/javascript/mastodon/components/animated_number.js +++ b/app/javascript/mastodon/components/animated_number.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { FormattedNumber } from 'react-intl'; +import ShortNumber from 'mastodon/components/short_number'; import TransitionMotion from 'react-motion/lib/TransitionMotion'; import spring from 'react-motion/lib/spring'; import { reduceMotion } from 'mastodon/initial_state'; @@ -51,7 +51,7 @@ export default class AnimatedNumber extends React.PureComponent { const { direction } = this.state; if (reduceMotion) { - return obfuscate ? obfuscatedCount(value) : ; + return obfuscate ? obfuscatedCount(value) : ; } const styles = [{ @@ -65,7 +65,7 @@ export default class AnimatedNumber extends React.PureComponent { {items => ( {items.map(({ key, data, style }) => ( - 0 ? 'absolute' : 'static', transform: `translateY(${style.y * 100}%)` }}>{obfuscate ? obfuscatedCount(data) : } + 0 ? 'absolute' : 'static', transform: `translateY(${style.y * 100}%)` }}>{obfuscate ? obfuscatedCount(data) : } ))} )} diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 57a383476e2..ecbf6afc0b5 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1303,6 +1303,7 @@ display: inline-block; font-weight: 500; font-size: 12px; + line-height: 17px; margin-left: 6px; } From 8fdbb4d00d371e7a900bec3a262216d95a784d52 Mon Sep 17 00:00:00 2001 From: Effy Elden Date: Thu, 10 Nov 2022 18:50:45 +1100 Subject: [PATCH 036/144] Remove unused timeline_container to fix linter errors (#20305) --- .../mastodon/containers/timeline_container.js | 62 ------------------- 1 file changed, 62 deletions(-) delete mode 100644 app/javascript/mastodon/containers/timeline_container.js diff --git a/app/javascript/mastodon/containers/timeline_container.js b/app/javascript/mastodon/containers/timeline_container.js deleted file mode 100644 index ed8095f90e2..00000000000 --- a/app/javascript/mastodon/containers/timeline_container.js +++ /dev/null @@ -1,62 +0,0 @@ -import React, { Fragment } from 'react'; -import ReactDOM from 'react-dom'; -import { Provider } from 'react-redux'; -import PropTypes from 'prop-types'; -import configureStore from '../store/configureStore'; -import { hydrateStore } from '../actions/store'; -import { IntlProvider, addLocaleData } from 'react-intl'; -import { getLocale } from '../locales'; -import PublicTimeline from '../features/standalone/public_timeline'; -import HashtagTimeline from '../features/standalone/hashtag_timeline'; -import ModalContainer from '../features/ui/containers/modal_container'; -import initialState from '../initial_state'; - -const { localeData, messages } = getLocale(); -addLocaleData(localeData); - -const store = configureStore(); - -if (initialState) { - store.dispatch(hydrateStore(initialState)); -} - -export default class TimelineContainer extends React.PureComponent { - - static propTypes = { - locale: PropTypes.string.isRequired, - hashtag: PropTypes.string, - local: PropTypes.bool, - }; - - static defaultProps = { - local: !initialState.settings.known_fediverse, - }; - - render () { - const { locale, hashtag, local } = this.props; - - let timeline; - - if (hashtag) { - timeline = ; - } else { - timeline = ; - } - - return ( - - - - {timeline} - - {ReactDOM.createPortal( - , - document.getElementById('modal-container'), - )} - - - - ); - } - -} From d3a29a136cd443fa3bef3d2d457297963a4feef4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 07:32:37 +0100 Subject: [PATCH 037/144] [Glitch] Fix profile header being cut off in light theme in web UI Port e37e8deb0ff207d36bb359ce395e2888dacc216d to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/styles/mastodon-light/diff.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss index 1fe3d7a511a..22828c7d18b 100644 --- a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss +++ b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss @@ -78,7 +78,7 @@ html { .column-header__back-button, .column-header__button, .column-header__button.active, -.account__header__bar { +.account__header { background: $white; } From 41ea39903da069715c9f670e1ca852c994e645c7 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 08:49:48 +0100 Subject: [PATCH 038/144] [Glitch] Fix confusing wording in interaction modal in web UI Port 16122761c5eca0f25f17968a208a24ddd99e073e to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/features/interaction_modal/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/features/interaction_modal/index.js b/app/javascript/flavours/glitch/features/interaction_modal/index.js index 4cd8e51de8c..b71c041c9d3 100644 --- a/app/javascript/flavours/glitch/features/interaction_modal/index.js +++ b/app/javascript/flavours/glitch/features/interaction_modal/index.js @@ -150,7 +150,7 @@ class InteractionModal extends React.PureComponent {

-

+

From c722c4cce8d3f4a2a8b9ec74ad9827d16f996264 Mon Sep 17 00:00:00 2001 From: Effy Elden Date: Thu, 10 Nov 2022 18:50:45 +1100 Subject: [PATCH 039/144] [Glitch] Remove unused timeline_container to fix linter errors Port 8fdbb4d00d371e7a900bec3a262216d95a784d52 to glitch-soc Signed-off-by: Claire --- .../glitch/containers/timeline_container.js | 62 ------------------- 1 file changed, 62 deletions(-) delete mode 100644 app/javascript/flavours/glitch/containers/timeline_container.js diff --git a/app/javascript/flavours/glitch/containers/timeline_container.js b/app/javascript/flavours/glitch/containers/timeline_container.js deleted file mode 100644 index 838bcd390dc..00000000000 --- a/app/javascript/flavours/glitch/containers/timeline_container.js +++ /dev/null @@ -1,62 +0,0 @@ -import React, { Fragment } from 'react'; -import ReactDOM from 'react-dom'; -import { Provider } from 'react-redux'; -import PropTypes from 'prop-types'; -import configureStore from 'flavours/glitch/store/configureStore'; -import { hydrateStore } from 'flavours/glitch/actions/store'; -import { IntlProvider, addLocaleData } from 'react-intl'; -import { getLocale } from 'mastodon/locales'; -import PublicTimeline from 'flavours/glitch/features/standalone/public_timeline'; -import HashtagTimeline from 'flavours/glitch/features/standalone/hashtag_timeline'; -import ModalContainer from 'flavours/glitch/features/ui/containers/modal_container'; -import initialState from 'flavours/glitch/initial_state'; - -const { localeData, messages } = getLocale(); -addLocaleData(localeData); - -const store = configureStore(); - -if (initialState) { - store.dispatch(hydrateStore(initialState)); -} - -export default class TimelineContainer extends React.PureComponent { - - static propTypes = { - locale: PropTypes.string.isRequired, - hashtag: PropTypes.string, - local: PropTypes.bool, - }; - - static defaultProps = { - local: !initialState.settings.known_fediverse, - }; - - render () { - const { locale, hashtag, local } = this.props; - - let timeline; - - if (hashtag) { - timeline = ; - } else { - timeline = ; - } - - return ( - - - - {timeline} - - {ReactDOM.createPortal( - , - document.getElementById('modal-container'), - )} - - - - ); - } - -} From 65b6c4f6df52e755283ca5ea5cecf04f3152436d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 08:49:59 +0100 Subject: [PATCH 040/144] [Glitch] Change larger reblogs/favourites numbers to be shortened in web UI Port 7bdb2433f1a6e0b6a5e4df068003ac6e2e296048 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/components/animated_number.js | 6 +++--- .../flavours/glitch/styles/components/status.scss | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/javascript/flavours/glitch/components/animated_number.js b/app/javascript/flavours/glitch/components/animated_number.js index 4619aad5873..9431c96f7b9 100644 --- a/app/javascript/flavours/glitch/components/animated_number.js +++ b/app/javascript/flavours/glitch/components/animated_number.js @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { FormattedNumber } from 'react-intl'; +import ShortNumber from 'mastodon/components/short_number'; import TransitionMotion from 'react-motion/lib/TransitionMotion'; import spring from 'react-motion/lib/spring'; import { reduceMotion } from 'flavours/glitch/initial_state'; @@ -51,7 +51,7 @@ export default class AnimatedNumber extends React.PureComponent { const { direction } = this.state; if (reduceMotion) { - return obfuscate ? obfuscatedCount(value) : ; + return obfuscate ? obfuscatedCount(value) : ; } const styles = [{ @@ -65,7 +65,7 @@ export default class AnimatedNumber extends React.PureComponent { {items => ( {items.map(({ key, data, style }) => ( - 0 ? 'absolute' : 'static', transform: `translateY(${style.y * 100}%)` }}>{obfuscate ? obfuscatedCount(data) : } + 0 ? 'absolute' : 'static', transform: `translateY(${style.y * 100}%)` }}>{obfuscate ? obfuscatedCount(data) : } ))} )} diff --git a/app/javascript/flavours/glitch/styles/components/status.scss b/app/javascript/flavours/glitch/styles/components/status.scss index bd46017ab3a..054110e4104 100644 --- a/app/javascript/flavours/glitch/styles/components/status.scss +++ b/app/javascript/flavours/glitch/styles/components/status.scss @@ -659,6 +659,7 @@ display: inline-block; font-weight: 500; font-size: 12px; + line-height: 17px; margin-left: 6px; } From 099b3011aafe417c87de0b566ae72836228d793f Mon Sep 17 00:00:00 2001 From: Sasha Sorokin <10401817+Brawaru@users.noreply.github.com> Date: Tue, 8 Nov 2022 17:31:32 +0100 Subject: [PATCH 041/144] [Glitch] Remove aria-pressed where it's redundant Port d055d751720b7494ba990a43434b73e17596b5e8 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/components/column_header.js | 1 - app/javascript/flavours/glitch/components/icon_button.js | 3 --- .../flavours/glitch/components/status_action_bar.js | 6 +++--- .../flavours/glitch/features/hashtag_timeline/index.js | 2 +- .../flavours/glitch/features/home_timeline/index.js | 1 - .../glitch/features/picture_in_picture/components/footer.js | 4 ++-- app/javascript/flavours/glitch/features/status/index.js | 2 +- 7 files changed, 7 insertions(+), 12 deletions(-) diff --git a/app/javascript/flavours/glitch/components/column_header.js b/app/javascript/flavours/glitch/components/column_header.js index 3df35974555..0f89b3a97bd 100644 --- a/app/javascript/flavours/glitch/components/column_header.js +++ b/app/javascript/flavours/glitch/components/column_header.js @@ -157,7 +157,6 @@ class ColumnHeader extends React.PureComponent { className={collapsibleButtonClassName} title={formatMessage(collapsed ? messages.show : messages.hide)} aria-label={formatMessage(collapsed ? messages.show : messages.hide)} - aria-pressed={collapsed ? 'false' : 'true'} onClick={this.handleToggleClick} > diff --git a/app/javascript/flavours/glitch/components/icon_button.js b/app/javascript/flavours/glitch/components/icon_button.js index 42f5d4bc35c..41a95e92f71 100644 --- a/app/javascript/flavours/glitch/components/icon_button.js +++ b/app/javascript/flavours/glitch/components/icon_button.js @@ -18,7 +18,6 @@ export default class IconButton extends React.PureComponent { onKeyPress: PropTypes.func, size: PropTypes.number, active: PropTypes.bool, - pressed: PropTypes.bool, expanded: PropTypes.bool, style: PropTypes.object, activeStyle: PropTypes.object, @@ -111,7 +110,6 @@ export default class IconButton extends React.PureComponent { icon, inverted, overlay, - pressed, tabIndex, title, counter, @@ -156,7 +154,6 @@ export default class IconButton extends React.PureComponent { return ( ); diff --git a/app/javascript/flavours/glitch/features/home_timeline/index.js b/app/javascript/flavours/glitch/features/home_timeline/index.js index 23d0440a915..5ed108ad2f8 100644 --- a/app/javascript/flavours/glitch/features/home_timeline/index.js +++ b/app/javascript/flavours/glitch/features/home_timeline/index.js @@ -131,7 +131,6 @@ class HomeTimeline extends React.PureComponent { className={classNames('column-header__button', { 'active': showAnnouncements })} title={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)} aria-label={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)} - aria-pressed={showAnnouncements ? 'true' : 'false'} onClick={this.handleToggleAnnouncementsClick} > diff --git a/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.js b/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.js index 86e24e38f52..f05a763e05f 100644 --- a/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.js +++ b/app/javascript/flavours/glitch/features/picture_in_picture/components/footer.js @@ -207,8 +207,8 @@ class Footer extends ImmutablePureComponent { return (
{replyButton} - - + + {withOpenButton && }
); diff --git a/app/javascript/flavours/glitch/features/status/index.js b/app/javascript/flavours/glitch/features/status/index.js index f59e8c7f687..aaa9c7928f1 100644 --- a/app/javascript/flavours/glitch/features/status/index.js +++ b/app/javascript/flavours/glitch/features/status/index.js @@ -648,7 +648,7 @@ class Status extends ImmutablePureComponent { showBackButton multiColumn={multiColumn} extraButton={( - + )} /> From c4d2c729245fab1dda31d0de73be9bc03217b06a Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 08:49:35 +0100 Subject: [PATCH 042/144] [Glitch] Add option to open original page in dropdowns of remote content in web UI Port ef582dc4f2fe53b08988faf8d51f567ac32e5b93 to glitch-soc Signed-off-by: Claire --- .../glitch/components/status_action_bar.js | 23 +++----- .../features/account/components/header.js | 28 ++++++--- .../account_timeline/components/header.js | 6 ++ .../containers/header_container.js | 7 +++ .../features/status/components/action_bar.js | 24 +++----- .../features/ui/components/image_modal.js | 59 +++++++++++++++++++ .../features/ui/components/modal_root.js | 2 + 7 files changed, 110 insertions(+), 39 deletions(-) create mode 100644 app/javascript/flavours/glitch/features/ui/components/image_modal.js diff --git a/app/javascript/flavours/glitch/components/status_action_bar.js b/app/javascript/flavours/glitch/components/status_action_bar.js index df93f686603..977c98ccbc1 100644 --- a/app/javascript/flavours/glitch/components/status_action_bar.js +++ b/app/javascript/flavours/glitch/components/status_action_bar.js @@ -42,6 +42,7 @@ const messages = defineMessages({ hide: { id: 'status.hide', defaultMessage: 'Hide toot' }, edited: { id: 'status.edited', defaultMessage: 'Edited {date}' }, filter: { id: 'status.filter', defaultMessage: 'Filter this post' }, + openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' }, }); export default @injectIntl @@ -182,22 +183,8 @@ class StatusActionBar extends ImmutablePureComponent { } handleCopy = () => { - const url = this.props.status.get('url'); - const textarea = document.createElement('textarea'); - - textarea.textContent = url; - textarea.style.position = 'fixed'; - - document.body.appendChild(textarea); - - try { - textarea.select(); - document.execCommand('copy'); - } catch (e) { - - } finally { - document.body.removeChild(textarea); - } + const url = this.props.status.get('url'); + navigator.clipboard.writeText(url); } handleHideClick = () => { @@ -216,6 +203,7 @@ class StatusActionBar extends ImmutablePureComponent { const publicStatus = ['public', 'unlisted'].includes(status.get('visibility')); const pinnableStatus = ['public', 'unlisted', 'private'].includes(status.get('visibility')); const writtenByMe = status.getIn(['account', 'id']) === me; + const isRemote = status.getIn(['account', 'username']) !== status.getIn(['account', 'acct']); let menu = []; let reblogIcon = 'retweet'; @@ -225,6 +213,9 @@ class StatusActionBar extends ImmutablePureComponent { menu.push({ text: intl.formatMessage(messages.open), action: this.handleOpen }); if (publicStatus) { + if (isRemote) { + menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: status.get('url') }); + } menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy }); menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); } diff --git a/app/javascript/flavours/glitch/features/account/components/header.js b/app/javascript/flavours/glitch/features/account/components/header.js index cf1494f057f..93831b3e70a 100644 --- a/app/javascript/flavours/glitch/features/account/components/header.js +++ b/app/javascript/flavours/glitch/features/account/components/header.js @@ -53,6 +53,7 @@ const messages = defineMessages({ admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' }, add_account_note: { id: 'account.add_account_note', defaultMessage: 'Add note for @{name}' }, languages: { id: 'account.languages', defaultMessage: 'Change subscribed languages' }, + openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' }, }); const titleFromAccount = account => { @@ -97,6 +98,7 @@ class Header extends ImmutablePureComponent { onEditAccountNote: PropTypes.func.isRequired, onChangeLanguages: PropTypes.func.isRequired, onInteractionModal: PropTypes.func.isRequired, + onOpenAvatar: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, domain: PropTypes.string.isRequired, hidden: PropTypes.bool, @@ -132,6 +134,13 @@ class Header extends ImmutablePureComponent { } } + handleAvatarClick = e => { + if (e.button === 0 && !(e.ctrlKey || e.metaKey)) { + e.preventDefault(); + this.props.onOpenAvatar(); + } + } + render () { const { account, hidden, intl, domain } = this.props; const { signedIn } = this.context.identity; @@ -142,7 +151,9 @@ class Header extends ImmutablePureComponent { const accountNote = account.getIn(['relationship', 'note']); - const suspended = account.get('suspended'); + const suspended = account.get('suspended'); + const isRemote = account.get('acct') !== account.get('username'); + const remoteDomain = isRemote ? account.get('acct').split('@')[1] : null; let info = []; let actionBtn = ''; @@ -199,6 +210,11 @@ class Header extends ImmutablePureComponent { menu.push(null); } + if (isRemote) { + menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: account.get('url') }); + menu.push(null); + } + if ('share' in navigator && !suspended) { menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare }); menu.push(null); @@ -253,15 +269,13 @@ class Header extends ImmutablePureComponent { menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport }); } - if (signedIn && account.get('acct') !== account.get('username')) { - const domain = account.get('acct').split('@')[1]; - + if (signedIn && isRemote) { menu.push(null); if (account.getIn(['relationship', 'domain_blocking'])) { - menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.props.onUnblockDomain }); + menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: remoteDomain }), action: this.props.onUnblockDomain }); } else { - menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.props.onBlockDomain }); + menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: remoteDomain }), action: this.props.onBlockDomain }); } } @@ -299,7 +313,7 @@ class Header extends ImmutablePureComponent {
- + diff --git a/app/javascript/flavours/glitch/features/account_timeline/components/header.js b/app/javascript/flavours/glitch/features/account_timeline/components/header.js index eb332e296ac..90c4c9d5133 100644 --- a/app/javascript/flavours/glitch/features/account_timeline/components/header.js +++ b/app/javascript/flavours/glitch/features/account_timeline/components/header.js @@ -25,6 +25,7 @@ export default class Header extends ImmutablePureComponent { onAddToList: PropTypes.func.isRequired, onChangeLanguages: PropTypes.func.isRequired, onInteractionModal: PropTypes.func.isRequired, + onOpenAvatar: PropTypes.func.isRequired, hideTabs: PropTypes.bool, domain: PropTypes.string.isRequired, hidden: PropTypes.bool, @@ -102,6 +103,10 @@ export default class Header extends ImmutablePureComponent { this.props.onInteractionModal(this.props.account); } + handleOpenAvatar = () => { + this.props.onOpenAvatar(this.props.account); + } + render () { const { account, hidden, hideTabs } = this.props; @@ -130,6 +135,7 @@ export default class Header extends ImmutablePureComponent { onEditAccountNote={this.handleEditAccountNote} onChangeLanguages={this.handleChangeLanguages} onInteractionModal={this.handleInteractionModal} + onOpenAvatar={this.handleOpenAvatar} domain={this.props.domain} hidden={hidden} /> diff --git a/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js b/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js index a65463243cb..25bcd01190e 100644 --- a/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js +++ b/app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js @@ -161,6 +161,13 @@ const mapDispatchToProps = (dispatch, { intl }) => ({ })); }, + onOpenAvatar (account) { + dispatch(openModal('IMAGE', { + src: account.get('avatar'), + alt: account.get('acct'), + })); + }, + }); export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header)); diff --git a/app/javascript/flavours/glitch/features/status/components/action_bar.js b/app/javascript/flavours/glitch/features/status/components/action_bar.js index 0e21ca5ccef..b6f8a987778 100644 --- a/app/javascript/flavours/glitch/features/status/components/action_bar.js +++ b/app/javascript/flavours/glitch/features/status/components/action_bar.js @@ -35,6 +35,7 @@ const messages = defineMessages({ admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' }, admin_status: { id: 'status.admin_status', defaultMessage: 'Open this status in the moderation interface' }, copy: { id: 'status.copy', defaultMessage: 'Copy link to status' }, + openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' }, }); export default @injectIntl @@ -132,22 +133,8 @@ class ActionBar extends React.PureComponent { } handleCopy = () => { - const url = this.props.status.get('url'); - const textarea = document.createElement('textarea'); - - textarea.textContent = url; - textarea.style.position = 'fixed'; - - document.body.appendChild(textarea); - - try { - textarea.select(); - document.execCommand('copy'); - } catch (e) { - - } finally { - document.body.removeChild(textarea); - } + const url = this.props.status.get('url'); + navigator.clipboard.writeText(url); } render () { @@ -158,10 +145,15 @@ class ActionBar extends React.PureComponent { const pinnableStatus = ['public', 'unlisted', 'private'].includes(status.get('visibility')); const mutingConversation = status.get('muted'); const writtenByMe = status.getIn(['account', 'id']) === me; + const isRemote = status.getIn(['account', 'username']) !== status.getIn(['account', 'acct']); let menu = []; if (publicStatus) { + if (isRemote) { + menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: status.get('url') }); + } + menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy }); menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); menu.push(null); diff --git a/app/javascript/flavours/glitch/features/ui/components/image_modal.js b/app/javascript/flavours/glitch/features/ui/components/image_modal.js new file mode 100644 index 00000000000..a792b9be77c --- /dev/null +++ b/app/javascript/flavours/glitch/features/ui/components/image_modal.js @@ -0,0 +1,59 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import classNames from 'classnames'; +import { defineMessages, injectIntl } from 'react-intl'; +import IconButton from 'flavours/glitch/components/icon_button'; +import ImageLoader from './image_loader'; + +const messages = defineMessages({ + close: { id: 'lightbox.close', defaultMessage: 'Close' }, +}); + +export default @injectIntl +class ImageModal extends React.PureComponent { + + static propTypes = { + src: PropTypes.string.isRequired, + alt: PropTypes.string.isRequired, + onClose: PropTypes.func.isRequired, + intl: PropTypes.object.isRequired, + }; + + state = { + navigationHidden: false, + }; + + toggleNavigation = () => { + this.setState(prevState => ({ + navigationHidden: !prevState.navigationHidden, + })); + }; + + render () { + const { intl, src, alt, onClose } = this.props; + const { navigationHidden } = this.state; + + const navigationClassName = classNames('media-modal__navigation', { + 'media-modal__navigation--hidden': navigationHidden, + }); + + return ( +
+
+ +
+ +
+ +
+
+ ); + } + +} diff --git a/app/javascript/flavours/glitch/features/ui/components/modal_root.js b/app/javascript/flavours/glitch/features/ui/components/modal_root.js index 93834f60e7a..d2ee2894882 100644 --- a/app/javascript/flavours/glitch/features/ui/components/modal_root.js +++ b/app/javascript/flavours/glitch/features/ui/components/modal_root.js @@ -15,6 +15,7 @@ import DoodleModal from './doodle_modal'; import ConfirmationModal from './confirmation_modal'; import FocalPointModal from './focal_point_modal'; import DeprecatedSettingsModal from './deprecated_settings_modal'; +import ImageModal from './image_modal'; import { OnboardingModal, MuteModal, @@ -38,6 +39,7 @@ const MODAL_COMPONENTS = { 'ONBOARDING': OnboardingModal, 'VIDEO': () => Promise.resolve({ default: VideoModal }), 'AUDIO': () => Promise.resolve({ default: AudioModal }), + 'IMAGE': () => Promise.resolve({ default: ImageModal }), 'BOOST': () => Promise.resolve({ default: BoostModal }), 'FAVOURITE': () => Promise.resolve({ default: FavouriteModal }), 'DOODLE': () => Promise.resolve({ default: DoodleModal }), From 89a6b76f999635e077e9469efd9d94cd6c6d6222 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Nov 2022 14:21:31 +0100 Subject: [PATCH 043/144] =?UTF-8?q?Fix=20color=20of=20the=20=E2=80=9CNo=20?= =?UTF-8?q?description=20added=E2=80=9C=20media=20upload=20warning=20on=20?= =?UTF-8?q?light=20theme=20(#20328)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/javascript/styles/mastodon-light/diff.scss | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/app/javascript/styles/mastodon-light/diff.scss b/app/javascript/styles/mastodon-light/diff.scss index 1214d2519f7..928af8453ef 100644 --- a/app/javascript/styles/mastodon-light/diff.scss +++ b/app/javascript/styles/mastodon-light/diff.scss @@ -203,7 +203,8 @@ html { // Change the colors used in compose-form .compose-form { .compose-form__modifiers { - .compose-form__upload__actions .icon-button { + .compose-form__upload__actions .icon-button, + .compose-form__upload__warning .icon-button { color: lighten($white, 7%); &:active, @@ -212,14 +213,6 @@ html { color: $white; } } - - .compose-form__upload-description input { - color: lighten($white, 7%); - - &::placeholder { - color: lighten($white, 7%); - } - } } .compose-form__buttons-wrapper { From f8e8e622e56262e810529cbe896d817cd28d5bbb Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 14:21:51 +0100 Subject: [PATCH 044/144] Change incoming activity processing to happen in `ingress` queue (#20264) --- app/lib/admin/system_check/sidekiq_process_check.rb | 1 + app/workers/activitypub/processing_worker.rb | 2 +- config/sidekiq.yml | 5 +++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/lib/admin/system_check/sidekiq_process_check.rb b/app/lib/admin/system_check/sidekiq_process_check.rb index 648811d6c1a..d577b3bf3c5 100644 --- a/app/lib/admin/system_check/sidekiq_process_check.rb +++ b/app/lib/admin/system_check/sidekiq_process_check.rb @@ -7,6 +7,7 @@ class Admin::SystemCheck::SidekiqProcessCheck < Admin::SystemCheck::BaseCheck mailers pull scheduler + ingress ).freeze def skip? diff --git a/app/workers/activitypub/processing_worker.rb b/app/workers/activitypub/processing_worker.rb index 4d06ad07960..5e36fab51e5 100644 --- a/app/workers/activitypub/processing_worker.rb +++ b/app/workers/activitypub/processing_worker.rb @@ -3,7 +3,7 @@ class ActivityPub::ProcessingWorker include Sidekiq::Worker - sidekiq_options backtrace: true, retry: 8 + sidekiq_options queue: 'ingress', backtrace: true, retry: 8 def perform(actor_id, body, delivered_to_account_id = nil, actor_type = 'Account') case actor_type diff --git a/config/sidekiq.yml b/config/sidekiq.yml index 71e7cb33d88..05c5b28c869 100644 --- a/config/sidekiq.yml +++ b/config/sidekiq.yml @@ -1,8 +1,9 @@ --- :concurrency: 5 :queues: - - [default, 6] - - [push, 4] + - [default, 8] + - [push, 6] + - [ingress, 4] - [mailers, 2] - [pull] - [scheduler] From 6df9d388e7cb3d90a6d1fb0a920c1ce16db60822 Mon Sep 17 00:00:00 2001 From: atsuchan <83960488+atsu1125@users.noreply.github.com> Date: Fri, 11 Nov 2022 01:26:28 +0900 Subject: [PATCH 045/144] Update Flavour 'ja' Translation (#1911) --- app/javascript/flavours/glitch/names.yml | 9 +++++++++ app/javascript/flavours/vanilla/names.yml | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/app/javascript/flavours/glitch/names.yml b/app/javascript/flavours/glitch/names.yml index 0d56fd3cc80..68db3a73e3e 100644 --- a/app/javascript/flavours/glitch/names.yml +++ b/app/javascript/flavours/glitch/names.yml @@ -21,3 +21,12 @@ es: skins: glitch: default: Predeterminado + +ja: + flavours: + glitch: + description: GlitchSocインスタンスのデフォルトフレーバーです。 + name: Glitch Edition + skins: + glitch: + default: デフォルト diff --git a/app/javascript/flavours/vanilla/names.yml b/app/javascript/flavours/vanilla/names.yml index 8749f2edab4..0e3f43ed039 100644 --- a/app/javascript/flavours/vanilla/names.yml +++ b/app/javascript/flavours/vanilla/names.yml @@ -22,3 +22,12 @@ es: skins: vanilla: default: Predeterminado + +ja: + flavours: + vanilla: + description: バニラのMastodonインスタンスで使われるテーマです。このテーマはGlitchSocのすべての機能をサポートしない可能性があります。 + name: Vanilla Mastodon + skins: + vanilla: + default: デフォルト From b907871604dbaef131ecc407b8ad29b754e3b1ac Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Thu, 10 Nov 2022 19:09:54 +0100 Subject: [PATCH 046/144] Helm update readme.md (#20154) * gitignore packaged helm charts * Add upgrade instructions to helm chart/readme.md * Note Helm secret changes that are necessary on failed upgrades --- .gitignore | 3 +++ chart/readme.md | 36 ++++++++++++++++++++++++++++++++++++ chart/values.yaml | 6 ++++-- 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 25c8388e16a..7d76b827511 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,9 @@ /redis /elasticsearch +# ignore Helm charts +/chart/*.tgz + # ignore Helm dependency charts /chart/charts/*.tgz diff --git a/chart/readme.md b/chart/readme.md index edcc973bcdf..19a1c4ff090 100644 --- a/chart/readme.md +++ b/chart/readme.md @@ -47,3 +47,39 @@ Sidekiq deployments, it’s possible they will occur in the wrong order. After upgrading Mastodon versions, it may sometimes be necessary to manually delete the Rails and Sidekiq pods so that they are recreated against the latest migration. + +# Upgrades in 2.0.0 + +## Fixed labels +Because of the changes in [#19706](https://github.com/mastodon/mastodon/pull/19706) the upgrade may fail with the following error: +```Error: UPGRADE FAILED: cannot patch "mastodon-sidekiq"``` + +If you want an easy upgrade and you're comfortable with some downtime then +simply delete the -sidekiq, -web, and -streaming Deployments manually. + +If you require a no-downtime upgrade then: +1. run `helm template` instead of `helm upgrade` +2. Copy the new -web and -streaming services into `services.yml` +3. Copy the new -web and -streaming deployments into `deployments.yml` +4. Append -temp to the name of each deployment in `deployments.yml` +5. `kubectl apply -f deployments.yml` then wait until all pods are ready +6. `kubectl apply -f services.yml` +7. Delete the old -sidekiq, -web, and -streaming deployments manually +8. `helm upgrade` like normal +9. `kubectl delete -f deployments.yml` to clear out the temporary deployments + +## PostgreSQL passwords +If you've previously installed the chart and you're having problems with +postgres not accepting your password then make sure to set `username` to +`postgres` and `password` and `postgresPassword` to the same passwords. +```yaml +postgresql: + auth: + username: postgres + password: + postgresPassword: +``` + +And make sure to set `password` to the same value as `postgres-password` +in your `mastodon-postgresql` secret: +```kubectl edit secret mastodon-postgresql``` \ No newline at end of file diff --git a/chart/values.yaml b/chart/values.yaml index 170025b5047..16f319fe0b5 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -146,8 +146,10 @@ postgresql: # be rotated on each upgrade: # https://github.com/bitnami/charts/tree/master/bitnami/postgresql#upgrade password: "" - # Set same value as above - postgresPassword: "" + # Set the password for the "postgres" admin user + # set this to the same value as above if you've previously installed + # this chart and you're having problems getting mastodon to connect to the DB + # postgresPassword: "" # you can also specify the name of an existing Secret # with a key of password set to the password you want existingSecret: "" From 86d4b6f7c943dc5d0d3af95f6fbc705996511ada Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Thu, 10 Nov 2022 19:10:06 +0100 Subject: [PATCH 047/144] Helm update readme.md (#20154) * gitignore packaged helm charts * Add upgrade instructions to helm chart/readme.md * Note Helm secret changes that are necessary on failed upgrades From e868f419234b7e4338047d6e65fcffde7c787a1c Mon Sep 17 00:00:00 2001 From: Sheogorath Date: Thu, 10 Nov 2022 19:10:38 +0100 Subject: [PATCH 048/144] fix(chart): Fix gitops-incompatible random rolling (#20184) This patch reworks the Pod rolling mechanism, which is supposed to update Pods with each migration run, but since the it generates a new random value on each helm execution, this will constantly roll all pods in a GitOps driven deployment, which reconciles the helm release. This is resolved by fixing the upgrade to the `.Release.Revision`, which should stay identical, unless config or helm release version have been changed. Further it introduces automatic rolls based on adjustments to the environment variables and secrets. The implementation uses a helper template, following the 1-2-N rule, and omitting code duplication. References: https://helm.sh/docs/chart_template_guide/builtin_objects/ https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments --- chart/templates/_helpers.tpl | 9 +++++++++ chart/templates/deployment-sidekiq.yaml | 8 ++++---- chart/templates/deployment-streaming.yaml | 6 ++++-- chart/templates/deployment-web.yaml | 4 ++-- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/chart/templates/_helpers.tpl b/chart/templates/_helpers.tpl index 71bb002ef2b..207780b3456 100644 --- a/chart/templates/_helpers.tpl +++ b/chart/templates/_helpers.tpl @@ -51,6 +51,15 @@ app.kubernetes.io/name: {{ include "mastodon.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} +{{/* +Rolling pod annotations +*/}} +{{- define "mastodon.rollingPodAnnotations" -}} +rollme: {{ .Release.Revision | quote }} +checksum/config-secrets: {{ include ( print $.Template.BasePath "/secrets.yaml" ) . | sha256sum | quote }} +checksum/config-configmap: {{ include ( print $.Template.BasePath "/configmap-env.yaml" ) . | sha256sum | quote }} +{{- end }} + {{/* Create the name of the service account to use */}} diff --git a/chart/templates/deployment-sidekiq.yaml b/chart/templates/deployment-sidekiq.yaml index dd707a4d048..57051870f8a 100644 --- a/chart/templates/deployment-sidekiq.yaml +++ b/chart/templates/deployment-sidekiq.yaml @@ -16,11 +16,11 @@ spec: template: metadata: annotations: - {{- with .Values.podAnnotations }} + {{- with .Values.podAnnotations }} {{- toYaml . | nindent 8 }} - {{- end }} - # roll the pods to pick up any db migrations - rollme: {{ randAlphaNum 5 | quote }} + {{- end }} + # roll the pods to pick up any db migrations or other changes + {{- include "mastodon.rollingPodAnnotations" . | nindent 8 }} labels: {{- include "mastodon.selectorLabels" . | nindent 8 }} app.kubernetes.io/component: sidekiq diff --git a/chart/templates/deployment-streaming.yaml b/chart/templates/deployment-streaming.yaml index 7f03c9e23ec..a5007222c2f 100644 --- a/chart/templates/deployment-streaming.yaml +++ b/chart/templates/deployment-streaming.yaml @@ -14,10 +14,12 @@ spec: app.kubernetes.io/component: streaming template: metadata: - {{- with .Values.podAnnotations }} annotations: + {{- with .Values.podAnnotations }} {{- toYaml . | nindent 8 }} - {{- end }} + {{- end }} + # roll the pods to pick up any db migrations or other changes + {{- include "mastodon.rollingPodAnnotations" . | nindent 8 }} labels: {{- include "mastodon.selectorLabels" . | nindent 8 }} app.kubernetes.io/component: streaming diff --git a/chart/templates/deployment-web.yaml b/chart/templates/deployment-web.yaml index fb58b1ade00..23d4676b3db 100644 --- a/chart/templates/deployment-web.yaml +++ b/chart/templates/deployment-web.yaml @@ -19,8 +19,8 @@ spec: {{- with .Values.podAnnotations }} {{- toYaml . | nindent 8 }} {{- end }} - # roll the pods to pick up any db migrations - rollme: {{ randAlphaNum 5 | quote }} + # roll the pods to pick up any db migrations or other changes + {{- include "mastodon.rollingPodAnnotations" . | nindent 8 }} labels: {{- include "mastodon.selectorLabels" . | nindent 8 }} app.kubernetes.io/component: web From 60c4df3d1df5b15b488498bea5220363ee5d22d8 Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Thu, 10 Nov 2022 19:10:49 +0100 Subject: [PATCH 049/144] Bump next Helm chart to 2.1.0 (#20155) --- chart/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 6120a7f3a90..b1c77f6bf98 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 2.0.0 +version: 2.1.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to From 6c7cdedb2460b3fed1000b1c84e6a1fdffda4c5c Mon Sep 17 00:00:00 2001 From: mickkael <19755421+mickkael@users.noreply.github.com> Date: Fri, 11 Nov 2022 02:11:25 +0800 Subject: [PATCH 050/144] Helm chart improved for ingress (#19826) * ingressClassName * ingress values must be optional --- chart/templates/ingress.yaml | 3 +++ chart/values.yaml | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/chart/templates/ingress.yaml b/chart/templates/ingress.yaml index 811d98a2252..08663829735 100644 --- a/chart/templates/ingress.yaml +++ b/chart/templates/ingress.yaml @@ -19,6 +19,9 @@ metadata: {{- toYaml . | nindent 4 }} {{- end }} spec: + {{- if .Values.ingress.ingressClassName }} + ingressClassName: {{ .Values.ingress.ingressClassName }} + {{- end }} {{- if .Values.ingress.tls }} tls: {{- range .Values.ingress.tls }} diff --git a/chart/values.yaml b/chart/values.yaml index 16f319fe0b5..c19ab9ed2fa 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -104,8 +104,8 @@ mastodon: ingress: enabled: true annotations: - kubernetes.io/ingress.class: nginx - kubernetes.io/tls-acme: "true" + #kubernetes.io/ingress.class: nginx + #kubernetes.io/tls-acme: "true" # cert-manager.io/cluster-issuer: "letsencrypt" # # ensure that NGINX's upload size matches Mastodon's @@ -113,6 +113,8 @@ ingress: # nginx.ingress.kubernetes.io/proxy-body-size: 40m # for the NGINX ingress controller: # nginx.org/client-max-body-size: 40m + # you can specify the ingressClassName if it differs from the default + ingressClassName: hosts: - host: mastodon.local paths: From 86232e68a81303eb47919c2b0663c54f3b0f8237 Mon Sep 17 00:00:00 2001 From: Joe Friedl Date: Thu, 10 Nov 2022 13:16:49 -0500 Subject: [PATCH 051/144] Give web container time to start (#19828) --- chart/templates/deployment-web.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/chart/templates/deployment-web.yaml b/chart/templates/deployment-web.yaml index 23d4676b3db..5fb316396c0 100644 --- a/chart/templates/deployment-web.yaml +++ b/chart/templates/deployment-web.yaml @@ -96,13 +96,18 @@ spec: containerPort: {{ .Values.mastodon.web.port }} protocol: TCP livenessProbe: - httpGet: - path: /health + tcpSocket: port: http readinessProbe: httpGet: path: /health port: http + startupProbe: + httpGet: + path: /health + port: http + failureThreshold: 30 + periodSeconds: 5 resources: {{- toYaml .Values.resources | nindent 12 }} {{- with .Values.nodeSelector }} From 99734ac9367eb8af705aecca423c998aadddbd59 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Nov 2022 19:36:12 +0100 Subject: [PATCH 052/144] Remove preview cards from fav and boost notifications (#20335) Fixes #20329 --- app/javascript/mastodon/components/status.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js index 3106a3ecdb8..d1235550fe7 100644 --- a/app/javascript/mastodon/components/status.js +++ b/app/javascript/mastodon/components/status.js @@ -476,7 +476,7 @@ class Status extends ImmutablePureComponent { ); } - } else if (status.get('spoiler_text').length === 0 && status.get('card')) { + } else if (status.get('spoiler_text').length === 0 && status.get('card') && !this.props.muted) { media = ( Date: Thu, 10 Nov 2022 20:25:12 +0100 Subject: [PATCH 053/144] Add old logo files back (#20332) Fixes #20221 --- app/javascript/images/logo_full.svg | 1 + app/javascript/images/logo_transparent.svg | 1 + 2 files changed, 2 insertions(+) create mode 100644 app/javascript/images/logo_full.svg create mode 100644 app/javascript/images/logo_transparent.svg diff --git a/app/javascript/images/logo_full.svg b/app/javascript/images/logo_full.svg new file mode 100644 index 00000000000..03bcf93e39d --- /dev/null +++ b/app/javascript/images/logo_full.svg @@ -0,0 +1 @@ + diff --git a/app/javascript/images/logo_transparent.svg b/app/javascript/images/logo_transparent.svg new file mode 100644 index 00000000000..a1e7b403e03 --- /dev/null +++ b/app/javascript/images/logo_transparent.svg @@ -0,0 +1 @@ + From 397845453ec8ab592ffe51657cbd80c57f69c597 Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Thu, 10 Nov 2022 20:25:23 +0100 Subject: [PATCH 054/144] Update Helm README and bump version (#20346) * Update Helm chart README and comments in values.yaml * Bump next Helm chart to 2.2.0 --- chart/Chart.yaml | 2 +- chart/readme.md | 18 ++++++++++++++++++ chart/values.yaml | 7 +++++-- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/chart/Chart.yaml b/chart/Chart.yaml index b1c77f6bf98..c8ed0c9f97b 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 2.1.0 +version: 2.2.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/chart/readme.md b/chart/readme.md index 19a1c4ff090..272d59a81f5 100644 --- a/chart/readme.md +++ b/chart/readme.md @@ -48,6 +48,24 @@ upgrading Mastodon versions, it may sometimes be necessary to manually delete the Rails and Sidekiq pods so that they are recreated against the latest migration. +# Upgrades in 2.1.0 + +## ingressClassName and tls-acme changes +The annotations previously defaulting to nginx have been removed and support + for ingressClassName has been added. +```yaml +ingress: + annotations: + kubernetes.io/ingress.class: nginx + kubernetes.io/tls-acme: "true" +``` + +To restore the old functionality simply add the above snippet to your `values.yaml`, +but the recommendation is to replace these with `ingress.ingressClassName` and use +cert-manager's issuer/cluster-issuer instead of tls-acme. +If you're uncertain about your current setup leave `ingressClassName` empty and add +`kubernetes.io/tls-acme` to `ingress.annotations` in your `values.yaml`. + # Upgrades in 2.0.0 ## Fixed labels diff --git a/chart/values.yaml b/chart/values.yaml index c19ab9ed2fa..9e1c5921970 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -104,8 +104,11 @@ mastodon: ingress: enabled: true annotations: - #kubernetes.io/ingress.class: nginx - #kubernetes.io/tls-acme: "true" + # For choosing an ingress ingressClassName is preferred over annotations + # kubernetes.io/ingress.class: nginx + # + # To automatically request TLS certificates use one of the following + # kubernetes.io/tls-acme: "true" # cert-manager.io/cluster-issuer: "letsencrypt" # # ensure that NGINX's upload size matches Mastodon's From 894ce3726a38733ea7b8c880658b962f92d021ae Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Nov 2022 20:26:04 +0100 Subject: [PATCH 055/144] Fix unnecessary service worker registration and preloading when logged out (#20341) --- app/javascript/mastodon/main.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/javascript/mastodon/main.js b/app/javascript/mastodon/main.js index d0337ce0cdc..f882217fbac 100644 --- a/app/javascript/mastodon/main.js +++ b/app/javascript/mastodon/main.js @@ -25,17 +25,17 @@ function main() { import('mastodon/initial_state'), ]); - const wb = new Workbox('/sw.js'); - - try { - await wb.register(); - } catch (err) { - console.error(err); - - return; - } - if (me) { + const wb = new Workbox('/sw.js'); + + try { + await wb.register(); + } catch (err) { + console.error(err); + + return; + } + const registerPushNotifications = await import('mastodon/actions/push_notifications'); store.dispatch(registerPushNotifications.register()); From 1615c3eb6ecbadb5650f02d48e970e4f35d594d1 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Nov 2022 21:06:08 +0100 Subject: [PATCH 056/144] Change logged out /api/v1/statuses/:id/context logged out limits (#20355) --- app/controllers/api/v1/statuses_controller.rb | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index 676ec2a799d..b43b6f1a7cf 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -18,14 +18,29 @@ class Api::V1::StatusesController < Api::BaseController # than this anyway CONTEXT_LIMIT = 4_096 + # This remains expensive and we don't want to show everything to logged-out users + ANCESTORS_LIMIT = 40 + DESCENDANTS_LIMIT = 60 + DESCENDANTS_DEPTH_LIMIT = 20 + def show @status = cache_collection([@status], Status).first render json: @status, serializer: REST::StatusSerializer end def context - ancestors_results = @status.in_reply_to_id.nil? ? [] : @status.ancestors(CONTEXT_LIMIT, current_account) - descendants_results = @status.descendants(CONTEXT_LIMIT, current_account) + ancestors_limit = CONTEXT_LIMIT + descendants_limit = CONTEXT_LIMIT + descendants_depth_limit = nil + + if current_account.nil? + ancestors_limit = ANCESTORS_LIMIT + descendants_limit = DESCENDANTS_LIMIT + descendants_depth_limit = DESCENDANTS_DEPTH_LIMIT + end + + ancestors_results = @status.in_reply_to_id.nil? ? [] : @status.ancestors(ancestors_limit, current_account) + descendants_results = @status.descendants(descendants_limit, current_account, nil, nil, descendants_depth_limit) loaded_ancestors = cache_collection(ancestors_results, Status) loaded_descendants = cache_collection(descendants_results, Status) From 9feba112a704edc23b4c2240a546363f9e1158b1 Mon Sep 17 00:00:00 2001 From: F Date: Thu, 10 Nov 2022 20:06:21 +0000 Subject: [PATCH 057/144] Make enable_starttls configurable by envvars (#20321) ENABLE_STARTTLS is designed to replace ENABLE_STARTTLS_AUTO by accepting three values: 'auto' (the default), 'always', and 'never'. If ENABLE_STARTTLS isn't provided, we fall back to ENABLE_STARTTLS_AUTO. In this way, this change should be fully backwards compatible. Resolves #20311 --- app.json | 7 ++++++- chart/templates/configmap-env.yaml | 3 +++ chart/values.yaml | 2 +- config/environments/production.rb | 17 ++++++++++++++++- lib/tasks/mastodon.rake | 20 +++++++++++++++++++- scalingo.json | 7 ++++++- 6 files changed, 51 insertions(+), 5 deletions(-) diff --git a/app.json b/app.json index c694908c539..4f05a64f516 100644 --- a/app.json +++ b/app.json @@ -79,8 +79,13 @@ "description": "SMTP server certificate verification mode. Defaults is 'peer'.", "required": false }, + "SMTP_ENABLE_STARTTLS": { + "description": "Enable STARTTLS? Default is 'auto'.", + "value": "auto", + "required": false + }, "SMTP_ENABLE_STARTTLS_AUTO": { - "description": "Enable STARTTLS if SMTP server supports it? Default is true.", + "description": "Enable STARTTLS if SMTP server supports it? Deprecated by SMTP_ENABLE_STARTTLS.", "required": false } }, diff --git a/chart/templates/configmap-env.yaml b/chart/templates/configmap-env.yaml index 12da91cf971..00e60f31577 100644 --- a/chart/templates/configmap-env.yaml +++ b/chart/templates/configmap-env.yaml @@ -58,6 +58,9 @@ data: {{- if .Values.mastodon.smtp.domain }} SMTP_DOMAIN: {{ .Values.mastodon.smtp.domain }} {{- end }} + {{- if .Values.mastodon.smtp.enable_starttls }} + SMTP_ENABLE_STARTTLS: {{ .Values.mastodon.smtp.enable_starttls | quote }} + {{- end }} {{- if .Values.mastodon.smtp.enable_starttls_auto }} SMTP_ENABLE_STARTTLS_AUTO: {{ .Values.mastodon.smtp.enable_starttls_auto | quote }} {{- end }} diff --git a/chart/values.yaml b/chart/values.yaml index 9e1c5921970..5cee86e0ec6 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -77,7 +77,7 @@ mastodon: ca_file: /etc/ssl/certs/ca-certificates.crt delivery_method: smtp domain: - enable_starttls_auto: true + enable_starttls: 'auto' from_address: notifications@example.com openssl_verify_mode: peer port: 587 diff --git a/config/environments/production.rb b/config/environments/production.rb index f41a0f19716..48b134949c0 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -101,6 +101,20 @@ Rails.application.configure do config.action_mailer.default_options[:reply_to] = ENV['SMTP_REPLY_TO'] if ENV['SMTP_REPLY_TO'].present? config.action_mailer.default_options[:return_path] = ENV['SMTP_RETURN_PATH'] if ENV['SMTP_RETURN_PATH'].present? + enable_starttls = nil + enable_starttls_auto = nil + + case env['SMTP_ENABLE_STARTTLS'] + when 'always' + enable_starttls = true + when 'never' + enable_starttls = false + when 'auto' + enable_starttls_auto = true + else + enable_starttls_auto = ENV['SMTP_ENABLE_STARTTLS_AUTO'] != 'false' + end + config.action_mailer.smtp_settings = { :port => ENV['SMTP_PORT'], :address => ENV['SMTP_SERVER'], @@ -110,7 +124,8 @@ Rails.application.configure do :authentication => ENV['SMTP_AUTH_METHOD'] == 'none' ? nil : ENV['SMTP_AUTH_METHOD'] || :plain, :ca_file => ENV['SMTP_CA_FILE'].presence || '/etc/ssl/certs/ca-certificates.crt', :openssl_verify_mode => ENV['SMTP_OPENSSL_VERIFY_MODE'], - :enable_starttls_auto => ENV['SMTP_ENABLE_STARTTLS_AUTO'] != 'false', + :enable_starttls => enable_starttls, + :enable_starttls_auto => enable_starttls_auto, :tls => ENV['SMTP_TLS'].presence && ENV['SMTP_TLS'] == 'true', :ssl => ENV['SMTP_SSL'].presence && ENV['SMTP_SSL'] == 'true', } diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 80e1dcf520d..76089ebac0a 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -271,6 +271,7 @@ namespace :mastodon do env['SMTP_PORT'] = 25 env['SMTP_AUTH_METHOD'] = 'none' env['SMTP_OPENSSL_VERIFY_MODE'] = 'none' + env['SMTP_ENABLE_STARTTLS'] = 'auto' else env['SMTP_SERVER'] = prompt.ask('SMTP server:') do |q| q.required true @@ -299,6 +300,8 @@ namespace :mastodon do end env['SMTP_OPENSSL_VERIFY_MODE'] = prompt.select('SMTP OpenSSL verify mode:', %w(none peer client_once fail_if_no_peer_cert)) + + env['SMTP_ENABLE_STARTTLS'] = prompt.select('Enable STARTTLS:', %w(auto always never)) end env['SMTP_FROM_ADDRESS'] = prompt.ask('E-mail address to send e-mails "from":') do |q| @@ -312,6 +315,20 @@ namespace :mastodon do send_to = prompt.ask('Send test e-mail to:', required: true) begin + enable_starttls = nil + enable_starttls_auto = nil + + case env['SMTP_ENABLE_STARTTLS'] + when 'always' + enable_starttls = true + when 'never' + enable_starttls = false + when 'auto' + enable_starttls_auto = true + else + enable_starttls_auto = ENV['SMTP_ENABLE_STARTTLS_AUTO'] != 'false' + end + ActionMailer::Base.smtp_settings = { port: env['SMTP_PORT'], address: env['SMTP_SERVER'], @@ -320,7 +337,8 @@ namespace :mastodon do domain: env['LOCAL_DOMAIN'], authentication: env['SMTP_AUTH_METHOD'] == 'none' ? nil : env['SMTP_AUTH_METHOD'] || :plain, openssl_verify_mode: env['SMTP_OPENSSL_VERIFY_MODE'], - enable_starttls_auto: true, + enable_starttls: enable_starttls, + enable_starttls_auto: enable_starttls_auto, } ActionMailer::Base.default_options = { diff --git a/scalingo.json b/scalingo.json index 511c1802a99..8c899297742 100644 --- a/scalingo.json +++ b/scalingo.json @@ -74,8 +74,13 @@ "description": "SMTP server certificate verification mode. Defaults is 'peer'.", "required": false }, + "SMTP_ENABLE_STARTTLS": { + "description": "Enable STARTTLS? Default is 'auto'.", + "value": "auto", + "required": false + }, "SMTP_ENABLE_STARTTLS_AUTO": { - "description": "Enable STARTTLS if SMTP server supports it? Default is true.", + "description": "Enable STARTTLS if SMTP server supports it? Deprecated by SMTP_ENABLE_STARTTLS.", "required": false }, "BUILDPACK_URL": { From c6c7c6223d92fb43033735d2b754dd360feaf3d9 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 10 Nov 2022 21:09:03 +0100 Subject: [PATCH 058/144] Change verification to only work for https links (#20304) Fix #20242 --- app/models/account/field.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/account/field.rb b/app/models/account/field.rb index d74f90b2bce..e84a0eeb1c6 100644 --- a/app/models/account/field.rb +++ b/app/models/account/field.rb @@ -3,7 +3,7 @@ class Account::Field < ActiveModelSerializers::Model MAX_CHARACTERS_LOCAL = 255 MAX_CHARACTERS_COMPAT = 2_047 - ACCEPTED_SCHEMES = %w(http https).freeze + ACCEPTED_SCHEMES = %w(https).freeze attributes :name, :value, :verified_at, :account From a02a453a40386d7065fa306fe295995d009ccbfa Mon Sep 17 00:00:00 2001 From: F Date: Thu, 10 Nov 2022 20:11:38 +0000 Subject: [PATCH 059/144] Add Scots to the supported locales (#20283) Fixes #20249 --- app/helpers/languages_helper.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb index 322548747b9..fff073cedbd 100644 --- a/app/helpers/languages_helper.rb +++ b/app/helpers/languages_helper.rb @@ -195,6 +195,7 @@ module LanguagesHelper kmr: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze, ldn: ['Láadan', 'Láadan'].freeze, lfn: ['Lingua Franca Nova', 'lingua franca nova'].freeze, + sco: ['Scots', 'Scots'].freeze, tok: ['Toki Pona', 'toki pona'].freeze, zba: ['Balaibalan', 'باليبلن'].freeze, zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze, From 86f6631d283423746b8fdf0a618f6e0abafea099 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Nov 2022 22:30:00 +0100 Subject: [PATCH 060/144] Remove dead code and refactor status threading code (#20357) * Remove dead code * Remove unneeded/broken parameters and refactor descendant computation --- app/controllers/api/v1/statuses_controller.rb | 2 +- .../concerns/status_controller_concern.rb | 87 ------------------- app/controllers/statuses_controller.rb | 1 - .../concerns/status_threading_concern.rb | 21 ++--- 4 files changed, 9 insertions(+), 102 deletions(-) delete mode 100644 app/controllers/concerns/status_controller_concern.rb diff --git a/app/controllers/api/v1/statuses_controller.rb b/app/controllers/api/v1/statuses_controller.rb index b43b6f1a7cf..6290a1746a8 100644 --- a/app/controllers/api/v1/statuses_controller.rb +++ b/app/controllers/api/v1/statuses_controller.rb @@ -40,7 +40,7 @@ class Api::V1::StatusesController < Api::BaseController end ancestors_results = @status.in_reply_to_id.nil? ? [] : @status.ancestors(ancestors_limit, current_account) - descendants_results = @status.descendants(descendants_limit, current_account, nil, nil, descendants_depth_limit) + descendants_results = @status.descendants(descendants_limit, current_account, descendants_depth_limit) loaded_ancestors = cache_collection(ancestors_results, Status) loaded_descendants = cache_collection(descendants_results, Status) diff --git a/app/controllers/concerns/status_controller_concern.rb b/app/controllers/concerns/status_controller_concern.rb deleted file mode 100644 index 62a7cf5086a..00000000000 --- a/app/controllers/concerns/status_controller_concern.rb +++ /dev/null @@ -1,87 +0,0 @@ -# frozen_string_literal: true - -module StatusControllerConcern - extend ActiveSupport::Concern - - ANCESTORS_LIMIT = 40 - DESCENDANTS_LIMIT = 60 - DESCENDANTS_DEPTH_LIMIT = 20 - - def create_descendant_thread(starting_depth, statuses) - depth = starting_depth + statuses.size - - if depth < DESCENDANTS_DEPTH_LIMIT - { - statuses: statuses, - starting_depth: starting_depth, - } - else - next_status = statuses.pop - - { - statuses: statuses, - starting_depth: starting_depth, - next_status: next_status, - } - end - end - - def set_ancestors - @ancestors = @status.reply? ? cache_collection(@status.ancestors(ANCESTORS_LIMIT, current_account), Status) : [] - @next_ancestor = @ancestors.size < ANCESTORS_LIMIT ? nil : @ancestors.shift - end - - def set_descendants - @max_descendant_thread_id = params[:max_descendant_thread_id]&.to_i - @since_descendant_thread_id = params[:since_descendant_thread_id]&.to_i - - descendants = cache_collection( - @status.descendants( - DESCENDANTS_LIMIT, - current_account, - @max_descendant_thread_id, - @since_descendant_thread_id, - DESCENDANTS_DEPTH_LIMIT - ), - Status - ) - - @descendant_threads = [] - - if descendants.present? - statuses = [descendants.first] - starting_depth = 0 - - descendants.drop(1).each_with_index do |descendant, index| - if descendants[index].id == descendant.in_reply_to_id - statuses << descendant - else - @descendant_threads << create_descendant_thread(starting_depth, statuses) - - # The thread is broken, assume it's a reply to the root status - starting_depth = 0 - - # ... unless we can find its ancestor in one of the already-processed threads - @descendant_threads.reverse_each do |descendant_thread| - statuses = descendant_thread[:statuses] - - index = statuses.find_index do |thread_status| - thread_status.id == descendant.in_reply_to_id - end - - if index.present? - starting_depth = descendant_thread[:starting_depth] + index + 1 - break - end - end - - statuses = [descendant] - end - end - - @descendant_threads << create_descendant_thread(starting_depth, statuses) - end - - @max_descendant_thread_id = @descendant_threads.pop[:statuses].first.id if descendants.size >= DESCENDANTS_LIMIT - end -end diff --git a/app/controllers/statuses_controller.rb b/app/controllers/statuses_controller.rb index bb4e5b01f4b..9eb7ad691d4 100644 --- a/app/controllers/statuses_controller.rb +++ b/app/controllers/statuses_controller.rb @@ -2,7 +2,6 @@ class StatusesController < ApplicationController include WebAppControllerConcern - include StatusControllerConcern include SignatureAuthentication include Authorization include AccountOwnedConcern diff --git a/app/models/concerns/status_threading_concern.rb b/app/models/concerns/status_threading_concern.rb index 5c04108e4ca..8b628beea27 100644 --- a/app/models/concerns/status_threading_concern.rb +++ b/app/models/concerns/status_threading_concern.rb @@ -7,8 +7,8 @@ module StatusThreadingConcern find_statuses_from_tree_path(ancestor_ids(limit), account) end - def descendants(limit, account = nil, max_child_id = nil, since_child_id = nil, depth = nil) - find_statuses_from_tree_path(descendant_ids(limit, max_child_id, since_child_id, depth), account, promote: true) + def descendants(limit, account = nil, depth = nil) + find_statuses_from_tree_path(descendant_ids(limit, depth), account, promote: true) end def self_replies(limit) @@ -50,22 +50,17 @@ module StatusThreadingConcern SQL end - def descendant_ids(limit, max_child_id, since_child_id, depth) - descendant_statuses(limit, max_child_id, since_child_id, depth).pluck(:id) - end - - def descendant_statuses(limit, max_child_id, since_child_id, depth) + def descendant_ids(limit, depth) # use limit + 1 and depth + 1 because 'self' is included depth += 1 if depth.present? limit += 1 if limit.present? - descendants_with_self = Status.find_by_sql([<<-SQL.squish, id: id, limit: limit, max_child_id: max_child_id, since_child_id: since_child_id, depth: depth]) - WITH RECURSIVE search_tree(id, path) - AS ( + descendants_with_self = Status.find_by_sql([<<-SQL.squish, id: id, limit: limit, depth: depth]) + WITH RECURSIVE search_tree(id, path) AS ( SELECT id, ARRAY[id] FROM statuses - WHERE id = :id AND COALESCE(id < :max_child_id, TRUE) AND COALESCE(id > :since_child_id, TRUE) - UNION ALL + WHERE id = :id + UNION ALL SELECT statuses.id, path || statuses.id FROM search_tree JOIN statuses ON statuses.in_reply_to_id = search_tree.id @@ -77,7 +72,7 @@ module StatusThreadingConcern LIMIT :limit SQL - descendants_with_self - [self] + descendants_with_self.pluck(:id) - [id] end def find_statuses_from_tree_path(ids, account, promote: false) From 302a58c22b08a5cb6682a683dce501e030413bf4 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Thu, 10 Nov 2022 23:24:39 +0100 Subject: [PATCH 061/144] helm: fix consistent indentation, chomping, and use of with (#19918) --- chart/templates/cronjob-media-remove.yaml | 6 +++--- chart/templates/deployment-sidekiq.yaml | 12 +++++++----- chart/templates/deployment-streaming.yaml | 16 +++++++++++----- chart/templates/deployment-web.yaml | 22 ++++++++++++++-------- chart/templates/hpa.yaml | 10 +++++----- chart/templates/ingress.yaml | 2 +- chart/templates/job-assets-precompile.yaml | 4 ++-- chart/templates/job-chewy-upgrade.yaml | 6 +++--- chart/templates/job-create-admin.yaml | 6 +++--- chart/templates/job-db-migrate.yaml | 4 ++-- chart/templates/pvc-assets.yaml | 6 ++++-- chart/templates/pvc-system.yaml | 6 ++++-- chart/templates/secrets.yaml | 4 ++-- 13 files changed, 61 insertions(+), 43 deletions(-) diff --git a/chart/templates/cronjob-media-remove.yaml b/chart/templates/cronjob-media-remove.yaml index d3566e32d47..b175f0ee75a 100644 --- a/chart/templates/cronjob-media-remove.yaml +++ b/chart/templates/cronjob-media-remove.yaml @@ -1,4 +1,4 @@ -{{ if .Values.mastodon.cron.removeMedia.enabled }} +{{ if .Values.mastodon.cron.removeMedia.enabled -}} apiVersion: batch/v1 kind: CronJob metadata: @@ -12,10 +12,10 @@ spec: template: metadata: name: {{ include "mastodon.fullname" . }}-media-remove - {{- with .Values.jobAnnotations }} + {{- with .Values.jobAnnotations }} annotations: {{- toYaml . | nindent 12 }} - {{- end }} + {{- end }} spec: restartPolicy: OnFailure {{- if (not .Values.mastodon.s3.enabled) }} diff --git a/chart/templates/deployment-sidekiq.yaml b/chart/templates/deployment-sidekiq.yaml index 57051870f8a..878b01150f8 100644 --- a/chart/templates/deployment-sidekiq.yaml +++ b/chart/templates/deployment-sidekiq.yaml @@ -5,9 +5,9 @@ metadata: labels: {{- include "mastodon.labels" . | nindent 4 }} spec: -{{- if not .Values.autoscaling.enabled }} + {{- if not .Values.autoscaling.enabled }} replicas: {{ .Values.replicaCount }} -{{- end }} + {{- end }} selector: matchLabels: {{- include "mastodon.selectorLabels" . | nindent 6 }} @@ -31,8 +31,10 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "mastodon.serviceAccountName" . }} + {{- with .Values.podSecurityContext }} securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- toYaml . | nindent 8 }} + {{- end }} {{- if (not .Values.mastodon.s3.enabled) }} # ensure we run on the same node as the other rails components; only # required when using PVCs that are ReadWriteOnce @@ -95,7 +97,7 @@ spec: secretKeyRef: name: {{ .Values.mastodon.s3.existingSecret }} key: AWS_ACCESS_KEY_ID - {{- end -}} + {{- end }} {{- if .Values.mastodon.smtp.existingSecret }} - name: "SMTP_LOGIN" valueFrom: @@ -108,7 +110,7 @@ spec: secretKeyRef: name: {{ .Values.mastodon.smtp.existingSecret }} key: password - {{- end -}} + {{- end }} {{- if (not .Values.mastodon.s3.enabled) }} volumeMounts: - name: assets diff --git a/chart/templates/deployment-streaming.yaml b/chart/templates/deployment-streaming.yaml index a5007222c2f..5d565765ebd 100644 --- a/chart/templates/deployment-streaming.yaml +++ b/chart/templates/deployment-streaming.yaml @@ -5,9 +5,9 @@ metadata: labels: {{- include "mastodon.labels" . | nindent 4 }} spec: -{{- if not .Values.autoscaling.enabled }} + {{- if not .Values.autoscaling.enabled }} replicas: {{ .Values.replicaCount }} -{{- end }} + {{- end }} selector: matchLabels: {{- include "mastodon.selectorLabels" . | nindent 6 }} @@ -29,12 +29,16 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "mastodon.serviceAccountName" . }} + {{- with .Values.podSecurityContext }} securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- toYaml . | nindent 8 }} + {{- end }} containers: - name: {{ .Chart.Name }} + {{- with .Values.securityContext }} securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} + {{- toYaml . | nindent 12 }} + {{- end }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} command: @@ -68,8 +72,10 @@ spec: httpGet: path: /api/v1/streaming/health port: streaming + {{- with .Values.resources }} resources: - {{- toYaml .Values.resources | nindent 12 }} + {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} diff --git a/chart/templates/deployment-web.yaml b/chart/templates/deployment-web.yaml index 5fb316396c0..ec67481bf1f 100644 --- a/chart/templates/deployment-web.yaml +++ b/chart/templates/deployment-web.yaml @@ -5,9 +5,9 @@ metadata: labels: {{- include "mastodon.labels" . | nindent 4 }} spec: -{{- if not .Values.autoscaling.enabled }} + {{- if not .Values.autoscaling.enabled }} replicas: {{ .Values.replicaCount }} -{{- end }} + {{- end }} selector: matchLabels: {{- include "mastodon.selectorLabels" . | nindent 6 }} @@ -16,9 +16,9 @@ spec: template: metadata: annotations: - {{- with .Values.podAnnotations }} + {{- with .Values.podAnnotations }} {{- toYaml . | nindent 8 }} - {{- end }} + {{- end }} # roll the pods to pick up any db migrations or other changes {{- include "mastodon.rollingPodAnnotations" . | nindent 8 }} labels: @@ -31,8 +31,10 @@ spec: {{- toYaml . | nindent 8 }} {{- end }} serviceAccountName: {{ include "mastodon.serviceAccountName" . }} + {{- with .Values.podSecurityContext }} securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- toYaml . | nindent 8 }} + {{- end }} {{- if (not .Values.mastodon.s3.enabled) }} volumes: - name: assets @@ -44,8 +46,10 @@ spec: {{- end }} containers: - name: {{ .Chart.Name }} + {{- with .Values.securityContext }} securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} + {{- toYaml . | nindent 12 }} + {{- end }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} command: @@ -83,7 +87,7 @@ spec: secretKeyRef: name: {{ .Values.mastodon.s3.existingSecret }} key: AWS_ACCESS_KEY_ID - {{- end -}} + {{- end }} {{- if (not .Values.mastodon.s3.enabled) }} volumeMounts: - name: assets @@ -108,8 +112,10 @@ spec: port: http failureThreshold: 30 periodSeconds: 5 + {{- with .Values.resources }} resources: - {{- toYaml .Values.resources | nindent 12 }} + {{- toYaml . | nindent 12 }} + {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} diff --git a/chart/templates/hpa.yaml b/chart/templates/hpa.yaml index 3f9aa8a93bf..b23b2cb168d 100644 --- a/chart/templates/hpa.yaml +++ b/chart/templates/hpa.yaml @@ -1,4 +1,4 @@ -{{- if .Values.autoscaling.enabled }} +{{- if .Values.autoscaling.enabled -}} apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: @@ -13,16 +13,16 @@ spec: minReplicas: {{ .Values.autoscaling.minReplicas }} maxReplicas: {{ .Values.autoscaling.maxReplicas }} metrics: - {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} - {{- end }} - {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- end }} + {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} - {{- end }} + {{- end }} {{- end }} diff --git a/chart/templates/ingress.yaml b/chart/templates/ingress.yaml index 08663829735..e5c5e1dc67b 100644 --- a/chart/templates/ingress.yaml +++ b/chart/templates/ingress.yaml @@ -2,7 +2,7 @@ {{- $fullName := include "mastodon.fullname" . -}} {{- $webPort := .Values.mastodon.web.port -}} {{- $streamingPort := .Values.mastodon.streaming.port -}} -{{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) }} +{{- if or (.Capabilities.APIVersions.Has "networking.k8s.io/v1/Ingress") (not (.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1/Ingress")) -}} apiVersion: networking.k8s.io/v1 {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} apiVersion: networking.k8s.io/v1beta1 diff --git a/chart/templates/job-assets-precompile.yaml b/chart/templates/job-assets-precompile.yaml index 9bdec2ab7cf..30d54b76f50 100644 --- a/chart/templates/job-assets-precompile.yaml +++ b/chart/templates/job-assets-precompile.yaml @@ -12,10 +12,10 @@ spec: template: metadata: name: {{ include "mastodon.fullname" . }}-assets-precompile - {{- with .Values.jobAnnotations }} + {{- with .Values.jobAnnotations }} annotations: {{- toYaml . | nindent 8 }} - {{- end }} + {{- end }} spec: restartPolicy: Never {{- if (not .Values.mastodon.s3.enabled) }} diff --git a/chart/templates/job-chewy-upgrade.yaml b/chart/templates/job-chewy-upgrade.yaml index 556133dd32f..5b22a861054 100644 --- a/chart/templates/job-chewy-upgrade.yaml +++ b/chart/templates/job-chewy-upgrade.yaml @@ -1,4 +1,4 @@ -{{- if .Values.elasticsearch.enabled }} +{{- if .Values.elasticsearch.enabled -}} apiVersion: batch/v1 kind: Job metadata: @@ -13,10 +13,10 @@ spec: template: metadata: name: {{ include "mastodon.fullname" . }}-chewy-upgrade - {{- with .Values.jobAnnotations }} + {{- with .Values.jobAnnotations }} annotations: {{- toYaml . | nindent 8 }} - {{- end }} + {{- end }} spec: restartPolicy: Never {{- if (not .Values.mastodon.s3.enabled) }} diff --git a/chart/templates/job-create-admin.yaml b/chart/templates/job-create-admin.yaml index 94d39dcbb56..f28cdab4187 100644 --- a/chart/templates/job-create-admin.yaml +++ b/chart/templates/job-create-admin.yaml @@ -1,4 +1,4 @@ -{{- if .Values.mastodon.createAdmin.enabled }} +{{- if .Values.mastodon.createAdmin.enabled -}} apiVersion: batch/v1 kind: Job metadata: @@ -13,10 +13,10 @@ spec: template: metadata: name: {{ include "mastodon.fullname" . }}-create-admin - {{- with .Values.jobAnnotations }} + {{- with .Values.jobAnnotations }} annotations: {{- toYaml . | nindent 8 }} - {{- end }} + {{- end }} spec: restartPolicy: Never {{- if (not .Values.mastodon.s3.enabled) }} diff --git a/chart/templates/job-db-migrate.yaml b/chart/templates/job-db-migrate.yaml index e1544d2b66d..db09c6ea2b2 100644 --- a/chart/templates/job-db-migrate.yaml +++ b/chart/templates/job-db-migrate.yaml @@ -12,10 +12,10 @@ spec: template: metadata: name: {{ include "mastodon.fullname" . }}-db-migrate - {{- with .Values.jobAnnotations }} + {{- with .Values.jobAnnotations }} annotations: {{- toYaml . | nindent 8 }} - {{- end }} + {{- end }} spec: restartPolicy: Never {{- if (not .Values.mastodon.s3.enabled) }} diff --git a/chart/templates/pvc-assets.yaml b/chart/templates/pvc-assets.yaml index 58b2179df0c..36d555898e7 100644 --- a/chart/templates/pvc-assets.yaml +++ b/chart/templates/pvc-assets.yaml @@ -1,4 +1,4 @@ -{{- if (not .Values.mastodon.s3.enabled) }} +{{- if (not .Values.mastodon.s3.enabled) -}} apiVersion: v1 kind: PersistentVolumeClaim metadata: @@ -8,7 +8,9 @@ metadata: spec: accessModes: - {{ .Values.mastodon.persistence.system.accessMode }} + {{- with .Values.mastodon.persistence.assets.resources }} resources: - {{- toYaml .Values.mastodon.persistence.assets.resources | nindent 4}} + {{- toYaml . | nindent 4 }} + {{- end }} storageClassName: {{ .Values.mastodon.persistence.assets.storageClassName }} {{- end }} diff --git a/chart/templates/pvc-system.yaml b/chart/templates/pvc-system.yaml index 52398f0daf8..9865346eaac 100644 --- a/chart/templates/pvc-system.yaml +++ b/chart/templates/pvc-system.yaml @@ -1,4 +1,4 @@ -{{- if (not .Values.mastodon.s3.enabled) }} +{{- if (not .Values.mastodon.s3.enabled) -}} apiVersion: v1 kind: PersistentVolumeClaim metadata: @@ -8,7 +8,9 @@ metadata: spec: accessModes: - {{ .Values.mastodon.persistence.system.accessMode }} + {{- with .Values.mastodon.persistence.system.resources }} resources: - {{- toYaml .Values.mastodon.persistence.system.resources | nindent 4}} + {{- toYaml . | nindent 4 }} + {{- end }} storageClassName: {{ .Values.mastodon.persistence.system.storageClassName }} {{- end }} diff --git a/chart/templates/secrets.yaml b/chart/templates/secrets.yaml index d7ac936ce50..d1776ac590b 100644 --- a/chart/templates/secrets.yaml +++ b/chart/templates/secrets.yaml @@ -1,4 +1,4 @@ -{{- if (include "mastodon.createSecret" .) }} +{{- if (include "mastodon.createSecret" .) -}} apiVersion: v1 kind: Secret metadata: @@ -40,4 +40,4 @@ data: password: "{{ .Values.postgresql.auth.password | b64enc }}" {{- end }} {{- end }} -{{- end -}} +{{- end }} From d4f973227c3a65833b6f8f34cab080900c77d4d6 Mon Sep 17 00:00:00 2001 From: F Date: Thu, 10 Nov 2022 23:06:18 +0000 Subject: [PATCH 062/144] Test the native_locale_name of a non-standard locale (#20284) `:en` is English for both `standard_locale_name` and `native_locale_name`, and so makes for a poor test candidate for differentiating between them. --- spec/helpers/languages_helper_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/helpers/languages_helper_spec.rb b/spec/helpers/languages_helper_spec.rb index 5587fc261ab..217c9b2397d 100644 --- a/spec/helpers/languages_helper_spec.rb +++ b/spec/helpers/languages_helper_spec.rb @@ -11,7 +11,7 @@ describe LanguagesHelper do describe 'native_locale_name' do it 'finds the human readable native name from a key' do - expect(helper.native_locale_name(:en)).to eq('English') + expect(helper.native_locale_name(:de)).to eq('Deutsch') end end From 19a8563905cf613bb24e10e4e19bdbc1d0ff3b8a Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Fri, 11 Nov 2022 09:33:32 +0900 Subject: [PATCH 063/144] Fix `ENV` (#20377) --- config/environments/production.rb | 2 +- lib/tasks/mastodon.rake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 48b134949c0..dc53195359b 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -104,7 +104,7 @@ Rails.application.configure do enable_starttls = nil enable_starttls_auto = nil - case env['SMTP_ENABLE_STARTTLS'] + case ENV['SMTP_ENABLE_STARTTLS'] when 'always' enable_starttls = true when 'never' diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 76089ebac0a..3ec685c7434 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -326,7 +326,7 @@ namespace :mastodon do when 'auto' enable_starttls_auto = true else - enable_starttls_auto = ENV['SMTP_ENABLE_STARTTLS_AUTO'] != 'false' + enable_starttls_auto = env['SMTP_ENABLE_STARTTLS_AUTO'] != 'false' end ActionMailer::Base.smtp_settings = { From 53d26cfc1cc2779f699f3d3d56696484faefe87c Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Fri, 11 Nov 2022 09:33:59 +0900 Subject: [PATCH 064/144] Delay workbox import (#20376) --- app/javascript/mastodon/main.js | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/app/javascript/mastodon/main.js b/app/javascript/mastodon/main.js index f882217fbac..69a7ee91f9a 100644 --- a/app/javascript/mastodon/main.js +++ b/app/javascript/mastodon/main.js @@ -2,6 +2,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { setupBrowserNotifications } from 'mastodon/actions/notifications'; import Mastodon, { store } from 'mastodon/containers/mastodon'; +import { me } from 'mastodon/initial_state'; import ready from 'mastodon/ready'; const perf = require('mastodon/performance'); @@ -19,23 +20,19 @@ function main() { ReactDOM.render(, mountNode); store.dispatch(setupBrowserNotifications()); - if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { - const [{ Workbox }, { me }] = await Promise.all([ - import('workbox-window'), - import('mastodon/initial_state'), - ]); + if (process.env.NODE_ENV === 'production' && me && 'serviceWorker' in navigator) { + const { Workbox } = await import('workbox-window'); + const wb = new Workbox('/sw.js'); + /** @type {ServiceWorkerRegistration} */ + let registration; - if (me) { - const wb = new Workbox('/sw.js'); - - try { - await wb.register(); - } catch (err) { - console.error(err); - - return; - } + try { + registration = await wb.register(); + } catch (err) { + console.error(err); + } + if (registration) { const registerPushNotifications = await import('mastodon/actions/push_notifications'); store.dispatch(registerPushNotifications.register()); From 97f657f8181dc24f6c30b6e9f0ce52df827ac90f Mon Sep 17 00:00:00 2001 From: F Date: Fri, 11 Nov 2022 01:54:02 +0000 Subject: [PATCH 065/144] Note that CircleCI auth may be required to run PR pipelines (#20371) See #20284 --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3f51c4bd0a0..9963054b394 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,6 +42,8 @@ It is not always possible to phrase every change in such a manner, but it is des - Code style rules (rubocop, eslint) - Normalization of locale files (i18n-tasks) +**Note**: You may need to log in and authorise the GitHub account your fork of this repository belongs to with CircleCI to enable some of the automated checks to run. + ## Documentation The [Mastodon documentation](https://docs.joinmastodon.org) is a statically generated site. You can [submit merge requests to mastodon/documentation](https://github.com/mastodon/documentation). From cf4992c918459187962a9e2f389f9ccb4f1b825d Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Thu, 10 Nov 2022 18:55:20 -0700 Subject: [PATCH 066/144] Only remove padding when listing applications (#20382) This prevents styling issues on the Authorization page. --- app/javascript/styles/mastodon/forms.scss | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index a3ddc763625..1841dc8bfde 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -1064,11 +1064,18 @@ code { &:last-child { border-bottom: 0; - padding-bottom: 0; } } } +// Only remove padding when listing applications, to prevent styling issues on +// the Authorization page. +.applications-list { + .permissions-list__item:last-child { + padding-bottom: 0; + } +} + .keywords-table { thead { th { From 73fecc3358bc22a1a83772c62593161267369a1e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 11 Nov 2022 05:26:43 +0100 Subject: [PATCH 067/144] Change e-mail in SECURITY.md (#20384) --- SECURITY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SECURITY.md b/SECURITY.md index d2543b18d6c..ccc7c103462 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,6 +1,6 @@ # Security Policy -If you believe you've identified a security vulnerability in Mastodon (a bug that allows something to happen that shouldn't be possible), you can reach us at . +If you believe you've identified a security vulnerability in Mastodon (a bug that allows something to happen that shouldn't be possible), you can reach us at . You should *not* report such issues on GitHub or in other public spaces to give us time to publish a fix for the issue without exposing Mastodon's users to increased risk. From 36bc90e8aaf89b5cf64636b404611ff1809ad6f0 Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Fri, 11 Nov 2022 07:45:16 +0100 Subject: [PATCH 068/144] blurhash_transcoder: prevent out-of-bound reads with <8bpp images (#20388) The Blurhash library used by Mastodon requires an input encoded as 24 bits raw RGB data. The conversion to raw RGB using Imagemagick did not previously specify the desired bit depth. In some situations, this leads Imagemagick to output in a pixel format using less bpp than expected. This then manifested as segfaults of the Sidekiq process due to out-of-bounds read, or potentially a (highly noisy) memory infoleak. Fixes #19235. --- lib/paperclip/blurhash_transcoder.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/paperclip/blurhash_transcoder.rb b/lib/paperclip/blurhash_transcoder.rb index 1c3a6df0259..c22c20c57ad 100644 --- a/lib/paperclip/blurhash_transcoder.rb +++ b/lib/paperclip/blurhash_transcoder.rb @@ -5,7 +5,7 @@ module Paperclip def make return @file unless options[:style] == :small || options[:blurhash] - pixels = convert(':source RGB:-', source: File.expand_path(@file.path)).unpack('C*') + pixels = convert(':source -depth 8 RGB:-', source: File.expand_path(@file.path)).unpack('C*') geometry = options.fetch(:file_geometry_parser).from_file(@file) attachment.instance.blurhash = Blurhash.encode(geometry.width, geometry.height, pixels, **(options[:blurhash] || {})) From 6774c339b2e22fc9cadcb466139745661d0b3c83 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 11 Nov 2022 08:26:58 +0100 Subject: [PATCH 069/144] Fix domain blocks on about page not working well on small screens in web UI (#20391) --- .../mastodon/features/about/index.js | 29 ++++------- .../styles/mastodon/components.scss | 51 ++++++++++++------- 2 files changed, 45 insertions(+), 35 deletions(-) diff --git a/app/javascript/mastodon/features/about/index.js b/app/javascript/mastodon/features/about/index.js index 83283627258..15d017642cd 100644 --- a/app/javascript/mastodon/features/about/index.js +++ b/app/javascript/mastodon/features/about/index.js @@ -183,25 +183,18 @@ class About extends React.PureComponent { <>

- - - - - - - - +
+ {domainBlocks.get('items').map(block => ( +
+
+
{block.get('domain')}
+ {intl.formatMessage(severityMessages[block.get('severity')].title)} +
-
- {domainBlocks.get('items').map(block => ( - - - - - - ))} - -
{block.get('domain')}{intl.formatMessage(severityMessages[block.get('severity')].title)}{block.get('comment')}
+

{block.get('comment').length > 0 ? block.get('comment') : }

+
+ ))} +
) : (

diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index ecbf6afc0b5..8b43604c8f6 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -8557,28 +8557,45 @@ noscript { &__domain-blocks { margin-top: 30px; - width: 100%; - border-collapse: collapse; - break-inside: auto; + background: darken($ui-base-color, 4%); + border: 1px solid lighten($ui-base-color, 4%); + border-radius: 4px; - th { - text-align: left; - font-weight: 500; + &__domain { + border-bottom: 1px solid lighten($ui-base-color, 4%); + padding: 10px; + font-size: 15px; color: $darker-text-color; - } - thead tr, - tbody tr { - border-bottom: 1px solid lighten($ui-base-color, 8%); - } + &:nth-child(2n) { + background: darken($ui-base-color, 2%); + } - tbody tr:last-child { - border-bottom: 0; - } + &:last-child { + border-bottom: 0; + } - th, - td { - padding: 8px; + &__header { + display: flex; + gap: 10px; + justify-content: space-between; + font-weight: 500; + margin-bottom: 4px; + } + + h6 { + color: $secondary-text-color; + font-size: inherit; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + p { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } } } } From 53028af10ee5244d050e84580c396df25c2e8fc3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 11 Nov 2022 08:39:38 +0100 Subject: [PATCH 070/144] Bump version to 4.0.0rc3 (#20378) --- CHANGELOG.md | 47 ++++++++++++++++--- .../mastodon/locales/defaultMessages.json | 35 +++++++++----- app/javascript/mastodon/locales/en.json | 5 +- lib/mastodon/version.rb | 2 +- 4 files changed, 67 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bd22438c92..72f62a1dc3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ Some of the features in this release have been funded through the [NGI0 Discover - **Add ability to follow hashtags** ([Gargron](https://github.com/mastodon/mastodon/pull/18809), [Gargron](https://github.com/mastodon/mastodon/pull/18862), [Gargron](https://github.com/mastodon/mastodon/pull/19472), [noellabo](https://github.com/mastodon/mastodon/pull/18924)) - Add ability to filter individual posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18945)) - **Add ability to translate posts** ([Gargron](https://github.com/mastodon/mastodon/pull/19218), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19433), [Gargron](https://github.com/mastodon/mastodon/pull/19453), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19434), [Gargron](https://github.com/mastodon/mastodon/pull/19388), [ykzts](https://github.com/mastodon/mastodon/pull/19244), [Gargron](https://github.com/mastodon/mastodon/pull/19245)) -- Add featured tags to web UI ([noellabo](https://github.com/mastodon/mastodon/pull/19408), [noellabo](https://github.com/mastodon/mastodon/pull/19380), [noellabo](https://github.com/mastodon/mastodon/pull/19358), [noellabo](https://github.com/mastodon/mastodon/pull/19409), [Gargron](https://github.com/mastodon/mastodon/pull/19382), [ykzts](https://github.com/mastodon/mastodon/pull/19418), [noellabo](https://github.com/mastodon/mastodon/pull/19403), [noellabo](https://github.com/mastodon/mastodon/pull/19404), [Gargron](https://github.com/mastodon/mastodon/pull/19398), [Gargron](https://github.com/mastodon/mastodon/pull/19712)) +- Add featured tags to web UI ([noellabo](https://github.com/mastodon/mastodon/pull/19408), [noellabo](https://github.com/mastodon/mastodon/pull/19380), [noellabo](https://github.com/mastodon/mastodon/pull/19358), [noellabo](https://github.com/mastodon/mastodon/pull/19409), [Gargron](https://github.com/mastodon/mastodon/pull/19382), [ykzts](https://github.com/mastodon/mastodon/pull/19418), [noellabo](https://github.com/mastodon/mastodon/pull/19403), [noellabo](https://github.com/mastodon/mastodon/pull/19404), [Gargron](https://github.com/mastodon/mastodon/pull/19398), [Gargron](https://github.com/mastodon/mastodon/pull/19712), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20018)) - **Add support for language preferences for trending statuses and links** ([Gargron](https://github.com/mastodon/mastodon/pull/18288), [Gargron](https://github.com/mastodon/mastodon/pull/19349), [ykzts](https://github.com/mastodon/mastodon/pull/19335)) - Previously, you could only see trends in your current language - For less popular languages, that meant empty trends @@ -21,6 +21,7 @@ Some of the features in this release have been funded through the [NGI0 Discover - Add server rules to sign-up flow ([Gargron](https://github.com/mastodon/mastodon/pull/19296)) - Add privacy icons to report modal in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19190)) - Add `noopener` to links to remote profiles in web UI ([shleeable](https://github.com/mastodon/mastodon/pull/19014)) +- Add option to open original page in dropdowns of remote content in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/20299)) - Add warning for sensitive audio posts in web UI ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/17885)) - Add language attribute to posts in web UI ([tribela](https://github.com/mastodon/mastodon/pull/18544)) - Add support for uploading WebP files ([Saiv46](https://github.com/mastodon/mastodon/pull/18506)) @@ -43,22 +44,26 @@ Some of the features in this release have been funded through the [NGI0 Discover - Add admin API for managing domain blocks ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18247)) - Add admin API for managing e-mail domain blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19066)) - Add admin API for managing canonical e-mail blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19067)) -- Add admin API for managing IP blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19065)) +- Add admin API for managing IP blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19065), [trwnh](https://github.com/mastodon/mastodon/pull/20207)) +- Add `sensitized` attribute to accounts in admin REST API ([trwnh](https://github.com/mastodon/mastodon/pull/20094)) - Add `services` and `metadata` to the NodeInfo endpoint ([MFTabriz](https://github.com/mastodon/mastodon/pull/18563)) - Add `--remove-role` option to `tootctl accounts modify` ([Gargron](https://github.com/mastodon/mastodon/pull/19477)) - Add `--days` option to `tootctl media refresh` ([tribela](https://github.com/mastodon/mastodon/pull/18425)) - Add `EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18642)) - Add `IP_RETENTION_PERIOD` and `SESSION_RETENTION_PERIOD` environment variables ([kescherCode](https://github.com/mastodon/mastodon/pull/18757)) - Add `http_hidden_proxy` environment variable ([tribela](https://github.com/mastodon/mastodon/pull/18427)) -- Add caching for payload serialization during fan-out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19637), [Gargron](https://github.com/mastodon/mastodon/pull/19642), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19746), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19747)) +- Add `ENABLE_STARTTLS` environment variable ([erbridge](https://github.com/mastodon/mastodon/pull/20321)) +- Add caching for payload serialization during fan-out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19637), [Gargron](https://github.com/mastodon/mastodon/pull/19642), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19746), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19747), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19963)) - Add assets from Twemoji 14.0 ([Gargron](https://github.com/mastodon/mastodon/pull/19733)) - Add reputation and followers score boost to SQL-only account search ([Gargron](https://github.com/mastodon/mastodon/pull/19251)) +- Add Scots, Balaibalan, Láadan, Lingua Franca Nova, Lojban, Toki Pona to languages list ([VyrCossont](https://github.com/mastodon/mastodon/pull/20168)) +- Set autocomplete hints for e-mail, password and OTP fields ([rcombs](https://github.com/mastodon/mastodon/pull/19833), [offbyone](https://github.com/mastodon/mastodon/pull/19946), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20071)) ### Changed - **Change brand color and logotypes** ([Gargron](https://github.com/mastodon/mastodon/pull/18592), [Gargron](https://github.com/mastodon/mastodon/pull/18639), [Gargron](https://github.com/mastodon/mastodon/pull/18691), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18634), [Gargron](https://github.com/mastodon/mastodon/pull/19254), [mayaeh](https://github.com/mastodon/mastodon/pull/18710)) - **Change post editing to be enabled in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/19103)) -- **Change web UI to work for logged-out users** ([Gargron](https://github.com/mastodon/mastodon/pull/18961), [Gargron](https://github.com/mastodon/mastodon/pull/19250), [Gargron](https://github.com/mastodon/mastodon/pull/19294), [Gargron](https://github.com/mastodon/mastodon/pull/19306), [Gargron](https://github.com/mastodon/mastodon/pull/19315), [ykzts](https://github.com/mastodon/mastodon/pull/19322), [Gargron](https://github.com/mastodon/mastodon/pull/19412), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19437), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19415), [Gargron](https://github.com/mastodon/mastodon/pull/19348), [Gargron](https://github.com/mastodon/mastodon/pull/19295), [Gargron](https://github.com/mastodon/mastodon/pull/19422), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19414), [Gargron](https://github.com/mastodon/mastodon/pull/19319), [Gargron](https://github.com/mastodon/mastodon/pull/19345), [Gargron](https://github.com/mastodon/mastodon/pull/19310), [Gargron](https://github.com/mastodon/mastodon/pull/19301), [Gargron](https://github.com/mastodon/mastodon/pull/19423), [ykzts](https://github.com/mastodon/mastodon/pull/19471), [ykzts](https://github.com/mastodon/mastodon/pull/19333), [ykzts](https://github.com/mastodon/mastodon/pull/19337), [ykzts](https://github.com/mastodon/mastodon/pull/19272), [ykzts](https://github.com/mastodon/mastodon/pull/19468), [Gargron](https://github.com/mastodon/mastodon/pull/19466), [Gargron](https://github.com/mastodon/mastodon/pull/19457), [Gargron](https://github.com/mastodon/mastodon/pull/19426), [Gargron](https://github.com/mastodon/mastodon/pull/19427), [Gargron](https://github.com/mastodon/mastodon/pull/19421), [Gargron](https://github.com/mastodon/mastodon/pull/19417), [Gargron](https://github.com/mastodon/mastodon/pull/19413), [Gargron](https://github.com/mastodon/mastodon/pull/19397), [Gargron](https://github.com/mastodon/mastodon/pull/19387), [Gargron](https://github.com/mastodon/mastodon/pull/19396), [Gargron](https://github.com/mastodon/mastodon/pull/19385), [ykzts](https://github.com/mastodon/mastodon/pull/19334), [ykzts](https://github.com/mastodon/mastodon/pull/19329), [Gargron](https://github.com/mastodon/mastodon/pull/19324), [Gargron](https://github.com/mastodon/mastodon/pull/19318), [Gargron](https://github.com/mastodon/mastodon/pull/19316), [Gargron](https://github.com/mastodon/mastodon/pull/19263), [trwnh](https://github.com/mastodon/mastodon/pull/19305), [ykzts](https://github.com/mastodon/mastodon/pull/19273), [Gargron](https://github.com/mastodon/mastodon/pull/19801), [Gargron](https://github.com/mastodon/mastodon/pull/19790), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19773), [Gargron](https://github.com/mastodon/mastodon/pull/19798), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19724), [Gargron](https://github.com/mastodon/mastodon/pull/19709), [Gargron](https://github.com/mastodon/mastodon/pull/19514), [Gargron](https://github.com/mastodon/mastodon/pull/19562)) +- **Change web UI to work for logged-out users** ([Gargron](https://github.com/mastodon/mastodon/pull/18961), [Gargron](https://github.com/mastodon/mastodon/pull/19250), [Gargron](https://github.com/mastodon/mastodon/pull/19294), [Gargron](https://github.com/mastodon/mastodon/pull/19306), [Gargron](https://github.com/mastodon/mastodon/pull/19315), [ykzts](https://github.com/mastodon/mastodon/pull/19322), [Gargron](https://github.com/mastodon/mastodon/pull/19412), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19437), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19415), [Gargron](https://github.com/mastodon/mastodon/pull/19348), [Gargron](https://github.com/mastodon/mastodon/pull/19295), [Gargron](https://github.com/mastodon/mastodon/pull/19422), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19414), [Gargron](https://github.com/mastodon/mastodon/pull/19319), [Gargron](https://github.com/mastodon/mastodon/pull/19345), [Gargron](https://github.com/mastodon/mastodon/pull/19310), [Gargron](https://github.com/mastodon/mastodon/pull/19301), [Gargron](https://github.com/mastodon/mastodon/pull/19423), [ykzts](https://github.com/mastodon/mastodon/pull/19471), [ykzts](https://github.com/mastodon/mastodon/pull/19333), [ykzts](https://github.com/mastodon/mastodon/pull/19337), [ykzts](https://github.com/mastodon/mastodon/pull/19272), [ykzts](https://github.com/mastodon/mastodon/pull/19468), [Gargron](https://github.com/mastodon/mastodon/pull/19466), [Gargron](https://github.com/mastodon/mastodon/pull/19457), [Gargron](https://github.com/mastodon/mastodon/pull/19426), [Gargron](https://github.com/mastodon/mastodon/pull/19427), [Gargron](https://github.com/mastodon/mastodon/pull/19421), [Gargron](https://github.com/mastodon/mastodon/pull/19417), [Gargron](https://github.com/mastodon/mastodon/pull/19413), [Gargron](https://github.com/mastodon/mastodon/pull/19397), [Gargron](https://github.com/mastodon/mastodon/pull/19387), [Gargron](https://github.com/mastodon/mastodon/pull/19396), [Gargron](https://github.com/mastodon/mastodon/pull/19385), [ykzts](https://github.com/mastodon/mastodon/pull/19334), [ykzts](https://github.com/mastodon/mastodon/pull/19329), [Gargron](https://github.com/mastodon/mastodon/pull/19324), [Gargron](https://github.com/mastodon/mastodon/pull/19318), [Gargron](https://github.com/mastodon/mastodon/pull/19316), [Gargron](https://github.com/mastodon/mastodon/pull/19263), [trwnh](https://github.com/mastodon/mastodon/pull/19305), [ykzts](https://github.com/mastodon/mastodon/pull/19273), [Gargron](https://github.com/mastodon/mastodon/pull/19801), [Gargron](https://github.com/mastodon/mastodon/pull/19790), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19773), [Gargron](https://github.com/mastodon/mastodon/pull/19798), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19724), [Gargron](https://github.com/mastodon/mastodon/pull/19709), [Gargron](https://github.com/mastodon/mastodon/pull/19514), [Gargron](https://github.com/mastodon/mastodon/pull/19562), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19981), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19978), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20148), [Gargron](https://github.com/mastodon/mastodon/pull/20302)) - The web app can now be accessed without being logged in - No more `/web` prefix on web app paths - Profiles, posts, and other public pages now use the same interface for logged in and logged out users @@ -74,14 +79,13 @@ Some of the features in this release have been funded through the [NGI0 Discover - Change label of publish button to be "Publish" again in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18583)) - Change language to be carried over on reply in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18557)) - Change "Unfollow" to "Cancel follow request" when request still pending in web UI ([prplecake](https://github.com/mastodon/mastodon/pull/19363)) -- **Change post filtering system** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18058), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19050), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18894), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19051), [noellabo](https://github.com/mastodon/mastodon/pull/18923), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18956), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18744)) +- **Change post filtering system** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18058), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19050), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18894), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19051), [noellabo](https://github.com/mastodon/mastodon/pull/18923), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18956), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18744), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19878)) - Filtered keywords and phrases can now be grouped into named categories - Filtered posts show which exact filter was hit - Individual posts can be added to a filter - You can peek inside filtered posts anyway - Change path of privacy policy page from `/terms` to `/privacy-policy` ([Gargron](https://github.com/mastodon/mastodon/pull/19249)) - Change how hashtags are normalized ([Gargron](https://github.com/mastodon/mastodon/pull/18795), [Gargron](https://github.com/mastodon/mastodon/pull/18863), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18854)) -- Change public (but not hashtag) timelines to be filtered by current locale by default ([Gargron](https://github.com/mastodon/mastodon/pull/19291), [Gargron](https://github.com/mastodon/mastodon/pull/19563)) - Change settings area to be separated into categories in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/19407), [Gargron](https://github.com/mastodon/mastodon/pull/19533)) - Change "No accounts selected" errors to use the appropriate noun in admin UI ([prplecake](https://github.com/mastodon/mastodon/pull/19356)) - Change e-mail domain blocks to match subdomains of blocked domains ([Gargron](https://github.com/mastodon/mastodon/pull/18979)) @@ -95,6 +99,12 @@ Some of the features in this release have been funded through the [NGI0 Discover - Change mentions of blocked users to not be processed ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19725)) - Change max. thumbnail dimensions to 640x360px (360p) ([Gargron](https://github.com/mastodon/mastodon/pull/19619)) - Change post-processing to be deferred only for large media types ([Gargron](https://github.com/mastodon/mastodon/pull/19617)) +- Change link verification to only work for https links without unicode ([Gargron](https://github.com/mastodon/mastodon/pull/20304), [Gargron](https://github.com/mastodon/mastodon/pull/20295)) +- Change account deletion requests to spread out over time ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20222)) +- Change larger reblogs/favourites numbers to be shortened in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/20303)) +- Change incoming activity processing to happen in `ingress` queue ([Gargron](https://github.com/mastodon/mastodon/pull/20264)) +- Change notifications to not link show preview cards in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20335)) +- Change amount of replies returned for logged out users in REST API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20355)) ### Removed @@ -107,6 +117,25 @@ Some of the features in this release have been funded through the [NGI0 Discover ### Fixed +- Fix connections to IPv6-only servers ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20108)) +- Fix unnecessary service worker registration and preloading when logged out in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20341)) +- Fix unnecessary and slow regex construction ([raggi](https://github.com/mastodon/mastodon/pull/20215)) +- Fix `mailers` queue not being used for mailers ([Gargron](https://github.com/mastodon/mastodon/pull/20274)) +- Fix error in webfinger redirect handling ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20260)) +- Fix report category not being set to `violation` if rule IDs are provided ([trwnh](https://github.com/mastodon/mastodon/pull/20137)) +- Fix nodeinfo metadata attribute being an array instead of an object ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20114)) +- Fix account endorsements not being idempotent ([trwnh](https://github.com/mastodon/mastodon/pull/20118)) +- Fix status and rule IDs not being strings in admin reports REST API ([trwnh](https://github.com/mastodon/mastodon/pull/20122)) +- Fix error on invalid `replies_policy` in REST API ([trwnh](https://github.com/mastodon/mastodon/pull/20126)) +- Fix redrafting a currently-editing post not leaving edit mode in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20023)) +- Fix performance by avoiding method cache busts ([raggi](https://github.com/mastodon/mastodon/pull/19957)) +- Fix opening the language picker scrolling the single-column view to the top in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19983)) +- Fix content warning button missing `aria-expanded` attribute in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19975)) +- Fix redundant `aria-pressed` attributes in web UI ([Brawaru](https://github.com/mastodon/mastodon/pull/19912)) +- Fix crash when external auth provider has no display name set ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19962)) +- Fix followers count not being updated when migrating follows ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19998)) +- Fix double button to clear emoji search input in web UI ([sunny](https://github.com/mastodon/mastodon/pull/19888)) +- Fix missing null check on applications on strike disputes ([kescherCode](https://github.com/mastodon/mastodon/pull/19851)) - Fix featured tags not saving preferred casing ([Gargron](https://github.com/mastodon/mastodon/pull/19732)) - Fix language not being saved when editing status ([Gargron](https://github.com/mastodon/mastodon/pull/19543)) - Fix not being able to input featured tag with hash symbol ([Gargron](https://github.com/mastodon/mastodon/pull/19535)) @@ -118,7 +147,7 @@ Some of the features in this release have been funded through the [NGI0 Discover - Fix account action type validation ([Gargron](https://github.com/mastodon/mastodon/pull/19476)) - Fix upload progress not communicating processing phase in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/19530)) - Fix wrong host being used for custom.css when asset host configured ([Gargron](https://github.com/mastodon/mastodon/pull/19521)) -- Fix account migration form ever using outdated account data ([Gargron](https://github.com/mastodon/mastodon/pull/18429)) +- Fix account migration form ever using outdated account data ([Gargron](https://github.com/mastodon/mastodon/pull/18429), [nightpool](https://github.com/mastodon/mastodon/pull/19883)) - Fix error when uploading malformed CSV import ([Gargron](https://github.com/mastodon/mastodon/pull/19509)) - Fix avatars not using image tags in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/19488)) - Fix handling of duplicate and out-of-order notifications in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19693)) @@ -157,6 +186,10 @@ Some of the features in this release have been funded through the [NGI0 Discover - Fix `CAS_DISPLAY_NAME`, `SAML_DISPLAY_NAME` and `OIDC_DISPLAY_NAME` being ignored ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18568)) - Fix various typos in comments throughout the codebase ([luzpaz](https://github.com/mastodon/mastodon/pull/18604)) +### Security + +- Fix being able to spoof link verification ([Gargron](https://github.com/mastodon/mastodon/pull/20217)) + ## [3.5.3] - 2022-05-26 ### Added diff --git a/app/javascript/mastodon/locales/defaultMessages.json b/app/javascript/mastodon/locales/defaultMessages.json index 1c0372cf4e1..f7ea661d7d2 100644 --- a/app/javascript/mastodon/locales/defaultMessages.json +++ b/app/javascript/mastodon/locales/defaultMessages.json @@ -682,6 +682,10 @@ { "defaultMessage": "Filter this post", "id": "status.filter" + }, + { + "defaultMessage": "Open original page", + "id": "account.open_original_page" } ], "path": "app/javascript/mastodon/components/status_action_bar.json" @@ -887,16 +891,8 @@ "id": "about.domain_blocks.preamble" }, { - "defaultMessage": "Domain", - "id": "about.domain_blocks.domain" - }, - { - "defaultMessage": "Severity", - "id": "about.domain_blocks.severity" - }, - { - "defaultMessage": "Reason", - "id": "about.domain_blocks.comment" + "defaultMessage": "Reason not available", + "id": "about.domain_blocks.no_reason_available" }, { "defaultMessage": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", @@ -1187,6 +1183,10 @@ "defaultMessage": "Change subscribed languages", "id": "account.languages" }, + { + "defaultMessage": "Open original page", + "id": "account.open_original_page" + }, { "defaultMessage": "Follows you", "id": "account.follows_you" @@ -2603,7 +2603,7 @@ "id": "interaction_modal.on_another_server" }, { - "defaultMessage": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "defaultMessage": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "id": "interaction_modal.other_server_instructions" } ], @@ -3598,6 +3598,10 @@ { "defaultMessage": "Unblock @{name}", "id": "account.unblock" + }, + { + "defaultMessage": "Open original page", + "id": "account.open_original_page" } ], "path": "app/javascript/mastodon/features/status/components/action_bar.json" @@ -3998,6 +4002,15 @@ ], "path": "app/javascript/mastodon/features/ui/components/header.json" }, + { + "descriptors": [ + { + "defaultMessage": "Close", + "id": "lightbox.close" + } + ], + "path": "app/javascript/mastodon/features/ui/components/image_modal.json" + }, { "descriptors": [ { diff --git a/app/javascript/mastodon/locales/en.json b/app/javascript/mastodon/locales/en.json index 2de98465163..b8cb2479918 100644 --- a/app/javascript/mastodon/locales/en.json +++ b/app/javascript/mastodon/locales/en.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Posts", "account.posts_with_replies": "Posts and replies", "account.report": "Report @{name}", diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 2b0b84b8f31..60a22b234b3 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc2' + 'rc3' end def suffix From 9bc0a6c861e07d0112ef2e5ccd28adeca868bdbe Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 11 Nov 2022 09:20:10 +0100 Subject: [PATCH 071/144] Fix metadata scrubbing removing color profile from images (#20389) --- app/models/concerns/account_avatar.rb | 2 +- app/models/concerns/account_header.rb | 2 +- app/models/custom_emoji.rb | 2 +- app/models/media_attachment.rb | 2 +- app/models/preview_card.rb | 4 ++-- app/models/preview_card_provider.rb | 2 +- app/models/site_upload.rb | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/models/concerns/account_avatar.rb b/app/models/concerns/account_avatar.rb index 0cfd9167cd8..e9b8b4adba2 100644 --- a/app/models/concerns/account_avatar.rb +++ b/app/models/concerns/account_avatar.rb @@ -18,7 +18,7 @@ module AccountAvatar included do # Avatar upload - has_attached_file :avatar, styles: ->(f) { avatar_styles(f) }, convert_options: { all: '-strip' }, processors: [:lazy_thumbnail] + has_attached_file :avatar, styles: ->(f) { avatar_styles(f) }, convert_options: { all: '+profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail] validates_attachment_content_type :avatar, content_type: IMAGE_MIME_TYPES validates_attachment_size :avatar, less_than: LIMIT remotable_attachment :avatar, LIMIT, suppress_errors: false diff --git a/app/models/concerns/account_header.rb b/app/models/concerns/account_header.rb index a8c0a28ef55..0d197abfcd1 100644 --- a/app/models/concerns/account_header.rb +++ b/app/models/concerns/account_header.rb @@ -19,7 +19,7 @@ module AccountHeader included do # Header upload - has_attached_file :header, styles: ->(f) { header_styles(f) }, convert_options: { all: '-strip' }, processors: [:lazy_thumbnail] + has_attached_file :header, styles: ->(f) { header_styles(f) }, convert_options: { all: '+profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail] validates_attachment_content_type :header, content_type: IMAGE_MIME_TYPES validates_attachment_size :header, less_than: LIMIT remotable_attachment :header, LIMIT, suppress_errors: false diff --git a/app/models/custom_emoji.rb b/app/models/custom_emoji.rb index 7b19cd2ac99..3048056591f 100644 --- a/app/models/custom_emoji.rb +++ b/app/models/custom_emoji.rb @@ -37,7 +37,7 @@ class CustomEmoji < ApplicationRecord belongs_to :category, class_name: 'CustomEmojiCategory', optional: true has_one :local_counterpart, -> { where(domain: nil) }, class_name: 'CustomEmoji', primary_key: :shortcode, foreign_key: :shortcode - has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce -strip' } }, validate_media_type: false + has_attached_file :image, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set modify-date +set create-date' } }, validate_media_type: false before_validation :downcase_domain diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index a6e090f4c8f..7aa8658d909 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -167,7 +167,7 @@ class MediaAttachment < ApplicationRecord }.freeze GLOBAL_CONVERT_OPTIONS = { - all: '-quality 90 -strip +set modify-date +set create-date', + all: '-quality 90 +profile "!icc,*" +set modify-date +set create-date', }.freeze belongs_to :account, inverse_of: :media_attachments, optional: true diff --git a/app/models/preview_card.rb b/app/models/preview_card.rb index b5d3f9c8fef..56ca62d5ecd 100644 --- a/app/models/preview_card.rb +++ b/app/models/preview_card.rb @@ -50,7 +50,7 @@ class PreviewCard < ApplicationRecord has_and_belongs_to_many :statuses has_one :trend, class_name: 'PreviewCardTrend', inverse_of: :preview_card, dependent: :destroy - has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 80 -strip' }, validate_media_type: false + has_attached_file :image, processors: [:thumbnail, :blurhash_transcoder], styles: ->(f) { image_styles(f) }, convert_options: { all: '-quality 90 +profile "!icc,*" +set modify-date +set create-date' }, validate_media_type: false validates :url, presence: true, uniqueness: true validates_attachment_content_type :image, content_type: IMAGE_MIME_TYPES @@ -122,7 +122,7 @@ class PreviewCard < ApplicationRecord original: { geometry: '400x400>', file_geometry_parser: FastGeometryParser, - convert_options: '-coalesce -strip', + convert_options: '-coalesce', blurhash: BLURHASH_OPTIONS, }, } diff --git a/app/models/preview_card_provider.rb b/app/models/preview_card_provider.rb index 15b24e2bdfd..d61fe60208b 100644 --- a/app/models/preview_card_provider.rb +++ b/app/models/preview_card_provider.rb @@ -25,7 +25,7 @@ class PreviewCardProvider < ApplicationRecord validates :domain, presence: true, uniqueness: true, domain: true - has_attached_file :icon, styles: { static: { format: 'png', convert_options: '-coalesce -strip' } }, validate_media_type: false + has_attached_file :icon, styles: { static: { format: 'png', convert_options: '-coalesce +profile "!icc,*" +set modify-date +set create-date' } }, validate_media_type: false validates_attachment :icon, content_type: { content_type: ICON_MIME_TYPES }, size: { less_than: LIMIT } remotable_attachment :icon, LIMIT diff --git a/app/models/site_upload.rb b/app/models/site_upload.rb index d3b81d4d52f..167131fdd9e 100644 --- a/app/models/site_upload.rb +++ b/app/models/site_upload.rb @@ -40,7 +40,7 @@ class SiteUpload < ApplicationRecord mascot: {}.freeze, }.freeze - has_attached_file :file, styles: ->(file) { STYLES[file.instance.var.to_sym] }, convert_options: { all: '-coalesce -strip' }, processors: [:lazy_thumbnail, :blurhash_transcoder, :type_corrector] + has_attached_file :file, styles: ->(file) { STYLES[file.instance.var.to_sym] }, convert_options: { all: '-coalesce +profile "!icc,*" +set modify-date +set create-date' }, processors: [:lazy_thumbnail, :blurhash_transcoder, :type_corrector] validates_attachment_content_type :file, content_type: /\Aimage\/.*\z/ validates :file, presence: true From 5e796dc6f85b37c8378fe01cfd8ac23222c89eea Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 11 Nov 2022 09:20:24 +0100 Subject: [PATCH 072/144] =?UTF-8?q?Remove=20=E2=80=9CNo=20description=20ad?= =?UTF-8?q?ded=E2=80=9D=20media=20warning=20in=20edit=20mode=20(#20393)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Editing media metadata is not currently possible in edit mode, the button would open the modal but saving the changes would error out. --- app/javascript/mastodon/features/compose/components/upload.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/compose/components/upload.js b/app/javascript/mastodon/features/compose/components/upload.js index 0b2dcf08f30..97ac54da911 100644 --- a/app/javascript/mastodon/features/compose/components/upload.js +++ b/app/javascript/mastodon/features/compose/components/upload.js @@ -47,7 +47,7 @@ export default class Upload extends ImmutablePureComponent { {!isEditingStatus && ()} - {(media.get('description') || '').length === 0 && ( + {(media.get('description') || '').length === 0 && !isEditingStatus && (
From 553b169d483e9b2f28007e130a494aec08a1720a Mon Sep 17 00:00:00 2001 From: Cutls Date: Sat, 12 Nov 2022 05:19:48 +0900 Subject: [PATCH 073/144] Do not show drag&drop dialog when not logined (#20400) * Cannot upload until login * and do not fire upload * change username props to context --- app/javascript/mastodon/features/ui/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/features/ui/index.js b/app/javascript/mastodon/features/ui/index.js index 298f2111dec..b059566061b 100644 --- a/app/javascript/mastodon/features/ui/index.js +++ b/app/javascript/mastodon/features/ui/index.js @@ -290,7 +290,7 @@ class UI extends React.PureComponent { this.dragTargets.push(e.target); } - if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore) { + if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore && this.context.identity.signedIn) { this.setState({ draggingOver: true }); } } @@ -318,7 +318,7 @@ class UI extends React.PureComponent { this.setState({ draggingOver: false }); this.dragTargets = []; - if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore) { + if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore && this.context.identity.signedIn) { this.props.dispatch(uploadCompose(e.dataTransfer.files)); } } From 31005aad12c6a915a00501765a6dab25878326cb Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 11 Nov 2022 21:22:17 +0100 Subject: [PATCH 074/144] Add the ability to edit media attachment metadata for any unattached media (#20402) --- .../mastodon/features/compose/components/upload.js | 7 +++---- .../features/compose/containers/upload_container.js | 1 - app/javascript/mastodon/reducers/compose.js | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/app/javascript/mastodon/features/compose/components/upload.js b/app/javascript/mastodon/features/compose/components/upload.js index 97ac54da911..b08307adee4 100644 --- a/app/javascript/mastodon/features/compose/components/upload.js +++ b/app/javascript/mastodon/features/compose/components/upload.js @@ -17,7 +17,6 @@ export default class Upload extends ImmutablePureComponent { media: ImmutablePropTypes.map.isRequired, onUndo: PropTypes.func.isRequired, onOpenFocalPoint: PropTypes.func.isRequired, - isEditingStatus: PropTypes.bool.isRequired, }; handleUndoClick = e => { @@ -31,7 +30,7 @@ export default class Upload extends ImmutablePureComponent { } render () { - const { media, isEditingStatus } = this.props; + const { media } = this.props; const focusX = media.getIn(['meta', 'focus', 'x']); const focusY = media.getIn(['meta', 'focus', 'y']); const x = ((focusX / 2) + .5) * 100; @@ -44,10 +43,10 @@ export default class Upload extends ImmutablePureComponent {
- {!isEditingStatus && ()} + {!!media.get('unattached') && ()}
- {(media.get('description') || '').length === 0 && !isEditingStatus && ( + {(media.get('description') || '').length === 0 && !!media.get('unattached') && (
diff --git a/app/javascript/mastodon/features/compose/containers/upload_container.js b/app/javascript/mastodon/features/compose/containers/upload_container.js index 1108aec305f..05cd2ecc1fe 100644 --- a/app/javascript/mastodon/features/compose/containers/upload_container.js +++ b/app/javascript/mastodon/features/compose/containers/upload_container.js @@ -5,7 +5,6 @@ import { submitCompose } from '../../../actions/compose'; const mapStateToProps = (state, { id }) => ({ media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id), - isEditingStatus: state.getIn(['compose', 'id']) !== null, }); const mapDispatchToProps = dispatch => ({ diff --git a/app/javascript/mastodon/reducers/compose.js b/app/javascript/mastodon/reducers/compose.js index ad384bd0b50..afb8b40c103 100644 --- a/app/javascript/mastodon/reducers/compose.js +++ b/app/javascript/mastodon/reducers/compose.js @@ -135,7 +135,7 @@ function appendMedia(state, media, file) { if (media.get('type') === 'image') { media = media.set('file', file); } - map.update('media_attachments', list => list.push(media)); + map.update('media_attachments', list => list.push(media.set('unattached', true))); map.set('is_uploading', false); map.set('is_processing', false); map.set('resetFileKey', Math.floor((Math.random() * 0x10000))); @@ -446,7 +446,7 @@ export default function compose(state = initialState, action) { map.set('text', action.raw_text || unescapeHTML(expandMentions(action.status))); map.set('in_reply_to', action.status.get('in_reply_to_id')); map.set('privacy', action.status.get('visibility')); - map.set('media_attachments', action.status.get('media_attachments')); + map.set('media_attachments', action.status.get('media_attachments').map((media) => media.set('unattached', true))); map.set('focusDate', new Date()); map.set('caretPosition', null); map.set('idempotencyKey', uuid()); From 96f51e593f2609579b8155d971bcbc5ab9e7cd4c Mon Sep 17 00:00:00 2001 From: Emily Strickland Date: Fri, 11 Nov 2022 12:22:28 -0800 Subject: [PATCH 075/144] Guard against error extracting `body` from URL (#20428) If `Nokogiri::HTML(value).at_xpath('//body')` fails to find the `body` element, it will return `nil`. We can guard against that with an early return. Avoids calling `children` on `Nilclass` in those cases. --- app/models/account/field.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/account/field.rb b/app/models/account/field.rb index e84a0eeb1c6..ffc8dce80b7 100644 --- a/app/models/account/field.rb +++ b/app/models/account/field.rb @@ -76,6 +76,7 @@ class Account::Field < ActiveModelSerializers::Model def extract_url_from_html doc = Nokogiri::HTML(value).at_xpath('//body') + return if doc.nil? return if doc.children.size > 1 element = doc.children.first From 93a6ebc83d4bc6647d1eafce509a29aa3642c87c Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 11 Nov 2022 21:23:03 +0100 Subject: [PATCH 076/144] Fix WebUI crash when listing server blocks and rationale is not available (#20408) Regression from #20391 Fixes #20405 --- app/javascript/mastodon/features/about/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/about/index.js b/app/javascript/mastodon/features/about/index.js index 15d017642cd..e59f737386d 100644 --- a/app/javascript/mastodon/features/about/index.js +++ b/app/javascript/mastodon/features/about/index.js @@ -191,7 +191,7 @@ class About extends React.PureComponent { {intl.formatMessage(severityMessages[block.get('severity')].title)}
-

{block.get('comment').length > 0 ? block.get('comment') : }

+

{(block.get('comment') || '').length > 0 ? block.get('comment') : }

))} From c4c1bee8807e3548ff1f2b231a3cca647d9e8a62 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sat, 12 Nov 2022 05:24:10 +0900 Subject: [PATCH 077/144] Fix trendable status without review (#20214) --- app/models/account.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/account.rb b/app/models/account.rb index cc3a8f3df4a..fc7359cfc4b 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -256,7 +256,7 @@ class Account < ApplicationRecord update!(memorial: true) end - def trendable + def trendable? boolean_with_default('trendable', Setting.trendable_by_default) end From 28cda42af5983d2d450c2c0a9fa8cd38006d8089 Mon Sep 17 00:00:00 2001 From: Bearice Ren Date: Sat, 12 Nov 2022 04:31:03 +0800 Subject: [PATCH 078/144] fixes ArgumentError when proxy is used (#20420) * fixes ArgumentError when proxy is used * Update app/lib/request.rb Co-authored-by: Claire Co-authored-by: Eugen Rochko Co-authored-by: Claire --- app/lib/request.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/request.rb b/app/lib/request.rb index dd198f3991e..96d934a8f28 100644 --- a/app/lib/request.rb +++ b/app/lib/request.rb @@ -281,7 +281,7 @@ class Request class ProxySocket < Socket class << self - def check_private_address(_address) + def check_private_address(_address, _host) # Accept connections to private addresses as HTTP proxies will usually # be on local addresses nil From 628b3fa44916dba1bcb24af0a92b49edc4bf49ce Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Sat, 12 Nov 2022 05:11:07 +0100 Subject: [PATCH 079/144] Uppercase chart readme.md to help tools discover it (#20438) --- chart/{readme.md => README.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename chart/{readme.md => README.md} (100%) diff --git a/chart/readme.md b/chart/README.md similarity index 100% rename from chart/readme.md rename to chart/README.md From e1af21cfd089d6238920471f8198f447eea05e01 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 12 Nov 2022 07:56:25 +0100 Subject: [PATCH 080/144] New Crowdin updates (#20258) * New translations en.json (Asturian) * New translations en.yml (Telugu) * New translations en.yml (Tamil) * New translations en.json (Norwegian Nynorsk) * New translations en.json (Spanish, Argentina) * New translations en.yml (Spanish, Argentina) * New translations en.json (Spanish, Mexico) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Bengali) * New translations en.yml (Marathi) * New translations en.yml (Croatian) * New translations en.yml (Kazakh) * New translations en.yml (Estonian) * New translations en.json (Latvian) * New translations en.yml (Hindi) * New translations en.yml (Malay) * New translations en.yml (Asturian) * New translations en.json (Occitan) * New translations simple_form.en.yml (Basque) * New translations simple_form.en.yml (Spanish) * New translations simple_form.en.yml (Arabic) * New translations simple_form.en.yml (Bulgarian) * New translations simple_form.en.yml (Catalan) * New translations simple_form.en.yml (Danish) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Greek) * New translations simple_form.en.yml (Frisian) * New translations simple_form.en.yml (Finnish) * New translations simple_form.en.yml (Romanian) * New translations simple_form.en.yml (Irish) * New translations simple_form.en.yml (Hebrew) * New translations simple_form.en.yml (Hungarian) * New translations simple_form.en.yml (Armenian) * New translations simple_form.en.yml (Italian) * New translations simple_form.en.yml (Japanese) * New translations simple_form.en.yml (Georgian) * New translations simple_form.en.yml (French) * New translations simple_form.en.yml (Vietnamese) * New translations en.yml (Occitan) * New translations en.yml (Serbian (Latin)) * New translations en.json (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.json (Sorani (Kurdish)) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Corsican) * New translations simple_form.en.yml (Norwegian) * New translations simple_form.en.yml (Polish) * New translations simple_form.en.yml (Sinhala) * New translations en.yml (Kabyle) * New translations en.yml (Sardinian) * New translations en.yml (Taigi) * New translations en.yml (Silesian) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (Sanskrit) * New translations simple_form.en.yml (Tatar) * New translations simple_form.en.yml (Welsh) * New translations simple_form.en.yml (Esperanto) * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) * New translations simple_form.en.yml (Malayalam) * New translations simple_form.en.yml (Kazakh) * New translations simple_form.en.yml (Breton) * New translations simple_form.en.yml (Scottish Gaelic) * New translations activerecord.en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Asturian) * New translations simple_form.en.yml (Occitan) * New translations simple_form.en.yml (Serbian (Latin)) * New translations simple_form.en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Sorani (Kurdish)) * New translations simple_form.en.yml (Estonian) * New translations simple_form.en.yml (Norwegian Nynorsk) * New translations simple_form.en.yml (Portuguese) * New translations simple_form.en.yml (Galician) * New translations simple_form.en.yml (Russian) * New translations simple_form.en.yml (Slovak) * New translations simple_form.en.yml (Albanian) * New translations simple_form.en.yml (Serbian (Cyrillic)) * New translations simple_form.en.yml (Turkish) * New translations simple_form.en.yml (Ukrainian) * New translations simple_form.en.yml (Icelandic) * New translations simple_form.en.yml (Croatian) * New translations activerecord.en.yml (Icelandic) * New translations simple_form.en.yml (Persian) * New translations simple_form.en.yml (Tamil) * New translations simple_form.en.yml (Spanish, Argentina) * New translations simple_form.en.yml (Spanish, Mexico) * New translations simple_form.en.yml (Bengali) * New translations simple_form.en.yml (Corsican) * New translations activerecord.en.yml (Portuguese, Brazilian) * New translations activerecord.en.yml (Slovak) * New translations activerecord.en.yml (Dutch) * New translations activerecord.en.yml (Norwegian) * New translations activerecord.en.yml (Polish) * New translations activerecord.en.yml (Portuguese) * New translations activerecord.en.yml (Russian) * New translations activerecord.en.yml (Japanese) * New translations activerecord.en.yml (Albanian) * New translations activerecord.en.yml (Serbian (Cyrillic)) * New translations activerecord.en.yml (Swedish) * New translations activerecord.en.yml (Turkish) * New translations activerecord.en.yml (Ukrainian) * New translations activerecord.en.yml (Chinese Simplified) * New translations activerecord.en.yml (Vietnamese) * New translations activerecord.en.yml (Galician) * New translations activerecord.en.yml (Georgian) * New translations activerecord.en.yml (Italian) * New translations activerecord.en.yml (Catalan) * New translations activerecord.en.yml (Czech) * New translations activerecord.en.yml (Romanian) * New translations activerecord.en.yml (French) * New translations activerecord.en.yml (Spanish) * New translations activerecord.en.yml (Afrikaans) * New translations activerecord.en.yml (Arabic) * New translations activerecord.en.yml (Bulgarian) * New translations activerecord.en.yml (Armenian) * New translations activerecord.en.yml (German) * New translations activerecord.en.yml (Greek) * New translations activerecord.en.yml (Frisian) * New translations activerecord.en.yml (Basque) * New translations activerecord.en.yml (Finnish) * New translations activerecord.en.yml (Irish) * New translations activerecord.en.yml (Hebrew) * New translations activerecord.en.yml (Hungarian) * New translations simple_form.en.yml (Ido) * New translations simple_form.en.yml (Kabyle) * New translations simple_form.en.yml (Standard Moroccan Tamazight) * New translations simple_form.en.yml (Sardinian) * New translations activerecord.en.yml (Indonesian) * New translations activerecord.en.yml (Kurmanji (Kurdish)) * New translations activerecord.en.yml (Breton) * New translations activerecord.en.yml (Persian) * New translations activerecord.en.yml (Asturian) * New translations activerecord.en.yml (Occitan) * New translations activerecord.en.yml (Serbian (Latin)) * New translations activerecord.en.yml (Sorani (Kurdish)) * New translations activerecord.en.yml (Tatar) * New translations activerecord.en.yml (Corsican) * New translations en.yml (Burmese) * New translations en.yml (Igbo) * New translations activerecord.en.yml (Malayalam) * New translations activerecord.en.yml (Sinhala) * New translations activerecord.en.yml (Chinese Traditional, Hong Kong) * New translations activerecord.en.yml (Norwegian Nynorsk) * New translations activerecord.en.yml (Tamil) * New translations activerecord.en.yml (Spanish, Argentina) * New translations activerecord.en.yml (Spanish, Mexico) * New translations activerecord.en.yml (Bengali) * New translations activerecord.en.yml (Marathi) * New translations activerecord.en.yml (Thai) * New translations activerecord.en.yml (Croatian) * New translations activerecord.en.yml (Kazakh) * New translations activerecord.en.yml (Estonian) * New translations activerecord.en.yml (Latvian) * New translations activerecord.en.yml (Hindi) * New translations activerecord.en.yml (Welsh) * New translations activerecord.en.yml (Sardinian) * New translations activerecord.en.yml (Kabyle) * New translations activerecord.en.yml (Ido) * New translations activerecord.en.yml (Standard Moroccan Tamazight) * New translations en.json (Afrikaans) * New translations en.yml (Bulgarian) * New translations en.json (Hungarian) * New translations en.json (Korean) * New translations en.yml (Korean) * New translations en.yml (Slovenian) * New translations en.json (Swedish) * New translations en.json (Chinese Simplified) * New translations en.json (Vietnamese) * New translations en.json (Icelandic) * New translations en.json (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Bulgarian) * New translations doorkeeper.en.yml (Korean) * New translations activerecord.en.yml (Bulgarian) * New translations devise.en.yml (Bulgarian) * New translations en.yml (German) * New translations en.json (German) * New translations en.json (Romanian) * New translations en.json (Catalan) * New translations en.json (Korean) * New translations en.yml (Korean) * New translations en.json (Norwegian) * New translations en.json (Vietnamese) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Norwegian Nynorsk) * New translations en.json (Latvian) * New translations devise.en.yml (Bulgarian) * New translations en.json (Hebrew) * New translations en.json (Arabic) * New translations en.json (Catalan) * New translations en.yml (Korean) * New translations en.json (Turkish) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Scottish Gaelic) * New translations simple_form.en.yml (Portuguese, Brazilian) * New translations doorkeeper.en.yml (Portuguese, Brazilian) * New translations devise.en.yml (Bulgarian) * New translations en.json (Thai) * New translations en.json (Bulgarian) * New translations en.yml (Ukrainian) * New translations en.json (Indonesian) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Scottish Gaelic) * New translations en.json (Asturian) * New translations en.json (German) * New translations en.json (Portuguese) * New translations en.json (Spanish) * New translations en.json (Danish) * New translations en.json (Ukrainian) * New translations en.json (Tamil) * New translations en.json (Chinese Traditional) * New translations simple_form.en.yml (Occitan) * New translations doorkeeper.en.yml (Occitan) * New translations en.json (Norwegian) * New translations en.json (Arabic) * New translations en.yml (Arabic) * New translations en.json (Korean) * New translations en.yml (Esperanto) * New translations simple_form.en.yml (Arabic) * New translations en.json (Arabic) * New translations en.json (Basque) * New translations en.yml (Basque) * New translations en.json (Norwegian) * New translations en.yml (Norwegian) * New translations en.yml (Esperanto) * New translations simple_form.en.yml (Basque) * New translations doorkeeper.en.yml (Esperanto) * New translations en.json (Esperanto) * New translations en.json (Norwegian) * New translations en.yml (Norwegian) * New translations en.json (Latvian) * New translations simple_form.en.yml (Occitan) * New translations devise.en.yml (Esperanto) * New translations en.yml (Czech) * New translations en.json (German) * New translations en.json (Czech) * New translations en.json (French) * New translations en.yml (Hebrew) * New translations en.json (Norwegian) * New translations en.json (Irish) * New translations en.yml (Dutch) * New translations en.json (Ukrainian) * New translations en.json (Romanian) * New translations en.json (Russian) * New translations en.json (Korean) * New translations en.yml (Korean) * New translations doorkeeper.en.yml (Korean) * New translations doorkeeper.en.yml (Chinese Traditional) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/af.json | 35 +- app/javascript/mastodon/locales/ar.json | 87 ++- app/javascript/mastodon/locales/ast.json | 7 +- app/javascript/mastodon/locales/bg.json | 29 +- app/javascript/mastodon/locales/bn.json | 7 +- app/javascript/mastodon/locales/br.json | 57 +- app/javascript/mastodon/locales/ca.json | 7 +- app/javascript/mastodon/locales/ckb.json | 7 +- app/javascript/mastodon/locales/co.json | 7 +- app/javascript/mastodon/locales/cs.json | 11 +- app/javascript/mastodon/locales/cy.json | 43 +- app/javascript/mastodon/locales/da.json | 7 +- app/javascript/mastodon/locales/de.json | 25 +- app/javascript/mastodon/locales/el.json | 7 +- app/javascript/mastodon/locales/en-GB.json | 13 +- app/javascript/mastodon/locales/eo.json | 13 +- app/javascript/mastodon/locales/es-AR.json | 9 +- app/javascript/mastodon/locales/es-MX.json | 15 +- app/javascript/mastodon/locales/es.json | 7 +- app/javascript/mastodon/locales/et.json | 7 +- app/javascript/mastodon/locales/eu.json | 19 +- app/javascript/mastodon/locales/fa.json | 7 +- app/javascript/mastodon/locales/fi.json | 11 +- app/javascript/mastodon/locales/fr.json | 7 +- app/javascript/mastodon/locales/fy.json | 7 +- app/javascript/mastodon/locales/ga.json | 47 +- app/javascript/mastodon/locales/gd.json | 17 +- app/javascript/mastodon/locales/gl.json | 7 +- app/javascript/mastodon/locales/he.json | 7 +- app/javascript/mastodon/locales/hi.json | 7 +- app/javascript/mastodon/locales/hr.json | 7 +- app/javascript/mastodon/locales/hu.json | 7 +- app/javascript/mastodon/locales/hy.json | 7 +- app/javascript/mastodon/locales/id.json | 17 +- app/javascript/mastodon/locales/ig.json | 7 +- app/javascript/mastodon/locales/io.json | 7 +- app/javascript/mastodon/locales/is.json | 7 +- app/javascript/mastodon/locales/it.json | 7 +- app/javascript/mastodon/locales/ja.json | 7 +- app/javascript/mastodon/locales/ka.json | 7 +- app/javascript/mastodon/locales/kab.json | 7 +- app/javascript/mastodon/locales/kk.json | 7 +- app/javascript/mastodon/locales/kn.json | 7 +- app/javascript/mastodon/locales/ko.json | 43 +- app/javascript/mastodon/locales/ku.json | 7 +- app/javascript/mastodon/locales/kw.json | 7 +- app/javascript/mastodon/locales/lt.json | 7 +- app/javascript/mastodon/locales/lv.json | 45 +- app/javascript/mastodon/locales/mk.json | 7 +- app/javascript/mastodon/locales/ml.json | 7 +- app/javascript/mastodon/locales/mr.json | 7 +- app/javascript/mastodon/locales/ms.json | 7 +- app/javascript/mastodon/locales/my.json | 7 +- app/javascript/mastodon/locales/nl.json | 7 +- app/javascript/mastodon/locales/nn.json | 7 +- app/javascript/mastodon/locales/no.json | 55 +- app/javascript/mastodon/locales/oc.json | 27 +- app/javascript/mastodon/locales/pa.json | 7 +- app/javascript/mastodon/locales/pl.json | 9 +- app/javascript/mastodon/locales/pt-BR.json | 7 +- app/javascript/mastodon/locales/pt-PT.json | 7 +- app/javascript/mastodon/locales/ro.json | 85 ++- app/javascript/mastodon/locales/ru.json | 25 +- app/javascript/mastodon/locales/sa.json | 7 +- app/javascript/mastodon/locales/sc.json | 7 +- app/javascript/mastodon/locales/si.json | 7 +- app/javascript/mastodon/locales/sk.json | 7 +- app/javascript/mastodon/locales/sl.json | 13 +- app/javascript/mastodon/locales/sq.json | 7 +- app/javascript/mastodon/locales/sr-Latn.json | 7 +- app/javascript/mastodon/locales/sr.json | 7 +- app/javascript/mastodon/locales/sv.json | 33 +- app/javascript/mastodon/locales/szl.json | 7 +- app/javascript/mastodon/locales/ta.json | 15 +- app/javascript/mastodon/locales/tai.json | 7 +- app/javascript/mastodon/locales/te.json | 7 +- app/javascript/mastodon/locales/th.json | 19 +- app/javascript/mastodon/locales/tr.json | 7 +- app/javascript/mastodon/locales/tt.json | 7 +- app/javascript/mastodon/locales/ug.json | 7 +- app/javascript/mastodon/locales/uk.json | 7 +- app/javascript/mastodon/locales/ur.json | 7 +- app/javascript/mastodon/locales/vi.json | 7 +- .../mastodon/locales/whitelist_de.json | 1 - app/javascript/mastodon/locales/zgh.json | 7 +- app/javascript/mastodon/locales/zh-CN.json | 29 +- app/javascript/mastodon/locales/zh-HK.json | 7 +- app/javascript/mastodon/locales/zh-TW.json | 7 +- config/locales/activerecord.bg.yml | 31 +- config/locales/activerecord.da.yml | 2 +- config/locales/activerecord.en-GB.yml | 2 +- config/locales/activerecord.eo.yml | 27 +- config/locales/activerecord.ko.yml | 4 +- config/locales/activerecord.pl.yml | 2 +- config/locales/activerecord.sl.yml | 2 +- config/locales/activerecord.vi.yml | 2 +- config/locales/activerecord.zh-TW.yml | 4 +- config/locales/af.yml | 10 +- config/locales/ar.yml | 35 ++ config/locales/bg.yml | 544 +++++++++++++++++- config/locales/cs.yml | 7 + config/locales/de.yml | 2 +- config/locales/devise.bg.yml | 42 +- config/locales/devise.en-GB.yml | 114 ++++ config/locales/devise.eo.yml | 10 +- config/locales/devise.ko.yml | 8 +- config/locales/devise.sl.yml | 52 +- config/locales/devise.th.yml | 2 +- config/locales/devise.zh-TW.yml | 38 +- config/locales/doorkeeper.bg.yml | 57 +- config/locales/doorkeeper.en-GB.yml | 66 +++ config/locales/doorkeeper.eo.yml | 4 + config/locales/doorkeeper.ko.yml | 6 +- config/locales/doorkeeper.oc.yml | 2 + config/locales/doorkeeper.sl.yml | 14 +- config/locales/en-GB.yml | 29 + config/locales/eo.yml | 128 +++++ config/locales/eu.yml | 3 + config/locales/ga.yml | 7 + config/locales/he.yml | 2 +- config/locales/id.yml | 1 + config/locales/ko.yml | 116 ++-- config/locales/lv.yml | 20 +- config/locales/nl.yml | 4 +- config/locales/nn.yml | 96 +++- config/locales/no.yml | 65 +++ config/locales/pt-BR.yml | 206 +++---- config/locales/simple_form.af.yml | 3 + config/locales/simple_form.ar.yml | 2 + config/locales/simple_form.bg.yml | 96 +++- config/locales/simple_form.de.yml | 2 +- config/locales/simple_form.en-GB.yml | 35 ++ config/locales/simple_form.es-MX.yml | 2 + config/locales/simple_form.eu.yml | 2 + config/locales/simple_form.id.yml | 2 + config/locales/simple_form.ko.yml | 10 +- config/locales/simple_form.lv.yml | 8 +- config/locales/simple_form.oc.yml | 9 + config/locales/simple_form.pt-BR.yml | 20 +- config/locales/simple_form.sl.yml | 4 +- config/locales/simple_form.sv.yml | 8 +- config/locales/simple_form.th.yml | 2 + config/locales/simple_form.zh-CN.yml | 2 +- config/locales/simple_form.zh-TW.yml | 20 +- config/locales/sl.yml | 90 +-- config/locales/sv.yml | 8 +- config/locales/th.yml | 23 +- config/locales/uk.yml | 2 +- config/locales/zh-CN.yml | 8 +- config/locales/zh-TW.yml | 52 +- 150 files changed, 2341 insertions(+), 1095 deletions(-) diff --git a/app/javascript/mastodon/locales/af.json b/app/javascript/mastodon/locales/af.json index 95822b7b04e..854312fdf58 100644 --- a/app/javascript/mastodon/locales/af.json +++ b/app/javascript/mastodon/locales/af.json @@ -2,10 +2,8 @@ "about.blocks": "Gemodereerde bedieners", "about.contact": "Kontak:", "about.disclaimer": "Mastodon is gratis, oop-bron sagteware, en 'n handelsmerk van Mastodon gGmbH.", - "about.domain_blocks.comment": "Rede", - "about.domain_blocks.domain": "Domein", + "about.domain_blocks.no_reason_available": "Rede nie beskikbaar nie", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Ernstigheid", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Beperk", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Demp @{name}", "account.mute_notifications": "Demp kennisgewings van @{name}", "account.muted": "Gedemp", + "account.open_original_page": "Maak oorspronklike blad oop", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Rapporteer @{name}", @@ -70,7 +69,7 @@ "admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.retention.average": "Gemiddeld", - "admin.dashboard.retention.cohort": "Sign-up month", + "admin.dashboard.retention.cohort": "Registrasie-maand", "admin.dashboard.retention.cohort_size": "Nuwe gebruikers", "alert.rate_limited.message": "Probeer asb. weer na {retry_time, time, medium}.", "alert.rate_limited.title": "Tempo-beperk", @@ -168,7 +167,7 @@ "confirmations.mute.message": "Are you sure you want to mute {name}?", "confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.", - "confirmations.reply.confirm": "Reply", + "confirmations.reply.confirm": "Reageer", "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", @@ -219,14 +218,14 @@ "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", - "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", + "empty_column.follow_requests": "Jy het nog geen volg versoeke nie. Wanneer jy een ontvang, sal dit hier vertoon.", "empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}", "empty_column.home.suggestions": "See some suggestions", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", - "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", + "empty_column.lists": "Jy het nog geen lyste nie. Wanneer jy een skep, sal dit hier vertoon.", "empty_column.mutes": "You haven't muted any users yet.", - "empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.", + "empty_column.notifications": "Jy het nog geen kennisgewings nie. Wanneer ander mense interaksie het met jou, sal dit hier vertoon.", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up", "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.", "error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.", @@ -258,7 +257,7 @@ "filter_modal.title.status": "Filter a post", "follow_recommendations.done": "Done", "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", - "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", + "follow_recommendations.lead": "Plasings van persone wie jy volg sal in chronologiese volgorde op jou tuis voer vertoon. Jy kan enige tyd ophou om persone te volg en sal dan nie plasings ontvang nie!", "follow_request.authorize": "Authorize", "follow_request.reject": "Reject", "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", @@ -290,15 +289,15 @@ "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", - "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", + "interaction_modal.description.reply": "Met 'n rekening op Mastodon kan jy reageer op hierdie plasing.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Haak en plak hierdie URL in die soek area van jou gunseling toep of die web blaaier waar jy ingeteken is.", - "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", + "interaction_modal.preamble": "Omdat Mastodon gedesentraliseerd is, kan jy jou bestaande rekening wat by 'n ander Mastodon bediener of versoenbare platform gehuisves is gebruik indien jy nie 'n rekening hier het nie.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.reply": "Reageer op {name} se plasing", "intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", @@ -326,7 +325,7 @@ "keyboard_shortcuts.open_media": "to open media", "keyboard_shortcuts.pinned": "to open pinned toots list", "keyboard_shortcuts.profile": "to open author's profile", - "keyboard_shortcuts.reply": "to reply", + "keyboard_shortcuts.reply": "Reageer op plasing", "keyboard_shortcuts.requests": "to open follow requests list", "keyboard_shortcuts.search": "to focus search", "keyboard_shortcuts.spoilers": "Wys/versteek IW veld", @@ -355,7 +354,7 @@ "lists.replies_policy.none": "No one", "lists.replies_policy.title": "Show replies to:", "lists.search": "Soek tussen mense wat jy volg", - "lists.subheading": "Your lists", + "lists.subheading": "Jou lyste", "load_pending": "{count, plural, one {# new item} other {# new items}}", "loading_indicator.label": "Loading...", "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", @@ -472,7 +471,7 @@ "relative_time.minutes": "{number}m", "relative_time.seconds": "{number}s", "relative_time.today": "today", - "reply_indicator.cancel": "Cancel", + "reply_indicator.cancel": "Kanselleer", "report.block": "Block", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", @@ -577,8 +576,8 @@ "status.redraft": "Delete & re-draft", "status.remove_bookmark": "Remove bookmark", "status.replied_to": "Replied to {name}", - "status.reply": "Reply", - "status.replyAll": "Reply to thread", + "status.reply": "Reageer", + "status.replyAll": "Reageer in garing", "status.report": "Report @{name}", "status.sensitive_warning": "Sensitiewe inhoud", "status.share": "Share", diff --git a/app/javascript/mastodon/locales/ar.json b/app/javascript/mastodon/locales/ar.json index 60d62c8cd2b..ddbc30f1eb9 100644 --- a/app/javascript/mastodon/locales/ar.json +++ b/app/javascript/mastodon/locales/ar.json @@ -1,21 +1,19 @@ { "about.blocks": "خوادم تحت الإشراف", - "about.contact": "اتصل بـ:", - "about.disclaimer": "ماستدون مجاني ومفتوح المصدر وعلامة تجارية لماستدون GmbH.", - "about.domain_blocks.comment": "السبب", - "about.domain_blocks.domain": "النطاق", + "about.contact": "للاتصال:", + "about.disclaimer": "ماستدون برنامج حر ومفتوح المصدر وعلامة تجارية لـ Mastodon GmbH.", + "about.domain_blocks.no_reason_available": "السبب غير متوفر", "about.domain_blocks.preamble": "يسمح لك ماستدون عموماً بعرض المحتوى من المستخدمين من أي خادم آخر في الفدرالية والتفاعل معهم. وهذه هي الاستثناءات التي وضعت على هذا الخادوم بالذات.", - "about.domain_blocks.severity": "خطورة", "about.domain_blocks.silenced.explanation": "عموماً، لن ترى ملفات التعريف والمحتوى من هذا الخادم، إلا إذا كنت تبحث عنه بشكل صريح أو تختار أن تتابعه.", "about.domain_blocks.silenced.title": "تم كتمه", "about.domain_blocks.suspended.explanation": "لن يتم معالجة أي بيانات من هذا الخادم أو تخزينها أو تبادلها، مما يجعل أي تفاعل أو اتصال مع المستخدمين من هذا الخادم مستحيلا.", - "about.domain_blocks.suspended.title": "مُعلّـق", + "about.domain_blocks.suspended.title": "مُعلّق", "about.not_available": "لم يتم توفير هذه المعلومات على هذا الخادم.", "about.powered_by": "شبكة اجتماعية لامركزية مدعومة من {mastodon}", "about.rules": "قواعد الخادم", "account.account_note_header": "مُلاحظة", "account.add_or_remove_from_list": "الإضافة أو الإزالة من القائمة", - "account.badges.bot": "روبوت", + "account.badges.bot": "بوت", "account.badges.group": "فريق", "account.block": "احجب @{name}", "account.block_domain": "حظر اسم النِّطاق {domain}", @@ -39,23 +37,24 @@ "account.following_counter": "{count, plural, zero{لا يُتابِع} one {يُتابِعُ واحد} two{يُتابِعُ اِثنان} few{يُتابِعُ {counter}} many{يُتابِعُ {counter}} other {يُتابِعُ {counter}}}", "account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.", "account.follows_you": "يُتابِعُك", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "اذهب إلى الملف الشخصي", "account.hide_reblogs": "إخفاء مشاركات @{name}", "account.joined_short": "انضم في", "account.languages": "تغيير اللغات المشترَك فيها", "account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}", "account.locked_info": "تمَّ تعيين حالة خصوصية هذا الحساب إلى مُقفَل. يُراجع المالك يدويًا من يمكنه متابعته.", "account.media": "وسائط", - "account.mention": "ذِكر @{name}", + "account.mention": "أذكُر @{name}", "account.moved_to": "أشار {name} إلى أن حسابه الجديد الآن:", - "account.mute": "كَتم @{name}", + "account.mute": "أكتم @{name}", "account.mute_notifications": "كَتم الإشعارات من @{name}", "account.muted": "مَكتوم", + "account.open_original_page": "افتح الصفحة الأصلية", "account.posts": "منشورات", "account.posts_with_replies": "المنشورات والرُدود", "account.report": "الإبلاغ عن @{name}", "account.requested": "في انتظار القبول. اضغط لإلغاء طلب المُتابعة", - "account.share": "مُشاركة الملف الشخصي لـ @{name}", + "account.share": "شارِك الملف التعريفي لـ @{name}", "account.show_reblogs": "عرض مشاركات @{name}", "account.statuses_counter": "{count, plural, zero {لَا منشورات} one {منشور واحد} two {منشوران إثنان} few {{counter} منشورات} many {{counter} منشورًا} other {{counter} منشور}}", "account.unblock": "إلغاء الحَظر عن @{name}", @@ -67,8 +66,8 @@ "account.unmute_notifications": "إلغاء كَتم الإشعارات عن @{name}", "account.unmute_short": "إلغاء الكتم", "account_note.placeholder": "اضغط لإضافة مُلاحظة", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", - "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", + "admin.dashboard.daily_retention": "معدل الاحتفاظ بالمستخدم بعد التسجيل بيوم", + "admin.dashboard.monthly_retention": "معدل الاحتفاظ بالمستخدم بعد التسجيل بالشهور", "admin.dashboard.retention.average": "المعدل", "admin.dashboard.retention.cohort": "شهر التسجيل", "admin.dashboard.retention.cohort_size": "المستخدمون الجدد", @@ -81,7 +80,7 @@ "audio.hide": "إخفاء المقطع الصوتي", "autosuggest_hashtag.per_week": "{count} في الأسبوع", "boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة", - "bundle_column_error.copy_stacktrace": "نسخ تقرير الخطأ", + "bundle_column_error.copy_stacktrace": "انسخ تقرير الخطأ", "bundle_column_error.error.body": "لا يمكن تقديم الصفحة المطلوبة. قد يكون بسبب خطأ في التعليمات البرمجية، أو مشكلة توافق المتصفح.", "bundle_column_error.error.title": "أوه لا!", "bundle_column_error.network.body": "حدث خطأ أثناء محاولة تحميل هذه الصفحة. قد يكون هذا بسبب مشكلة مؤقتة في اتصالك بالإنترنت أو هذا الخادم.", @@ -156,7 +155,7 @@ "confirmations.delete.confirm": "حذف", "confirmations.delete.message": "هل أنتَ مُتأكدٌ أنك تُريدُ حَذفَ هذا المنشور؟", "confirmations.delete_list.confirm": "حذف", - "confirmations.delete_list.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَذفَ هذِهِ القائمةَ بشكلٍ دائم؟", + "confirmations.delete_list.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَذفَ هذِهِ القائمة بشكلٍ دائم؟", "confirmations.discard_edit_media.confirm": "تجاهل", "confirmations.discard_edit_media.message": "لديك تغييرات غير محفوظة لوصف الوسائط أو معاينتها، تجاهلها على أي حال؟", "confirmations.domain_block.confirm": "حظر اِسم النِّطاق بشكلٍ كامل", @@ -182,14 +181,14 @@ "directory.local": "مِن {domain} فقط", "directory.new_arrivals": "الوافدون الجُدد", "directory.recently_active": "نشط مؤخرا", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "إعدادات الحساب", + "disabled_account_banner.text": "حسابك {disabledAccount} معطل حاليا.", "dismissable_banner.community_timeline": "هذه هي أحدث المشاركات العامة من الأشخاص الذين تُستضاف حساباتهم على {domain}.", "dismissable_banner.dismiss": "إغلاق", "dismissable_banner.explore_links": "هذه القصص الإخبارية يتحدث عنها أشخاص على هذا الخوادم الأخرى للشبكة اللامركزية في الوقت الحالي.", - "dismissable_banner.explore_statuses": "هذه المشاركات من هذا الخوادم الأخرى في الشبكة اللامركزية تجذب انتباه المستخدمين على هذا الخادم الآن.", + "dismissable_banner.explore_statuses": "هذه المنشورات مِن هذا الخادم ومِن الخوادم الأخرى في الشبكة اللامركزية تجذب انتباه المستخدمين على هذا الخادم الآن.", "dismissable_banner.explore_tags": "هذه العلامات تكتسب جذب بين الناس على هذا الخوادم الأخرى للشبكة اللامركزية في الوقت الحالي.", - "dismissable_banner.public_timeline": "هذه هي أحدث المشاركات العامة من الناس على هذا الخادم والخوادم الأخرى للشبكة اللامركزية التي يعرفها هذا الخادم.", + "dismissable_banner.public_timeline": "هذه هي أحدث المنشورات العامة من الناس على هذا الخادم والخوادم الأخرى للشبكة اللامركزية التي يعرفها هذا الخادم.", "embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.", "embed.preview": "هكذا ما سوف يبدو عليه:", "emoji_button.activity": "الأنشطة", @@ -240,16 +239,16 @@ "explore.trending_links": "الأخبار", "explore.trending_statuses": "المنشورات", "explore.trending_tags": "الوسوم", - "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", - "filter_modal.added.context_mismatch_title": "Context mismatch!", - "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", - "filter_modal.added.expired_title": "Expired filter!", - "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", - "filter_modal.added.review_and_configure_title": "Filter settings", + "filter_modal.added.context_mismatch_explanation": "فئة عامل التصفية هذه لا تنطبق على السياق الذي وصلت فيه إلى هذه المشاركة. إذا كنت ترغب في تصفية المنشور في هذا السياق أيضا، فسيتعين عليك تعديل عامل التصفية.", + "filter_modal.added.context_mismatch_title": "عدم تطابق السياق!", + "filter_modal.added.expired_explanation": "انتهت صلاحية فئة عامل التصفية هذه، سوف تحتاج إلى تغيير تاريخ انتهاء الصلاحية لتطبيقها.", + "filter_modal.added.expired_title": "تصفية منتهية الصلاحية!", + "filter_modal.added.review_and_configure": "لمراجعة وزيادة تكوين فئة عوامل التصفية هذه، انتقل إلى {settings_link}.", + "filter_modal.added.review_and_configure_title": "إعدادات التصفية", "filter_modal.added.settings_link": "صفحة الإعدادات", - "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", - "filter_modal.added.title": "Filter added!", - "filter_modal.select_filter.context_mismatch": "does not apply to this context", + "filter_modal.added.short_explanation": "تمت إضافة هذه المشاركة إلى فئة الفلاتر التالية: {title}.", + "filter_modal.added.title": "تمت إضافة عامل التصفية!", + "filter_modal.select_filter.context_mismatch": "لا ينطبق على هذا السياق", "filter_modal.select_filter.expired": "منتهية الصلاحيّة", "filter_modal.select_filter.prompt_new": "فئة جديدة: {name}", "filter_modal.select_filter.search": "البحث أو الإنشاء", @@ -287,14 +286,14 @@ "home.column_settings.show_replies": "اعرض الردود", "home.hide_announcements": "إخفاء الإعلانات", "home.show_announcements": "إظهار الإعلانات", - "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", - "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", - "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", - "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", + "interaction_modal.description.favourite": "مع حساب في ماستدون، يمكنك تفضيل هذا المقال لإبلاغ الناشر بتقديرك وحفظه لاحقا.", + "interaction_modal.description.follow": "مع حساب في ماستدون، يمكنك متابعة {name} لتلقي مشاركاتهم في الصفحه الرئيسيه.", + "interaction_modal.description.reblog": "مع حساب في ماستدون، يمكنك تعزيز هذا المنشور لمشاركته مع متابعينك.", + "interaction_modal.description.reply": "مع حساب في ماستدون، يمكنك الرد على هذه المشاركة.", "interaction_modal.on_another_server": "على خادم مختلف", "interaction_modal.on_this_server": "على هذا الخادم", - "interaction_modal.other_server_instructions": "ببساطة قم بنسخ ولصق هذا الرابط في شريط البحث في تطبيقك المفضل أو على واجهة الويب أين ولجت بحسابك.", - "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", + "interaction_modal.other_server_instructions": "انسخ و الصق هذا الرابط في حقل البحث الخاص بك لتطبيق ماستدون المفضل لديك أو واجهة الويب لخادم ماستدون الخاص بك.", + "interaction_modal.preamble": "بما إن ماستدون لامركزي، يمكنك استخدام حسابك الحالي المستضاف بواسطة خادم ماستدون آخر أو منصة متوافقة إذا لم يكن لديك حساب هنا.", "interaction_modal.title.favourite": "الإعجاب بمنشور {name}", "interaction_modal.title.follow": "اتبع {name}", "interaction_modal.title.reblog": "مشاركة منشور {name}", @@ -342,7 +341,7 @@ "lightbox.next": "التالي", "lightbox.previous": "العودة", "limited_account_hint.action": "إظهار الملف التعريفي على أي حال", - "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", + "limited_account_hint.title": "تم إخفاء هذا الملف الشخصي من قبل مشرفي {domain}.", "lists.account.add": "أضف إلى القائمة", "lists.account.remove": "احذف من القائمة", "lists.delete": "احذف القائمة", @@ -361,7 +360,7 @@ "media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} other {اخف الصور}}", "missing_indicator.label": "غير موجود", "missing_indicator.sublabel": "تعذر العثور على هذا المورد", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "حسابك {disabledAccount} معطل حاليًا لأنك انتقلت إلى {movedToAccount}.", "mute_modal.duration": "المدة", "mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟", "mute_modal.indefinite": "إلى أجل غير مسمى", @@ -388,8 +387,8 @@ "navigation_bar.public_timeline": "الخيط العام الموحد", "navigation_bar.search": "البحث", "navigation_bar.security": "الأمان", - "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", - "notification.admin.report": "{name} reported {target}", + "not_signed_in_indicator.not_signed_in": "تحتاج إلى تسجيل الدخول للوصول إلى هذا المصدر.", + "notification.admin.report": "{name} أبلغ عن {target}", "notification.admin.sign_up": "أنشأ {name} حسابًا", "notification.favourite": "أُعجِب {name} بمنشورك", "notification.follow": "{name} يتابعك", @@ -514,7 +513,7 @@ "report_notification.categories.other": "آخر", "report_notification.categories.spam": "مزعج", "report_notification.categories.violation": "القاعدة المنتهَكة", - "report_notification.open": "Open report", + "report_notification.open": "فتح التقرير", "search.placeholder": "ابحث", "search.search_or_paste": "ابحث أو أدخل رابطا تشعبيا URL", "search_popout.search_format": "نمط البحث المتقدم", @@ -529,7 +528,7 @@ "search_results.nothing_found": "تعذر العثور على نتائج تتضمن هذه المصطلحات", "search_results.statuses": "المنشورات", "search_results.statuses_fts_disabled": "البحث عن المنشورات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.", - "search_results.title": "Search for {q}", + "search_results.title": "البحث عن {q}", "search_results.total": "{count, number} {count, plural, zero {} one {نتيجة} two {نتيجتين} few {نتائج} many {نتائج} other {نتائج}}", "server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)", "server_banner.active_users": "مستخدم نشط", @@ -546,7 +545,7 @@ "status.bookmark": "أضفه إلى الفواصل المرجعية", "status.cancel_reblog_private": "إلغاء الترقية", "status.cannot_reblog": "تعذرت ترقية هذا المنشور", - "status.copy": "نسخ رابط المنشور", + "status.copy": "انسخ رابط الرسالة", "status.delete": "احذف", "status.detailed_status": "تفاصيل المحادثة", "status.direct": "رسالة خاصة إلى @{name}", @@ -593,9 +592,9 @@ "status.uncached_media_warning": "غير متوفر", "status.unmute_conversation": "فك الكتم عن المحادثة", "status.unpin": "فك التدبيس من الصفحة التعريفية", - "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", + "subscribed_languages.lead": "فقط المشاركات في اللغات المحددة ستظهر في الرئيسيه وتسرد الجداول الزمنية بعد التغيير. حدد لا شيء لتلقي المشاركات بجميع اللغات.", "subscribed_languages.save": "حفظ التغييرات", - "subscribed_languages.target": "Change subscribed languages for {target}", + "subscribed_languages.target": "تغيير اللغات المشتركة لـ {target}", "suggestions.dismiss": "إلغاء الاقتراح", "suggestions.header": "يمكن أن يهمك…", "tabs_bar.federated_timeline": "الموحَّد", @@ -639,7 +638,7 @@ "upload_modal.preparing_ocr": "جار إعداد OCR (تعرف ضوئي على الرموز)…", "upload_modal.preview_label": "معاينة ({ratio})", "upload_progress.label": "يرفع...", - "upload_progress.processing": "Processing…", + "upload_progress.processing": "تتم المعالجة…", "video.close": "إغلاق الفيديو", "video.download": "تنزيل الملف", "video.exit_fullscreen": "الخروج من وضع الشاشة المليئة", diff --git a/app/javascript/mastodon/locales/ast.json b/app/javascript/mastodon/locales/ast.json index a895c9ecf05..78555dc2ddf 100644 --- a/app/javascript/mastodon/locales/ast.json +++ b/app/javascript/mastodon/locales/ast.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon ye software gratuito y de códigu llibre, y una marca rexistrada de Mastodon gGmbH.", - "about.domain_blocks.comment": "Motivu", - "about.domain_blocks.domain": "Dominiu", + "about.domain_blocks.no_reason_available": "El motivu nun ta disponible", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Gravedá", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Desactivación de los avisos de @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Abrir la páxina orixinal", "account.posts": "Artículos", "account.posts_with_replies": "Artículos y rempuestes", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Con una cuenta de Mastodon, pues responder a esti artículu.", "interaction_modal.on_another_server": "N'otru sirvidor", "interaction_modal.on_this_server": "Nesti sirvidor", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copia y apiega esta URL nel campu de busca de la to aplicación favorita de Mastodon o na interfaz web de dalgún sirvidor de Mastodon.", "interaction_modal.preamble": "Darréu que Mastodon ye descentralizáu, pues usar una cuenta agospiada n'otru sirvidor de Mastodon o n'otra plataforma compatible si nun tienes cuenta nesti sirvidor.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/bg.json b/app/javascript/mastodon/locales/bg.json index c83c1087c85..58a48f4aece 100644 --- a/app/javascript/mastodon/locales/bg.json +++ b/app/javascript/mastodon/locales/bg.json @@ -2,10 +2,8 @@ "about.blocks": "Модерирани сървъри", "about.contact": "За контакти:", "about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка Mastodon gGmbH.", - "about.domain_blocks.comment": "Причина", - "about.domain_blocks.domain": "Домейн", + "about.domain_blocks.no_reason_available": "Няма налична причина", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Взискателност", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Ограничено", "about.domain_blocks.suspended.explanation": "Никакви данни от този сървър няма да се обработват, съхранявани или обменяни, правещи невъзможно всяко взаимодействие или комуникация с потребители от тези сървъри.", @@ -51,6 +49,7 @@ "account.mute": "Заглушаване на @{name}", "account.mute_notifications": "Заглушаване на известия от @{name}", "account.muted": "Заглушено", + "account.open_original_page": "Отваряне на оригиналната страница", "account.posts": "Публикации", "account.posts_with_replies": "Публикации и отговори", "account.report": "Докладване на @{name}", @@ -101,7 +100,7 @@ "column.about": "Относно", "column.blocks": "Блокирани потребители", "column.bookmarks": "Отметки", - "column.community": "Локална емисия", + "column.community": "Местна часова ос", "column.direct": "Директни съобщения", "column.directory": "Разглеждане на профили", "column.domain_blocks": "Блокирани домейни", @@ -112,7 +111,7 @@ "column.mutes": "Заглушени потребители", "column.notifications": "Известия", "column.pins": "Закачени публикации", - "column.public": "Публичен канал", + "column.public": "Федеративна часова ос", "column_back_button.label": "Назад", "column_header.hide_settings": "Скриване на настройките", "column_header.moveLeft_settings": "Преместване на колона вляво", @@ -160,7 +159,7 @@ "confirmations.discard_edit_media.confirm": "Отхвърляне", "confirmations.discard_edit_media.message": "Не сте запазили промени на описанието или огледа на мултимедията, отхвърляте ли ги?", "confirmations.domain_block.confirm": "Блокиране на целия домейн", - "confirmations.domain_block.message": "Наистина ли искате да блокирате целия {domain}? В повечето случаи няколко блокирания или заглушавания са достатъчно и за предпочитане. Няма да виждате съдържание от домейна из публичните места или известията си. Вашите последователи от този домейн ще се премахнат.", + "confirmations.domain_block.message": "Наистина ли искате да блокирате целия {domain}? В повечето случаи няколко блокирания или заглушавания са достатъчно и за предпочитане. Няма да виждате съдържание от домейна из публични часови оси или известията си. Вашите последователи от този домейн ще се премахнат.", "confirmations.logout.confirm": "Излизане", "confirmations.logout.message": "Наистина ли искате да излезете?", "confirmations.mute.confirm": "Заглушаване", @@ -212,7 +211,7 @@ "empty_column.account_unavailable": "Няма достъп до профила", "empty_column.blocks": "Още не сте блокирали никакви потребители.", "empty_column.bookmarked_statuses": "Все още нямате отметнати публикации. Когато отметнете някоя, тя ще се покаже тук.", - "empty_column.community": "Локалната емисия е празна. Напишете нещо публично, за да започнете!", + "empty_column.community": "Местна часова ос е празна. Напишете нещо публично, за да завъртите нещата!", "empty_column.direct": "Все още нямате лични съобщения. Когато изпратите или получите ще се покаже тук.", "empty_column.domain_blocks": "Още няма блокирани домейни.", "empty_column.explore_statuses": "Няма нищо популярно в момента. Проверете пак по-късно!", @@ -221,7 +220,7 @@ "empty_column.follow_recommendations": "Изглежда, че няма генерирани предложения за вас. Можете да опитате да търсите за хора, които знаете или да разгледате популярните тагове.", "empty_column.follow_requests": "Все още нямате заявки за последване. Когато получите такава, тя ще се покаже тук.", "empty_column.hashtag": "Още няма нищо в този хаштаг.", - "empty_column.home": "Вашата начална емисия е празна! Посетете {public} или използвайте търсене, за да започнете и да се запознаете с други потребители.", + "empty_column.home": "Вашата начална часова ос е празна! Последвайте повече хора, за да я запълните. {suggestions}", "empty_column.home.suggestions": "Преглед на някои предложения", "empty_column.list": "Още няма нищо в този списък. Когато членовете на списъка публикуват нови публикации, то те ще се появят тук.", "empty_column.lists": "Все още нямате списъци. Когато създадете такъв, той ще се покаже тук.", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "На различен сървър", "interaction_modal.on_this_server": "На този сървър", - "interaction_modal.other_server_instructions": "Просто копипействате URL адреса в лентата за търсене на любимото си приложение или уеб интерфейс, където сте влезли.", + "interaction_modal.other_server_instructions": "Копипейстнете този URL адрес в полето за търсене на любимото си приложение Mastodon или мрежови интерфейс на своя Mastodon сървър.", "interaction_modal.preamble": "Откак Mastodon е децентрализиран, може да употребявате съществуващ акаунт, разположен на друг сървър на Mastodon или съвместима платформа, ако нямате акаунт на този сървър.", "interaction_modal.title.favourite": "Любими публикации на {name}", "interaction_modal.title.follow": "Последване на {name}", @@ -313,12 +312,12 @@ "keyboard_shortcuts.enter": "Отваряне на публикация", "keyboard_shortcuts.favourite": "Любима публикация", "keyboard_shortcuts.favourites": "Отваряне на списъка с любими", - "keyboard_shortcuts.federated": "да отвори обединена хронология", + "keyboard_shortcuts.federated": "Отваряне на федерална часова ос", "keyboard_shortcuts.heading": "Клавишни съчетания", - "keyboard_shortcuts.home": "за отваряне на началната емисия", + "keyboard_shortcuts.home": "Отваряне на началната часова ос", "keyboard_shortcuts.hotkey": "Бърз клавиш", "keyboard_shortcuts.legend": "Показване на тази легенда", - "keyboard_shortcuts.local": "за отваряне на локалната емисия", + "keyboard_shortcuts.local": "Отваряне на местна часова ос", "keyboard_shortcuts.mention": "Споменаване на автор", "keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители", "keyboard_shortcuts.my_profile": "Отваряне на профила ви", @@ -368,7 +367,7 @@ "navigation_bar.about": "За тази инстанция", "navigation_bar.blocks": "Блокирани потребители", "navigation_bar.bookmarks": "Отметки", - "navigation_bar.community_timeline": "Локална емисия", + "navigation_bar.community_timeline": "Местна часова ос", "navigation_bar.compose": "Съставяне на нова публикация", "navigation_bar.direct": "Директни съобщения", "navigation_bar.discover": "Откриване", @@ -385,7 +384,7 @@ "navigation_bar.personal": "Лично", "navigation_bar.pins": "Закачени публикации", "navigation_bar.preferences": "Предпочитания", - "navigation_bar.public_timeline": "Публичен канал", + "navigation_bar.public_timeline": "Федеративна часова ос", "navigation_bar.search": "Търсене", "navigation_bar.security": "Сигурност", "not_signed_in_indicator.not_signed_in": "Трябва да се регистрирате за достъп до този ресурс.", @@ -598,7 +597,7 @@ "subscribed_languages.target": "Смяна на езика за {target}", "suggestions.dismiss": "Отхвърляне на предложение", "suggestions.header": "Може да се интересувате от…", - "tabs_bar.federated_timeline": "Обединен", + "tabs_bar.federated_timeline": "Федерална", "tabs_bar.home": "Начало", "tabs_bar.local_timeline": "Местни", "tabs_bar.notifications": "Известия", diff --git a/app/javascript/mastodon/locales/bn.json b/app/javascript/mastodon/locales/bn.json index 28540094e6c..766c6087745 100644 --- a/app/javascript/mastodon/locales/bn.json +++ b/app/javascript/mastodon/locales/bn.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "@{name} কে নিঃশব্দ করুন", "account.mute_notifications": "@{name} র প্রজ্ঞাপন আপনার কাছে নিঃশব্দ করুন", "account.muted": "নিঃশব্দ", + "account.open_original_page": "Open original page", "account.posts": "টুট", "account.posts_with_replies": "টুট এবং মতামত", "account.report": "@{name} কে রিপোর্ট করুন", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/br.json b/app/javascript/mastodon/locales/br.json index c420bb929e6..5acbd0ecc6c 100644 --- a/app/javascript/mastodon/locales/br.json +++ b/app/javascript/mastodon/locales/br.json @@ -1,17 +1,15 @@ { "about.blocks": "Servijerioù habaskaet", "about.contact": "Darempred :", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Abeg", - "about.domain_blocks.domain": "Domani", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Strizhder", + "about.disclaimer": "Mastodon zo ur meziant frank, open-source hag ur merk marilhet eus Mastodon gGmbH.", + "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.preamble": "Gant Mastodon e c'hellit gwelet danvez hag eskemm gant implijerien·ezed eus forzh peseurt servijer er fedibed peurliesañ. Setu an nemedennoù a zo bet graet evit ar servijer-mañ e-unan.", "about.domain_blocks.silenced.explanation": "Ne vo ket gwelet profiloù eus ar servijer-mañ ganeoc'h peurliesañ, nemet ma vefec'h o klask war o lec'h pe choazfec'h o heuliañ.", "about.domain_blocks.silenced.title": "Bevennet", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.title": "Astalet", - "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", + "about.not_available": "An titour-mañ ne c'heller ket gwelet war ar servijer-mañ.", + "about.powered_by": "Rouedad sokial digreizenned kaset gant {mastodon}", "about.rules": "Reolennoù ar servijer", "account.account_note_header": "Notenn", "account.add_or_remove_from_list": "Ouzhpenn pe dilemel eus al listennadoù", @@ -21,7 +19,7 @@ "account.block_domain": "Stankañ an domani {domain}", "account.blocked": "Stanket", "account.browse_more_on_origin_server": "Furchal pelloc'h war ar profil orin", - "account.cancel_follow_request": "Withdraw follow request", + "account.cancel_follow_request": "Nullañ ar reked heuliañ", "account.direct": "Kas ur c'hemennad eeun da @{name}", "account.disable_notifications": "Paouez d'am c'hemenn pa vez embannet traoù gant @{name}", "account.domain_blocked": "Domani stanket", @@ -30,7 +28,7 @@ "account.endorse": "Lakaat war-wel war ar profil", "account.featured_tags.last_status_at": "Kannad diwezhañ : {date}", "account.featured_tags.last_status_never": "Kannad ebet", - "account.featured_tags.title": "{name}'s featured hashtags", + "account.featured_tags.title": "Penngerioù-klik {name}", "account.follow": "Heuliañ", "account.followers": "Tud koumanantet", "account.followers.empty": "Den na heul an implijer·ez-mañ c'hoazh.", @@ -39,18 +37,19 @@ "account.following_counter": "{count, plural, one{{counter} C'houmanant} two{{counter} Goumanant} other {{counter} a Goumanant}}", "account.follows.empty": "An implijer·ez-mañ na heul den ebet.", "account.follows_you": "Ho heuilh", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Gwelet ar profil", "account.hide_reblogs": "Kuzh skignadennoù gant @{name}", - "account.joined_short": "Joined", - "account.languages": "Change subscribed languages", + "account.joined_short": "Amañ abaoe", + "account.languages": "Cheñch ar yezhoù koumanantet", "account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}", "account.locked_info": "Prennet eo ar gont-mañ. Gant ar perc'henn e vez dibabet piv a c'hall heuliañ anezhi pe anezhañ.", "account.media": "Media", "account.mention": "Menegiñ @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "Gant {name} eo bet merket e oa bremañ h·e gont nevez :", "account.mute": "Kuzhat @{name}", "account.mute_notifications": "Kuzh kemennoù a-berzh @{name}", "account.muted": "Kuzhet", + "account.open_original_page": "Open original page", "account.posts": "Kannadoù", "account.posts_with_replies": "Kannadoù ha respontoù", "account.report": "Disklêriañ @{name}", @@ -93,12 +92,12 @@ "bundle_modal_error.close": "Serriñ", "bundle_modal_error.message": "Degouezhet ez eus bet ur fazi en ur gargañ an elfenn-mañ.", "bundle_modal_error.retry": "Klask en-dro", - "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", + "closed_registrations.other_server_instructions": "Peogwir ez eo Mastodon digreizennet e c'heller krouiñ ur gont war ur servijer all ha kenderc'hel da zaremprediñ gant hemañ.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", + "closed_registrations_modal.find_another_server": "Kavout ur servijer all", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "column.about": "Diwar-benn", "column.blocks": "Implijer·ezed·ien berzet", "column.bookmarks": "Sinedoù", "column.community": "Red-amzer lec'hel", @@ -125,7 +124,7 @@ "community.column_settings.media_only": "Nemet Mediaoù", "community.column_settings.remote_only": "Nemet a-bell", "compose.language.change": "Cheñch yezh", - "compose.language.search": "Search languages...", + "compose.language.search": "Klask yezhoù...", "compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h", "compose_form.encryption_warning": "Kannadoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.", "compose_form.hashtag_warning": "Ne vo ket listennet ar c'hannad-mañ dindan gerioù-klik ebet dre m'eo anlistennet. N'eus nemet ar c'hannadoù foran a c'hall bezañ klasket dre c'her-klik.", @@ -151,7 +150,7 @@ "confirmations.block.block_and_report": "Berzañ ha Disklêriañ", "confirmations.block.confirm": "Stankañ", "confirmations.block.message": "Ha sur oc'h e fell deoc'h stankañ {name} ?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", + "confirmations.cancel_follow_request.confirm": "Nullañ ar reked", "confirmations.cancel_follow_request.message": "Ha sur oc'h e fell deoc'h nullañ ho reked evit heuliañ {name} ?", "confirmations.delete.confirm": "Dilemel", "confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hannad-mañ ?", @@ -182,10 +181,10 @@ "directory.local": "Eus {domain} hepken", "directory.new_arrivals": "Degouezhet a-nevez", "directory.recently_active": "Oberiant nevez zo", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Arventennoù ar gont", + "disabled_account_banner.text": "Ho kont {disabledAccount} zo divev evit bremañ.", "dismissable_banner.community_timeline": "Setu kannadoù foran nevesañ an dud a zo herberc’hiet o c'hontoù gant {domain}.", - "dismissable_banner.dismiss": "Dismiss", + "dismissable_banner.dismiss": "Diverkañ", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'ar c'hannad-mañ.", "interaction_modal.on_another_server": "War ur servijer all", "interaction_modal.on_this_server": "War ar servijer-mañ", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Ouzhpennañ kannad {name} d'ar re vuiañ-karet", "interaction_modal.title.follow": "Heuliañ {name}", @@ -391,15 +390,15 @@ "not_signed_in_indicator.not_signed_in": "Ret eo deoc'h kevreañ evit tizhout an danvez-se.", "notification.admin.report": "Disklêriet eo bet {target} gant {name}", "notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv", - "notification.favourite": "{name} en·he deus ouzhpennet ho kannad d'h·e re vuiañ-karet", + "notification.favourite": "Gant {name} eo bet ouzhpennet ho kannad d'h·e re vuiañ-karet", "notification.follow": "heuliañ a ra {name} ac'hanoc'h", - "notification.follow_request": "{name} en/he deus goulennet da heuliañ ac'hanoc'h", - "notification.mention": "{name} en/he deus meneget ac'hanoc'h", + "notification.follow_request": "Gant {name} eo bet goulennet ho heuliañ", + "notification.mention": "Gant {name} oc'h bet meneget", "notification.own_poll": "Echu eo ho sontadeg", "notification.poll": "Ur sontadeg ho deus mouezhet warnañ a zo echuet", - "notification.reblog": "{name} en·he deus skignet ho kannad", - "notification.status": "{name} en·he deus embannet", - "notification.update": "{name} en·he deus kemmet ur c'hannad", + "notification.reblog": "Skignet eo bet ho kannad gant {name}", + "notification.status": "Emañ {name} o paouez embann", + "notification.update": "Kemmet ez eus bet ur c'hannad gant {name}", "notifications.clear": "Skarzhañ ar c'hemennoù", "notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?", "notifications.column_settings.admin.report": "Disklêriadurioù nevez :", @@ -572,7 +571,7 @@ "status.read_more": "Lenn muioc'h", "status.reblog": "Skignañ", "status.reblog_private": "Skignañ gant ar weledenn gentañ", - "status.reblogged_by": "{name} en/he deus skignet", + "status.reblogged_by": "Skignet gant {name}", "status.reblogs.empty": "Den ebet n'eus skignet ar c'hannad-mañ c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.", "status.redraft": "Diverkañ ha skrivañ en-dro", "status.remove_bookmark": "Dilemel ar sined", diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 3ac6a5d5f3e..ea63eedb3b4 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -2,10 +2,8 @@ "about.blocks": "Servidors moderats", "about.contact": "Contacte:", "about.disclaimer": "Mastodon és un programari lliure de codi obert i una marca comercial de Mastodon gGmbH.", - "about.domain_blocks.comment": "Motiu", - "about.domain_blocks.domain": "Domini", + "about.domain_blocks.no_reason_available": "Motiu no disponible", "about.domain_blocks.preamble": "En general, Mastodon et permet veure el contingut i interaccionar amb els usuaris de qualsevol altre servidor del fedivers. Aquestes són les excepcions que s'han fet en aquest servidor particular.", - "about.domain_blocks.severity": "Severitat", "about.domain_blocks.silenced.explanation": "Generalment no veuràs perfils ni contingut d'aquest servidor, a menys que el cerquis explícitament o optis per ell seguint-lo.", "about.domain_blocks.silenced.title": "Limitat", "about.domain_blocks.suspended.explanation": "No es processaran, emmagatzemaran ni s'intercanviaran dades d'aquest servidor, fent impossible qualsevol interacció o comunicació amb els usuaris d'aquest servidor.", @@ -51,6 +49,7 @@ "account.mute": "Silencia @{name}", "account.mute_notifications": "Silencia les notificacions de @{name}", "account.muted": "Silenciat", + "account.open_original_page": "Obre la pàgina original", "account.posts": "Publicacions", "account.posts_with_replies": "Publicacions i respostes", "account.report": "Informa sobre @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquesta publicació.", "interaction_modal.on_another_server": "En un servidor diferent", "interaction_modal.on_this_server": "En aquest servidor", - "interaction_modal.other_server_instructions": "Simplement còpia i enganxa aquesta URL en la barra de cerca de la teva aplicació preferida o en l'interfície web on tens sessió iniciada.", + "interaction_modal.other_server_instructions": "Copia i enganxa aquest enllaç en el camp de cerca de la teva aplicació Mastodon preferida o en l'interfície web del teu servidor Mastodon.", "interaction_modal.preamble": "Donat que Mastodon és descentralitzat, pots fer servir el teu compte existent a un altre servidor Mastodon o plataforma compatible si és que no tens compte en aquest.", "interaction_modal.title.favourite": "Afavoreix la publicació de {name}", "interaction_modal.title.follow": "Segueix {name}", diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json index 24b66101cf2..ee8c5e224d8 100644 --- a/app/javascript/mastodon/locales/ckb.json +++ b/app/javascript/mastodon/locales/ckb.json @@ -2,10 +2,8 @@ "about.blocks": "ڕاژە سەرپەرشتیکراو", "about.contact": "پەیوەندی کردن:", "about.disclaimer": "ماستودۆن بە خۆڕایە، پرۆگرامێکی سەرچاوە کراوەیە، وە نیشانە بازرگانیەکەی ماستودۆن (gGmbH)ە", - "about.domain_blocks.comment": "هۆکار", - "about.domain_blocks.domain": "دۆمەین", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "ماستۆدۆن بە گشتی ڕێگەت پێدەدات بە پیشاندانی ناوەڕۆکەکان و کارلێک کردن لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی تر بە گشتی. ئەمانە ئەو بەدەرکردنانەن کە کراون لەسەر ئەم ڕاژە تایبەتە.", - "about.domain_blocks.severity": "ئاستی گرنگی", "about.domain_blocks.silenced.explanation": "بە گشتی ناتوانی زانیاریە تایبەتەکان و ناوەڕۆکی ئەم ڕاژەیە ببینی، مەگەر بە ڕوونی بەدوایدا بگەڕێیت یان هەڵیبژێریت بۆ شوێنکەوتنی.", "about.domain_blocks.silenced.title": "سنووردار", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "بێدەنگکردن @{name}", "account.mute_notifications": "هۆشیارکەرەوەکان لاببە لە @{name}", "account.muted": "بێ دەنگ", + "account.open_original_page": "Open original page", "account.posts": "توتس", "account.posts_with_replies": "توتس و وەڵامەکان", "account.report": "گوزارشت @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/co.json b/app/javascript/mastodon/locales/co.json index 2435b72bf10..4b518c24cdc 100644 --- a/app/javascript/mastodon/locales/co.json +++ b/app/javascript/mastodon/locales/co.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Piattà @{name}", "account.mute_notifications": "Piattà nutificazione da @{name}", "account.muted": "Piattatu", + "account.open_original_page": "Open original page", "account.posts": "Statuti", "account.posts_with_replies": "Statuti è risposte", "account.report": "Palisà @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index d48b3206a85..190e68f2b94 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -2,10 +2,8 @@ "about.blocks": "Moderované servery", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon je svobodný software s otevřeným zdrojovým kódem a ochranná známka společnosti Mastodon gGmbH.", - "about.domain_blocks.comment": "Důvod", - "about.domain_blocks.domain": "Doména", + "about.domain_blocks.no_reason_available": "Důvod není k dispozici", "about.domain_blocks.preamble": "Mastodon umožňuje prohlížet obsah a komunikovat s uživateli jakéhokoliv serveru ve fediversu. Pro tento konkrétní server se vztahují následující výjimky.", - "about.domain_blocks.severity": "Závažnost", "about.domain_blocks.silenced.explanation": "Uživatele a obsah tohoto serveru neuvidíte, pokud je nebudete výslovně hledat nebo je nezačnete sledovat.", "about.domain_blocks.silenced.title": "Omezeno", "about.domain_blocks.suspended.explanation": "Žádná data z tohoto serveru nebudou zpracovávána, uložena ani vyměňována, což znemožňuje jakoukoli interakci nebo komunikaci s uživateli z tohoto serveru.", @@ -51,6 +49,7 @@ "account.mute": "Skrýt @{name}", "account.mute_notifications": "Skrýt oznámení od @{name}", "account.muted": "Skryt", + "account.open_original_page": "Otevřít původní stránku", "account.posts": "Příspěvky", "account.posts_with_replies": "Příspěvky a odpovědi", "account.report": "Nahlásit @{name}", @@ -72,7 +71,7 @@ "admin.dashboard.retention.average": "Průměr", "admin.dashboard.retention.cohort": "Měsíc registrace", "admin.dashboard.retention.cohort_size": "Noví uživatelé", - "alert.rate_limited.message": "Zkuste to prosím znovu za {retry_time, time, medium}.", + "alert.rate_limited.message": "Zkuste to prosím znovu po {retry_time, time, medium}.", "alert.rate_limited.title": "Spojení omezena", "alert.unexpected.message": "Objevila se neočekávaná chyba.", "alert.unexpected.title": "Jejda!", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "S účtem na Mastodonu můžete reagovat na tento příspěvek.", "interaction_modal.on_another_server": "Na jiném serveru", "interaction_modal.on_this_server": "Na tomto serveru", - "interaction_modal.other_server_instructions": "Jednoduše zkopírujte a vložte tuto adresu do vyhledávacího panelu vaší oblíbené aplikace nebo webového rozhraní, kde jste přihlášeni.", + "interaction_modal.other_server_instructions": "Zkopírujte a vložte tuto URL do vyhledávacího pole vaší oblíbené Mastodon aplikace nebo webového rozhraní vašeho Mastodon serveru.", "interaction_modal.preamble": "Protože je Mastodon decentralizovaný, pokud nemáte účet na tomto serveru, můžete použít svůj existující účet hostovaný jiným Mastodon serverem nebo kompatibilní platformou.", "interaction_modal.title.favourite": "Oblíbený příspěvek {name}", "interaction_modal.title.follow": "Sledovat {name}", @@ -611,7 +610,7 @@ "timeline_hint.resources.followers": "Sledující", "timeline_hint.resources.follows": "Sledovaní", "timeline_hint.resources.statuses": "Starší příspěvky", - "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", + "trends.counter_by_accounts": "{count, plural, one {{counter} člověk} few {{counter} lidé} many {{counter} lidí} other {{counter} lidí}} za poslední {days, plural, one {den} few {{days} dny} many {{days} dnů} other {{days} dnů}}", "trends.trending_now": "Právě populární", "ui.beforeunload": "Pokud Mastodon opustíte, váš koncept se ztratí.", "units.short.billion": "{count} mld.", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index fb00390e1f0..0d1149ef1bd 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -2,10 +2,8 @@ "about.blocks": "Gweinyddion sy'n cael eu cymedroli", "about.contact": "Cyswllt:", "about.disclaimer": "Mae Mastodon yn feddalwedd rhydd, cod agored ac o dan hawlfraint Mastodon gGmbH.", - "about.domain_blocks.comment": "Rheswm", - "about.domain_blocks.domain": "Parth", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Yn gyffredinol, mae Mastodon yn caniatáu i chi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.", - "about.domain_blocks.severity": "Difrifoldeb", "about.domain_blocks.silenced.explanation": "Yn gyffredinol, fyddwch chi ddim yn gweld proffiliau a chynnwys o'r gweinydd hwn, oni bai eich bod yn chwilio'n benodol amdano neu yn ymuno drwy ei ddilyn.", "about.domain_blocks.silenced.title": "Tawelwyd", "about.domain_blocks.suspended.explanation": "Ni fydd data o'r gweinydd hwn yn cael ei brosesu, ei storio na'i gyfnewid, gan wneud unrhyw ryngweithio neu gyfathrebu gyda defnyddwyr o'r gweinydd hwn yn amhosibl.", @@ -51,6 +49,7 @@ "account.mute": "Tawelu @{name}", "account.mute_notifications": "Cuddio hysbysiadau o @{name}", "account.muted": "Distewyd", + "account.open_original_page": "Open original page", "account.posts": "Postiadau", "account.posts_with_replies": "Postiadau ac atebion", "account.report": "Adrodd @{name}", @@ -97,7 +96,7 @@ "closed_registrations_modal.description": "Ar hyn o bryd nid yw'n bosib creu cyfrif ar {domain}, ond cadwch mewn cof nad oes raid i chi gael cyfrif yn benodol ar {domain} i ddefnyddio Mastodon.", "closed_registrations_modal.find_another_server": "Dod o hyd i weinydd arall", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", + "closed_registrations_modal.title": "Cofrestru ar Mastodon", "column.about": "Ynghylch", "column.blocks": "Defnyddwyr a flociwyd", "column.bookmarks": "Tudalnodau", @@ -151,8 +150,8 @@ "confirmations.block.block_and_report": "Rhwystro ac Adrodd", "confirmations.block.confirm": "Blocio", "confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "Tynnu'r cais yn ôl", + "confirmations.cancel_follow_request.message": "Ydych chi'n sicr eich bod chi eisiau tynnu'ch cais i ddilyn {name} yn ôl?", "confirmations.delete.confirm": "Dileu", "confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?", "confirmations.delete_list.confirm": "Dileu", @@ -248,14 +247,14 @@ "filter_modal.added.review_and_configure_title": "Filter settings", "filter_modal.added.settings_link": "settings page", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", - "filter_modal.added.title": "Filter added!", + "filter_modal.added.title": "Hidlydd wedi'i ychwanegu!", "filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.expired": "expired", "filter_modal.select_filter.prompt_new": "Categori newydd: {name}", "filter_modal.select_filter.search": "Chwilio neu greu", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", - "filter_modal.select_filter.title": "Filter this post", - "filter_modal.title.status": "Filter a post", + "filter_modal.select_filter.title": "Hidlo'r post hwn", + "filter_modal.title.status": "Hidlo post", "follow_recommendations.done": "Wedi gorffen", "follow_recommendations.heading": "Dilynwch y bobl yr hoffech chi weld eu postiadau! Dyma ambell i awgrymiad.", "follow_recommendations.lead": "Bydd postiadau gan bobl rydych chi'n eu dilyn yn ymddangos mewn trefn amser ar eich ffrwd cartref. Peidiwch â bod ofn gwneud camgymeriadau, gallwch chi ddad-ddilyn pobl yr un mor hawdd unrhyw bryd!", @@ -264,11 +263,11 @@ "follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, oedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.", "footer.about": "Ynghylch", "footer.directory": "Cyfeiriadur proffiliau", - "footer.get_app": "Get the app", + "footer.get_app": "Lawrlwytho'r ap", "footer.invite": "Gwahodd pobl", "footer.keyboard_shortcuts": "Bysellau brys", "footer.privacy_policy": "Polisi preifatrwydd", - "footer.source_code": "View source code", + "footer.source_code": "Gweld y cod ffynhonnell", "generic.saved": "Wedi'i Gadw", "getting_started.heading": "Dechrau", "hashtag.column_header.tag_mode.all": "a {additional}", @@ -289,11 +288,11 @@ "home.show_announcements": "Dangos cyhoeddiadau", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", - "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", - "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", + "interaction_modal.description.reblog": "Gyda chyfrif ar Mastodon, gallwch hybu'r post hwn i'w rannu â'ch dilynwyr.", + "interaction_modal.description.reply": "Gyda chyfrif ar Mastodon, gallwch ymateb i'r post hwn.", "interaction_modal.on_another_server": "Ar weinydd gwahanol", "interaction_modal.on_this_server": "Ar y gweinydd hwn", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Hoffi post {name}", "interaction_modal.title.follow": "Dilyn {name}", @@ -361,7 +360,7 @@ "media_gallery.toggle_visible": "Toglo gwelededd", "missing_indicator.label": "Heb ei ganfod", "missing_indicator.sublabel": "Ni ellid canfod yr adnodd hwn", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Mae eich cyfrif {disabledAccount} wedi ei analluogi ar hyn y bryd am i chi symud i {movedToAccount}.", "mute_modal.duration": "Hyd", "mute_modal.hide_notifications": "Cuddio hysbysiadau rhag y defnyddiwr hwn?", "mute_modal.indefinite": "Amhenodol", @@ -376,7 +375,7 @@ "navigation_bar.edit_profile": "Golygu proffil", "navigation_bar.explore": "Archwilio", "navigation_bar.favourites": "Ffefrynnau", - "navigation_bar.filters": "Geiriau a dawelwyd", + "navigation_bar.filters": "Geiriau a fudwyd", "navigation_bar.follow_requests": "Ceisiadau dilyn", "navigation_bar.follows_and_followers": "Dilynion a ddilynwyr", "navigation_bar.lists": "Rhestrau", @@ -388,7 +387,7 @@ "navigation_bar.public_timeline": "Ffrwd y ffederasiwn", "navigation_bar.search": "Chwilio", "navigation_bar.security": "Diogelwch", - "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", + "not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.", "notification.admin.report": "Adroddodd {name} {target}", "notification.admin.sign_up": "Cofrestrodd {name}", "notification.favourite": "Hoffodd {name} eich post", @@ -408,7 +407,7 @@ "notifications.column_settings.favourite": "Ffefrynnau:", "notifications.column_settings.filter_bar.advanced": "Dangos pob categori", "notifications.column_settings.filter_bar.category": "Bar hidlo", - "notifications.column_settings.filter_bar.show_bar": "Dangos bar hidlo", + "notifications.column_settings.filter_bar.show_bar": "Dangos y bar hidlo", "notifications.column_settings.follow": "Dilynwyr newydd:", "notifications.column_settings.follow_request": "Ceisiadau dilyn newydd:", "notifications.column_settings.mention": "Crybwylliadau:", @@ -422,11 +421,11 @@ "notifications.column_settings.unread_notifications.highlight": "Amlygu hysbysiadau heb eu darllen", "notifications.column_settings.update": "Golygiadau:", "notifications.filter.all": "Popeth", - "notifications.filter.boosts": "Hybiadau", + "notifications.filter.boosts": "Hybiau", "notifications.filter.favourites": "Ffefrynnau", "notifications.filter.follows": "Yn dilyn", "notifications.filter.mentions": "Crybwylliadau", - "notifications.filter.polls": "Canlyniadau pleidlais", + "notifications.filter.polls": "Canlyniadau polau", "notifications.filter.statuses": "Diweddariadau gan bobl rydych chi'n eu dilyn", "notifications.grant_permission": "Caniatáu.", "notifications.group": "{count} o hysbysiadau", @@ -555,9 +554,9 @@ "status.edited_x_times": "Golygwyd {count, plural, one {unwaith} two {dwywaith} other {{count} gwaith}}", "status.embed": "Plannu", "status.favourite": "Hoffi", - "status.filter": "Filter this post", + "status.filter": "Hidlo'r post hwn", "status.filtered": "Wedi'i hidlo", - "status.hide": "Hide toot", + "status.hide": "Cuddio'r post", "status.history.created": "{name} greuodd {date}", "status.history.edited": "{name} olygodd {date}", "status.load_more": "Llwythwch mwy", diff --git a/app/javascript/mastodon/locales/da.json b/app/javascript/mastodon/locales/da.json index 88ece14792a..35060645cdd 100644 --- a/app/javascript/mastodon/locales/da.json +++ b/app/javascript/mastodon/locales/da.json @@ -2,10 +2,8 @@ "about.blocks": "Modererede servere", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon er gratis, open-source software og et varemærke tilhørende Mastodon gGmbH.", - "about.domain_blocks.comment": "Årsag", - "about.domain_blocks.domain": "Domæne", + "about.domain_blocks.no_reason_available": "Begrundelse ikke tilgængelig", "about.domain_blocks.preamble": "Mastodon tillader generelt, at man ser indhold og interagere med brugere fra enhver anden server i fediverset. Disse er undtagelserne, som er implementeret på netop denne server.", - "about.domain_blocks.severity": "Alvorlighed", "about.domain_blocks.silenced.explanation": "Man vil generelt ikke se profiler og indhold fra denne server, medmindre man udtrykkeligt slå den op eller vælger den ved at følge.", "about.domain_blocks.silenced.title": "Begrænset", "about.domain_blocks.suspended.explanation": "Data fra denne server hverken behandles, gemmes eller udveksles, hvilket umuliggør interaktion eller kommunikation med brugere fra denne server.", @@ -51,6 +49,7 @@ "account.mute": "Skjul @{name}", "account.mute_notifications": "Skjul notifikationer fra @{name}", "account.muted": "Tystnet", + "account.open_original_page": "Åbn oprindelig side", "account.posts": "Indlæg", "account.posts_with_replies": "Indlæg og svar", "account.report": "Anmeld @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Med en konto på Mastodon kan dette indlæg besvares.", "interaction_modal.on_another_server": "På en anden server", "interaction_modal.on_this_server": "På denne server", - "interaction_modal.other_server_instructions": "Kopiér og indsæt blot denne URL i søgefeltet i den foretrukne app eller webgrænsefladen, hvor man er logget ind.", + "interaction_modal.other_server_instructions": "Kopiér og indsæt denne URL i søgefeltet på en Mastodon-app eller webgrænseflade til en Mastodon-server.", "interaction_modal.preamble": "Da Mastodon er decentraliseret, kan man bruge sin eksisterende konto hostet af en anden Mastodon-server eller kompatibel platform, såfremt man ikke har en konto på denne.", "interaction_modal.title.favourite": "Gør {name}s indlæg til favorit", "interaction_modal.title.follow": "Følg {name}", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 10e33f2a938..54ba68ba9ab 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -2,10 +2,8 @@ "about.blocks": "Moderierte Server", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon ist eine freie, quelloffene Software und eine Marke der Mastodon gGmbH.", - "about.domain_blocks.comment": "Begründung", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Grund unbekannt", "about.domain_blocks.preamble": "Mastodon erlaubt es dir grundsätzlich, alle Inhalte von allen Nutzer*innen auf allen Servern im Fediversum zu sehen und mit ihnen zu interagieren. Für diese Instanz gibt es aber ein paar Ausnahmen.", - "about.domain_blocks.severity": "Schweregrad", "about.domain_blocks.silenced.explanation": "Alle Inhalte dieses Servers sind stumm geschaltet und werden zunächst nicht angezeigt. Du kannst die Profile und anderen Inhalte aber dennoch manuell aufrufen – oder Du folgst einer Person dieser Mastodon-Instanz.", "about.domain_blocks.silenced.title": "Limitiert", "about.domain_blocks.suspended.explanation": "Es werden keine Daten von diesem Server verarbeitet, gespeichert oder ausgetauscht, sodass eine Interaktion oder Kommunikation mit Nutzer*innen dieses Servers nicht möglich ist.", @@ -51,6 +49,7 @@ "account.mute": "@{name} stummschalten", "account.mute_notifications": "Benachrichtigungen von @{name} stummschalten", "account.muted": "Stummgeschaltet", + "account.open_original_page": "Ursprüngliche Seite öffnen", "account.posts": "Beiträge", "account.posts_with_replies": "Beiträge und Antworten", "account.report": "@{name} melden", @@ -128,7 +127,7 @@ "compose.language.search": "Sprachen suchen …", "compose_form.direct_message_warning_learn_more": "Mehr erfahren", "compose_form.encryption_warning": "Beiträge von Mastodon sind nicht Ende-zu-Ende verschlüsselt. Teile keine senible Informationen über Mastodon.", - "compose_form.hashtag_warning": "Dieser Beitrag ist über Hashtags nicht zu finden, weil er nicht gelistet ist. Nur öffentliche Beiträge tauchen in den Hashtag-Chroniken auf.", + "compose_form.hashtag_warning": "Dieser Beitrag ist über Hashtags nicht zu finden, weil er nicht gelistet ist. Nur öffentliche Beiträge tauchen in den Hashtag-Timelines auf.", "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.", "compose_form.lock_disclaimer.lock": "geschützt", "compose_form.placeholder": "Was gibt's Neues?", @@ -159,7 +158,7 @@ "confirmations.delete_list.message": "Bist du dir sicher, dass du diese Liste permanent löschen möchtest?", "confirmations.discard_edit_media.confirm": "Verwerfen", "confirmations.discard_edit_media.message": "Du hast ungespeicherte Änderungen an der Medienbeschreibung oder der Medienvorschau. Trotzdem verwerfen?", - "confirmations.domain_block.confirm": "Domain sperren", + "confirmations.domain_block.confirm": "Blocke die ganze Domain", "confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus. Du wirst den Inhalt von dieser Domain nicht in irgendwelchen öffentlichen Timelines oder den Benachrichtigungen finden. Auch deine Follower von dieser Domain werden entfernt.", "confirmations.logout.confirm": "Abmelden", "confirmations.logout.message": "Bist du sicher, dass du dich abmelden möchtest?", @@ -177,7 +176,7 @@ "conversation.open": "Unterhaltung anzeigen", "conversation.with": "Mit {names}", "copypaste.copied": "In die Zwischenablage kopiert", - "copypaste.copy": "In die Zwischenablage kopieren", + "copypaste.copy": "Kopieren", "directory.federated": "Aus dem Fediverse", "directory.local": "Nur von der Domain {domain}", "directory.new_arrivals": "Neue Profile", @@ -203,7 +202,7 @@ "emoji_button.objects": "Gegenstände", "emoji_button.people": "Personen", "emoji_button.recent": "Häufig benutzte Emojis", - "emoji_button.search": "Nach Emojis suchen …", + "emoji_button.search": "Suchen …", "emoji_button.search_results": "Suchergebnisse", "emoji_button.symbols": "Symbole", "emoji_button.travel": "Reisen & Orte", @@ -212,7 +211,7 @@ "empty_column.account_unavailable": "Profil nicht verfügbar", "empty_column.blocks": "Du hast bisher keine Profile blockiert.", "empty_column.bookmarked_statuses": "Du hast bis jetzt keine Beiträge als Lesezeichen gespeichert. Wenn du einen Beitrag als Lesezeichen speicherst wird er hier erscheinen.", - "empty_column.community": "Die lokale Chronik ist leer. Schreibe einen öffentlichen Beitrag, um den Stein ins Rollen zu bringen!", + "empty_column.community": "Die lokale Timeline ist leer. Schreibe einen öffentlichen Beitrag, um den Stein ins Rollen zu bringen!", "empty_column.direct": "Du hast noch keine Direktnachrichten. Sobald du eine sendest oder empfängst, wird sie hier zu sehen sein.", "empty_column.domain_blocks": "Du hast noch keine Domains blockiert.", "empty_column.explore_statuses": "Momentan ist nichts im Trend. Schau später wieder vorbei!", @@ -227,7 +226,7 @@ "empty_column.lists": "Du hast noch keine Listen. Wenn du eine anlegst, wird sie hier angezeigt werden.", "empty_column.mutes": "Du hast keine Profile stummgeschaltet.", "empty_column.notifications": "Du hast noch keine Mitteilungen. Sobald Du mit anderen Personen interagierst, wirst Du hier darüber benachrichtigt.", - "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Servern, um die Zeitleiste aufzufüllen", + "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Servern, um die Timeline aufzufüllen", "error.unexpected_crash.explanation": "Aufgrund eines Fehlers in unserem Code oder einer Browser-Inkompatibilität konnte diese Seite nicht korrekt angezeigt werden.", "error.unexpected_crash.explanation_addons": "Diese Seite konnte nicht korrekt angezeigt werden. Dieser Fehler wird wahrscheinlich durch ein Browser-Add-on oder automatische Übersetzungswerkzeuge verursacht.", "error.unexpected_crash.next_steps": "Versuche, die Seite zu aktualisieren. Wenn das nicht hilft, kannst du Mastodon über einen anderen Browser oder eine native App verwenden.", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Mit einem Account auf Mastodon kannst du auf diesen Beitrag antworten.", "interaction_modal.on_another_server": "Auf einem anderen Server", "interaction_modal.on_this_server": "Auf diesem Server", - "interaction_modal.other_server_instructions": "Kopiere einfach diese URL und füge sie in die Suchleiste deiner Lieblings-App oder in die Weboberfläche, in der du angemeldet bist, ein.", + "interaction_modal.other_server_instructions": "Kopieren Sie diese Adresse und fügen Sie diese in das Suchfeld Ihrer bevorzugten Mastodon-App oder in die Weboberfläche Ihres Mastodon-Servers ein.", "interaction_modal.preamble": "Da Mastodon dezentralisiert ist, kannst du dein bestehendes Konto auf einem anderen Mastodon-Server oder einer kompatiblen Plattform nutzen, wenn du kein Konto auf dieser Plattform hast.", "interaction_modal.title.favourite": "Lieblingsbeitrag von {name}", "interaction_modal.title.follow": "Folge {name}", @@ -313,12 +312,12 @@ "keyboard_shortcuts.enter": "Beitrag öffnen", "keyboard_shortcuts.favourite": "favorisieren", "keyboard_shortcuts.favourites": "Favoriten-Liste öffnen", - "keyboard_shortcuts.federated": "Föderierte Chronik öffnen", + "keyboard_shortcuts.federated": "Föderierte Timeline öffnen", "keyboard_shortcuts.heading": "Tastenkombinationen", "keyboard_shortcuts.home": "Startseite öffnen", "keyboard_shortcuts.hotkey": "Tastenkürzel", "keyboard_shortcuts.legend": "diese Übersicht anzeigen", - "keyboard_shortcuts.local": "Lokale Chronik öffnen", + "keyboard_shortcuts.local": "Lokale Timeline öffnen", "keyboard_shortcuts.mention": "Profil erwähnen", "keyboard_shortcuts.muted": "Liste stummgeschalteter Profile öffnen", "keyboard_shortcuts.my_profile": "Dein Profil öffnen", @@ -461,7 +460,7 @@ "refresh": "Aktualisieren", "regeneration_indicator.label": "Laden…", "regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!", - "relative_time.days": "{number}d", + "relative_time.days": "{number}T", "relative_time.full.days": "vor {number, plural, one {# Tag} other {# Tagen}}", "relative_time.full.hours": "vor {number, plural, one {# Stunde} other {# Stunden}}", "relative_time.full.just_now": "gerade eben", diff --git a/app/javascript/mastodon/locales/el.json b/app/javascript/mastodon/locales/el.json index fe88710934c..f6beca18197 100644 --- a/app/javascript/mastodon/locales/el.json +++ b/app/javascript/mastodon/locales/el.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Επικοινωνία:", "about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Τομέας (Domain)", + "about.domain_blocks.no_reason_available": "Αιτιολογία μη διαθέσιμη", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Σοβαρότητα", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Σώπασε @{name}", "account.mute_notifications": "Σώπασε τις ειδοποιήσεις από @{name}", "account.muted": "Αποσιωπημένος/η", + "account.open_original_page": "Open original page", "account.posts": "Τουτ", "account.posts_with_replies": "Τουτ και απαντήσεις", "account.report": "Κατάγγειλε @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή", "interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Αντιγράψτε και επικολλήστε αυτήν τη διεύθυνση URL στο πεδίο αναζήτησης της αγαπημένης σας εφαρμογής Mastodon ή στο web interface του διακομιστή σας Mastodon.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/en-GB.json b/app/javascript/mastodon/locales/en-GB.json index 36af2ad49c7..b005f80905d 100644 --- a/app/javascript/mastodon/locales/en-GB.json +++ b/app/javascript/mastodon/locales/en-GB.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the Fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Posts", "account.posts_with_replies": "Posts and replies", "account.report": "Report @{name}", @@ -66,7 +65,7 @@ "account.unmute": "Unmute @{name}", "account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_short": "Unmute", - "account_note.placeholder": "Click to add a note", + "account_note.placeholder": "Click to add note", "admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.retention.average": "Average", @@ -93,10 +92,10 @@ "bundle_modal_error.close": "Close", "bundle_modal_error.message": "Something went wrong while loading this component.", "bundle_modal_error.retry": "Try again", - "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", + "closed_registrations.other_server_instructions": "Since Mastodon is decentralised, you can create an account on another server and still interact with this one.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.find_another_server": "Find another server", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", + "closed_registrations_modal.preamble": "Mastodon is decentralised, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.title": "Signing up on Mastodon", "column.about": "About", "column.blocks": "Blocked users", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index cec8eb73a33..01a2821bc40 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -2,10 +2,8 @@ "about.blocks": "Moderigitaj serviloj", "about.contact": "Kontakto:", "about.disclaimer": "Mastodon estas libera, malfermitkoda programaro kaj varmarko de la firmao Mastodon gGmbH.", - "about.domain_blocks.comment": "Kialo", - "about.domain_blocks.domain": "Domajno", + "about.domain_blocks.no_reason_available": "Kialo ne estas disponebla", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Graveco", "about.domain_blocks.silenced.explanation": "Vi ne ĝenerale vidos profilojn kaj enhavojn de ĉi tiu servilo, krom se vi eksplice trovas aŭ estas permesita de via sekvato.", "about.domain_blocks.silenced.title": "Limigita", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Silentigi @{name}", "account.mute_notifications": "Silentigi la sciigojn de @{name}", "account.muted": "Silentigita", + "account.open_original_page": "Open original page", "account.posts": "Mesaĝoj", "account.posts_with_replies": "Mesaĝoj kaj respondoj", "account.report": "Raporti @{name}", @@ -151,8 +150,8 @@ "confirmations.block.block_and_report": "Bloki kaj raporti", "confirmations.block.confirm": "Bloki", "confirmations.block.message": "Ĉu vi certas, ke vi volas bloki {name}?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "Eksigi peton", + "confirmations.cancel_follow_request.message": "Ĉu vi certas ke vi volas eksigi vian peton por sekvi {name}?", "confirmations.delete.confirm": "Forigi", "confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun mesaĝon?", "confirmations.delete_list.confirm": "Forigi", @@ -183,7 +182,7 @@ "directory.new_arrivals": "Novaj alvenoj", "directory.recently_active": "Lastatempe aktiva", "disabled_account_banner.account_settings": "Konto-agordoj", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.text": "Via konto {disabledAccount} estas nune malvalidigita.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.dismiss": "Eksigi", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "En alia servilo", "interaction_modal.on_this_server": "En ĉi tiu servilo", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Aldoni afiŝon de {name} al la preferaĵoj", "interaction_modal.title.follow": "Sekvi {name}", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index 0717d45ab6a..deb539d0bf9 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -2,10 +2,8 @@ "about.blocks": "Servidores moderados", "about.contact": "Contacto:", "about.disclaimer": "Mastodon es software libre y de código abierto y una marca comercial de Mastodon gGmbH.", - "about.domain_blocks.comment": "Motivo", - "about.domain_blocks.domain": "Dominio", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.", - "about.domain_blocks.severity": "Gravedad", "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busqués explícitamente o sigás alguna cuenta.", "about.domain_blocks.silenced.title": "Limitados", "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.", @@ -51,8 +49,9 @@ "account.mute": "Silenciar a @{name}", "account.mute_notifications": "Silenciar notificaciones de @{name}", "account.muted": "Silenciado", + "account.open_original_page": "Open original page", "account.posts": "Mensajes", - "account.posts_with_replies": "Mensajes y respuestas públicas", + "account.posts_with_replies": "Mnsjs y resp. públicas", "account.report": "Denunciar a @{name}", "account.requested": "Esperando aprobación. Hacé clic para cancelar la solicitud de seguimiento", "account.share": "Compartir el perfil de @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Con una cuenta en Mastodon, podés responder a este mensaje.", "interaction_modal.on_another_server": "En un servidor diferente", "interaction_modal.on_this_server": "En este servidor", - "interaction_modal.other_server_instructions": "Simplemente copiá y pegá esta dirección web en la barra de búsqueda de tu aplicación favorita o en la interface web en donde hayás iniciado sesión.", + "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.", "interaction_modal.preamble": "Ya que Mastodon es descentralizado, podés usar tu cuenta existente alojada por otro servidor Mastodon (u otra plataforma compatible, si no tenés una cuenta en ésta).", "interaction_modal.title.favourite": "Marcar como favorito el mensaje de {name}", "interaction_modal.title.follow": "Seguir a {name}", diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index a01bf0c040e..ffa2c6185b6 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -2,10 +2,8 @@ "about.blocks": "Servidores moderados", "about.contact": "Contacto:", "about.disclaimer": "Mastodon es software de código abierto, y una marca comercial de Mastodon gGmbH.", - "about.domain_blocks.comment": "Razón", - "about.domain_blocks.domain": "Dominio", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.", - "about.domain_blocks.severity": "Gravedad", "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busques explícitamente o sigas alguna cuenta.", "about.domain_blocks.silenced.title": "Limitado", "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.", @@ -39,7 +37,7 @@ "account.following_counter": "{count, plural, other {{counter} Siguiendo}}", "account.follows.empty": "Este usuario todavía no sigue a nadie.", "account.follows_you": "Te sigue", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Ir al perfil", "account.hide_reblogs": "Ocultar retoots de @{name}", "account.joined_short": "Se unió", "account.languages": "Cambiar idiomas suscritos", @@ -51,6 +49,7 @@ "account.mute": "Silenciar a @{name}", "account.mute_notifications": "Silenciar notificaciones de @{name}", "account.muted": "Silenciado", + "account.open_original_page": "Open original page", "account.posts": "Publicaciones", "account.posts_with_replies": "Publicaciones y respuestas", "account.report": "Reportar a @{name}", @@ -182,8 +181,8 @@ "directory.local": "Sólo de {domain}", "directory.new_arrivals": "Recién llegados", "directory.recently_active": "Recientemente activo", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Ajustes de la cuenta", + "disabled_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada.", "dismissable_banner.community_timeline": "Estas son las publicaciones públicas más recientes de personas cuyas cuentas están alojadas en {domain}.", "dismissable_banner.dismiss": "Descartar", "dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada en este momento.", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.", "interaction_modal.on_another_server": "En un servidor diferente", "interaction_modal.on_this_server": "En este servidor", - "interaction_modal.other_server_instructions": "Simplemente copia y pega esta URL en la barra de búsqueda de tu aplicación favorita o en la interfaz web donde hayas iniciado sesión.", + "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.", "interaction_modal.preamble": "Ya que Mastodon es descentralizado, puedes usar tu cuenta existente alojada en otro servidor Mastodon o plataforma compatible si no tienes una cuenta en este servidor.", "interaction_modal.title.favourite": "Marcar como favorita la publicación de {name}", "interaction_modal.title.follow": "Seguir a {name}", @@ -361,7 +360,7 @@ "media_gallery.toggle_visible": "Cambiar visibilidad", "missing_indicator.label": "No encontrado", "missing_indicator.sublabel": "No se encontró este recurso", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.", "mute_modal.duration": "Duración", "mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?", "mute_modal.indefinite": "Indefinida", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index 133ee0792bd..f93577b4669 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -2,10 +2,8 @@ "about.blocks": "Servidores moderados", "about.contact": "Contacto:", "about.disclaimer": "Mastodon es software de código abierto, y una marca comercial de Mastodon gGmbH.", - "about.domain_blocks.comment": "Razón", - "about.domain_blocks.domain": "Dominio", + "about.domain_blocks.no_reason_available": "Razón no disponible", "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.", - "about.domain_blocks.severity": "Gravedad", "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busques explícitamente o sigas alguna cuenta.", "about.domain_blocks.silenced.title": "Limitado", "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.", @@ -51,6 +49,7 @@ "account.mute": "Silenciar a @{name}", "account.mute_notifications": "Silenciar notificaciones de @{name}", "account.muted": "Silenciado", + "account.open_original_page": "Abrir página original", "account.posts": "Publicaciones", "account.posts_with_replies": "Publicaciones y respuestas", "account.report": "Reportar a @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.", "interaction_modal.on_another_server": "En un servidor diferente", "interaction_modal.on_this_server": "En este servidor", - "interaction_modal.other_server_instructions": "Simplemente copia y pega esta URL en la barra de búsqueda de tu aplicación favorita o en la interfaz web donde hayas iniciado sesión.", + "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.", "interaction_modal.preamble": "Ya que Mastodon es descentralizado, puedes usar tu cuenta existente alojada en otro servidor Mastodon o plataforma compatible si no tienes una cuenta en este servidor.", "interaction_modal.title.favourite": "Marcar como favorita la publicación de {name}", "interaction_modal.title.follow": "Seguir a {name}", diff --git a/app/javascript/mastodon/locales/et.json b/app/javascript/mastodon/locales/et.json index ab7d708bf02..ff7dba9f76c 100644 --- a/app/javascript/mastodon/locales/et.json +++ b/app/javascript/mastodon/locales/et.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Vaigista @{name}", "account.mute_notifications": "Vaigista teated kasutajalt @{name}", "account.muted": "Vaigistatud", + "account.open_original_page": "Open original page", "account.posts": "Postitused", "account.posts_with_replies": "Postitused ja vastused", "account.report": "Raporteeri @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index c55de8b9abd..e0d6e2931e7 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -2,10 +2,8 @@ "about.blocks": "Moderatutako zerbitzariak", "about.contact": "Kontaktua:", "about.disclaimer": "Mastodon software libre eta kode irekikoa da, eta Mastodon gGmbH-ren marka erregistratua.", - "about.domain_blocks.comment": "Arrazoia", - "about.domain_blocks.domain": "Domeinua", + "about.domain_blocks.no_reason_available": "Arrazoia ez dago eskuragarri", "about.domain_blocks.preamble": "Mastodonek orokorrean aukera ematen dizu fedibertsoko beste zerbitzarietako erabiltzaileen edukia ikusi eta haiekin komunikatzeko. Zerbitzari zehatz honi ezarritako salbuespenak hauek dira.", - "about.domain_blocks.severity": "Larritasuna", "about.domain_blocks.silenced.explanation": "Orokorrean ez duzu zerbitzari honetako profil eta edukirik ikusiko. Profilak jarraitzen badituzu edo edukia esplizituki bilatzen baduzu bai.", "about.domain_blocks.silenced.title": "Mugatua", "about.domain_blocks.suspended.explanation": "Ez da zerbitzari honetako daturik prozesatuko, gordeko, edo partekatuko, zerbitzari honetako erabiltzaileekin komunikatzea ezinezkoa eginez.", @@ -39,7 +37,7 @@ "account.following_counter": "{count, plural, one {{counter} jarraitzen} other {{counter} jarraitzen}}", "account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.", "account.follows_you": "Jarraitzen dizu", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Joan profilera", "account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak", "account.joined_short": "Elkartuta", "account.languages": "Aldatu harpidetutako hizkuntzak", @@ -47,10 +45,11 @@ "account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.", "account.media": "Multimedia", "account.mention": "Aipatu @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "{name} erabiltzaileak adierazi du bere kontu berria hau dela:", "account.mute": "Mututu @{name}", "account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak", "account.muted": "Mutututa", + "account.open_original_page": "Ireki jatorrizko orria", "account.posts": "Bidalketa", "account.posts_with_replies": "Bidalketak eta erantzunak", "account.report": "Salatu @{name}", @@ -182,8 +181,8 @@ "directory.local": "{domain} domeinukoak soilik", "directory.new_arrivals": "Iritsi berriak", "directory.recently_active": "Duela gutxi aktibo", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Kontuaren ezarpenak", + "disabled_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan.", "dismissable_banner.community_timeline": "Hauek dira {domain} zerbitzarian ostatatutako kontuen bidalketa publiko berrienak.", "dismissable_banner.dismiss": "Baztertu", "dismissable_banner.explore_links": "Albiste hauei buruz hitz egiten ari da jendea orain zerbitzari honetan eta sare deszentralizatuko besteetan.", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Mastodon kontu batekin bidalketa honi erantzun diezaiokezu.", "interaction_modal.on_another_server": "Beste zerbitzari batean", "interaction_modal.on_this_server": "Zerbitzari honetan", - "interaction_modal.other_server_instructions": "Kopiatu eta itsatsi URL hau zure aplikazio gogokoenaren bilaketa-barran edo saioa hasita daukazun web interfazean.", + "interaction_modal.other_server_instructions": "Kopiatu eta itsatsi URL hau zure Mastodon aplikazio gogokoenaren edo zure Mastodon zerbitzariaren web interfazeko bilaketa eremuan.", "interaction_modal.preamble": "Mastodon deszentralizatua denez, zerbitzari honetan konturik ez badaukazu, beste Mastodon zerbitzari batean edo bateragarria den plataforma batean ostatatutako kontua erabil dezakezu.", "interaction_modal.title.favourite": "Egin gogoko {name}(r)en bidalketa", "interaction_modal.title.follow": "Jarraitu {name}", @@ -342,7 +341,7 @@ "lightbox.next": "Hurrengoa", "lightbox.previous": "Aurrekoa", "limited_account_hint.action": "Erakutsi profila hala ere", - "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", + "limited_account_hint.title": "Profil hau ezkutatu egin dute {domain} zerbitzariko moderatzaileek.", "lists.account.add": "Gehitu zerrendara", "lists.account.remove": "Kendu zerrendatik", "lists.delete": "Ezabatu zerrenda", @@ -361,7 +360,7 @@ "media_gallery.toggle_visible": "Txandakatu ikusgaitasuna", "missing_indicator.label": "Ez aurkitua", "missing_indicator.sublabel": "Baliabide hau ezin izan da aurkitu", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan, {movedToAccount} kontura aldatu zinelako.", "mute_modal.duration": "Iraupena", "mute_modal.hide_notifications": "Ezkutatu erabiltzaile honen jakinarazpenak?", "mute_modal.indefinite": "Zehaztu gabe", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 18a8b422629..2c36c4efa7a 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -2,10 +2,8 @@ "about.blocks": "کارسازهای نظارت شده", "about.contact": "تماس:", "about.disclaimer": "ماستودون نرم‌افزار آزاد، متن باز و یک شرکت غیر انتفاعی با مسئولیت محدود طبق قوانین آلمان است.", - "about.domain_blocks.comment": "دلیل", - "about.domain_blocks.domain": "دامنه", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "ماستودون عموماً می‌گذارد محتوا را از از هر کارساز دیگری در دنیای شبکه‌های اجتماعی غیرمتمرکز دیده و با آنان برهم‌کنش داشته باشید. این‌ها استثناهایی هستند که روی این کارساز خاص وضع شده‌اند.", - "about.domain_blocks.severity": "شدت", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "محدود", "about.domain_blocks.suspended.explanation": "هیچ داده‌ای از این کارساز پردازش، ذخیره یا مبادله نخواهد شد، که هرگونه برهم‌کنش یا ارتباط با کاربران این کارساز را غیرممکن خواهد کرد.", @@ -51,6 +49,7 @@ "account.mute": "خموشاندن ‎@{name}", "account.mute_notifications": "خموشاندن آگاهی‌های ‎@{name}", "account.muted": "خموش", + "account.open_original_page": "Open original page", "account.posts": "فرسته", "account.posts_with_replies": "فرسته‌ها و پاسخ‌ها", "account.report": "گزارش ‎@{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "روی کارسازی دیگر", "interaction_modal.on_this_server": "روی این کارساز", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "از آن‌جا که ماستودون نامتمرکز است، می‌توانید در صورت نداشتن حساب روی این کارساز، از حساب موجود خودتان که روی کارساز ماستودون یا بن‌سازهٔ سازگار دیگری میزبانی می‌شود استفاده کنید.", "interaction_modal.title.favourite": "فرسته‌های برگزیدهٔ {name}", "interaction_modal.title.follow": "پیگیری {name}", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index 7a03798c3b1..a982d5bfeeb 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -1,11 +1,9 @@ { "about.blocks": "Moderoidut palvelimet", "about.contact": "Yhteystiedot:", - "about.disclaimer": "Mastodon on ilmainen avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.", - "about.domain_blocks.comment": "Syy", - "about.domain_blocks.domain": "Verkkotunnus", + "about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodonin avulla voit yleensä tarkastella sisältöä ja olla vuorovaikutuksessa käyttäjien kanssa millä tahansa muulla palvelimella fediversessä. Nämä ovat poikkeuksia, jotka on tehty tälle palvelimelle.", - "about.domain_blocks.severity": "Vakavuus", "about.domain_blocks.silenced.explanation": "Et yleensä näe profiileja ja sisältöä tältä palvelimelta, ellet nimenomaisesti etsi tai valitse sitä seuraamalla.", "about.domain_blocks.silenced.title": "Rajoitettu", "about.domain_blocks.suspended.explanation": "Tämän palvelimen tietoja ei käsitellä, tallenneta tai vaihdeta, mikä tekee käyttäjän kanssa vuorovaikutuksen tai yhteydenpidon mahdottomaksi tällä palvelimella.", @@ -18,7 +16,7 @@ "account.badges.bot": "Botti", "account.badges.group": "Ryhmä", "account.block": "Estä @{name}", - "account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}", + "account.block_domain": "Estä verkkotunnus {domain}", "account.blocked": "Estetty", "account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella", "account.cancel_follow_request": "Peruuta seurantapyyntö", @@ -51,6 +49,7 @@ "account.mute": "Mykistä @{name}", "account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}", "account.muted": "Mykistetty", + "account.open_original_page": "Open original page", "account.posts": "Viestit", "account.posts_with_replies": "Viestit ja vastaukset", "account.report": "Raportoi @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Kun sinulla on tili Mastodonissa, voit vastata tähän viestiin.", "interaction_modal.on_another_server": "Toisella palvelimella", "interaction_modal.on_this_server": "Tällä palvelimella", - "interaction_modal.other_server_instructions": "Yksinkertaisesti kopioi ja liitä tämä URL-osoite suosikki sovelluksen tai web-käyttöliittymän hakupalkkiin, jossa olet kirjautunut sisään.", + "interaction_modal.other_server_instructions": "Kopioi ja liitä tämä URL-osoite käyttämäsi Mastodon-sovelluksen hakukenttään tai Mastodon-palvelimen web-käyttöliittymään.", "interaction_modal.preamble": "Koska Mastodon on hajautettu, voit käyttää toisen Mastodon-palvelimen tai yhteensopivan alustan ylläpitämää tiliäsi, jos sinulla ei ole tiliä tällä palvelimella.", "interaction_modal.title.favourite": "Suosikin {name} viesti", "interaction_modal.title.follow": "Seuraa {name}", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 421041e6d05..eeb5d9ee73c 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -2,10 +2,8 @@ "about.blocks": "Serveurs modérés", "about.contact": "Contact :", "about.disclaimer": "Mastodon est un logiciel libre, open-source et une marque déposée de Mastodon gGmbH.", - "about.domain_blocks.comment": "Motif", - "about.domain_blocks.domain": "Domaine", + "about.domain_blocks.no_reason_available": "Raison non disponible", "about.domain_blocks.preamble": "Mastodon vous permet généralement de visualiser le contenu et d'interagir avec les utilisateurs de n'importe quel autre serveur dans le fédiverse. Voici les exceptions qui ont été faites sur ce serveur en particulier.", - "about.domain_blocks.severity": "Sévérité", "about.domain_blocks.silenced.explanation": "Vous ne verrez généralement pas les profils et le contenu de ce serveur, à moins que vous ne les recherchiez explicitement ou que vous ne choisissiez de les suivre.", "about.domain_blocks.silenced.title": "Limité", "about.domain_blocks.suspended.explanation": "Aucune donnée de ce serveur ne sera traitée, enregistrée ou échangée, rendant impossible toute interaction ou communication avec les utilisateurs de ce serveur.", @@ -51,6 +49,7 @@ "account.mute": "Masquer @{name}", "account.mute_notifications": "Masquer les notifications de @{name}", "account.muted": "Masqué·e", + "account.open_original_page": "Ouvrir la page d'origine", "account.posts": "Messages", "account.posts_with_replies": "Messages et réponses", "account.report": "Signaler @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Avec un compte sur Mastodon, vous pouvez répondre à ce message.", "interaction_modal.on_another_server": "Sur un autre serveur", "interaction_modal.on_this_server": "Sur ce serveur", - "interaction_modal.other_server_instructions": "Copiez et collez simplement cette URL dans la barre de recherche de votre application préférée ou dans l’interface web où vous êtes connecté.", + "interaction_modal.other_server_instructions": "Copiez et collez cette URL dans le champ de recherche de votre application Mastodon préférée ou l'interface web de votre serveur Mastodon.", "interaction_modal.preamble": "Puisque Mastodon est décentralisé, vous pouvez utiliser votre compte existant hébergé par un autre serveur Mastodon ou une plateforme compatible si vous n'avez pas de compte sur celui-ci.", "interaction_modal.title.favourite": "Ajouter de post de {name} aux favoris", "interaction_modal.title.follow": "Suivre {name}", diff --git a/app/javascript/mastodon/locales/fy.json b/app/javascript/mastodon/locales/fy.json index 0c45b6f4218..5a194103f05 100644 --- a/app/javascript/mastodon/locales/fy.json +++ b/app/javascript/mastodon/locales/fy.json @@ -2,10 +2,8 @@ "about.blocks": "Moderearre servers", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon is frije, iepenboarnesoftware en in hannelsmerk fan Mastodon gGmbH.", - "about.domain_blocks.comment": "Reden", - "about.domain_blocks.domain": "Domein", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Yn it algemien kinsto mei Mastodon berjochten ûntfange fan, en ynteraksje hawwe mei brûkers fan elke server yn de fediverse. Dit binne de útsûnderingen dy’t op dizze spesifike server jilde.", - "about.domain_blocks.severity": "Swierte", "about.domain_blocks.silenced.explanation": "Yn it algemien sjochsto gjin berjochten en accounts fan dizze server, útsein do berjochten eksplisyt opsikest of derfoar kiest om in account fan dizze server te folgjen.", "about.domain_blocks.silenced.title": "Beheind", "about.domain_blocks.suspended.explanation": "Der wurde gjin gegevens fan dizze server ferwurke, bewarre of útwiksele, wat ynteraksje of kommunikaasje mei brûkers fan dizze server ûnmooglik makket.", @@ -51,6 +49,7 @@ "account.mute": "@{name} negearje", "account.mute_notifications": "Meldingen fan @{name} negearje", "account.muted": "Negearre", + "account.open_original_page": "Open original page", "account.posts": "Berjochten", "account.posts_with_replies": "Berjochten en reaksjes", "account.report": "@{name} rapportearje", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "Op dizze server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "{name} folgje", diff --git a/app/javascript/mastodon/locales/ga.json b/app/javascript/mastodon/locales/ga.json index dab59219597..f22f7abbcd9 100644 --- a/app/javascript/mastodon/locales/ga.json +++ b/app/javascript/mastodon/locales/ga.json @@ -2,13 +2,11 @@ "about.blocks": "Freastalaithe faoi stiúir", "about.contact": "Teagmháil:", "about.disclaimer": "Bogearra foinse oscailte saor in aisce is ea Mastodon, agus is le Mastodon gGmbH an trádmharc.", - "about.domain_blocks.comment": "Fáth", - "about.domain_blocks.domain": "Fearann", + "about.domain_blocks.no_reason_available": "Níl an fáth ar fáil", "about.domain_blocks.preamble": "Go hiondúil, tugann Mastadán cead duit a bheith ag plé le húsáideoirí as freastalaí ar bith eile sa chomhchruinne agus a gcuid inneachair a fheiceáil. Seo iad na heisceachtaí a rinneadh ar an bhfreastalaí áirithe seo.", - "about.domain_blocks.severity": "Déine", "about.domain_blocks.silenced.explanation": "Go hiondúil ní fheicfidh tú próifílí ná inneachar ón bhfreastalaí seo, ach amháin má bhíonn tú á lorg nó má ghlacann tú lena leanúint d'aon ghnó.", "about.domain_blocks.silenced.title": "Teoranta", - "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", + "about.domain_blocks.suspended.explanation": "Ní dhéanfar aon sonra ón fhreastalaí seo a phróiseáil, a stóráil ná a mhalartú, rud a fhágann nach féidir aon teagmháil ná aon chumarsáid a dhéanamh le húsáideoirí ón fhreastalaí seo.", "about.domain_blocks.suspended.title": "Ar fionraí", "about.not_available": "Níor cuireadh an t-eolas seo ar fáil ar an bhfreastalaí seo.", "about.powered_by": "Meáin shóisialta díláraithe faoi chumhacht {mastodon}", @@ -51,6 +49,7 @@ "account.mute": "Balbhaigh @{name}", "account.mute_notifications": "Balbhaigh fógraí ó @{name}", "account.muted": "Balbhaithe", + "account.open_original_page": "Oscail an leathanach bunaidh", "account.posts": "Postálacha", "account.posts_with_replies": "Postálacha agus freagraí", "account.report": "Tuairiscigh @{name}", @@ -178,7 +177,7 @@ "conversation.with": "Le {names}", "copypaste.copied": "Cóipeáilte", "copypaste.copy": "Cóipeáil", - "directory.federated": "From known fediverse", + "directory.federated": "Ó chomhchruinne aitheanta", "directory.local": "Ó {domain} amháin", "directory.new_arrivals": "Daoine atá tar éis teacht", "directory.recently_active": "Daoine gníomhacha le déanaí", @@ -243,17 +242,17 @@ "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_title": "Context mismatch!", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", - "filter_modal.added.expired_title": "Expired filter!", + "filter_modal.added.expired_title": "Scagaire as feidhm!", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure_title": "Socruithe scagtha", "filter_modal.added.settings_link": "leathan socruithe", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", - "filter_modal.added.title": "Filter added!", - "filter_modal.select_filter.context_mismatch": "does not apply to this context", + "filter_modal.added.title": "Scagaire curtha leis!", + "filter_modal.select_filter.context_mismatch": "ní bhaineann sé leis an gcomhthéacs seo", "filter_modal.select_filter.expired": "as feidhm", "filter_modal.select_filter.prompt_new": "Catagóir nua: {name}", - "filter_modal.select_filter.search": "Search or create", - "filter_modal.select_filter.subtitle": "Use an existing category or create a new one", + "filter_modal.select_filter.search": "Cuardaigh nó cruthaigh", + "filter_modal.select_filter.subtitle": "Bain úsáid as catagóir reatha nó cruthaigh ceann nua", "filter_modal.select_filter.title": "Déan scagadh ar an bpostáil seo", "filter_modal.title.status": "Déan scagadh ar phostáil", "follow_recommendations.done": "Déanta", @@ -265,10 +264,10 @@ "footer.about": "Maidir le", "footer.directory": "Eolaire próifílí", "footer.get_app": "Faigh an aip", - "footer.invite": "Invite people", - "footer.keyboard_shortcuts": "Keyboard shortcuts", + "footer.invite": "Tabhair cuireadh do dhaoine", + "footer.keyboard_shortcuts": "Aicearraí méarchláir", "footer.privacy_policy": "Polasaí príobháideachais", - "footer.source_code": "View source code", + "footer.source_code": "Féach ar an gcód foinseach", "generic.saved": "Sábháilte", "getting_started.heading": "Getting started", "hashtag.column_header.tag_mode.all": "agus {additional}", @@ -293,12 +292,12 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "Ar freastalaí eile", "interaction_modal.on_this_server": "Ar an freastalaí seo", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Lean {name}", - "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.reblog": "Cuir postáil {name} chun cinn", + "interaction_modal.title.reply": "Freagair postáil {name}", "intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", @@ -309,7 +308,7 @@ "keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.description": "Cuntas", "keyboard_shortcuts.direct": "to open direct messages column", - "keyboard_shortcuts.down": "to move down in the list", + "keyboard_shortcuts.down": "Bog síos ar an liosta", "keyboard_shortcuts.enter": "Oscail postáil", "keyboard_shortcuts.favourite": "Roghnaigh postáil", "keyboard_shortcuts.favourites": "Oscail liosta roghanna", @@ -335,7 +334,7 @@ "keyboard_shortcuts.toggle_sensitivity": "Taispeáin / cuir i bhfolach meáin", "keyboard_shortcuts.toot": "Cuir tús le postáil nua", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", - "keyboard_shortcuts.up": "to move up in the list", + "keyboard_shortcuts.up": "Bog suas ar an liosta", "lightbox.close": "Dún", "lightbox.compress": "Compress image view box", "lightbox.expand": "Expand image view box", @@ -353,7 +352,7 @@ "lists.replies_policy.followed": "Any followed user", "lists.replies_policy.list": "Baill an liosta", "lists.replies_policy.none": "Duine ar bith", - "lists.replies_policy.title": "Show replies to:", + "lists.replies_policy.title": "Taispeáin freagraí:", "lists.search": "Cuardaigh i measc daoine atá á leanúint agat", "lists.subheading": "Do liostaí", "load_pending": "{count, plural, one {# new item} other {# new items}}", @@ -428,13 +427,13 @@ "notifications.filter.mentions": "Tráchtanna", "notifications.filter.polls": "Torthaí suirbhéanna", "notifications.filter.statuses": "Updates from people you follow", - "notifications.grant_permission": "Grant permission.", - "notifications.group": "{count} notifications", + "notifications.grant_permission": "Tabhair cead.", + "notifications.group": "{count} fógraí", "notifications.mark_as_read": "Mark every notification as read", "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", - "notifications_permission_banner.enable": "Enable desktop notifications", + "notifications_permission_banner.enable": "Ceadaigh fógraí ar an deasc", "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.", "notifications_permission_banner.title": "Never miss a thing", "picture_in_picture.restore": "Cuir é ar ais", @@ -451,8 +450,8 @@ "privacy.direct.long": "Visible for mentioned users only", "privacy.direct.short": "Direct", "privacy.private.long": "Sofheicthe do Leantóirí amháin", - "privacy.private.short": "Followers-only", - "privacy.public.long": "Visible for all", + "privacy.private.short": "Leantóirí amháin", + "privacy.public.long": "Infheicthe do chách", "privacy.public.short": "Poiblí", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Neamhliostaithe", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index 3492aa54a55..06683f98358 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -2,11 +2,9 @@ "about.blocks": "Frithealaichean fo mhaorsainneachd", "about.contact": "Fios thugainn:", "about.disclaimer": "’S e bathar-bog saor le bun-tùs fosgailte a th’ ann am Mastodon agus ’na chomharra-mhalairt aig Mastodon gGmbH.", - "about.domain_blocks.comment": "Adhbhar", - "about.domain_blocks.domain": "Àrainn", + "about.domain_blocks.no_reason_available": "Chan eil an t-adhbhar ga thoirt seachad", "about.domain_blocks.preamble": "San fharsaingeachd, leigidh Mastodon leat susbaint o fhrithealaiche sam bith sa cho-shaoghal a shealltainn agus eadar-ghìomh a ghabhail leis na cleachdaichean uapa-san. Seo na h-easgaidhean a tha an sàs air an fhrithealaiche shònraichte seo.", - "about.domain_blocks.severity": "Donad", - "about.domain_blocks.silenced.explanation": "Chan fharsaingeachd, chan fhaic thu pròifilean agus susbaint an fhrithealaiche seo ach ma nì thu lorg no ma tha thu ’ga leantainn.", + "about.domain_blocks.silenced.explanation": "San fharsaingeachd, chan fhaic thu pròifilean agus susbaint an fhrithealaiche seo ach ma nì thu lorg no ma tha thu ga leantainn.", "about.domain_blocks.silenced.title": "Cuingichte", "about.domain_blocks.suspended.explanation": "Cha dèid dàta sam bith on fhrithealaiche seo a phròiseasadh, a stòradh no iomlaid agus chan urrainn do na cleachdaichean on fhrithealaiche sin conaltradh no eadar-ghnìomh a ghabhail an-seo.", "about.domain_blocks.suspended.title": "’Na dhàil", @@ -38,7 +36,7 @@ "account.following": "A’ leantainn", "account.following_counter": "{count, plural, one {A’ leantainn {counter}} two {A’ leantainn {counter}} few {A’ leantainn {counter}} other {A’ leantainn {counter}}}", "account.follows.empty": "Chan eil an cleachdaiche seo a’ leantainn neach sam bith fhathast.", - "account.follows_you": "’Gad leantainn", + "account.follows_you": "Gad leantainn", "account.go_to_profile": "Tadhail air a’ phròifil", "account.hide_reblogs": "Falaich na brosnachaidhean o @{name}", "account.joined_short": "Air ballrachd fhaighinn", @@ -51,6 +49,7 @@ "account.mute": "Mùch @{name}", "account.mute_notifications": "Mùch na brathan o @{name}", "account.muted": "’Ga mhùchadh", + "account.open_original_page": "Fosgail an duilleag thùsail", "account.posts": "Postaichean", "account.posts_with_replies": "Postaichean ’s freagairtean", "account.report": "Dèan gearan mu @{name}", @@ -152,7 +151,7 @@ "confirmations.block.confirm": "Bac", "confirmations.block.message": "A bheil thu cinnteach gu bheil thu airson {name} a bhacadh?", "confirmations.cancel_follow_request.confirm": "Cuir d’ iarrtas dhan dàrna taobh", - "confirmations.cancel_follow_request.message": "A bheil thu cinnteach gu bheil thu airson d’ iarrtas leantainn {name} a chur dhan dàrna taobh?", + "confirmations.cancel_follow_request.message": "A bheil thu cinnteach gu bheil thu airson d’ iarrtas airson {name} a leantainn a chur dhan dàrna taobh?", "confirmations.delete.confirm": "Sguab às", "confirmations.delete.message": "A bheil thu cinnteach gu bheil thu airson am post seo a sguabadh às?", "confirmations.delete_list.confirm": "Sguab às", @@ -219,7 +218,7 @@ "empty_column.favourited_statuses": "Chan eil annsachd air post agad fhathast. Nuair a nì thu annsachd de dh’fhear, nochdaidh e an-seo.", "empty_column.favourites": "Chan eil am post seo ’na annsachd aig duine sam bith fhathast. Nuair a nì daoine annsachd dheth, nochdaidh iad an-seo.", "empty_column.follow_recommendations": "Chan urrainn dhuinn dad a mholadh dhut. Cleachd gleus an luirg feuch an lorg thu daoine air a bheil thu eòlach no rùraich na tagaichean-hais a tha a’ treandadh.", - "empty_column.follow_requests": "Chan eil iarrtas air leantainn agad fhathast. Nuair gheibh thu fear, nochdaidh e an-seo.", + "empty_column.follow_requests": "Chan eil iarrtas leantainn agad fhathast. Nuair a gheibh thu fear, nochdaidh e an-seo.", "empty_column.hashtag": "Chan eil dad san taga hais seo fhathast.", "empty_column.home": "Tha loidhne-ama na dachaigh agad falamh! Lean barrachd dhaoine gus a lìonadh. {suggestions}", "empty_column.home.suggestions": "Faic moladh no dhà", @@ -257,7 +256,7 @@ "filter_modal.select_filter.title": "Criathraich am post seo", "filter_modal.title.status": "Criathraich post", "follow_recommendations.done": "Deiseil", - "follow_recommendations.heading": "Lean daoine ma tha thu airson nam postaichean aca fhaicinn! Seo moladh no dà dhut.", + "follow_recommendations.heading": "Lean daoine ma tha thu airson na postaichean aca fhaicinn! Seo moladh no dà dhut.", "follow_recommendations.lead": "Nochdaidh na postaichean aig na daoine a leanas tu a-rèir an ama nad dhachaigh. Bi dàna on as urrainn dhut sgur de dhaoine a leantainn cuideachd uair sam bith!", "follow_request.authorize": "Ùghdarraich", "follow_request.reject": "Diùlt", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Le cunntas air Mastodon, ’s urrainn dhut freagairt a chur dhan phost seo.", "interaction_modal.on_another_server": "Air frithealaiche eile", "interaction_modal.on_this_server": "Air an frithealaiche seo", - "interaction_modal.other_server_instructions": "Dèan lethbhreac dhen URL seo is cuir ann am bàr nan lorg e san aplacaid as fheàrr leat no san eadar-aghaidh-lìn far a bheil thu air do chlàradh a-steach.", + "interaction_modal.other_server_instructions": "Dèan lethbhreac agus cuir an URL seo san raon luirg aig an aplacaid Mastodon as fheàrr leat no ann an eadar-aghaidh an fhrithealaiche Mastodon agad.", "interaction_modal.preamble": "Air sgàth ’s gu bheil Mastodon sgaoilte, ’s urrainn dhut cunntas a chleachdadh a tha ’ga òstadh le frithealaiche Mastodon no le ùrlar co-chòrdail eile mur eil cunntas agad air an fhear seo.", "interaction_modal.title.favourite": "Cuir am post aig {name} ris na h-annsachdan", "interaction_modal.title.follow": "Lean {name}", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 6a9260064c7..3410a8b7d77 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -2,10 +2,8 @@ "about.blocks": "Servidores moderados", "about.contact": "Contacto:", "about.disclaimer": "Mastodon é software libre, de código aberto, e unha marca comercial de Mastodon gGmbH.", - "about.domain_blocks.comment": "Razón", - "about.domain_blocks.domain": "Dominio", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon de xeito xeral permíteche ver contidos doutros servidores do fediverso e interactuar coas súas usuarias. Estas son as excepcións que se estabeleceron neste servidor en particular.", - "about.domain_blocks.severity": "Rigurosidade", "about.domain_blocks.silenced.explanation": "Por defecto non verás perfís e contido desde este servidor, a menos que mires de xeito explícito ou optes por seguir ese contido ou usuaria.", "about.domain_blocks.silenced.title": "Limitado", "about.domain_blocks.suspended.explanation": "Non se procesarán, almacenarán nin intercambiarán datos con este servidor, o que fai imposible calquera interacción ou comunicación coas usuarias deste servidor.", @@ -51,6 +49,7 @@ "account.mute": "Acalar @{name}", "account.mute_notifications": "Acalar as notificacións de @{name}", "account.muted": "Acalada", + "account.open_original_page": "Open original page", "account.posts": "Publicacións", "account.posts_with_replies": "Publicacións e respostas", "account.report": "Informar sobre @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Cunha conta en Mastodon, poderás responder a esta publicación.", "interaction_modal.on_another_server": "Nun servidor diferente", "interaction_modal.on_this_server": "Neste servidor", - "interaction_modal.other_server_instructions": "Só tes que copiar e pegar este URL na barra de procuras da túa aplicación favorita, ou da interface web na que teñas unha sesión iniciada.", + "interaction_modal.other_server_instructions": "Copia e pega este URL no campo de busca da túa app Mastodon favorita ou na interface web do teu servidor Mastodon.", "interaction_modal.preamble": "Como Mastodon é descentralizado, é posible usar unha conta existente noutro servidor Mastodon, ou nunha plataforma compatible, se non dispós dunha conta neste servidor.", "interaction_modal.title.favourite": "Marcar coma favorito a publicación de {name}", "interaction_modal.title.follow": "Seguir a {name}", diff --git a/app/javascript/mastodon/locales/he.json b/app/javascript/mastodon/locales/he.json index 644574f387b..f11b063b80e 100644 --- a/app/javascript/mastodon/locales/he.json +++ b/app/javascript/mastodon/locales/he.json @@ -2,10 +2,8 @@ "about.blocks": "שרתים מוגבלים", "about.contact": "יצירת קשר:", "about.disclaimer": "מסטודון היא תוכנת קוד פתוח חינמית וסימן מסחרי של Mastodon gGmbH.", - "about.domain_blocks.comment": "סיבה", - "about.domain_blocks.domain": "שם מתחם", + "about.domain_blocks.no_reason_available": "הסיבה אינה זמינה", "about.domain_blocks.preamble": "ככלל מסטודון מאפשרת לך לצפות בתוכן ולתקשר עם משתמשים מכל שרת בפדיברס. אלו הם היוצאים מן הכלל שהוגדרו עבור השרת המסוים הזה.", - "about.domain_blocks.severity": "חומרה", "about.domain_blocks.silenced.explanation": "ככלל פרופילים ותוכן משרת זה לא יוצגו, אלא אם חיפשת אותם באופן מפורש או בחרת להשתתף בו על ידי מעקב.", "about.domain_blocks.silenced.title": "מוגבלים", "about.domain_blocks.suspended.explanation": "שום מידע משרת זה לא יעובד, יישמר או יוחלף, מה שהופך כל תקשורת עם משתמשים משרת זה לבלתי אפשרית.", @@ -51,6 +49,7 @@ "account.mute": "להשתיק את @{name}", "account.mute_notifications": "להסתיר התראות מ @{name}", "account.muted": "מושתק", + "account.open_original_page": "לפתיחת העמוד המקורי", "account.posts": "פוסטים", "account.posts_with_replies": "הודעות ותגובות", "account.report": "דווח על @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "עם חשבון מסטודון, ניתן לענות להודעה.", "interaction_modal.on_another_server": "על שרת אחר", "interaction_modal.on_this_server": "על שרת זה", - "interaction_modal.other_server_instructions": "פשוט להעתיק ולהדביק את ה־URL לחלונית החיפוש ביישום או הדפדפן ממנו התחברת.", + "interaction_modal.other_server_instructions": "ניתן להעתיק ולהדביק קישור זה לתוך שדה החיפוש באפליקציית מסטודון שבשימוש אצלך או בממשק הדפדפן של שרת המסטודון.", "interaction_modal.preamble": "כיוון שמסטודון מבוזרת, תוכל/י להשתמש בחשבון שלך משרתי מסטודון או רשתות תואמות אחרות אם אין לך חשבון על שרת זה.", "interaction_modal.title.favourite": "חיבוב ההודעה של {name}", "interaction_modal.title.follow": "לעקוב אחרי {name}", diff --git a/app/javascript/mastodon/locales/hi.json b/app/javascript/mastodon/locales/hi.json index 992205a7e12..6879f7a0c2f 100644 --- a/app/javascript/mastodon/locales/hi.json +++ b/app/javascript/mastodon/locales/hi.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "म्यूट @{name}", "account.mute_notifications": "@{name} के नोटिफिकेशन म्यूट करे", "account.muted": "म्यूट है", + "account.open_original_page": "Open original page", "account.posts": "टूट्स", "account.posts_with_replies": "टूट्स एवं जवाब", "account.report": "रिपोर्ट @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/hr.json b/app/javascript/mastodon/locales/hr.json index f04760ed14b..83fe0b368d0 100644 --- a/app/javascript/mastodon/locales/hr.json +++ b/app/javascript/mastodon/locales/hr.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Utišaj @{name}", "account.mute_notifications": "Utišaj obavijesti od @{name}", "account.muted": "Utišano", + "account.open_original_page": "Open original page", "account.posts": "Tootovi", "account.posts_with_replies": "Tootovi i odgovori", "account.report": "Prijavi @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/hu.json b/app/javascript/mastodon/locales/hu.json index 85202e1d572..452cc2cdb27 100644 --- a/app/javascript/mastodon/locales/hu.json +++ b/app/javascript/mastodon/locales/hu.json @@ -2,10 +2,8 @@ "about.blocks": "Moderált kiszolgálók", "about.contact": "Kapcsolat:", "about.disclaimer": "A Mastodon ingyenes, nyílt forráskódú szoftver, a Mastodon gGmbH védejegye.", - "about.domain_blocks.comment": "Indoklás", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Az ok nem érhető el", "about.domain_blocks.preamble": "A Mastodon általában mindenféle tartalomcserét és interakciót lehetővé tesz bármelyik másik kiszolgálóval a födiverzumban. Ezek azok a kivételek, amelyek a mi kiszolgálónkon érvényben vannak.", - "about.domain_blocks.severity": "Súlyosság", "about.domain_blocks.silenced.explanation": "Általában nem fogsz profilokat és tartalmat látni erről a kiszolgálóról, hacsak közvetlenül fel nem keresed vagy követed.", "about.domain_blocks.silenced.title": "Korlátozott", "about.domain_blocks.suspended.explanation": "A kiszolgáló adatai nem lesznek feldolgozva, tárolva vagy megosztva, lehetetlenné téve mindennemű interakciót és kommunikációt a kiszolgáló felhasználóival.", @@ -51,6 +49,7 @@ "account.mute": "@{name} némítása", "account.mute_notifications": "@{name} értesítéseinek némítása", "account.muted": "Némítva", + "account.open_original_page": "Eredeti oldal megnyitása", "account.posts": "Bejegyzések", "account.posts_with_replies": "Bejegyzések és válaszok", "account.report": "@{name} jelentése", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Egy Mastodon fiókkal válaszolhatsz 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": "Csak másold be ezt az URL-t a kedvenc appod keresőjébe, vagy arra a webes felületre, ahol be vagy jelentkezve.", + "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.title.favourite": "{name} bejegyzésének megjelölése kedvencként", "interaction_modal.title.follow": "{name} követése", diff --git a/app/javascript/mastodon/locales/hy.json b/app/javascript/mastodon/locales/hy.json index 8af39e2c6c9..5643e2ea951 100644 --- a/app/javascript/mastodon/locales/hy.json +++ b/app/javascript/mastodon/locales/hy.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Լռեցնել @{name}֊ին", "account.mute_notifications": "Անջատել ծանուցումները @{name}֊ից", "account.muted": "Լռեցուած", + "account.open_original_page": "Open original page", "account.posts": "Գրառումներ", "account.posts_with_replies": "Գրառումներ եւ պատասխաններ", "account.report": "Բողոքել @{name}֊ի մասին", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/id.json b/app/javascript/mastodon/locales/id.json index 13ecae298b6..1c35ab60233 100644 --- a/app/javascript/mastodon/locales/id.json +++ b/app/javascript/mastodon/locales/id.json @@ -1,11 +1,9 @@ { - "about.blocks": "Server yang dimoderasi", + "about.blocks": "Movies", "about.contact": "Hubungi:", "about.disclaimer": "Mastodon addalah perangkat lunak bebas dan sumber terbuka, dan adalah merek dagang dari Mastodon gGmbH.", - "about.domain_blocks.comment": "Alasan", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Alasan tidak tersedia", "about.domain_blocks.preamble": "Mastodon umumnya mengizinkan Anda untuk melihat konten dan berinteraksi dengan pengguna dari server lain di fediverse. Ini adalah pengecualian yang dibuat untuk beberapa server.", - "about.domain_blocks.severity": "Keparahan", "about.domain_blocks.silenced.explanation": "Anda secara umum tidak melihat profil dan konten dari server ini, kecuali jika Anda mencarinya atau memilihnya dengan mengikuti secara eksplisit.", "about.domain_blocks.silenced.title": "Terbatas", "about.domain_blocks.suspended.explanation": "Tidak ada data yang diproses, disimpan, atau ditukarkan dari server ini, membuat interaksi atau komunikasi dengan pengguna dari server ini tidak mungkin dilakukan.", @@ -47,10 +45,11 @@ "account.locked_info": "Status privasi akun ini disetel untuk dikunci. Pemilik secara manual meninjau siapa yang dapat mengikutinya.", "account.media": "Media", "account.mention": "Balasan @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "{name} mengabarkan bahwa akun baru mereka kini adalah:", "account.mute": "Bisukan @{name}", "account.mute_notifications": "Bisukan pemberitahuan dari @{name}", "account.muted": "Dibisukan", + "account.open_original_page": "Buka halaman asli", "account.posts": "Kiriman", "account.posts_with_replies": "Kiriman dan balasan", "account.report": "Laporkan @{name}", @@ -182,8 +181,8 @@ "directory.local": "Dari {domain} saja", "directory.new_arrivals": "Yang baru datang", "directory.recently_active": "Baru-baru ini aktif", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.account_settings": "Pengaturan akun", + "disabled_account_banner.text": "Akun {disabledAccount} Anda kini dinonaktifkan.", "dismissable_banner.community_timeline": "Ini adalah kiriman publik terkini dari orang yang akunnya berada di {domain}.", "dismissable_banner.dismiss": "Abaikan", "dismissable_banner.explore_links": "Cerita berita ini sekarang sedang dibicarakan oleh orang di server ini dan lainnya dalam jaringan terdesentralisasi.", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Dengan sebuah akun di Mastodon, Anda bisa menanggapi kiriman ini.", "interaction_modal.on_another_server": "Di server lain", "interaction_modal.on_this_server": "Di server ini", - "interaction_modal.other_server_instructions": "Tinggal salin dan tempelkan URL ini ke bilah pencarian di aplikasi favorit Anda atau antarmuka web di mana Anda masuk.", + "interaction_modal.other_server_instructions": "Salin dan tempel URL ini ke bidang telusur aplikasi Mastodon favorit Anda atau antarmuka web server Mastodon Anda.", "interaction_modal.preamble": "Karena Mastodon itu terdesentralisasi, Anda dapat menggunakan akun Anda yang sudah ada yang berada di server Mastodon lain atau platform yang kompatibel jika Anda tidak memiliki sebuah akun di sini.", "interaction_modal.title.favourite": "Favoritkan kiriman {name}", "interaction_modal.title.follow": "Ikuti {name}", @@ -361,7 +360,7 @@ "media_gallery.toggle_visible": "Tampil/Sembunyikan", "missing_indicator.label": "Tidak ditemukan", "missing_indicator.sublabel": "Sumber daya tak bisa ditemukan", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "Akun {disabledAccount} Anda kini dinonaktifkan karena Anda pindah ke {movedToAccount}.", "mute_modal.duration": "Durasi", "mute_modal.hide_notifications": "Sembunyikan notifikasi dari pengguna ini?", "mute_modal.indefinite": "Tak terbatas", diff --git a/app/javascript/mastodon/locales/ig.json b/app/javascript/mastodon/locales/ig.json index bee531e4f6e..67f9c0c0a41 100644 --- a/app/javascript/mastodon/locales/ig.json +++ b/app/javascript/mastodon/locales/ig.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mee ogbi @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Posts", "account.posts_with_replies": "Posts and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/io.json b/app/javascript/mastodon/locales/io.json index 4489053e67d..6a294928d5c 100644 --- a/app/javascript/mastodon/locales/io.json +++ b/app/javascript/mastodon/locales/io.json @@ -2,10 +2,8 @@ "about.blocks": "Jerata servili", "about.contact": "Kontaktajo:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Motivo", - "about.domain_blocks.domain": "Domeno", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generale permisas on vidar kontenajo e interagar kun uzanti de irga altra servilo en fediverso. Existas eceptioni quo facesis che ca partikulara servilo.", - "about.domain_blocks.severity": "Severeso", "about.domain_blocks.silenced.explanation": "On generale ne vidar profili e kontenajo de ca servilo, se on ne reale trovar o voluntale juntar per sequar.", "about.domain_blocks.silenced.title": "Limitizita", "about.domain_blocks.suspended.explanation": "Nula informi de ca servili procedagesos o retenesos o interchanjesos, do irga interago o komuniko kun uzanti de ca servili esas neposibla.", @@ -51,6 +49,7 @@ "account.mute": "Celar @{name}", "account.mute_notifications": "Silencigez avizi de @{name}", "account.muted": "Silencigata", + "account.open_original_page": "Open original page", "account.posts": "Mesaji", "account.posts_with_replies": "Posti e respondi", "account.report": "Denuncar @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Per konto che Mastodon, vu povas respondar ca posto.", "interaction_modal.on_another_server": "Che diferanta servilo", "interaction_modal.on_this_server": "Che ca servilo", - "interaction_modal.other_server_instructions": "Jus kopiez e glutinar ca URL a trovbuxo di vua favorata softwaro o retintervizajo en vua ekirsituo.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Pro ke Mastodon esas necentraligita, on povas uzar vua havata konto quo hostigesas altra servilo di Mastodon o konciliebla metodo se on ne havas konto hike.", "interaction_modal.title.favourite": "Favorata posto di {name}", "interaction_modal.title.follow": "Sequez {name}", diff --git a/app/javascript/mastodon/locales/is.json b/app/javascript/mastodon/locales/is.json index a2062244b84..4af4edb1694 100644 --- a/app/javascript/mastodon/locales/is.json +++ b/app/javascript/mastodon/locales/is.json @@ -2,10 +2,8 @@ "about.blocks": "Netþjónar með efnisumsjón", "about.contact": "Hafa samband:", "about.disclaimer": "Mastodon er frjáls hugbúnaður með opinn grunnkóða og er skrásett vörumerki í eigu Mastodon gGmbH.", - "about.domain_blocks.comment": "Ástæða", - "about.domain_blocks.domain": "Lén", + "about.domain_blocks.no_reason_available": "Ástæða ekki tiltæk", "about.domain_blocks.preamble": "Mastodon leyfir þér almennt að skoða og eiga við efni frá notendum frá hvaða vefþjóni sem er í vefþjónasambandinu. Þetta eru þær undantekningar sem hafa verið gerðar á þessum tiltekna vefþjóni.", - "about.domain_blocks.severity": "Mikilvægi", "about.domain_blocks.silenced.explanation": "Þú munt almennt ekki sjá notandasnið og efni af þessum netþjóni nema þú flettir því upp sérstaklega eða veljir að fylgjast með því.", "about.domain_blocks.silenced.title": "Takmarkað", "about.domain_blocks.suspended.explanation": "Engin gögn frá þessum vefþjóni verða unnin, geymd eða skipst á, sem gerir samskipti við notendur frá þessum vefþjóni ómöguleg.", @@ -51,6 +49,7 @@ "account.mute": "Þagga niður í @{name}", "account.mute_notifications": "Þagga tilkynningar frá @{name}", "account.muted": "Þaggaður", + "account.open_original_page": "Opna upprunalega síðu", "account.posts": "Færslur", "account.posts_with_replies": "Færslur og svör", "account.report": "Kæra @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Með notandaaðgangi á Mastodon geturðu svarað þessari færslu.", "interaction_modal.on_another_server": "Á öðrum netþjóni", "interaction_modal.on_this_server": "Á þessum netþjóni", - "interaction_modal.other_server_instructions": "Þú einfaldlega afritar þessa slóð og límir hana inn í veffanga-/leitarstiku eftirlætisforritsins þíns eða í vefviðmótið þar sem þú ert skráð/ur inn.", + "interaction_modal.other_server_instructions": "Afritaðu og límdu þessa slóð inn í leitarreit Mastodon-forrits þess sem þú vilt nota eða í vefviðmóti Mastodon-netþjónsins þíns.", "interaction_modal.preamble": "Þar sem Mastodon er dreifhýst kerfi, þá geturðu notað aðgang sem er hýstur á öðrum Mastodon-þjóni eða öðru samhæfðu kerfi, ef þú ert ekki með notandaaðgang á þessum hér.", "interaction_modal.title.favourite": "Setja færsluna frá {name} í eftirlæti", "interaction_modal.title.follow": "Fylgjast með {name}", diff --git a/app/javascript/mastodon/locales/it.json b/app/javascript/mastodon/locales/it.json index 67bbbfbe74a..eea0939cd3c 100644 --- a/app/javascript/mastodon/locales/it.json +++ b/app/javascript/mastodon/locales/it.json @@ -2,10 +2,8 @@ "about.blocks": "Server moderati", "about.contact": "Contatto:", "about.disclaimer": "Mastodon è un software open source, gratuito e un marchio di Mastodon gGmbH.", - "about.domain_blocks.comment": "Motivo", - "about.domain_blocks.domain": "Dominio", + "about.domain_blocks.no_reason_available": "Motivo non disponibile", "about.domain_blocks.preamble": "Mastodon, generalmente, ti consente di visualizzare i contenuti e interagire con gli utenti da qualsiasi altro server nel fediverso. Queste sono le eccezioni che sono state fatte su questo particolare server.", - "about.domain_blocks.severity": "Gravità", "about.domain_blocks.silenced.explanation": "Generalmente non vedrai i profili e i contenuti di questo server, a meno che tu non lo cerchi esplicitamente o che tu scelga di seguirlo.", "about.domain_blocks.silenced.title": "Silenziato", "about.domain_blocks.suspended.explanation": "Nessun dato proveniente da questo server verrà elaborato, conservato o scambiato, rendendo impossibile qualsiasi interazione o comunicazione con gli utenti da questo server.", @@ -51,6 +49,7 @@ "account.mute": "Silenzia @{name}", "account.mute_notifications": "Silenzia notifiche da @{name}", "account.muted": "Silenziato", + "account.open_original_page": "Apri pagina originale", "account.posts": "Post", "account.posts_with_replies": "Post e risposte", "account.report": "Segnala @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Con un account su Mastodon, è possibile rispondere a questo post.", "interaction_modal.on_another_server": "Su un altro server", "interaction_modal.on_this_server": "Su questo server", - "interaction_modal.other_server_instructions": "Basta copiare e incollare questo URL nella barra di ricerca della tua app preferita o nell'interfaccia web in cui hai effettuato l'accesso.", + "interaction_modal.other_server_instructions": "Copia e incolla questo URL nel campo di ricerca della tua app Mastodon preferita o nell'interfaccia web del tuo server Mastodon.", "interaction_modal.preamble": "Poiché Mastodon è decentralizzato, è possibile utilizzare il proprio account esistente ospitato da un altro server Mastodon o piattaforma compatibile se non si dispone di un account su questo.", "interaction_modal.title.favourite": "Post preferito di {name}", "interaction_modal.title.follow": "Segui {name}", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index aca810561f2..b5dc4e0f1b7 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -2,10 +2,8 @@ "about.blocks": "制限中のサーバー", "about.contact": "連絡先", "about.disclaimer": "Mastodonは自由なオープンソースソフトウェアでMastodon gGmbHの商標です。", - "about.domain_blocks.comment": "制限理由", - "about.domain_blocks.domain": "ドメイン", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodonでは連合先のどのようなサーバーのユーザーとも交流できます。ただし次のサーバーには例外が設定されています。", - "about.domain_blocks.severity": "重大性", "about.domain_blocks.silenced.explanation": "このサーバーのプロフィールやコンテンツは、明示的に検索したり、フォローでオプトインしない限り、通常は表示されません。", "about.domain_blocks.silenced.title": "制限", "about.domain_blocks.suspended.explanation": "これらのサーバーからのデータは処理されず、保存や変換もされません。該当するユーザーとの交流もできません。", @@ -51,6 +49,7 @@ "account.mute": "@{name}さんをミュート", "account.mute_notifications": "@{name}さんからの通知を受け取らない", "account.muted": "ミュート済み", + "account.open_original_page": "Open original page", "account.posts": "投稿", "account.posts_with_replies": "投稿と返信", "account.report": "@{name}さんを通報", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Mastodonのアカウントでこの投稿に反応できます。", "interaction_modal.on_another_server": "別のサーバー", "interaction_modal.on_this_server": "このサーバー", - "interaction_modal.other_server_instructions": "このURLをコピーしてお気に入りのアプリの検索バーやログインしているWeb UIに貼り付けるだけです。", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Mastodonは分散化されているためアカウントを持っていなくても別のMastodonサーバーまたは互換性のあるプラットフォームでホストされているアカウントを使用できます。", "interaction_modal.title.favourite": "{name}さんの投稿をお気に入り", "interaction_modal.title.follow": "{name}さんをフォロー", diff --git a/app/javascript/mastodon/locales/ka.json b/app/javascript/mastodon/locales/ka.json index d371077630f..39e84e0040e 100644 --- a/app/javascript/mastodon/locales/ka.json +++ b/app/javascript/mastodon/locales/ka.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "გააჩუმე @{name}", "account.mute_notifications": "გააჩუმე შეტყობინებები @{name}-სგან", "account.muted": "გაჩუმებული", + "account.open_original_page": "Open original page", "account.posts": "ტუტები", "account.posts_with_replies": "ტუტები და პასუხები", "account.report": "დაარეპორტე @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/kab.json b/app/javascript/mastodon/locales/kab.json index 20fe24f8395..47a56710875 100644 --- a/app/javascript/mastodon/locales/kab.json +++ b/app/javascript/mastodon/locales/kab.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Sgugem @{name}", "account.mute_notifications": "Sgugem tilɣa sγur @{name}", "account.muted": "Yettwasgugem", + "account.open_original_page": "Open original page", "account.posts": "Tisuffaɣ", "account.posts_with_replies": "Tisuffaɣ d tririyin", "account.report": "Cetki ɣef @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "Deg uqeddac-ayi", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Ḍfer {name}", diff --git a/app/javascript/mastodon/locales/kk.json b/app/javascript/mastodon/locales/kk.json index f93a67546b1..6bd43ffe8f7 100644 --- a/app/javascript/mastodon/locales/kk.json +++ b/app/javascript/mastodon/locales/kk.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Үнсіз қылу @{name}", "account.mute_notifications": "@{name} туралы ескертпелерді жасыру", "account.muted": "Үнсіз", + "account.open_original_page": "Open original page", "account.posts": "Жазбалар", "account.posts_with_replies": "Жазбалар мен жауаптар", "account.report": "Шағымдану @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/kn.json b/app/javascript/mastodon/locales/kn.json index 9a6977f904c..a504ebb99c3 100644 --- a/app/javascript/mastodon/locales/kn.json +++ b/app/javascript/mastodon/locales/kn.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "ಟೂಟ್‌ಗಳು", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 7338d186c7b..55ba91487c7 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -2,10 +2,8 @@ "about.blocks": "제한된 서버들", "about.contact": "연락처:", "about.disclaimer": "마스토돈은 자유 오픈소스 소프트웨어이며, Mastodon gGmbH의 상표입니다", - "about.domain_blocks.comment": "사유", - "about.domain_blocks.domain": "도메인", + "about.domain_blocks.no_reason_available": "알 수 없는 이유", "about.domain_blocks.preamble": "마스토돈은 일반적으로 연합우주에 있는 어떤 서버의 사용자와도 게시물을 보고 응답을 할 수 있도록 허용합니다. 다음 항목들은 특정한 서버에 대해 만들어 진 예외사항입니다.", - "about.domain_blocks.severity": "심각도", "about.domain_blocks.silenced.explanation": "명시적으로 찾아보거나 팔로우를 하기 전까지는, 이 서버에 있는 프로필이나 게시물 등을 일반적으로 볼 수 없습니다.", "about.domain_blocks.silenced.title": "제한됨", "about.domain_blocks.suspended.explanation": "이 서버의 어떤 데이터도 처리되거나, 저장 되거나 공유되지 않고, 이 서버의 어떤 유저와도 상호작용 하거나 대화할 수 없습니다.", @@ -51,6 +49,7 @@ "account.mute": "@{name} 뮤트", "account.mute_notifications": "@{name}의 알림을 뮤트", "account.muted": "뮤트 됨", + "account.open_original_page": "원본 페이지 열기", "account.posts": "게시물", "account.posts_with_replies": "게시물과 답장", "account.report": "@{name} 신고", @@ -74,7 +73,7 @@ "admin.dashboard.retention.cohort_size": "새로운 사용자", "alert.rate_limited.message": "{retry_time, time, medium}에 다시 시도해 주세요.", "alert.rate_limited.title": "빈도 제한됨", - "alert.unexpected.message": "예측하지 못한 에러가 발생했습니다.", + "alert.unexpected.message": "예상하지 못한 에러가 발생했습니다.", "alert.unexpected.title": "앗!", "announcement.announcement": "공지사항", "attachments_list.unprocessed": "(처리 안 됨)", @@ -91,7 +90,7 @@ "bundle_column_error.routing.body": "요청하신 페이지를 찾을 수 없습니다. 주소창에 적힌 URL이 확실히 맞나요?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "닫기", - "bundle_modal_error.message": "컴포넌트를 불러오는 과정에서 문제가 발생했습니다.", + "bundle_modal_error.message": "컴포넌트를 불러오는 중 문제가 발생했습니다.", "bundle_modal_error.retry": "다시 시도", "closed_registrations.other_server_instructions": "마스토돈은 분산화 되어 있기 때문에, 다른 서버에서 계정을 만들더라도 이 서버와 상호작용 할 수 있습니다.", "closed_registrations_modal.description": "{domain}은 현재 가입이 막혀있는 상태입니다, 만약 마스토돈을 이용하기 위해 꼭 {domain}을 사용할 필요는 없다는 사실을 인지해 두세요.", @@ -129,9 +128,9 @@ "compose_form.direct_message_warning_learn_more": "더 알아보기", "compose_form.encryption_warning": "마스토돈의 게시물들은 종단간 암호화가 되지 않습니다. 민감한 정보를 마스토돈을 통해 전달하지 마세요.", "compose_form.hashtag_warning": "이 게시물은 어떤 해시태그로도 검색 되지 않습니다. 전체공개로 게시 된 게시물만이 해시태그로 검색 될 수 있습니다.", - "compose_form.lock_disclaimer": "이 계정은 {locked}로 설정 되어 있지 않습니다. 누구나 이 계정을 팔로우 할 수 있으며, 팔로워 공개의 포스팅을 볼 수 있습니다.", + "compose_form.lock_disclaimer": "이 계정은 {locked}상태가 아닙니다. 누구나 이 계정을 팔로우 하여 팔로워 전용의 게시물을 볼 수 있습니다.", "compose_form.lock_disclaimer.lock": "비공개", - "compose_form.placeholder": "지금 무엇을 하고 있나요?", + "compose_form.placeholder": "지금 무슨 생각을 하고 있나요?", "compose_form.poll.add_option": "항목 추가", "compose_form.poll.duration": "투표 기간", "compose_form.poll.option_placeholder": "{number}번 항목", @@ -144,8 +143,8 @@ "compose_form.sensitive.hide": "미디어를 민감함으로 설정하기", "compose_form.sensitive.marked": "미디어가 열람주의로 설정되어 있습니다", "compose_form.sensitive.unmarked": "미디어가 열람주의로 설정 되어 있지 않습니다", - "compose_form.spoiler.marked": "열람 주의 제거", - "compose_form.spoiler.unmarked": "열람 주의가 설정 되어 있지 않습니다", + "compose_form.spoiler.marked": "콘텐츠 경고 제거", + "compose_form.spoiler.unmarked": "열람 주의 문구 추가", "compose_form.spoiler_placeholder": "경고 문구를 여기에 작성하세요", "confirmation_modal.cancel": "취소", "confirmations.block.block_and_report": "차단하고 신고하기", @@ -160,7 +159,7 @@ "confirmations.discard_edit_media.confirm": "저장 안함", "confirmations.discard_edit_media.message": "미디어 설명이나 미리보기에 대한 저장하지 않은 변경사항이 있습니다. 버리시겠습니까?", "confirmations.domain_block.confirm": "도메인 전체를 차단", - "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 컨텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.", + "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 콘텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.", "confirmations.logout.confirm": "로그아웃", "confirmations.logout.message": "정말로 로그아웃 하시겠습니까?", "confirmations.mute.confirm": "뮤트", @@ -194,12 +193,12 @@ "embed.preview": "다음과 같이 표시됩니다:", "emoji_button.activity": "활동", "emoji_button.clear": "지우기", - "emoji_button.custom": "커스텀", + "emoji_button.custom": "사용자 지정", "emoji_button.flags": "깃발", "emoji_button.food": "음식과 마실것", "emoji_button.label": "에모지를 추가", "emoji_button.nature": "자연", - "emoji_button.not_found": "맞는 에모지가 없습니다", + "emoji_button.not_found": "해당하는 에모지가 없습니다", "emoji_button.objects": "물건", "emoji_button.people": "사람들", "emoji_button.recent": "자주 사용됨", @@ -271,7 +270,7 @@ "footer.source_code": "소스코드 보기", "generic.saved": "저장됨", "getting_started.heading": "시작", - "hashtag.column_header.tag_mode.all": "그리고 {additional}", + "hashtag.column_header.tag_mode.all": "및 {additional}", "hashtag.column_header.tag_mode.any": "또는 {additional}", "hashtag.column_header.tag_mode.none": "{additional}를 제외하고", "hashtag.column_settings.select.no_options_message": "추천할 내용이 없습니다", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "마스토돈 계정을 통해, 이 게시물에 응답할 수 있습니다.", "interaction_modal.on_another_server": "다른 서버에", "interaction_modal.on_this_server": "이 서버에서", - "interaction_modal.other_server_instructions": "단순하게 이 URL을 당신이 좋아하는 앱이나 로그인 한 웹 인터페이스의 검색창에 복사/붙여넣기 하세요.", + "interaction_modal.other_server_instructions": "즐겨찾는 마스토돈 앱이나 마스토돈 서버의 웹 인터페이스 내 검색 영역에 이 URL을 복사 및 붙여넣기 하세요.", "interaction_modal.preamble": "마스토돈은 분산화 되어 있기 때문에, 이곳에 계정이 없더라도 다른 곳에서 운영되는 마스토돈 서버나 호환 되는 플랫폼에 있는 계정을 사용할 수 있습니다.", "interaction_modal.title.favourite": "{name} 님의 게시물을 마음에 들어하기", "interaction_modal.title.follow": "{name} 님을 팔로우", @@ -355,7 +354,7 @@ "lists.replies_policy.none": "아무도 없음", "lists.replies_policy.title": "답글 표시:", "lists.search": "팔로우 중인 사람들 중에서 찾기", - "lists.subheading": "당신의 리스트", + "lists.subheading": "리스트", "load_pending": "{count}개의 새 항목", "loading_indicator.label": "불러오는 중...", "media_gallery.toggle_visible": "이미지 숨기기", @@ -392,12 +391,12 @@ "notification.admin.report": "{name} 님이 {target}를 신고했습니다", "notification.admin.sign_up": "{name} 님이 가입했습니다", "notification.favourite": "{name} 님이 당신의 게시물을 마음에 들어합니다", - "notification.follow": "{name} 님이 나를 팔로우 했습니다", + "notification.follow": "{name} 님이 나를 팔로우했습니다", "notification.follow_request": "{name} 님이 팔로우 요청을 보냈습니다", "notification.mention": "{name} 님이 답글을 보냈습니다", "notification.own_poll": "내 투표가 끝났습니다", "notification.poll": "당신이 참여 한 투표가 종료되었습니다", - "notification.reblog": "{name} 님이 부스트 했습니다", + "notification.reblog": "{name} 님이 부스트했습니다", "notification.status": "{name} 님이 방금 게시물을 올렸습니다", "notification.update": "{name} 님이 게시물을 수정했습니다", "notifications.clear": "알림 지우기", @@ -429,7 +428,7 @@ "notifications.filter.polls": "투표 결과", "notifications.filter.statuses": "팔로우 하는 사람들의 최신 게시물", "notifications.grant_permission": "권한 부여.", - "notifications.group": "{count} 개의 알림", + "notifications.group": "{count}개의 알림", "notifications.mark_as_read": "모든 알림을 읽은 상태로 표시", "notifications.permission_denied": "권한이 거부되었기 때문에 데스크탑 알림을 활성화할 수 없음", "notifications.permission_denied_alert": "이전에 브라우저 권한이 거부되었기 때문에, 데스크탑 알림이 활성화 될 수 없습니다.", @@ -477,7 +476,7 @@ "report.block_explanation": "당신은 해당 계정의 게시물을 보지 않게 됩니다. 해당 계정은 당신의 게시물을 보거나 팔로우 할 수 없습니다. 해당 계정은 자신이 차단되었다는 사실을 알 수 있습니다.", "report.categories.other": "기타", "report.categories.spam": "스팸", - "report.categories.violation": "컨텐츠가 한 개 이상의 서버 규칙을 위반합니다", + "report.categories.violation": "콘텐츠가 한 개 이상의 서버 규칙을 위반합니다", "report.category.subtitle": "가장 알맞은 것을 선택하세요", "report.category.title": "이 {type}에 무슨 문제가 있는지 알려주세요", "report.category.title_account": "프로필", @@ -562,7 +561,7 @@ "status.history.edited": "{name} 님이 {date}에 수정함", "status.load_more": "더 보기", "status.media_hidden": "미디어 숨겨짐", - "status.mention": "@{name}에게 글쓰기", + "status.mention": "@{name} 님에게 글 쓰기", "status.more": "자세히", "status.mute": "@{name} 뮤트", "status.mute_conversation": "이 대화를 뮤트", @@ -572,7 +571,7 @@ "status.read_more": "더 보기", "status.reblog": "부스트", "status.reblog_private": "원래의 수신자들에게 부스트", - "status.reblogged_by": "{name} 님이 부스트 했습니다", + "status.reblogged_by": "{name} 님이 부스트했습니다", "status.reblogs.empty": "아직 아무도 이 게시물을 부스트하지 않았습니다. 부스트 한 사람들이 여기에 표시 됩니다.", "status.redraft": "지우고 다시 쓰기", "status.remove_bookmark": "보관한 게시물 삭제", @@ -618,7 +617,7 @@ "units.short.million": "{count}B", "units.short.thousand": "{count}K", "upload_area.title": "드래그 & 드롭으로 업로드", - "upload_button.label": "미디어 추가 (JPEG, PNG, GIF, WebM, MP4, MOV)", + "upload_button.label": "이미지, 영상, 오디오 파일 추가", "upload_error.limit": "파일 업로드 제한에 도달했습니다.", "upload_error.poll": "파일 업로드는 투표와 함께 첨부할 수 없습니다.", "upload_form.audio_description": "청각 장애인을 위한 설명", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index b74659820ac..a2ace7deb95 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -2,10 +2,8 @@ "about.blocks": "Rajekarên çavdêrkirî", "about.contact": "Têkilî:", "about.disclaimer": "Mastodon belaş e, nermalaveke çavkaniya vekirî ye û markeyeke Mastodon gGmbHê ye.", - "about.domain_blocks.comment": "Sedem", - "about.domain_blocks.domain": "Navper", + "about.domain_blocks.no_reason_available": "Sedem ne berdest e", "about.domain_blocks.preamble": "Mastodon bi gelemperî dihêle ku tu naverokê bibînî û bi bikarhênerên ji rajekareke din a li fendiverse re têkilî dayne. Ev awaretyên ku li ser vê rajekara taybetî hatine çêkirin ev in.", - "about.domain_blocks.severity": "Asta girîngiyê", "about.domain_blocks.silenced.explanation": "Heye ku tu bi awayekî vekirî lê negerî an jî bi şopandinê hilnebijêrî, tu yêbi giştî profîl û naverok ji vê rajekarê nebînî.", "about.domain_blocks.silenced.title": "Sînorkirî", "about.domain_blocks.suspended.explanation": "Dê tu daneya ji van rajekaran neyê berhev kirin, tomarkirin an jî guhertin, ku têkilî an danûstendinek bi bikarhênerên van rajekaran re tune dike.", @@ -51,6 +49,7 @@ "account.mute": "@{name} bêdeng bike", "account.mute_notifications": "Agahdariyan ji @{name} bêdeng bike", "account.muted": "Bêdengkirî", + "account.open_original_page": "Rûpela resen veke", "account.posts": "Şandî", "account.posts_with_replies": "Şandî û bersiv", "account.report": "@{name} ragihîne", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Bi ajimêrekê li ser Mastodon, tu dikarî bersiva vê şandiyê bidî.", "interaction_modal.on_another_server": "Li ser rajekareke cuda", "interaction_modal.on_this_server": "Li ser ev rajekar", - "interaction_modal.other_server_instructions": "Tenê vê girêdanê jê bigire û pêve bike di darika lêgerînê ya sepana xwe ya bijarte an navrûya bikarhêneriyê tevnê ya ku tu tê de ye.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Ji ber ku Mastodon nenavendî ye, tu dikarî ajimêrê xwe ya heyî ku ji aliyê rajekarek din a Mastodon an platformek lihevhatî ve hatî pêşkêşkirin bi kar bînî ku ajimêrê te li ser vê yekê tune be.", "interaction_modal.title.favourite": "Şandiyê {name} bijarte bike", "interaction_modal.title.follow": "{name} bişopîne", diff --git a/app/javascript/mastodon/locales/kw.json b/app/javascript/mastodon/locales/kw.json index be731c6d1f2..d6b18ff6239 100644 --- a/app/javascript/mastodon/locales/kw.json +++ b/app/javascript/mastodon/locales/kw.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Tawhe @{name}", "account.mute_notifications": "Tawhe gwarnyansow a @{name}", "account.muted": "Tawhes", + "account.open_original_page": "Open original page", "account.posts": "Postow", "account.posts_with_replies": "Postow ha gorthebow", "account.report": "Reportya @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index 14bb2cc33fd..d9fb7eb9c27 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Užtildytas", + "account.open_original_page": "Open original page", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 64f10145986..89c3aee4e7f 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -2,10 +2,8 @@ "about.blocks": "Moderētie serveri", "about.contact": "Kontakts:", "about.disclaimer": "Mastodon ir bezmaksas atvērtā pirmkoda programmatūra un Mastodon gGmbH preču zīme.", - "about.domain_blocks.comment": "Iemesls", - "about.domain_blocks.domain": "Domēns", + "about.domain_blocks.no_reason_available": "Iemesls nav pieejams", "about.domain_blocks.preamble": "Mastodon parasti ļauj apskatīt saturu un mijiedarboties ar lietotājiem no jebkura cita federācijas servera. Šie ir izņēmumi, kas veikti šajā konkrētajā serverī.", - "about.domain_blocks.severity": "Nozīmīgums", "about.domain_blocks.silenced.explanation": "Parasti tu neredzēsi profilus un saturu no šī servera, ja vien tu nepārprotami izvēlēsies to pārskatīt vai sekot.", "about.domain_blocks.silenced.title": "Ierobežotās", "about.domain_blocks.suspended.explanation": "Nekādi dati no šī servera netiks apstrādāti, uzglabāti vai apmainīti, padarot neiespējamu mijiedarbību vai saziņu ar lietotājiem no šī servera.", @@ -40,7 +38,7 @@ "account.follows.empty": "Šis lietotājs pagaidām nevienam neseko.", "account.follows_you": "Seko tev", "account.go_to_profile": "Dodieties uz profilu", - "account.hide_reblogs": "Paslēpt paceltos ierakstus no lietotāja @{name}", + "account.hide_reblogs": "Paslēpt pastiprinātos ierakstus no lietotāja @{name}", "account.joined_short": "Pievienojās", "account.languages": "Mainīt abonētās valodas", "account.link_verified_on": "Šīs saites piederība ir pārbaudīta {date}", @@ -51,12 +49,13 @@ "account.mute": "Apklusināt @{name}", "account.mute_notifications": "Nerādīt paziņojumus no @{name}", "account.muted": "Noklusināts", + "account.open_original_page": "Atvērt oriģinālo lapu", "account.posts": "Ziņas", "account.posts_with_replies": "Ziņas un atbildes", "account.report": "Ziņot par lietotāju @{name}", "account.requested": "Gaidām apstiprinājumu. Nospied lai atceltu sekošanas pieparasījumu", "account.share": "Dalīties ar @{name} profilu", - "account.show_reblogs": "Parādīt @{name} paaugstinātās ziņas", + "account.show_reblogs": "Parādīt @{name} pastiprinātos ierakstus", "account.statuses_counter": "{count, plural, one {{counter} ziņa} other {{counter} ziņas}}", "account.unblock": "Atbloķēt lietotāju @{name}", "account.unblock_domain": "Atbloķēt domēnu {domain}", @@ -80,7 +79,7 @@ "attachments_list.unprocessed": "(neapstrādāti)", "audio.hide": "Slēpt audio", "autosuggest_hashtag.per_week": "{count} nedēļā", - "boost_modal.combo": "Nospied {combo} lai izlaistu šo nākamreiz", + "boost_modal.combo": "Nospied {combo}, lai nākamreiz šo izlaistu", "bundle_column_error.copy_stacktrace": "Kopēt kļūdu ziņojumu", "bundle_column_error.error.body": "Pieprasīto lapu nevarēja atveidot. Tas varētu būt saistīts ar kļūdu mūsu kodā vai pārlūkprogrammas saderības problēma.", "bundle_column_error.error.title": "Ak, nē!", @@ -91,7 +90,7 @@ "bundle_column_error.routing.body": "Pieprasīto lapu nevarēja atrast. Vai esi pārliecināts, ka URL adreses joslā ir pareizs?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Aizvērt", - "bundle_modal_error.message": "Kaut kas nogāja greizi ielādējot šo komponenti.", + "bundle_modal_error.message": "Kaut kas nogāja greizi, ielādējot šo komponenti.", "bundle_modal_error.retry": "Mēģini vēlreiz", "closed_registrations.other_server_instructions": "Tā kā Mastodon ir decentralizēts, tu vari izveidot kontu citā serverī un joprojām mijiedarboties ar šo.", "closed_registrations_modal.description": "Pašlaik nav iespējams izveidot kontu domēnā {domain}, taču, lūdzu, ņem vērā, ka, lai izmantotu Mastodon, tev nav nepieciešams konts tieši domēnā {domain}.", @@ -165,7 +164,7 @@ "confirmations.logout.message": "Vai tiešām vēlies izrakstīties?", "confirmations.mute.confirm": "Apklusināt", "confirmations.mute.explanation": "Šādi no viņiem tiks slēptas ziņas un ziņas, kurās viņi tiek pieminēti, taču viņi joprojām varēs redzēt tavas ziņas un sekot tev.", - "confirmations.mute.message": "Vai tiešām velies apklusināt {name}?", + "confirmations.mute.message": "Vai tiešām vēlies apklusināt {name}?", "confirmations.redraft.confirm": "Dzēst un pārrakstīt", "confirmations.redraft.message": "Vai tiešām vēlies dzēst un pārrakstīt šo ierakstu? Favorīti un paceltie ieraksti tiks dzēsti, kā arī atbildes tiks atsaistītas no šī ieraksta.", "confirmations.reply.confirm": "Atbildēt", @@ -283,28 +282,28 @@ "hashtag.follow": "Seko mirkļbirkai", "hashtag.unfollow": "Pārstāj sekot mirkļbirkai", "home.column_settings.basic": "Pamata", - "home.column_settings.show_reblogs": "Rādīt palielinājumus", + "home.column_settings.show_reblogs": "Rādīt pastiprinātos ierakstus", "home.column_settings.show_replies": "Rādīt atbildes", "home.hide_announcements": "Slēpt paziņojumus", "home.show_announcements": "Rādīt paziņojumus", "interaction_modal.description.favourite": "Izmantojot kontu pakalpojumā Mastodon, vari pievienot šo ziņu izlasei, lai informētu autoru, ka to novērtē un saglabā vēlākai lasīšanai.", "interaction_modal.description.follow": "Izmantojot Mastodon kontu, tu vari sekot lietotājam {name}, lai saņemtu viņa ziņas savā mājas plūsmā.", - "interaction_modal.description.reblog": "Izmantojot kontu Mastodon, vari atbalstīt šo ziņu, lai kopīgotu to ar saviem sekotājiem.", + "interaction_modal.description.reblog": "Izmantojot Mastodon kontu, tu vari pastiprināt šo ierakstu, lai kopīgotu to ar saviem sekotājiem.", "interaction_modal.description.reply": "Izmantojot kontu Mastodon, tu vari atbildēt uz šo ziņu.", "interaction_modal.on_another_server": "Citā serverī", "interaction_modal.on_this_server": "Šajā serverī", - "interaction_modal.other_server_instructions": "Vienkārši nokopē un ielīmē šo URL savas iecienītākās lietotnes meklēšanas joslā vai tīmekļa saskarnē, kurā esi pierakstījies.", + "interaction_modal.other_server_instructions": "Nokopē un ielīmē šo URL savas Mastodon lietotnes vai Mastodon tīmekļa vietnes meklēšanas laukā.", "interaction_modal.preamble": "Tā kā Mastodon ir decentralizēts, tu vari izmantot savu esošo kontu, ko mitina cits Mastodon serveris vai saderīga platforma, ja tev nav konta šajā serverī.", "interaction_modal.title.favourite": "Pievienot {name} ziņu izlasei", "interaction_modal.title.follow": "Sekot {name}", - "interaction_modal.title.reblog": "Atbalstīt {name} ziņu", + "interaction_modal.title.reblog": "Pastiprināt {name} ierakstu", "interaction_modal.title.reply": "Atbildēt uz {name} ziņu", "intervals.full.days": "{number, plural, one {# diena} other {# dienas}}", "intervals.full.hours": "{number, plural, one {# stunda} other {# stundas}}", "intervals.full.minutes": "{number, plural, one {# minūte} other {# minūtes}}", "keyboard_shortcuts.back": "Pāriet atpakaļ", "keyboard_shortcuts.blocked": "Atvērt bloķēto lietotāju sarakstu", - "keyboard_shortcuts.boost": "Atbalstīt ziņu", + "keyboard_shortcuts.boost": "Pastiprināt ierakstu", "keyboard_shortcuts.column": "Fokusēt kolonnu", "keyboard_shortcuts.compose": "Fokusēt veidojamā teksta lauku", "keyboard_shortcuts.description": "Apraksts", @@ -397,7 +396,7 @@ "notification.mention": "{name} pieminēja tevi", "notification.own_poll": "Tava aptauja ir pabeigta", "notification.poll": "Aprauja, kurā tu piedalījies, ir pabeigta", - "notification.reblog": "{name} paaugstināja tavu ziņu", + "notification.reblog": "{name} pastiprināja tavu ierakstu", "notification.status": "{name} tikko publicēja", "notification.update": "{name} ir rediģējis rakstu", "notifications.clear": "Notīrīt paziņojumus", @@ -414,7 +413,7 @@ "notifications.column_settings.mention": "Pieminējumi:", "notifications.column_settings.poll": "Aptaujas rezultāti:", "notifications.column_settings.push": "Uznirstošie paziņojumi", - "notifications.column_settings.reblog": "Palielinājumi:", + "notifications.column_settings.reblog": "Pastiprinātie ieraksti:", "notifications.column_settings.show": "Rādīt kolonnā", "notifications.column_settings.sound": "Atskaņot skaņu", "notifications.column_settings.status": "Jaunas ziņas:", @@ -422,7 +421,7 @@ "notifications.column_settings.unread_notifications.highlight": "Iezīmēt nelasītos paziņojumus", "notifications.column_settings.update": "Labojumi:", "notifications.filter.all": "Visi", - "notifications.filter.boosts": "Palielinājumi", + "notifications.filter.boosts": "Pastiprinātie ieraksti", "notifications.filter.favourites": "Izlases", "notifications.filter.follows": "Seko", "notifications.filter.mentions": "Pieminējumi", @@ -518,7 +517,7 @@ "search.placeholder": "Meklēšana", "search.search_or_paste": "Meklēt vai iekopēt URL", "search_popout.search_format": "Paplašināts meklēšanas formāts", - "search_popout.tips.full_text": "Vienkāršs teksts atgriež ziņas, kuras esi rakstījis, iecienījis, paaugstinājis vai pieminējis, kā arī atbilstošie lietotājvārdi, parādāmie vārdi un tēmturi.", + "search_popout.tips.full_text": "Vienkāršs teksts atgriež ziņas, kuras esi rakstījis, atzīmējis kā favorītus, pastiprinājis vai pieminējis, kā arī atbilstošie lietotājvārdi, parādāmie vārdi un tēmturi.", "search_popout.tips.hashtag": "mirkļbirka", "search_popout.tips.status": "ziņa", "search_popout.tips.text": "Vienkāršs teksts atgriež atbilstošus parādāmos vārdus, lietotājvārdus un mirkļbirkas", @@ -544,8 +543,8 @@ "status.admin_status": "Atvērt šo ziņu moderācijas saskarnē", "status.block": "Bloķēt @{name}", "status.bookmark": "Grāmatzīme", - "status.cancel_reblog_private": "Nepaaugstināt", - "status.cannot_reblog": "Nevar paaugstināt ziņu", + "status.cancel_reblog_private": "Nepastiprināt", + "status.cannot_reblog": "Nevar pastiprināt šo ierakstu", "status.copy": "Kopēt saiti uz ziņu", "status.delete": "Dzēst", "status.detailed_status": "Detalizēts sarunas skats", @@ -570,10 +569,10 @@ "status.pin": "Piespraust profilam", "status.pinned": "Piespraustā ziņa", "status.read_more": "Lasīt vairāk", - "status.reblog": "Paaugstināt", - "status.reblog_private": "Paaugstināt ar sākotnējo izskatu", - "status.reblogged_by": "{name} paaugstināts", - "status.reblogs.empty": "Neviens šo ziņojumu vel nav paaugstinājis. Kad būs, tie parādīsies šeit.", + "status.reblog": "Pastiprināt", + "status.reblog_private": "Pastiprināt, nemainot redzamību", + "status.reblogged_by": "{name} pastiprināja", + "status.reblogs.empty": "Neviens šo ierakstu vēl nav pastiprinājis. Kad būs, tie parādīsies šeit.", "status.redraft": "Dzēst un pārrakstīt", "status.remove_bookmark": "Noņemt grāmatzīmi", "status.replied_to": "Atbildēja {name}", diff --git a/app/javascript/mastodon/locales/mk.json b/app/javascript/mastodon/locales/mk.json index 4c587063375..0d965819e18 100644 --- a/app/javascript/mastodon/locales/mk.json +++ b/app/javascript/mastodon/locales/mk.json @@ -2,10 +2,8 @@ "about.blocks": "Модерирани сервери", "about.contact": "Контакт:", "about.disclaimer": "Mastodon е бесплатен, open-source софтвер, и заштитен знак на Mastodon gGmbH.", - "about.domain_blocks.comment": "Причина", - "about.domain_blocks.domain": "Домен", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon вообичаено ви дозволува да прегледувате содржини и комуницирате со корисниците од било кој сервер во федиверзумот. На овој сервер има исклучоци.", - "about.domain_blocks.severity": "Сериозност", "about.domain_blocks.silenced.explanation": "Вообичаено нема да гледате профили и содржина од овој сервер, освен ако не го пребарате намерно, или го заследите.", "about.domain_blocks.silenced.title": "Ограничено", "about.domain_blocks.suspended.explanation": "Податоците од овој сервер нема да бидат процесирани, зачувани или сменети и било која интеракција или комуникација со корисниците од овој сервер ќе биде невозможна.", @@ -51,6 +49,7 @@ "account.mute": "Зачути го @{name}", "account.mute_notifications": "Исклучи известувања од @{name}", "account.muted": "Зачутено", + "account.open_original_page": "Open original page", "account.posts": "Тутови", "account.posts_with_replies": "Тутови и реплики", "account.report": "Пријави @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index e93b4e00b11..0517ce02a0e 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "@{name}-നെ(യെ) നിശ്ശബ്ദമാക്കൂ", "account.mute_notifications": "@{name} യിൽ നിന്നുള്ള അറിയിപ്പുകൾ നിശബ്ദമാക്കുക", "account.muted": "നിശ്ശബ്ദമാക്കിയിരിക്കുന്നു", + "account.open_original_page": "Open original page", "account.posts": "പോസ്റ്റുകൾ", "account.posts_with_replies": "പോസ്റ്റുകളും മറുപടികളും", "account.report": "റിപ്പോർട്ട് ചെയ്യുക @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/mr.json b/app/javascript/mastodon/locales/mr.json index b2ed1fa3756..63cb293e130 100644 --- a/app/javascript/mastodon/locales/mr.json +++ b/app/javascript/mastodon/locales/mr.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "@{name} ला मूक कारा", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/ms.json b/app/javascript/mastodon/locales/ms.json index a0a9c2de43f..7d25ac60841 100644 --- a/app/javascript/mastodon/locales/ms.json +++ b/app/javascript/mastodon/locales/ms.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Bisukan @{name}", "account.mute_notifications": "Bisukan pemberitahuan daripada @{name}", "account.muted": "Dibisukan", + "account.open_original_page": "Open original page", "account.posts": "Hantaran", "account.posts_with_replies": "Hantaran dan balasan", "account.report": "Laporkan @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/my.json b/app/javascript/mastodon/locales/my.json index 9f1c20fb851..7757f061fd6 100644 --- a/app/javascript/mastodon/locales/my.json +++ b/app/javascript/mastodon/locales/my.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "ပို့စ်များ", "account.posts_with_replies": "Posts and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index 9d874fd864a..e82321eae35 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -2,10 +2,8 @@ "about.blocks": "Gemodereerde servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is vrije, opensourcesoftware en een handelsmerk van Mastodon gGmbH.", - "about.domain_blocks.comment": "Reden", - "about.domain_blocks.domain": "Domein", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "In het algemeen kun je met Mastodon berichten ontvangen van, en interactie hebben met gebruikers van elke server in de fediverse. Dit zijn de uitzonderingen die op deze specifieke server gelden.", - "about.domain_blocks.severity": "Zwaarte", "about.domain_blocks.silenced.explanation": "In het algemeen zie je geen berichten en accounts van deze server, tenzij je berichten expliciet opzoekt of ervoor kiest om een account van deze server te volgen.", "about.domain_blocks.silenced.title": "Beperkt", "about.domain_blocks.suspended.explanation": "Er worden geen gegevens van deze server verwerkt, opgeslagen of uitgewisseld, wat interactie of communicatie met gebruikers van deze server onmogelijk maakt.", @@ -51,6 +49,7 @@ "account.mute": "@{name} negeren", "account.mute_notifications": "Meldingen van @{name} negeren", "account.muted": "Genegeerd", + "account.open_original_page": "Open original page", "account.posts": "Berichten", "account.posts_with_replies": "Berichten en reacties", "account.report": "@{name} rapporteren", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Je kunt met een Mastodon-account op dit bericht reageren.", "interaction_modal.on_another_server": "Op een andere server", "interaction_modal.on_this_server": "Op deze server", - "interaction_modal.other_server_instructions": "Kopieer en plak deze URL in het zoekveld van de door jou gebruikte app of in het zoekveld van de website van de server waarop je bent ingelogd.", + "interaction_modal.other_server_instructions": "Kopieer en plak eenvoudig deze URL in het zoekveld van de door jou gebruikte Mastodon-app of op de website van de Mastodon-server waarop je bent ingelogd.", "interaction_modal.preamble": "Mastodon is gedecentraliseerd. Daarom heb je geen account op deze Mastodon-server nodig, wanneer je al een account op een andere Mastodon-server of compatibel platform hebt.", "interaction_modal.title.favourite": "Bericht van {name} als favoriet markeren", "interaction_modal.title.follow": "{name} volgen", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 1704568b768..83e0ec9c36e 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -2,10 +2,8 @@ "about.blocks": "Modererte tenarar", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon er gratis programvare med open kjeldekode, og eit varemerke frå Mastodon gGmbH.", - "about.domain_blocks.comment": "Årsak", - "about.domain_blocks.domain": "Domene", + "about.domain_blocks.no_reason_available": "Årsaka er ikkje tilgjengeleg", "about.domain_blocks.preamble": "Mastodon gjev deg som regel lov til å sjå innhald og samhandla med brukarar frå alle andre tenarar i allheimen. Dette er unntaka som er valde for akkurat denne tenaren.", - "about.domain_blocks.severity": "Alvorsgrad", "about.domain_blocks.silenced.explanation": "Med mindre du leiter den opp eller fylgjer profiler på tenaren, vil du vanlegvis ikkje sjå profilar og innhald frå denne tenaren.", "about.domain_blocks.silenced.title": "Avgrensa", "about.domain_blocks.suspended.explanation": "Ingen data frå denne tenaren vert handsama, lagra eller sende til andre, noko som gjer det umogeleg å samhandla eller kommunisera med brukarar på denne tenaren.", @@ -51,6 +49,7 @@ "account.mute": "Målbind @{name}", "account.mute_notifications": "Målbind varsel frå @{name}", "account.muted": "Målbunden", + "account.open_original_page": "Opne originalsida", "account.posts": "Tut", "account.posts_with_replies": "Tut og svar", "account.report": "Rapporter @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Med ein konto på Mastodon kan du svara på dette innlegget.", "interaction_modal.on_another_server": "På ein annan tenar", "interaction_modal.on_this_server": "På denne tenaren", - "interaction_modal.other_server_instructions": "Berre kopier og lim inn denne URL-en i søkefeltet til din favorittapp eller i søkefeltet på den nettsida der du er logga inn.", + "interaction_modal.other_server_instructions": "Kopier og lim inn denne URLen i søkefeltet til din favoritt Mastodon-app eller web-grensesnittet i din Mastodon server.", "interaction_modal.preamble": "Sidan Mastodon er desentralisert, kan du bruke ein konto frå ein annan Mastodontenar eller frå ei anna kompatibel plattform dersom du ikkje har konto på denne tenaren.", "interaction_modal.title.favourite": "Favorittmarker innlegget til {name}", "interaction_modal.title.follow": "Fylg {name}", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index 4736519af60..ff8be31ee4f 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -1,11 +1,9 @@ { - "about.blocks": "Moderated servers", + "about.blocks": "Modererte tjenere", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon er gratis, åpen kildekode-programvare og et varemerke fra Mastodon gGmbH.", - "about.domain_blocks.comment": "Årsak", - "about.domain_blocks.domain": "Domene", + "about.domain_blocks.no_reason_available": "Årsak ikke oppgitt", "about.domain_blocks.preamble": "Mastodon lar deg normalt sett se innholdet fra og samhandle med brukere fra enhver annen server i fødiverset. Dette er unntakene som har blitt lagt inn på denne serveren.", - "about.domain_blocks.severity": "Alvorlighetsgrad", "about.domain_blocks.silenced.explanation": "Du vil vanligvis ikke se profiler og innhold fra denne serveren, med mindre du eksplisitt søker dem opp eller velger å følge dem.", "about.domain_blocks.silenced.title": "Begrenset", "about.domain_blocks.suspended.explanation": "Ikke noe innhold fra denne serveren vil bli behandlet, lagret eller utvekslet. Det gjør det umulig å samhandle eller kommunisere med brukere fra denne serveren.", @@ -51,6 +49,7 @@ "account.mute": "Demp @{name}", "account.mute_notifications": "Demp varsler fra @{name}", "account.muted": "Dempet", + "account.open_original_page": "Gå til originalsiden", "account.posts": "Innlegg", "account.posts_with_replies": "Innlegg med svar", "account.report": "Rapportér @{name}", @@ -67,8 +66,8 @@ "account.unmute_notifications": "Vis varsler fra @{name}", "account.unmute_short": "Opphev demping", "account_note.placeholder": "Klikk for å legge til et notat", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", - "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", + "admin.dashboard.daily_retention": "Andel brukere som er aktive per dag etter registrering", + "admin.dashboard.monthly_retention": "Andel brukere som er aktive per måned etter registrering", "admin.dashboard.retention.average": "Gjennomsnitt", "admin.dashboard.retention.cohort": "Registreringsmåned", "admin.dashboard.retention.cohort_size": "Nye brukere", @@ -183,13 +182,13 @@ "directory.new_arrivals": "Nye ankomster", "directory.recently_active": "Nylig aktiv", "disabled_account_banner.account_settings": "Kontoinnstillinger", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.text": "Din konto {disabledAccount} er for øyeblikket deaktivert.", "dismissable_banner.community_timeline": "Dette er de nyeste offentlige innleggene fra personer med kontoer på {domain}.", "dismissable_banner.dismiss": "Avvis", "dismissable_banner.explore_links": "Disse nyhetene snakker folk om akkurat nå på denne og andre servere i det desentraliserte nettverket.", "dismissable_banner.explore_statuses": "Disse innleggene fra denne og andre servere i det desentraliserte nettverket får økt oppmerksomhet på denne serveren akkurat nå.", "dismissable_banner.explore_tags": "Disse emneknaggene snakker folk om akkurat nå, på denne og andre servere i det desentraliserte nettverket.", - "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", + "dismissable_banner.public_timeline": "Dette er de nyeste offentlige innleggene fra personer på denne og andre servere i det desentraliserte nettverket som denne serveren kjenner til.", "embed.instructions": "Kopier koden under for å bygge inn denne statusen på hjemmesiden din.", "embed.preview": "Slik kommer det til å se ut:", "emoji_button.activity": "Aktivitet", @@ -215,7 +214,7 @@ "empty_column.community": "Den lokale tidslinjen er tom. Skriv noe offentlig for å få snøballen til å rulle!", "empty_column.direct": "Du har ingen direktemeldinger enda. Etter du har sendt eller mottatt en, så vil den dukke opp her.", "empty_column.domain_blocks": "Det er ingen skjulte domener enda.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Ingenting er populært akkurat nå. Prøv igjen senere!", "empty_column.favourited_statuses": "Du har ikke likt noen innlegg enda. Når du liker et, vil det dukke opp her.", "empty_column.favourites": "Ingen har likt dette innlegget ennå. Når noen gjør det, vil de dukke opp her.", "empty_column.follow_recommendations": "Ser ut som at det ikke finnes noen forslag for deg. Du kan prøve å bruke søk for å se etter folk du kan vite eller utforske trendende hashtags.", @@ -246,7 +245,7 @@ "filter_modal.added.expired_title": "Utløpt filter!", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure_title": "Filterinnstillinger", - "filter_modal.added.settings_link": "settings page", + "filter_modal.added.settings_link": "innstillinger-siden", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.title": "Filter lagt til!", "filter_modal.select_filter.context_mismatch": "does not apply to this context", @@ -267,7 +266,7 @@ "footer.get_app": "Last ned appen", "footer.invite": "Invitér folk", "footer.keyboard_shortcuts": "Keyboard shortcuts", - "footer.privacy_policy": "Privacy policy", + "footer.privacy_policy": "Personvernregler", "footer.source_code": "Vis kildekode", "generic.saved": "Lagret", "getting_started.heading": "Kom i gang", @@ -290,12 +289,12 @@ "interaction_modal.description.favourite": "Med en konto på Mastodon, kan du \"like\" dette innlegget for å la forfatteren vite at du likte det samt lagre innlegget til senere.", "interaction_modal.description.follow": "Med en konto på Mastodon, kan du følge {name} for å få innleggene deres i hjem-feeden din.", "interaction_modal.description.reblog": "Med en konto på Mastodon, kan du fremheve dette innlegget for å dele det med dine egne følgere.", - "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", + "interaction_modal.description.reply": "Med en konto på Mastodon, kan du svare på dette innlegget.", "interaction_modal.on_another_server": "På en annen server", "interaction_modal.on_this_server": "På denne serveren", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", - "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", - "interaction_modal.title.favourite": "Favourite {name}'s post", + "interaction_modal.other_server_instructions": "Kopier og lim inn denne URLen i søkefeltet til din favoritt Mastodon-app eller web-grensesnittet i din Mastodon server.", + "interaction_modal.preamble": "Siden Mastodon er desentralisert, kan du bruke din eksisterende konto på en annen Mastodon-tjener eller en kompatibel plattform hvis du ikke har en konto her.", + "interaction_modal.title.favourite": "Favorittmarker innlegget til {name}", "interaction_modal.title.follow": "Følg {name}", "interaction_modal.title.reblog": "Fremhev {name} sitt innlegg", "interaction_modal.title.reply": "Svar på {name} sitt innlegg", @@ -365,7 +364,7 @@ "mute_modal.duration": "Varighet", "mute_modal.hide_notifications": "Skjul varslinger fra denne brukeren?", "mute_modal.indefinite": "På ubestemt tid", - "navigation_bar.about": "About", + "navigation_bar.about": "Om", "navigation_bar.blocks": "Blokkerte brukere", "navigation_bar.bookmarks": "Bokmerker", "navigation_bar.community_timeline": "Lokal tidslinje", @@ -390,7 +389,7 @@ "navigation_bar.security": "Sikkerhet", "not_signed_in_indicator.not_signed_in": "Du må logge inn for å få tilgang til denne ressursen.", "notification.admin.report": "{name} rapporterte {target}", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} registrerte seg", "notification.favourite": "{name} likte din status", "notification.follow": "{name} fulgte deg", "notification.follow_request": "{name} har bedt om å få følge deg", @@ -403,12 +402,12 @@ "notifications.clear": "Fjern varsler", "notifications.clear_confirmation": "Er du sikker på at du vil fjerne alle dine varsler permanent?", "notifications.column_settings.admin.report": "Nye rapporter:", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nye registreringer:", "notifications.column_settings.alert": "Skrivebordsvarslinger", "notifications.column_settings.favourite": "Likt:", "notifications.column_settings.filter_bar.advanced": "Vis alle kategorier", "notifications.column_settings.filter_bar.category": "Hurtigfiltreringslinje", - "notifications.column_settings.filter_bar.show_bar": "Show filter bar", + "notifications.column_settings.filter_bar.show_bar": "Vis filterlinjen", "notifications.column_settings.follow": "Nye følgere:", "notifications.column_settings.follow_request": "Nye følgerforespørsler:", "notifications.column_settings.mention": "Nevnt:", @@ -454,10 +453,10 @@ "privacy.private.short": "Kun følgere", "privacy.public.long": "Synlig for alle", "privacy.public.short": "Offentlig", - "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", + "privacy.unlisted.long": "Synlig for alle, men vises ikke i oppdagsfunksjoner", "privacy.unlisted.short": "Uoppført", "privacy_policy.last_updated": "Sist oppdatert {date}", - "privacy_policy.title": "Privacy Policy", + "privacy_policy.title": "Personvernregler", "refresh": "Oppfrisk", "regeneration_indicator.label": "Laster…", "regeneration_indicator.sublabel": "Dine startside forberedes!", @@ -479,7 +478,7 @@ "report.categories.spam": "Søppelpost", "report.categories.violation": "Innholdet bryter en eller flere serverregler", "report.category.subtitle": "Velg det som passer best", - "report.category.title": "Tell us what's going on with this {type}", + "report.category.title": "Fortell oss hva som skjer med denne {type}", "report.category.title_account": "profil", "report.category.title_status": "innlegg", "report.close": "Utført", @@ -493,7 +492,7 @@ "report.reasons.dislike": "Jeg liker det ikke", "report.reasons.dislike_description": "Det er ikke noe du har lyst til å se", "report.reasons.other": "Det er noe annet", - "report.reasons.other_description": "The issue does not fit into other categories", + "report.reasons.other_description": "Problemet passer ikke inn i de andre kategoriene", "report.reasons.spam": "Det er spam", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "Det bryter serverregler", @@ -516,7 +515,7 @@ "report_notification.categories.violation": "Regelbrudd", "report_notification.open": "Open report", "search.placeholder": "Søk", - "search.search_or_paste": "Search or paste URL", + "search.search_or_paste": "Søk eller lim inn URL", "search_popout.search_format": "Avansert søkeformat", "search_popout.tips.full_text": "Enkel tekst gir resultater for statuser du har skrevet, likt, fremhevet, eller har blitt nevnt i, i tillegg til samsvarende brukernavn, visningsnavn og emneknagger.", "search_popout.tips.hashtag": "emneknagg", @@ -582,14 +581,14 @@ "status.report": "Rapporter @{name}", "status.sensitive_warning": "Følsomt innhold", "status.share": "Del", - "status.show_filter_reason": "Show anyway", + "status.show_filter_reason": "Vis likevel", "status.show_less": "Vis mindre", "status.show_less_all": "Vis mindre for alle", "status.show_more": "Vis mer", "status.show_more_all": "Vis mer for alle", - "status.show_original": "Show original", - "status.translate": "Translate", - "status.translated_from_with": "Translated from {lang} using {provider}", + "status.show_original": "Vis original", + "status.translate": "Oversett", + "status.translated_from_with": "Oversatt fra {lang} ved å bruke {provider}", "status.uncached_media_warning": "Ikke tilgjengelig", "status.unmute_conversation": "Ikke demp samtale", "status.unpin": "Angre festing på profilen", diff --git a/app/javascript/mastodon/locales/oc.json b/app/javascript/mastodon/locales/oc.json index a34bef1ea03..8d86745413d 100644 --- a/app/javascript/mastodon/locales/oc.json +++ b/app/javascript/mastodon/locales/oc.json @@ -2,16 +2,14 @@ "about.blocks": "Servidors moderats", "about.contact": "Contacte :", "about.disclaimer": "Mastodon es gratuit, un logicial libre e una marca de Mastodon gGmbH.", - "about.domain_blocks.comment": "Rason", - "about.domain_blocks.domain": "Domeni", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severitat", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limitats", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.title": "Suspenduts", - "about.not_available": "This information has not been made available on this server.", - "about.powered_by": "Decentralized social media powered by {mastodon}", + "about.not_available": "Aquesta informacion foguèt pas renduda disponibla sus aqueste servidor.", + "about.powered_by": "Malhum social descentralizat propulsat per {mastodon}", "about.rules": "Règlas del servidor", "account.account_note_header": "Nòta", "account.add_or_remove_from_list": "Ajustar o tirar de las listas", @@ -21,7 +19,7 @@ "account.block_domain": "Tot amagar del domeni {domain}", "account.blocked": "Blocat", "account.browse_more_on_origin_server": "Navigar sul perfil original", - "account.cancel_follow_request": "Withdraw follow request", + "account.cancel_follow_request": "Retirar la demanda d’abonament", "account.direct": "Escriure un MP a @{name}", "account.disable_notifications": "Quitar de m’avisar quand @{name} publica quicòm", "account.domain_blocked": "Domeni amagat", @@ -51,6 +49,7 @@ "account.mute": "Rescondre @{name}", "account.mute_notifications": "Rescondre las notificacions de @{name}", "account.muted": "Mes en silenci", + "account.open_original_page": "Open original page", "account.posts": "Tuts", "account.posts_with_replies": "Tuts e responsas", "account.report": "Senhalar @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "Sus un autre servidor", "interaction_modal.on_this_server": "Sus aqueste servidor", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Metre en favorit la publicacion de {name}", "interaction_modal.title.follow": "Sègre {name}", @@ -476,7 +475,7 @@ "report.block": "Blocar", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Autre", - "report.categories.spam": "Spam", + "report.categories.spam": "Messatge indesirable", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Causissètz çò que correspond mai", "report.category.title": "Tell us what's going on with this {type}", @@ -493,10 +492,10 @@ "report.reasons.dislike": "M’agrada pas", "report.reasons.dislike_description": "Es pas quicòm que volriatz veire", "report.reasons.other": "Es quicòm mai", - "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", + "report.reasons.other_description": "Lo problèma es pas dins cap d’autra categoria", + "report.reasons.spam": "Es un messatge indesirable", + "report.reasons.spam_description": "Ligams enganaires, fals engatjament o responsas repetitivas", + "report.reasons.violation": "Viòla las règlas del servidor", "report.reasons.violation_description": "You are aware that it breaks specific rules", "report.rules.subtitle": "Select all that apply", "report.rules.title": "Which rules are being violated?", @@ -534,12 +533,12 @@ "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.active_users": "utilizaires actius", "server_banner.administered_by": "Administrat per :", - "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", + "server_banner.introduction": "{domain} fa part del malhum social descentralizat propulsat per {mastodon}.", "server_banner.learn_more": "Ne saber mai", "server_banner.server_stats": "Estatisticas del servidor :", "sign_in_banner.create_account": "Crear un compte", "sign_in_banner.sign_in": "Se marcar", - "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", + "sign_in_banner.text": "Connectatz-vos per sègre perfils o etiquetas, apondre als favorits, partejar e respondre als messatges o interagir de vòstre compte estant d’un autre servidor.", "status.admin_account": "Dobrir l’interfàcia de moderacion per @{name}", "status.admin_status": "Dobrir aqueste estatut dins l’interfàcia de moderacion", "status.block": "Blocar @{name}", diff --git a/app/javascript/mastodon/locales/pa.json b/app/javascript/mastodon/locales/pa.json index d90153a95fb..a8585c042d7 100644 --- a/app/javascript/mastodon/locales/pa.json +++ b/app/javascript/mastodon/locales/pa.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 307d4c7c015..9cef980e656 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -2,10 +2,8 @@ "about.blocks": "Serwery moderowane", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon jest darmowym, otwartym oprogramowaniem i znakiem towarowym Mastodon gGmbH.", - "about.domain_blocks.comment": "Powód", - "about.domain_blocks.domain": "Domena", + "about.domain_blocks.no_reason_available": "Powód niedostępny", "about.domain_blocks.preamble": "Domyślnie Mastodon pozwala ci przeglądać i reagować na treści od innych użytkowników z jakiegokolwiek serwera w fediwersum. Poniżej znajduje się lista wyjątków, które zostały stworzone na tym konkretnym serwerze.", - "about.domain_blocks.severity": "Priorytet", "about.domain_blocks.silenced.explanation": "Zazwyczaj nie zobaczysz profili i treści z tego serwera, chyba że wyraźnie go poszukasz lub zdecydujesz się go obserwować.", "about.domain_blocks.silenced.title": "Ograniczone", "about.domain_blocks.suspended.explanation": "Żadne dane z tego serwera nie będą przetwarzane, przechowywane lub wymieniane, co uniemożliwia jakąkolwiek interakcję lub komunikację z użytkownikami z tego serwera.", @@ -51,6 +49,7 @@ "account.mute": "Wycisz @{name}", "account.mute_notifications": "Wycisz powiadomienia o @{name}", "account.muted": "Wyciszony", + "account.open_original_page": "Otwórz stronę oryginalną", "account.posts": "Wpisy", "account.posts_with_replies": "Wpisy i odpowiedzi", "account.report": "Zgłoś @{name}", @@ -293,9 +292,9 @@ "interaction_modal.description.reply": "Mając konto na Mastodonie, możesz odpowiedzieć na ten wpis.", "interaction_modal.on_another_server": "Na innym serwerze", "interaction_modal.on_this_server": "Na tym serwerze", - "interaction_modal.other_server_instructions": "Wystarczy skopiować i wkleić ten adres URL do swojej ulubionej aplikacji lub przegąldarki www gdzie jesteś zalogowany/a.", + "interaction_modal.other_server_instructions": "Skopiuj i wklej ten adres URL do pola wyszukiwania w swojej ulubionej aplikacji Mastodon lub interfejsu internetowego swojego serwera Mastodon.", "interaction_modal.preamble": "Ponieważ Mastodon jest zdecentralizowany, możesz użyć swojego istniejącego konta z innego serwera Mastodona lub innej kompatybilnej usługi, jeśli nie masz konta na tym serwerze.", - "interaction_modal.title.favourite": "Ulubiony wpis {name}", + "interaction_modal.title.favourite": "Polub wpis użytkownika {name}", "interaction_modal.title.follow": "Śledź {name}", "interaction_modal.title.reblog": "Podbij wpis {name}", "interaction_modal.title.reply": "Odpowiedz na post {name}", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index 65ca4f51179..ab241a4221c 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -2,10 +2,8 @@ "about.blocks": "Servidores moderados", "about.contact": "Contato:", "about.disclaimer": "Mastodon é um software de código aberto e livre, e uma marca registrada de Mastodon gGmbH.", - "about.domain_blocks.comment": "Motivo", - "about.domain_blocks.domain": "Domínio", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "O Mastodon geralmente permite que você veja o conteúdo e interaja com usuários de qualquer outro servidor no fediverso. Estas são as exceções deste servidor em específico.", - "about.domain_blocks.severity": "Gravidade", "about.domain_blocks.silenced.explanation": "Você geralmente não verá perfis e conteúdo deste servidor, a menos que você o procure explicitamente ou opte por seguir.", "about.domain_blocks.silenced.title": "Limitado", "about.domain_blocks.suspended.explanation": "Nenhum dado desse servidor será processado, armazenado ou trocado, impossibilitando qualquer interação ou comunicação com os usuários deste servidor.", @@ -51,6 +49,7 @@ "account.mute": "Silenciar @{name}", "account.mute_notifications": "Ocultar notificações de @{name}", "account.muted": "Silenciado", + "account.open_original_page": "Abrir a página original", "account.posts": "Toots", "account.posts_with_replies": "Com respostas", "account.report": "Denunciar @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Com uma conta no Mastodon, você pode responder a esta publicação.", "interaction_modal.on_another_server": "Em um servidor diferente", "interaction_modal.on_this_server": "Neste servidor", - "interaction_modal.other_server_instructions": "Simplesmente copie e cole este URL na barra de pesquisa do seu aplicativo favorito ou na interface web onde você está autenticado.", + "interaction_modal.other_server_instructions": "Copie e cole esta URL no campo de pesquisa do seu aplicativo Mastodon favorito ou a interface web do seu servidor Mastodon.", "interaction_modal.preamble": "Como o Mastodon é descentralizado, você pode usar sua conta existente em outro servidor Mastodon ou plataforma compatível se você não tiver uma conta neste servidor.", "interaction_modal.title.favourite": "Favoritar publicação de {name}", "interaction_modal.title.follow": "Seguir {name}", diff --git a/app/javascript/mastodon/locales/pt-PT.json b/app/javascript/mastodon/locales/pt-PT.json index 02a0ceca986..828efe9f946 100644 --- a/app/javascript/mastodon/locales/pt-PT.json +++ b/app/javascript/mastodon/locales/pt-PT.json @@ -2,10 +2,8 @@ "about.blocks": "Servidores moderados", "about.contact": "Contacto:", "about.disclaimer": "Mastodon é um software livre, de código aberto e uma marca registada do Mastodon gGmbH.", - "about.domain_blocks.comment": "Motivo", - "about.domain_blocks.domain": "Domínio", + "about.domain_blocks.no_reason_available": "Motivo não disponível", "about.domain_blocks.preamble": "Mastodon geralmente permite que veja e interaja com o conteúdo de utilizadores de qualquer outra instância no fediverso. Estas são as exceções desta instância em específico.", - "about.domain_blocks.severity": "Severidade", "about.domain_blocks.silenced.explanation": "Geralmente não verá perfis e conteúdo deste servidor, a menos que os procure explicitamente ou opte por os seguir.", "about.domain_blocks.silenced.title": "Limitados", "about.domain_blocks.suspended.explanation": "Nenhum dado dessas instâncias será processado, armazenado ou trocado, tornando qualquer interação ou comunicação com os utilizadores dessas instâncias impossível.", @@ -51,6 +49,7 @@ "account.mute": "Silenciar @{name}", "account.mute_notifications": "Silenciar notificações de @{name}", "account.muted": "Silenciada", + "account.open_original_page": "Abrir a página original", "account.posts": "Toots", "account.posts_with_replies": "Publicações e respostas", "account.report": "Denunciar @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Com uma conta no Mastodon, pode responder a esta publicação.", "interaction_modal.on_another_server": "Num servidor diferente", "interaction_modal.on_this_server": "Neste servidor", - "interaction_modal.other_server_instructions": "Basta copiar e colar este URL na barra de pesquisa do seu aplicativo favorito ou na interface web onde está conectado.", + "interaction_modal.other_server_instructions": "Copie e cole este URL no campo de pesquisa do seu aplicativo Mastodon favorito ou da interface web do seu servidor Mastodon.", "interaction_modal.preamble": "Uma vez que o Mastodon é descentralizado, pode utilizar a sua conta existente, hospedada em outro servidor Mastodon ou plataforma compatível, se não tiver uma conta neste servidor.", "interaction_modal.title.favourite": "Adicionar a publicação de {name} aos favoritos", "interaction_modal.title.follow": "Seguir {name}", diff --git a/app/javascript/mastodon/locales/ro.json b/app/javascript/mastodon/locales/ro.json index 7808a45931e..2f76585f879 100644 --- a/app/javascript/mastodon/locales/ro.json +++ b/app/javascript/mastodon/locales/ro.json @@ -1,11 +1,9 @@ { "about.blocks": "Servere moderate", "about.contact": "Contact:", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Motiv", - "about.domain_blocks.domain": "Domeniu", + "about.disclaimer": "Mastodon este o aplicație gratuită, open-source și o marcă înregistrată a Mastodon gGmbH.", + "about.domain_blocks.no_reason_available": "Motivul nu este disponibil", "about.domain_blocks.preamble": "Mastodon îți permite în general să vezi conținut de la și să interacționezi cu utilizatori de pe oricare server în fediverse. Acestea sunt excepțiile care au fost făcute pe acest server.", - "about.domain_blocks.severity": "Severitate", "about.domain_blocks.silenced.explanation": "În general, nu vei vedea profiluri și conținut de pe acest server, cu excepția cazului în care îl cauți în mod explicit sau optezi pentru el prin urmărire.", "about.domain_blocks.silenced.title": "Limitat", "about.domain_blocks.suspended.explanation": "Nici o informație de la acest server nu va fi procesată, stocată sau schimbată, făcând imposibilă orice interacțiune sau comunicare cu utilizatorii de pe acest server.", @@ -39,7 +37,7 @@ "account.following_counter": "{count, plural, one {{counter} Abonament} few {{counter} Abonamente} other {{counter} Abonamente}}", "account.follows.empty": "Momentan acest utilizator nu are niciun abonament.", "account.follows_you": "Este abonat la tine", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Mergi la profil", "account.hide_reblogs": "Ascunde distribuirile de la @{name}", "account.joined_short": "Înscris", "account.languages": "Schimbă limbile abonate", @@ -47,10 +45,11 @@ "account.locked_info": "Acest profil este privat. Această persoană aprobă manual conturile care se abonează la ea.", "account.media": "Media", "account.mention": "Menționează pe @{name}", - "account.moved_to": "{name} has indicated that their new account is now:", + "account.moved_to": "{name} a indicat că noul său cont este acum:", "account.mute": "Ignoră pe @{name}", "account.mute_notifications": "Ignoră notificările de la @{name}", "account.muted": "Ignorat", + "account.open_original_page": "Deschide pagina originală", "account.posts": "Postări", "account.posts_with_replies": "Postări și răspunsuri", "account.report": "Raportează pe @{name}", @@ -65,10 +64,10 @@ "account.unfollow": "Nu mai urmări", "account.unmute": "Nu mai ignora pe @{name}", "account.unmute_notifications": "Activează notificările de la @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Reafișare", "account_note.placeholder": "Click to add a note", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", - "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", + "admin.dashboard.daily_retention": "Rata de retenţie a utilizatorului pe zi după înregistrare", + "admin.dashboard.monthly_retention": "Rata de retenţie a utilizatorului după luna de înscriere", "admin.dashboard.retention.average": "În medie", "admin.dashboard.retention.cohort": "Înregistrări lunar", "admin.dashboard.retention.cohort_size": "Utilizatori noi", @@ -78,31 +77,31 @@ "alert.unexpected.title": "Ups!", "announcement.announcement": "Anunț", "attachments_list.unprocessed": "(neprocesate)", - "audio.hide": "Hide audio", + "audio.hide": "Ascunde audio", "autosuggest_hashtag.per_week": "{count} pe săptămână", "boost_modal.combo": "Poți apăsa {combo} pentru a sări peste asta data viitoare", - "bundle_column_error.copy_stacktrace": "Copy error report", - "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", - "bundle_column_error.error.title": "Oh, no!", - "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", - "bundle_column_error.network.title": "Network error", + "bundle_column_error.copy_stacktrace": "Copiază raportul de eroare", + "bundle_column_error.error.body": "Pagina solicitată nu a putut fi randată. Ar putea fi cauzată de o eroare în codul nostru sau de o problemă de compatibilitate cu browser-ul.", + "bundle_column_error.error.title": "Vai Nu!", + "bundle_column_error.network.body": "A apărut o eroare la încărcarea acestei pagini. Acest lucru se poate datora unei probleme temporare cu conexiunea la internet sau cu acest server.", + "bundle_column_error.network.title": "Eroare de rețea", "bundle_column_error.retry": "Încearcă din nou", - "bundle_column_error.return": "Go back home", - "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", + "bundle_column_error.return": "Înapoi acasă", + "bundle_column_error.routing.body": "Pagina solicitată nu a putut fi găsită. Ești sigur că adresa URL din bara de adrese este corectă?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Închide", "bundle_modal_error.message": "A apărut o eroare la încărcarea acestui element.", "bundle_modal_error.retry": "Încearcă din nou", - "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", - "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "closed_registrations.other_server_instructions": "Deoarece Mastodon este descentralizat, poți crea un cont pe un alt server și încă poți interacționa cu acesta.", + "closed_registrations_modal.description": "Crearea unui cont pe {domain} nu este posibilă momentan, dar aveți în vedere că nu aveți nevoie de un cont specific pe {domain} pentru a utiliza Mastodon.", + "closed_registrations_modal.find_another_server": "Caută un alt server", + "closed_registrations_modal.preamble": "Mastodon este descentralizat, deci indiferent unde îți creezi contul, vei putea urmări și interacționa cu oricine de pe acest server. Poți chiar să te găzduiești de unul singur!", + "closed_registrations_modal.title": "Înscrie-te pe Mastodon", + "column.about": "Despre", "column.blocks": "Utilizatori blocați", "column.bookmarks": "Marcaje", "column.community": "Cronologie locală", - "column.direct": "Direct messages", + "column.direct": "Mesaje directe", "column.directory": "Explorează profiluri", "column.domain_blocks": "Domenii blocate", "column.favourites": "Favorite", @@ -124,10 +123,10 @@ "community.column_settings.local_only": "Doar local", "community.column_settings.media_only": "Doar media", "community.column_settings.remote_only": "Doar la distanţă", - "compose.language.change": "Change language", - "compose.language.search": "Search languages...", + "compose.language.change": "Schimbare limbă", + "compose.language.search": "Căutare limbi…", "compose_form.direct_message_warning_learn_more": "Află mai multe", - "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", + "compose_form.encryption_warning": "Postările pe Mastodon nu sunt criptate în ambele părți. Nu împărtășiți nici o informație sensibilă pe Mastodon.", "compose_form.hashtag_warning": "Această postare nu va fi listată sub niciun hashtag deoarece este nelistată. Doar postările publice pot fi căutate cu un hashtag.", "compose_form.lock_disclaimer": "Contul tău nu este {locked}. Oricine se poate abona la tine pentru a îți vedea postările numai pentru abonați.", "compose_form.lock_disclaimer.lock": "privat", @@ -138,9 +137,9 @@ "compose_form.poll.remove_option": "Elimină acestă opțiune", "compose_form.poll.switch_to_multiple": "Modifică sondajul pentru a permite mai multe opțiuni", "compose_form.poll.switch_to_single": "Modifică sondajul pentru a permite o singură opțiune", - "compose_form.publish": "Publish", + "compose_form.publish": "Publică", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "Salvează modificările", "compose_form.sensitive.hide": "{count, plural, one {Marchează conținutul media ca fiind sensibil} few {Marchează conținuturile media ca fiind sensibile} other {Marchează conținuturile media ca fiind sensibile}}", "compose_form.sensitive.marked": "{count, plural, one {Conținutul media este marcat ca fiind sensibil} other {Conținuturile media sunt marcate ca fiind sensibile}}", "compose_form.sensitive.unmarked": "{count, plural, one {Conținutul media nu este marcat ca fiind sensibil} other {Conținuturile media nu sunt marcate ca fiind sensibile}}", @@ -151,8 +150,8 @@ "confirmations.block.block_and_report": "Blochează și raportează", "confirmations.block.confirm": "Blochează", "confirmations.block.message": "Ești sigur că vrei să blochezi pe {name}?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "Retrage cererea", + "confirmations.cancel_follow_request.message": "Sunteți sigur că doriți să retrageți cererea dvs. de urmărire pentru {name}?", "confirmations.delete.confirm": "Elimină", "confirmations.delete.message": "Ești sigur că vrei să elimini această postare?", "confirmations.delete_list.confirm": "Elimină", @@ -176,24 +175,24 @@ "conversation.mark_as_read": "Marchează ca citit", "conversation.open": "Vizualizează conversația", "conversation.with": "Cu {names}", - "copypaste.copied": "Copied", - "copypaste.copy": "Copy", + "copypaste.copied": "Copiat", + "copypaste.copy": "Copiere", "directory.federated": "Din fediversul cunoscut", "directory.local": "Doar din {domain}", "directory.new_arrivals": "Înscriși recent", "directory.recently_active": "Activi recent", - "disabled_account_banner.account_settings": "Account settings", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", - "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", - "dismissable_banner.dismiss": "Dismiss", - "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", - "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", - "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", - "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", + "disabled_account_banner.account_settings": "Setări cont", + "disabled_account_banner.text": "Contul tău {disabledAccount} este momentan dezactivat.", + "dismissable_banner.community_timeline": "Acestea sunt cele mai recente postări publice de la persoane ale căror conturi sunt găzduite de {domain}.", + "dismissable_banner.dismiss": "Renunțare", + "dismissable_banner.explore_links": "În acest moment, oamenii vorbesc despre aceste știri, pe acesta dar și pe alte servere ale rețelei descentralizate.", + "dismissable_banner.explore_statuses": "Aceste postări de pe acesta dar și alte servere din rețeaua descentralizată câștigă teren pe acest server chiar acum.", + "dismissable_banner.explore_tags": "Aceste hashtag-uri câștigă teren în rândul oamenilor de pe acesta și pe alte servere ale rețelei descentralizate chiar acum.", + "dismissable_banner.public_timeline": "Acestea sunt cele mai recente postări publice de la utilizatorii acestui server sau ai altor servere ale rețelei descentralizate cunoscute de acest server.", "embed.instructions": "Integrează această postare în site-ul tău copiind codul de mai jos.", "embed.preview": "Iată cum va arăta:", "emoji_button.activity": "Activități", - "emoji_button.clear": "Clear", + "emoji_button.clear": "Ștergeți", "emoji_button.custom": "Personalizați", "emoji_button.flags": "Steaguri", "emoji_button.food": "Alimente și băuturi", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index fb341a979e7..db5c67b207f 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -2,10 +2,8 @@ "about.blocks": "Модерируемые серверы", "about.contact": "Контакты:", "about.disclaimer": "Mastodon — бесплатное программным обеспечением с открытым исходным кодом и торговой маркой Mastodon gGmbH.", - "about.domain_blocks.comment": "Причина", - "about.domain_blocks.domain": "Домен", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon обычно позволяет просматривать содержимое и взаимодействовать с другими пользователями любых серверов в Федиверсе. Вот исключения, сделанные конкретно для этого сервера.", - "about.domain_blocks.severity": "Ключ:.\"о. Домен_блокирует. Серьезность\"\n-> о компании. Домен _блокирует. строгость", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Игнорировать @{name}", "account.mute_notifications": "Игнорировать уведомления от @{name}", "account.muted": "Игнорируется", + "account.open_original_page": "Open original page", "account.posts": "Посты", "account.posts_with_replies": "Посты и ответы", "account.report": "Пожаловаться на @{name}", @@ -95,10 +94,10 @@ "bundle_modal_error.retry": "Попробовать снова", "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "closed_registrations_modal.find_another_server": "Найдите другой сервер", + "closed_registrations_modal.preamble": "Mastodon децентрализован, поэтому независимо от того, где вы создадите свою учетную запись, вы сможете следить и взаимодействовать с кем угодно на этом сервере. Вы даже можете разместить его самостоятельно!", + "closed_registrations_modal.title": "Регистрация в Mastodon", + "column.about": "О проекте", "column.blocks": "Заблокированные пользователи", "column.bookmarks": "Закладки", "column.community": "Локальная лента", @@ -151,8 +150,8 @@ "confirmations.block.block_and_report": "Заблокировать и пожаловаться", "confirmations.block.confirm": "Заблокировать", "confirmations.block.message": "Вы уверены, что хотите заблокировать {name}?", - "confirmations.cancel_follow_request.confirm": "Withdraw request", - "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", + "confirmations.cancel_follow_request.confirm": "Отменить запрос", + "confirmations.cancel_follow_request.message": "Вы уверены, что хотите отозвать свой запрос на подписку {name}?", "confirmations.delete.confirm": "Удалить", "confirmations.delete.message": "Вы уверены, что хотите удалить этот пост?", "confirmations.delete_list.confirm": "Удалить", @@ -185,9 +184,9 @@ "disabled_account_banner.account_settings": "Настройки учётной записи", "disabled_account_banner.text": "Ваша учётная запись {disabledAccount} в настоящее время отключена.", "dismissable_banner.community_timeline": "Это самые последние публичные сообщения от людей, чьи учетные записи размещены в {domain}.", - "dismissable_banner.dismiss": "Dismiss", - "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", - "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", + "dismissable_banner.dismiss": "Закрыть", + "dismissable_banner.explore_links": "Об этих новостях прямо сейчас говорят люди на этом и других серверах децентрализованной сети.", + "dismissable_banner.explore_statuses": "Эти сообщения с этого и других серверов в децентрализованной сети, сейчас набирают популярность на этом сервере.", "dismissable_banner.explore_tags": "Эти хэштеги привлекают людей на этом и других серверах децентрализованной сети прямо сейчас.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "embed.instructions": "Встройте этот пост на свой сайт, скопировав следующий код:", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "На другом сервере", "interaction_modal.on_this_server": "На этом сервере", - "interaction_modal.other_server_instructions": "Просто скопируйте и вставьте этот URL в строку поиска вашего любимого приложения или веб-интерфейса там, где вы вошли.", + "interaction_modal.other_server_instructions": "Скопируйте и вставьте этот URL в поле поиска вашего любимого приложения Mastodon или веб-интерфейс вашего сервера Mastodon.", "interaction_modal.preamble": "Поскольку Mastodon децентрализован, вы можете использовать существующую учётную запись, размещенную на другом сервере Mastodon или совместимой платформе, если у вас нет учётной записи на этом сервере.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Подписаться на {name}", diff --git a/app/javascript/mastodon/locales/sa.json b/app/javascript/mastodon/locales/sa.json index d81dd7cdd15..01ed9e336ee 100644 --- a/app/javascript/mastodon/locales/sa.json +++ b/app/javascript/mastodon/locales/sa.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "निःशब्दम् @{name}", "account.mute_notifications": "@{name} सूचनाः निष्क्रियन्ताम्", "account.muted": "निःशब्दम्", + "account.open_original_page": "Open original page", "account.posts": "दौत्यानि", "account.posts_with_replies": "दौत्यानि प्रत्युत्तराणि च", "account.report": "आविद्यताम् @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/sc.json b/app/javascript/mastodon/locales/sc.json index 36b6158cd25..ea927e364af 100644 --- a/app/javascript/mastodon/locales/sc.json +++ b/app/javascript/mastodon/locales/sc.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Pone a @{name} a sa muda", "account.mute_notifications": "Disativa is notìficas de @{name}", "account.muted": "A sa muda", + "account.open_original_page": "Open original page", "account.posts": "Publicatziones", "account.posts_with_replies": "Publicatziones e rispostas", "account.report": "Signala @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/si.json b/app/javascript/mastodon/locales/si.json index f775226244b..1c13c76cdef 100644 --- a/app/javascript/mastodon/locales/si.json +++ b/app/javascript/mastodon/locales/si.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "@{name} නිහඬ කරන්න", "account.mute_notifications": "@{name}වෙතින් දැනුම්දීම් නිහඬ කරන්න", "account.muted": "නිහඬ කළා", + "account.open_original_page": "Open original page", "account.posts": "ලිපි", "account.posts_with_replies": "ටූට්ස් සහ පිළිතුරු", "account.report": "@{name} වාර්තා කරන්න", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index f874b752218..bbc1aa0c3ca 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Nevšímaj si @{name}", "account.mute_notifications": "Stĺm oboznámenia od @{name}", "account.muted": "Nevšímaný/á", + "account.open_original_page": "Open original page", "account.posts": "Príspevky/ov", "account.posts_with_replies": "Príspevky, aj s odpoveďami", "account.report": "Nahlás @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/sl.json b/app/javascript/mastodon/locales/sl.json index 76c5798202c..a450225a5b3 100644 --- a/app/javascript/mastodon/locales/sl.json +++ b/app/javascript/mastodon/locales/sl.json @@ -2,10 +2,8 @@ "about.blocks": "Moderirani strežniki", "about.contact": "Stik:", "about.disclaimer": "Mastodon je prosto, odprto-kodno programje in blagovna znamka Mastodon gGmbH.", - "about.domain_blocks.comment": "Razlog", - "about.domain_blocks.domain": "Domena", + "about.domain_blocks.no_reason_available": "Razlog ni na voljo", "about.domain_blocks.preamble": "Mastodon vam splošno omogoča ogled vsebin in interakcijo z uporabniki iz vseh drugih strežnikov v fediverzumu. To so izjeme, opravljene na tem strežniku.", - "about.domain_blocks.severity": "Resnost", "about.domain_blocks.silenced.explanation": "V splošnem ne boste videli profilov in vsebin s tega strežnika, če jih eksplicino ne poiščete ali nanje naročite s sledenjem.", "about.domain_blocks.silenced.title": "Omejeno", "about.domain_blocks.suspended.explanation": "Nobeni podatki s tega strežnika ne bodo obdelani, shranjeni ali izmenjani, zaradi česar je nemogoča kakršna koli interakcija ali komunikacija z uporabniki s tega strežnika.", @@ -34,7 +32,7 @@ "account.follow": "Sledi", "account.followers": "Sledilci", "account.followers.empty": "Nihče ne sledi temu uporabniku.", - "account.followers_counter": "{count, plural, one {ima {count} sledilca} two {ima {count} sledilca} few {ima {count} sledilcev} other {ima {count} sledilce}}", + "account.followers_counter": "{count, plural, one {ima {counter} sledilca} two {ima {counter} sledilca} few {ima {counter} sledilce} other {ima {counter} sledilcev}}", "account.following": "Sledim", "account.following_counter": "{count, plural, one {sledi {count} osebi} two {sledi {count} osebama} few {sledi {count} osebam} other {sledi {count} osebam}}", "account.follows.empty": "Ta uporabnik še ne sledi nikomur.", @@ -51,13 +49,14 @@ "account.mute": "Utišaj @{name}", "account.mute_notifications": "Utišaj obvestila od @{name}", "account.muted": "Utišan", + "account.open_original_page": "Odpri izvirno stran", "account.posts": "Objave", "account.posts_with_replies": "Objave in odgovori", "account.report": "Prijavi @{name}", "account.requested": "Čakanje na odobritev. Kliknite, da prekličete prošnjo za sledenje", "account.share": "Deli profil osebe @{name}", "account.show_reblogs": "Pokaži izpostavitve osebe @{name}", - "account.statuses_counter": "{count, plural, one {{counter} tut} two {{counter} tuta} few {{counter} tuti} other {{counter} tutov}}", + "account.statuses_counter": "{count, plural, one {{count} tut} two {{count} tuta} few {{count} tuti} other {{count} tutov}}", "account.unblock": "Odblokiraj @{name}", "account.unblock_domain": "Odblokiraj domeno {domain}", "account.unblock_short": "Odblokiraj", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Z računom na Mastodonu lahko odgovorite na to objavo.", "interaction_modal.on_another_server": "Na drugem strežniku", "interaction_modal.on_this_server": "Na tem strežniku", - "interaction_modal.other_server_instructions": "Enostavno kopirajte in prilepite ta URL v iskalno vrstico svoje priljubljene aplikacije ali spletni vmesnik, kjer ste prijavljeni.", + "interaction_modal.other_server_instructions": "Kopirajte in prilepite ta URL v polje iskanja vašega priljubljenega programa Mastodon ali spletnega vmesnika vašega strežnika Mastodon.", "interaction_modal.preamble": "Ker je Mastodon decentraliziran, lahko uporabite svoj obstoječi račun, ki gostuje na drugem strežniku Mastodon ali združljivi platformi, če nimate računa na tej.", "interaction_modal.title.favourite": "Daj objavo {name} med priljubljene", "interaction_modal.title.follow": "Sledi {name}", @@ -450,7 +449,7 @@ "privacy.change": "Spremeni zasebnost objave", "privacy.direct.long": "Objavi samo omenjenim uporabnikom", "privacy.direct.short": "Samo omenjeni", - "privacy.private.long": "Objavi samo sledilcem", + "privacy.private.long": "Vidno samo sledilcem", "privacy.private.short": "Samo sledilci", "privacy.public.long": "Vidno vsem", "privacy.public.short": "Javno", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index f53d140bca2..cdcca169753 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -2,10 +2,8 @@ "about.blocks": "Shërbyes të moderuar", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon-i është software i lirë, me burim të hapët dhe shenjë tregtare e Mastodon gGmbH.", - "about.domain_blocks.comment": "Arsye", - "about.domain_blocks.domain": "Përkatësi", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon-i ju lë përgjithësisht të shihni lëndë prej përdoruesish dhe të ndërveproni me ta nga cilido shërbyes tjetër qofshin në fedivers. Ka përjashtime që janë bërë në këtë shërbyes të dhënë.", - "about.domain_blocks.severity": "Rëndësi", "about.domain_blocks.silenced.explanation": "Përgjithësisht s’do të shihni profile dhe lëndë nga ky shërbyes, veç në i kërkofshi shprehimisht apo zgjidhni të bëhet kjo, duke i ndjekur.", "about.domain_blocks.silenced.title": "E kufizuar", "about.domain_blocks.suspended.explanation": "S’do të përpunohen, depozitohen apo shkëmbehen të dhëna të këtij shërbyesi, duke e bërë të pamundur çfarëdo ndërveprimi apo komunikimi me përdorues nga ky shërbyes.", @@ -51,6 +49,7 @@ "account.mute": "Heshtoni @{name}", "account.mute_notifications": "Heshtoji njoftimet prej @{name}", "account.muted": "Heshtuar", + "account.open_original_page": "Open original page", "account.posts": "Mesazhe", "account.posts_with_replies": "Mesazhe dhe përgjigje", "account.report": "Raportojeni @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Me një llogari në Mastodon, mund t’i përgjigjeni këtij postimi.", "interaction_modal.on_another_server": "Në një tjetër shërbyes", "interaction_modal.on_this_server": "Në këtë shërbyes", - "interaction_modal.other_server_instructions": "Thjesht kopjojeni dhe ngjiteni këtë URL te shtylla e kërkimeve të aplikacionit tuaj apo ndërfaqes tuaj web të parapëlqyer, kur të jeni i futur në llogari.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Ngaqë Mastodon-i është i decentralizuar, mund të përdorni llogarinë tuaj ekzistuese të sterhuar nga një tjetër shërbyes Mastodon, ose platformë e përputhshme, nëse s’keni një llogari në këtë shërbyes.", "interaction_modal.title.favourite": "Parapëlqejeni postimin e {name}", "interaction_modal.title.follow": "Ndiq {name}", diff --git a/app/javascript/mastodon/locales/sr-Latn.json b/app/javascript/mastodon/locales/sr-Latn.json index 4aa2c86e3e0..aae597974a0 100644 --- a/app/javascript/mastodon/locales/sr-Latn.json +++ b/app/javascript/mastodon/locales/sr-Latn.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Ućutkaj korisnika @{name}", "account.mute_notifications": "Isključi obaveštenja od korisnika @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Statusa", "account.posts_with_replies": "Toots with replies", "account.report": "Prijavi @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/sr.json b/app/javascript/mastodon/locales/sr.json index 7e669bd1844..d35f9bb02ea 100644 --- a/app/javascript/mastodon/locales/sr.json +++ b/app/javascript/mastodon/locales/sr.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Ућуткај корисника @{name}", "account.mute_notifications": "Искључи обавештења од корисника @{name}", "account.muted": "Ућуткан", + "account.open_original_page": "Open original page", "account.posts": "Трубе", "account.posts_with_replies": "Трубе и одговори", "account.report": "Пријави @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/sv.json b/app/javascript/mastodon/locales/sv.json index fbd34dfaf3d..dd4fa8683bb 100644 --- a/app/javascript/mastodon/locales/sv.json +++ b/app/javascript/mastodon/locales/sv.json @@ -2,10 +2,8 @@ "about.blocks": "Modererade servrar", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon är fri programvara med öppen källkod och ett varumärke tillhörande Mastodon gGmbH.", - "about.domain_blocks.comment": "Anledning", - "about.domain_blocks.domain": "Domän", + "about.domain_blocks.no_reason_available": "Okänd orsak", "about.domain_blocks.preamble": "Som regel låter Mastodon dig interagera med användare från andra servrar i fediversumet och se deras innehåll. Detta är de undantag som gjorts på just denna servern.", - "about.domain_blocks.severity": "Allvarlighetsgrad", "about.domain_blocks.silenced.explanation": "Såvida du inte uttryckligen söker upp dem eller samtycker till att se dem genom att följa dem kommer du i allmänhet inte se profiler från den här servern, eller deras innehåll.", "about.domain_blocks.silenced.title": "Begränsat", "about.domain_blocks.suspended.explanation": "Inga data från denna server kommer behandlas, lagras eller bytas ut, vilket omöjliggör kommunikation med användare på denna server.", @@ -40,23 +38,24 @@ "account.follows.empty": "Denna användare följer inte någon än.", "account.follows_you": "Följer dig", "account.go_to_profile": "Gå till profilen", - "account.hide_reblogs": "Dölj puffar från @{name}", + "account.hide_reblogs": "Dölj boostar från @{name}", "account.joined_short": "Gick med", "account.languages": "Ändra prenumererade språk", "account.link_verified_on": "Ägarskap för denna länk kontrollerades den {date}", - "account.locked_info": "Detta konto har låst integritetsstatus. Ägaren väljer manuellt vem som kan följa.", + "account.locked_info": "För detta konto har ägaren valt att manuellt godkänna vem som kan följa dem.", "account.media": "Media", "account.mention": "Nämn @{name}", "account.moved_to": "{name} har indikerat att hen har ett nytt konto:", "account.mute": "Tysta @{name}", "account.mute_notifications": "Stäng av notifieringar från @{name}", "account.muted": "Tystad", + "account.open_original_page": "Öppna den ursprungliga sidan", "account.posts": "Inlägg", "account.posts_with_replies": "Inlägg och svar", "account.report": "Rapportera @{name}", - "account.requested": "Inväntar godkännande. Klicka för att avbryta följarförfrågan", + "account.requested": "Inväntar godkännande. Klicka för att avbryta följdförfrågan", "account.share": "Dela @{name}s profil", - "account.show_reblogs": "Visa boostningar av @{name}", + "account.show_reblogs": "Visa boostar från @{name}", "account.statuses_counter": "{count, plural, one {{counter} Inlägg} other {{counter} Inlägg}}", "account.unblock": "Avblockera @{name}", "account.unblock_domain": "Sluta dölja {domain}", @@ -77,21 +76,21 @@ "alert.unexpected.message": "Ett oväntat fel uppstod.", "alert.unexpected.title": "Hoppsan!", "announcement.announcement": "Meddelande", - "attachments_list.unprocessed": "(obearbetad)", + "attachments_list.unprocessed": "(obehandlad)", "audio.hide": "Dölj audio", "autosuggest_hashtag.per_week": "{count} per vecka", "boost_modal.combo": "Du kan trycka på {combo} för att hoppa över detta nästa gång", "bundle_column_error.copy_stacktrace": "Kopiera felrapport", "bundle_column_error.error.body": "Den begärda sidan kunde inte visas. Det kan bero på ett fel i vår kod eller ett problem med webbläsarens kompatibilitet.", "bundle_column_error.error.title": "Åh nej!", - "bundle_column_error.network.body": "Det uppstod ett fel när denna sida skulle visas. Detta kan bero på ett tillfälligt problem med din internetanslutning eller denna server.", + "bundle_column_error.network.body": "Det uppstod ett fel när denna sida skulle visas. Detta kan bero på ett tillfälligt problem med din internetanslutning eller med servern.", "bundle_column_error.network.title": "Nätverksfel", "bundle_column_error.retry": "Försök igen", "bundle_column_error.return": "Tillbaka till startsidan", - "bundle_column_error.routing.body": "Den begärda sidan kunde inte hittas. Är du säker på att URL:en i adressfältet är korrekt?", + "bundle_column_error.routing.body": "Den begärda sidan kunde inte hittas. Är du säker på att adressen angivits korrekt?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Stäng", - "bundle_modal_error.message": "Något gick fel när denna komponent laddades.", + "bundle_modal_error.message": "Något gick fel när komponenten skulle läsas in.", "bundle_modal_error.retry": "Försök igen", "closed_registrations.other_server_instructions": "Eftersom Mastodon är decentraliserat kan du skapa ett konto på en annan server och fortfarande interagera med denna.", "closed_registrations_modal.description": "Det är för närvarande inte möjligt att skapa ett konto på {domain} men kom ihåg att du inte behöver ett konto specifikt på {domain} för att använda Mastodon.", @@ -167,7 +166,7 @@ "confirmations.mute.explanation": "Detta kommer dölja inlägg från dem och inlägg som nämner dem, men de tillåts fortfarande se dina inlägg och följa dig.", "confirmations.mute.message": "Är du säker på att du vill tysta {name}?", "confirmations.redraft.confirm": "Radera & gör om", - "confirmations.redraft.message": "Är du säker på att du vill radera detta inlägg och göra om det? Favoritmarkeringar, boostningar och svar till det ursprungliga inlägget kommer förlora sitt sammanhang.", + "confirmations.redraft.message": "Är du säker på att du vill radera detta inlägg och göra om det? Favoritmarkeringar, boostar och svar till det ursprungliga inlägget kommer förlora sitt sammanhang.", "confirmations.reply.confirm": "Svara", "confirmations.reply.message": "Om du svarar nu kommer det att ersätta meddelandet du håller på att skapa. Är du säker på att du vill fortsätta?", "confirmations.unfollow.confirm": "Avfölj", @@ -283,7 +282,7 @@ "hashtag.follow": "Följ hashtagg", "hashtag.unfollow": "Avfölj hashtagg", "home.column_settings.basic": "Grundläggande", - "home.column_settings.show_reblogs": "Visa boostningar", + "home.column_settings.show_reblogs": "Visa boostar", "home.column_settings.show_replies": "Visa svar", "home.hide_announcements": "Dölj notiser", "home.show_announcements": "Visa notiser", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Med ett Mastodon-konto kan du svara på detta inlägg.", "interaction_modal.on_another_server": "På en annan server", "interaction_modal.on_this_server": "På denna server", - "interaction_modal.other_server_instructions": "Kopiera och klistra in denna webbadress i din favoritapps sökfält eller i webbgränssnittet där du är inloggad.", + "interaction_modal.other_server_instructions": "Kopiera och klistra in denna URL i sökfältet i din favorit-Mastodon-app eller webbgränssnittet på din Mastodon-server.", "interaction_modal.preamble": "Eftersom Mastodon är decentraliserat kan du använda ditt befintliga konto från en annan Mastodonserver, eller annan kompatibel plattform, om du inte har ett konto på denna.", "interaction_modal.title.favourite": "Favoritmarkera {name}s inlägg", "interaction_modal.title.follow": "Följ {name}", @@ -414,7 +413,7 @@ "notifications.column_settings.mention": "Omnämningar:", "notifications.column_settings.poll": "Omröstningsresultat:", "notifications.column_settings.push": "Push-aviseringar", - "notifications.column_settings.reblog": "Boostningar:", + "notifications.column_settings.reblog": "Boostar:", "notifications.column_settings.show": "Visa i kolumnen", "notifications.column_settings.sound": "Spela upp ljud", "notifications.column_settings.status": "Nya inlägg:", @@ -422,7 +421,7 @@ "notifications.column_settings.unread_notifications.highlight": "Markera o-lästa aviseringar", "notifications.column_settings.update": "Redigeringar:", "notifications.filter.all": "Alla", - "notifications.filter.boosts": "Boostningar", + "notifications.filter.boosts": "Boostar", "notifications.filter.favourites": "Favoriter", "notifications.filter.follows": "Följer", "notifications.filter.mentions": "Omnämningar", @@ -544,7 +543,7 @@ "status.admin_status": "Öppna detta inlägg i modereringsgränssnittet", "status.block": "Blockera @{name}", "status.bookmark": "Bokmärk", - "status.cancel_reblog_private": "Avboosta", + "status.cancel_reblog_private": "Sluta boosta", "status.cannot_reblog": "Detta inlägg kan inte boostas", "status.copy": "Kopiera inläggslänk", "status.delete": "Radera", diff --git a/app/javascript/mastodon/locales/szl.json b/app/javascript/mastodon/locales/szl.json index d90153a95fb..a8585c042d7 100644 --- a/app/javascript/mastodon/locales/szl.json +++ b/app/javascript/mastodon/locales/szl.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/ta.json b/app/javascript/mastodon/locales/ta.json index c01242e76c1..a69becb950b 100644 --- a/app/javascript/mastodon/locales/ta.json +++ b/app/javascript/mastodon/locales/ta.json @@ -1,11 +1,9 @@ { - "about.blocks": "Moderated servers", - "about.contact": "Contact:", - "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", + "about.blocks": "நடுநிலையான சேவையகங்கள்", + "about.contact": "தொடர்பு:", + "about.disclaimer": "மாஸ்டோடன் இலவச, திறந்த மூல மென்பொருள் மற்றும் மாஸ்டோடன் gGmbH இன் வர்த்தக முத்திரை.", + "about.domain_blocks.no_reason_available": "காரணம் கிடைக்கவில்லை", + "about.domain_blocks.preamble": "மாஸ்டோடன் பொதுவாக நீங்கள் ஃபெடிவர்ஸில் உள்ள வேறு எந்தச் சர்வரிலிருந்தும் உள்ளடக்கத்தைப் பார்க்கவும், பயனர்களுடன் தொடர்பு கொள்ளவும் அனுமதிக்கிறது. இந்தக் குறிப்பிட்ட சர்வரில் செய்யப்பட்ட விதிவிலக்குகள் இவை.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "ஊமையான @{name}", "account.mute_notifications": "அறிவிப்புகளை முடக்கு @{name}", "account.muted": "முடக்கியது", + "account.open_original_page": "Open original page", "account.posts": "டூட்டுகள்", "account.posts_with_replies": "Toots மற்றும் பதில்கள்", "account.report": "@{name} -ஐப் புகாரளி", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/tai.json b/app/javascript/mastodon/locales/tai.json index a1f4a2732e9..a3ae8a0510c 100644 --- a/app/javascript/mastodon/locales/tai.json +++ b/app/javascript/mastodon/locales/tai.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/te.json b/app/javascript/mastodon/locales/te.json index 669a4eb0cc3..1d99fc4dffb 100644 --- a/app/javascript/mastodon/locales/te.json +++ b/app/javascript/mastodon/locales/te.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "@{name}ను మ్యూట్ చెయ్యి", "account.mute_notifications": "@{name}నుంచి ప్రకటనలను మ్యూట్ చెయ్యి", "account.muted": "మ్యూట్ అయినవి", + "account.open_original_page": "Open original page", "account.posts": "టూట్లు", "account.posts_with_replies": "టూట్లు మరియు ప్రత్యుత్తరములు", "account.report": "@{name}పై ఫిర్యాదుచేయు", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 04409007882..77279ba01ab 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -2,10 +2,8 @@ "about.blocks": "เซิร์ฟเวอร์ที่มีการควบคุม", "about.contact": "ติดต่อ:", "about.disclaimer": "Mastodon เป็นซอฟต์แวร์เสรี โอเพนซอร์ส และเครื่องหมายการค้าของ Mastodon gGmbH", - "about.domain_blocks.comment": "เหตุผล", - "about.domain_blocks.domain": "โดเมน", + "about.domain_blocks.no_reason_available": "เหตุผลไม่พร้อมใช้งาน", "about.domain_blocks.preamble": "โดยทั่วไป Mastodon อนุญาตให้คุณดูเนื้อหาจากและโต้ตอบกับผู้ใช้จากเซิร์ฟเวอร์อื่นใดในจักรวาลสหพันธ์ นี่คือข้อยกเว้นที่ทำขึ้นในเซิร์ฟเวอร์นี้โดยเฉพาะ", - "about.domain_blocks.severity": "ความรุนแรง", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "จำกัดอยู่", "about.domain_blocks.suspended.explanation": "จะไม่ประมวลผล จัดเก็บ หรือแลกเปลี่ยนข้อมูลจากเซิร์ฟเวอร์นี้ ทำให้การโต้ตอบหรือการสื่อสารใด ๆ กับผู้ใช้จากเซิร์ฟเวอร์นี้เป็นไปไม่ได้", @@ -51,6 +49,7 @@ "account.mute": "ซ่อน @{name}", "account.mute_notifications": "ซ่อนการแจ้งเตือนจาก @{name}", "account.muted": "ซ่อนอยู่", + "account.open_original_page": "เปิดหน้าดั้งเดิม", "account.posts": "โพสต์", "account.posts_with_replies": "โพสต์และการตอบกลับ", "account.report": "รายงาน @{name}", @@ -82,9 +81,9 @@ "autosuggest_hashtag.per_week": "{count} ต่อสัปดาห์", "boost_modal.combo": "คุณสามารถกด {combo} เพื่อข้ามสิ่งนี้ในครั้งถัดไป", "bundle_column_error.copy_stacktrace": "คัดลอกรายงานข้อผิดพลาด", - "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", + "bundle_column_error.error.body": "ไม่สามารถแสดงผลหน้าที่ขอ ข้อผิดพลาดอาจเป็นเพราะข้อบกพร่องในโค้ดของเรา หรือปัญหาความเข้ากันได้ของเบราว์เซอร์", "bundle_column_error.error.title": "โอ้ ไม่!", - "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", + "bundle_column_error.network.body": "มีข้อผิดพลาดขณะพยายามโหลดหน้านี้ นี่อาจเป็นเพราะปัญหาชั่วคราวกับการเชื่อมต่ออินเทอร์เน็ตของคุณหรือเซิร์ฟเวอร์นี้", "bundle_column_error.network.title": "ข้อผิดพลาดเครือข่าย", "bundle_column_error.retry": "ลองอีกครั้ง", "bundle_column_error.return": "กลับไปที่หน้าแรก", @@ -93,7 +92,7 @@ "bundle_modal_error.close": "ปิด", "bundle_modal_error.message": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้", "bundle_modal_error.retry": "ลองอีกครั้ง", - "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", + "closed_registrations.other_server_instructions": "เนื่องจาก Mastodon เป็นแบบกระจายศูนย์ คุณสามารถสร้างบัญชีในเซิร์ฟเวอร์อื่นและยังคงโต้ตอบกับเซิร์ฟเวอร์นี้", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.find_another_server": "ค้นหาเซิร์ฟเวอร์อื่น", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", @@ -183,7 +182,7 @@ "directory.new_arrivals": "มาใหม่", "directory.recently_active": "ใช้งานล่าสุด", "disabled_account_banner.account_settings": "การตั้งค่าบัญชี", - "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", + "disabled_account_banner.text": "มีการปิดใช้งานบัญชีของคุณ {disabledAccount} ในปัจจุบัน", "dismissable_banner.community_timeline": "นี่คือโพสต์สาธารณะล่าสุดจากผู้คนที่บัญชีได้รับการโฮสต์โดย {domain}", "dismissable_banner.dismiss": "ปิด", "dismissable_banner.explore_links": "เรื่องข่าวเหล่านี้กำลังได้รับการพูดถึงโดยผู้คนในเซิร์ฟเวอร์นี้และอื่น ๆ ของเครือข่ายแบบกระจายศูนย์ในตอนนี้", @@ -293,8 +292,8 @@ "interaction_modal.description.reply": "เมื่อมีบัญชีใน Mastodon คุณสามารถตอบกลับโพสต์นี้", "interaction_modal.on_another_server": "ในเซิร์ฟเวอร์อื่น", "interaction_modal.on_this_server": "ในเซิร์ฟเวอร์นี้", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", - "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", + "interaction_modal.other_server_instructions": "คัดลอกแล้ววาง URL นี้ลงในช่องค้นหาของแอป Mastodon โปรดของคุณหรือส่วนติดต่อเว็บของเซิร์ฟเวอร์ Mastodon ของคุณ", + "interaction_modal.preamble": "เนื่องจาก Mastodon เป็นแบบกระจายศูนย์ คุณสามารถใช้บัญชีที่มีอยู่ของคุณที่ได้รับการโฮสต์โดยเซิร์ฟเวอร์ Mastodon อื่นหรือแพลตฟอร์มที่เข้ากันได้หากคุณไม่มีบัญชีในเซิร์ฟเวอร์นี้", "interaction_modal.title.favourite": "ชื่นชอบโพสต์ของ {name}", "interaction_modal.title.follow": "ติดตาม {name}", "interaction_modal.title.reblog": "ดันโพสต์ของ {name}", @@ -361,7 +360,7 @@ "media_gallery.toggle_visible": "{number, plural, other {ซ่อนภาพ}}", "missing_indicator.label": "ไม่พบ", "missing_indicator.sublabel": "ไม่พบทรัพยากรนี้", - "moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.", + "moved_to_account_banner.text": "มีการปิดใช้งานบัญชีของคุณ {disabledAccount} ในปัจจุบันเนื่องจากคุณได้ย้ายไปยัง {movedToAccount}", "mute_modal.duration": "ระยะเวลา", "mute_modal.hide_notifications": "ซ่อนการแจ้งเตือนจากผู้ใช้นี้?", "mute_modal.indefinite": "ไม่มีกำหนด", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index e3df3cd8263..1ed5e587265 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -2,10 +2,8 @@ "about.blocks": "Denetlenen sunucular", "about.contact": "İletişim:", "about.disclaimer": "Mastodon özgür, açık kaynak bir yazılımdır ve Mastodon gGmbH şirketinin ticari markasıdır.", - "about.domain_blocks.comment": "Gerekçe", - "about.domain_blocks.domain": "Alan adı", + "about.domain_blocks.no_reason_available": "Grerekçe mevcut değil", "about.domain_blocks.preamble": "Mastodon, genel olarak fediverse'teki herhangi bir sunucudan içerik görüntülemenize ve kullanıcılarıyla etkileşim kurmanıza izin verir. Bunlar, bu sunucuda yapılmış olan istisnalardır.", - "about.domain_blocks.severity": "Önem derecesi", "about.domain_blocks.silenced.explanation": "Açık bir şekilde aramadığınız veya takip ederek abone olmadığınız sürece, bu sunucudaki profilleri veya içerikleri genelde göremeyeceksiniz.", "about.domain_blocks.silenced.title": "Sınırlı", "about.domain_blocks.suspended.explanation": "Bu sunucudaki hiçbir veri işlenmeyecek, saklanmayacak veya değiş tokuş edilmeyecektir, dolayısıyla bu sunucudaki kullanıcılarla herhangi bir etkileşim veya iletişim imkansız olacaktır.", @@ -51,6 +49,7 @@ "account.mute": "@{name}'i sustur", "account.mute_notifications": "@{name}'in bildirimlerini sustur", "account.muted": "Susturuldu", + "account.open_original_page": "Asıl sayfayı aç", "account.posts": "Gönderiler", "account.posts_with_replies": "Gönderiler ve yanıtlar", "account.report": "@{name}'i şikayet et", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Mastodon'daki bir hesapla, bu gönderiye yanıt verebilirsiniz.", "interaction_modal.on_another_server": "Farklı bir sunucuda", "interaction_modal.on_this_server": "Bu sunucuda", - "interaction_modal.other_server_instructions": "Basitçe bu URL'yi kopyalayın ve beğendiğiniz uygulamanın veya giriş yapmış olduğunuz bir web arayüzünün arama çubuğuna yapıştırın.", + "interaction_modal.other_server_instructions": "Bu URL'yi kopyalayın ve Mastodon sunucunuzun web arayüzündeki veya gözde Mastodon uygulamanızdaki arama sahasına yapıştırın.", "interaction_modal.preamble": "Mastodon ademi merkeziyetçi olduğu için, bu sunucuda bir hesabınız yoksa bile başka bir Mastodon sunucusu veya uyumlu bir platformda barındırılan mevcut hesabınızı kullanabilirsiniz.", "interaction_modal.title.favourite": "{name} kişisinin gönderisini favorilerine ekle", "interaction_modal.title.follow": "{name} kişisini takip et", diff --git a/app/javascript/mastodon/locales/tt.json b/app/javascript/mastodon/locales/tt.json index 18e95f4a014..fc36699c7a0 100644 --- a/app/javascript/mastodon/locales/tt.json +++ b/app/javascript/mastodon/locales/tt.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/ug.json b/app/javascript/mastodon/locales/ug.json index d90153a95fb..a8585c042d7 100644 --- a/app/javascript/mastodon/locales/ug.json +++ b/app/javascript/mastodon/locales/ug.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "Mute @{name}", "account.mute_notifications": "Mute notifications from @{name}", "account.muted": "Muted", + "account.open_original_page": "Open original page", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index c5cdcb2f585..3273dae14f9 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -2,10 +2,8 @@ "about.blocks": "Модеровані сервери", "about.contact": "Kонтакти:", "about.disclaimer": "Mastodon — це безплатне програмне забезпечення з відкритим вихідним кодом та торгова марка компанії Mastodon GmbH.", - "about.domain_blocks.comment": "Причина", - "about.domain_blocks.domain": "Домен", + "about.domain_blocks.no_reason_available": "Причина недоступна", "about.domain_blocks.preamble": "Mastodon зазвичай дозволяє вам взаємодіяти з користувачами будь-яких серверів у Федіверсі та переглядати їх вміст. Ось винятки, які було зроблено на цьому конкретному сервері.", - "about.domain_blocks.severity": "Важливість", "about.domain_blocks.silenced.explanation": "Ви загалом не побачите профілі та вміст цього сервера, якщо тільки Ви не обрали його явним або не обрали його наступним чином.", "about.domain_blocks.silenced.title": "Обмежені", "about.domain_blocks.suspended.explanation": "Дані з цього сервера не обробляться, зберігаються чи обмінюються, взаємодію чи спілкування з користувачами цього сервера неможливі.", @@ -51,6 +49,7 @@ "account.mute": "Приховати @{name}", "account.mute_notifications": "Не показувати сповіщення від @{name}", "account.muted": "Нехтується", + "account.open_original_page": "Відкрити оригінальну сторінку", "account.posts": "Дописи", "account.posts_with_replies": "Дописи й відповіді", "account.report": "Поскаржитися на @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Маючи обліковий запис на Mastodon, ви можете відповісти на цей допис.", "interaction_modal.on_another_server": "На іншому сервері", "interaction_modal.on_this_server": "На цьому сервері", - "interaction_modal.other_server_instructions": "Просто скопіюйте і вставте цей URL у панель пошуку вашого улюбленого застосунку або вебінтерфейсу, до якого ви ввійшли.", + "interaction_modal.other_server_instructions": "Скопіюйте та вставте цю URL-адресу в поле пошуку вашого улюбленого застосунку Mastodon або вебінтерфейсу вашого сервера Mastodon.", "interaction_modal.preamble": "Оскільки Mastodon децентралізований, ви можете використовувати свій наявний обліковий запис, розміщений на іншому сервері Mastodon або сумісній платформі, якщо у вас немає облікового запису на цьому сервері.", "interaction_modal.title.favourite": "Вподобати допис {name}", "interaction_modal.title.follow": "Підписатися на {name}", diff --git a/app/javascript/mastodon/locales/ur.json b/app/javascript/mastodon/locales/ur.json index 0d8da88a690..3702a7ffeb4 100644 --- a/app/javascript/mastodon/locales/ur.json +++ b/app/javascript/mastodon/locales/ur.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "خاموش @{name}", "account.mute_notifications": "@{name} سے اطلاعات خاموش کریں", "account.muted": "خاموش کردہ", + "account.open_original_page": "Open original page", "account.posts": "ٹوٹ", "account.posts_with_replies": "ٹوٹ اور جوابات", "account.report": "@{name} اطلاع کریں", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index 5dfe7e22225..11847e1b247 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -2,10 +2,8 @@ "about.blocks": "Giới hạn chung", "about.contact": "Liên lạc:", "about.disclaimer": "Mastodon là phần mềm tự do mã nguồn mở, một thương hiệu của Mastodon gGmbH.", - "about.domain_blocks.comment": "Lý do", - "about.domain_blocks.domain": "Máy chủ", + "about.domain_blocks.no_reason_available": "Lý do không được cung cấp", "about.domain_blocks.preamble": "Mastodon cho phép bạn tương tác nội dung và giao tiếp với mọi người từ bất kỳ máy chủ nào khác trong mạng liên hợp. Còn máy chủ này có những ngoại lệ riêng.", - "about.domain_blocks.severity": "Mức độ", "about.domain_blocks.silenced.explanation": "Nói chung, bạn sẽ không thấy người và nội dung từ máy chủ này, trừ khi bạn tự tìm kiếm hoặc tự theo dõi.", "about.domain_blocks.silenced.title": "Hạn chế", "about.domain_blocks.suspended.explanation": "Dữ liệu từ máy chủ này sẽ không được xử lý, lưu trữ hoặc trao đổi. Mọi tương tác hoặc giao tiếp với người từ máy chủ này đều bị cấm.", @@ -51,6 +49,7 @@ "account.mute": "Ẩn @{name}", "account.mute_notifications": "Tắt thông báo từ @{name}", "account.muted": "Đã ẩn", + "account.open_original_page": "Mở trang gốc", "account.posts": "Tút", "account.posts_with_replies": "Trả lời", "account.report": "Báo cáo @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "Với tài khoản Mastodon, bạn có thể bình luận tút này.", "interaction_modal.on_another_server": "Trên một máy chủ khác", "interaction_modal.on_this_server": "Trên máy chủ này", - "interaction_modal.other_server_instructions": "Sao chép và dán URL này vào thanh tìm kiếm của ứng dụng bạn yêu thích hay trang web mà bạn đã đăng nhập vào.", + "interaction_modal.other_server_instructions": "Sao chép và dán URL này vào thanh tìm kiếm của ứng dụng Mastodon hoặc giao diện web máy chủ Mastodon mà bạn hiện dùng.", "interaction_modal.preamble": "Do Mastodon phi tập trung, bạn có thể sử dụng tài khoản hiện có trên một máy chủ Mastodon khác hoặc một nền tảng tương thích nếu bạn chưa có tài khoản trên máy chủ này.", "interaction_modal.title.favourite": "Thích tút của {name}", "interaction_modal.title.follow": "Theo dõi {name}", diff --git a/app/javascript/mastodon/locales/whitelist_de.json b/app/javascript/mastodon/locales/whitelist_de.json index 6c9617e609d..448cc9e7782 100644 --- a/app/javascript/mastodon/locales/whitelist_de.json +++ b/app/javascript/mastodon/locales/whitelist_de.json @@ -2,7 +2,6 @@ "relative_time.seconds", "relative_time.minutes", "relative_time.hours", - "relative_time.days", "account.badges.bot", "compose_form.publish_loud", "search_results.hashtags" diff --git a/app/javascript/mastodon/locales/zgh.json b/app/javascript/mastodon/locales/zgh.json index 41a19303abb..804fb6c0adf 100644 --- a/app/javascript/mastodon/locales/zgh.json +++ b/app/javascript/mastodon/locales/zgh.json @@ -2,10 +2,8 @@ "about.blocks": "Moderated servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.comment": "Reason", - "about.domain_blocks.domain": "Domain", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", - "about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -51,6 +49,7 @@ "account.mute": "ⵥⵥⵉⵥⵏ @{name}", "account.mute_notifications": "ⵥⵥⵉⵥⵏ ⵜⵉⵏⵖⵎⵉⵙⵉⵏ ⵙⴳ @{name}", "account.muted": "ⵉⵜⵜⵓⵥⵉⵥⵏ", + "account.open_original_page": "Open original page", "account.posts": "Toots", "account.posts_with_replies": "Toots and replies", "account.report": "Report @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.on_another_server": "On a different server", "interaction_modal.on_this_server": "On this server", - "interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.follow": "Follow {name}", diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index fb83d0f7175..10c137e8358 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -1,11 +1,9 @@ { "about.blocks": "被限制的服务器", "about.contact": "联系方式:", - "about.disclaimer": "Mastodon是免费,开源的软件,由Mastodon gGmbH持有商标。", - "about.domain_blocks.comment": "原因", - "about.domain_blocks.domain": "域名", + "about.disclaimer": "Mastodon 是免费的开源软件,由 Mastodon gGmbH 持有商标。", + "about.domain_blocks.no_reason_available": "原因不可用", "about.domain_blocks.preamble": "通常来说,在 Mastodon 上,你可以浏览联邦宇宙中任何一台服务器上的内容,并且和上面的用户互动。但其中一些在本服务器上被设置为例外。", - "about.domain_blocks.severity": "级别", "about.domain_blocks.silenced.explanation": "除非明确地搜索并关注对方,否则你不会看到来自此服务器的用户信息与内容。", "about.domain_blocks.silenced.title": "已隐藏", "about.domain_blocks.suspended.explanation": "此服务器的数据将不会被处理、存储或者交换,本站也将无法和来自此服务器的用户互动或者交流。", @@ -47,10 +45,11 @@ "account.locked_info": "此账户已锁嘟。账户所有者会手动审核关注者。", "account.media": "媒体", "account.mention": "提及 @{name}", - "account.moved_to": "{name} 的新账户现在是:", + "account.moved_to": "{name} 的新账号是:", "account.mute": "隐藏 @{name}", "account.mute_notifications": "隐藏来自 @{name} 的通知", "account.muted": "已隐藏", + "account.open_original_page": "打开原始页面", "account.posts": "嘟文", "account.posts_with_replies": "嘟文和回复", "account.report": "举报 @{name}", @@ -93,10 +92,10 @@ "bundle_modal_error.close": "关闭", "bundle_modal_error.message": "载入这个组件时发生了错误。", "bundle_modal_error.retry": "重试", - "closed_registrations.other_server_instructions": "基于Mastodon去中心化的特性, 你可以在其它服务器上创建账户并与该服务器保持联系.", - "closed_registrations_modal.description": "您并不能在 {domain} 上创建账户, 但您无需在 {domain} 上的账户也可以使用Mastodon.", + "closed_registrations.other_server_instructions": "基于 Mastodon 去中心化的特性,你可以在其它服务器上创建账号并继续与此账号保持联系。", + "closed_registrations_modal.description": "目前不能在 {domain} 上创建账号,但请注意使用 Mastodon 并非必须持有 {domain} 上的账号。", "closed_registrations_modal.find_another_server": "查找另外的服务器", - "closed_registrations_modal.preamble": "Mastodon是分布式的,所以无论您在哪个实例创建帐户,您都可以关注并与本服务器上的任何人交流。 甚至您可以自己搭建实例。", + "closed_registrations_modal.preamble": "Mastodon 是去中心化的,所以无论在哪个实例创建账号,都可以关注本服务器上的账号并与之交流。 或者你还可以自己搭建实例!", "closed_registrations_modal.title": "在 Mastodon 注册", "column.about": "关于", "column.blocks": "已屏蔽的用户", @@ -182,8 +181,8 @@ "directory.local": "仅来自 {domain}", "directory.new_arrivals": "新来者", "directory.recently_active": "最近活跃", - "disabled_account_banner.account_settings": "账户设置", - "disabled_account_banner.text": "您的帐户 {disabledAccount} 目前已被禁用。", + "disabled_account_banner.account_settings": "账号设置", + "disabled_account_banner.text": "您的账号 {disabledAccount} 目前已被禁用。", "dismissable_banner.community_timeline": "这些是来自 {domain} 用户的最新公共嘟文。", "dismissable_banner.dismiss": "忽略", "dismissable_banner.explore_links": "这些新闻故事正被本站和分布式网络上其他站点的用户谈论。", @@ -293,8 +292,8 @@ "interaction_modal.description.reply": "拥有一个 Mastodon 账号,你可以回复此嘟文。", "interaction_modal.on_another_server": "在另一服务器", "interaction_modal.on_this_server": "在此服务器", - "interaction_modal.other_server_instructions": "只需复制此 URL 并将其粘贴在搜索栏中,使用你喜欢的应用或网页界面均可。", - "interaction_modal.preamble": "由于 Mastodon 是去中心化的,如果你在本站没有账号,也可以使用在另一 Mastodon 服务器或其他兼容平台上的已有账号。", + "interaction_modal.other_server_instructions": "复制此链接并粘贴到你使用的Mastodon应用或者Mastodon服务器网页版搜索栏中。", + "interaction_modal.preamble": "基于 Mastodon 去中心化的特性,如果你在本站没有账号,也可以使用在另一 Mastodon 服务器或其他兼容平台上的已有账号。", "interaction_modal.title.favourite": "喜欢 {name} 的嘟文", "interaction_modal.title.follow": "关注 {name}", "interaction_modal.title.reblog": "转发 {name} 的嘟文", @@ -342,7 +341,7 @@ "lightbox.next": "下一个", "lightbox.previous": "上一个", "limited_account_hint.action": "仍然显示个人资料", - "limited_account_hint.title": "此账户已被 {domain} 管理员隐藏。", + "limited_account_hint.title": "此账号资料已被 {domain} 管理员隐藏。", "lists.account.add": "添加到列表", "lists.account.remove": "从列表中移除", "lists.delete": "删除列表", @@ -361,7 +360,7 @@ "media_gallery.toggle_visible": "隐藏图片", "missing_indicator.label": "找不到内容", "missing_indicator.sublabel": "无法找到此资源", - "moved_to_account_banner.text": "您的帐户 {disabledAccount} 已停用,因为您已迁移到 {movedToAccount} 。", + "moved_to_account_banner.text": "您的账号 {disabledAccount} 已停用,因为您已迁移到 {movedToAccount} 。", "mute_modal.duration": "持续时长", "mute_modal.hide_notifications": "同时隐藏来自这个用户的通知?", "mute_modal.indefinite": "无期限", @@ -589,7 +588,7 @@ "status.show_more_all": "显示全部内容", "status.show_original": "显示原文", "status.translate": "翻译", - "status.translated_from_with": "使用 {provider} 翻译 {lang} ", + "status.translated_from_with": "由 {provider} 翻译自 {lang}", "status.uncached_media_warning": "暂不可用", "status.unmute_conversation": "恢复此对话的通知提醒", "status.unpin": "在个人资料页面取消置顶", diff --git a/app/javascript/mastodon/locales/zh-HK.json b/app/javascript/mastodon/locales/zh-HK.json index 37a8ea506fc..495cfdca494 100644 --- a/app/javascript/mastodon/locales/zh-HK.json +++ b/app/javascript/mastodon/locales/zh-HK.json @@ -2,10 +2,8 @@ "about.blocks": "受管制的伺服器", "about.contact": "聯絡我們:", "about.disclaimer": "Mastodon 是一個自由的開源軟體,為 Mastodon gGmbH 的註冊商標。", - "about.domain_blocks.comment": "原因", - "about.domain_blocks.domain": "域名", + "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon 一般允許您閱讀,並和聯邦宇宙上任何伺服器的用戶互動。這些伺服器是本站設下的例外。", - "about.domain_blocks.severity": "嚴重性", "about.domain_blocks.silenced.explanation": "一般來說您不會看到來自這個伺服器的個人檔案和內容,除非您明確地打開或著追蹤此個人檔案。", "about.domain_blocks.silenced.title": "受限的", "about.domain_blocks.suspended.explanation": "來自此伺服器的資料將不會被處理、儲存或交換,本站也將無法和此伺服器上的用戶互動或者溝通。", @@ -51,6 +49,7 @@ "account.mute": "將 @{name} 靜音", "account.mute_notifications": "將來自 @{name} 的通知靜音", "account.muted": "靜音", + "account.open_original_page": "Open original page", "account.posts": "文章", "account.posts_with_replies": "包含回覆的文章", "account.report": "舉報 @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "在 Mastodon 上擁有帳號的話,您可以回覆此帖文。", "interaction_modal.on_another_server": "於不同伺服器", "interaction_modal.on_this_server": "於此伺服器", - "interaction_modal.other_server_instructions": "只需簡單地於您慣用的應用程式或有登入您帳號之網頁介面的搜尋欄中複製並貼上此 URL。", + "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "由於 Mastodon 是去中心化的,即使您於此伺服器上沒有帳號,仍可以利用託管於其他 Mastodon 伺服器或相容平台上的既存帳號。", "interaction_modal.title.favourite": "將 {name} 的帖文加入最愛", "interaction_modal.title.follow": "追蹤 {name}", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index e3086e089f9..a5ac8dbf748 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -2,10 +2,8 @@ "about.blocks": "受管制的伺服器", "about.contact": "聯絡我們:", "about.disclaimer": "Mastodon 是一個自由的開源軟體,是 Mastodon gGmbH 的註冊商標。", - "about.domain_blocks.comment": "原因", - "about.domain_blocks.domain": "網域", + "about.domain_blocks.no_reason_available": "無法存取之原因", "about.domain_blocks.preamble": "Mastodon 一般來說允許您閱讀並和聯邦宇宙上任何伺服器的使用者互動。這些伺服器是這個站台設下的例外。", - "about.domain_blocks.severity": "嚴重性", "about.domain_blocks.silenced.explanation": "一般來說您不會看到來自這個伺服器的個人檔案和內容,除非您明確地打開或著跟隨此個人檔案。", "about.domain_blocks.silenced.title": "受限的", "about.domain_blocks.suspended.explanation": "來自此伺服器的資料都不會被處理、儲存或交換,也無法和此伺服器上的使用者互動與溝通。", @@ -51,6 +49,7 @@ "account.mute": "靜音 @{name}", "account.mute_notifications": "靜音來自 @{name} 的通知", "account.muted": "已靜音", + "account.open_original_page": "檢視原始頁面", "account.posts": "嘟文", "account.posts_with_replies": "嘟文與回覆", "account.report": "檢舉 @{name}", @@ -293,7 +292,7 @@ "interaction_modal.description.reply": "在 Mastodon 上有個帳號的話,您可以回覆此嘟文。", "interaction_modal.on_another_server": "於不同伺服器", "interaction_modal.on_this_server": "於此伺服器", - "interaction_modal.other_server_instructions": "簡單地於您慣用的應用程式或有登入您帳號之網頁介面的搜尋欄中複製並貼上此 URL。", + "interaction_modal.other_server_instructions": "複製貼上此 URL 至您愛用的 Mastodon 應用程式或您 Mastodon 伺服器之網頁介面的搜尋欄。", "interaction_modal.preamble": "由於 Mastodon 是去中心化的,即便您於此沒有帳號,仍可以利用託管於其他 Mastodon 伺服器或相容平台上的既存帳號。", "interaction_modal.title.favourite": "將 {name} 的嘟文加入最愛", "interaction_modal.title.follow": "跟隨 {name}", diff --git a/config/locales/activerecord.bg.yml b/config/locales/activerecord.bg.yml index 601d6dcd9ba..123e7cd9b19 100644 --- a/config/locales/activerecord.bg.yml +++ b/config/locales/activerecord.bg.yml @@ -7,7 +7,7 @@ bg: options: Избори user: agreement: Споразумение за обслужване - email: Имейл адрес + email: Адрес на имейла locale: Локално password: Парола user/account: @@ -19,10 +19,37 @@ bg: account: attributes: username: - invalid: само букви, цифри и долни черти + invalid: трябва да има само букви, цифри и долни черти reserved: е запазено + admin/webhook: + attributes: + url: + invalid: е невалиден URL адрес + doorkeeper/application: + attributes: + website: + invalid: е невалиден URL адрес + import: + attributes: + data: + malformed: е деформиран + status: + attributes: + reblog: + taken: от публикациите вече съществуват user: attributes: email: blocked: използва се непозволен имейл доставчик unreachable: изглежда, че не съществува + role_id: + elevated: не може да е по-висока от текущата ви роля + user_role: + attributes: + permissions_as_keys: + dangerous: включва разрешения, които не са безопасни за базова роля + elevated: не може да включва разрешения, които настоящата ви роля не притежава + own_role: не може да се промени с текущата ви роля + position: + elevated: не може да е по-висока от текущата ви роля + own_role: не може да се промени с текущата ви роля diff --git a/config/locales/activerecord.da.yml b/config/locales/activerecord.da.yml index b75a3fd59a2..35d63da498e 100644 --- a/config/locales/activerecord.da.yml +++ b/config/locales/activerecord.da.yml @@ -3,7 +3,7 @@ da: activerecord: attributes: poll: - expires_at: Deadline + expires_at: 截止时间 options: Valgmuligheder user: agreement: Tjenesteaftale diff --git a/config/locales/activerecord.en-GB.yml b/config/locales/activerecord.en-GB.yml index c1a7d39c8a0..e651708c221 100644 --- a/config/locales/activerecord.en-GB.yml +++ b/config/locales/activerecord.en-GB.yml @@ -3,7 +3,7 @@ en-GB: activerecord: attributes: poll: - expires_at: Deadline + expires_at: Terfyn amser options: Choices user: agreement: Service agreement diff --git a/config/locales/activerecord.eo.yml b/config/locales/activerecord.eo.yml index ca48e0fe0cb..02774dd3949 100644 --- a/config/locales/activerecord.eo.yml +++ b/config/locales/activerecord.eo.yml @@ -7,7 +7,7 @@ eo: options: Elektoj user: agreement: Servo-interkonsento - email: Retadreso + email: Retpoŝtadreso locale: Lokaĵaro password: Pasvorto user/account: @@ -21,12 +21,35 @@ eo: username: invalid: nur leteroj, ciferoj kaj substrekoj reserved: rezervita + admin/webhook: + attributes: + url: + invalid: ne estas valida URL + doorkeeper/application: + attributes: + website: + invalid: ne estas valida URL + import: + attributes: + data: + malformed: estas misformita status: attributes: reblog: - taken: de statuso jam ekzistas + taken: de afiŝo jam ekzistas user: attributes: email: blocked: uzas nepermesitan retpoŝtan provizanton unreachable: ne ŝajnas ekzisti + role_id: + elevated: ne povas esti pli altranga ol via aktuala rolo + user_role: + attributes: + permissions_as_keys: + dangerous: inkluzivi permesojn kiuj ne estas sekuraj por la baza rolo + elevated: ne povas inkluzivi permesojn kiujn via aktuala rolo ne rajtas + own_role: ne eblas esti ŝanĝita per via aktuala rolo + position: + elevated: ne povas esti pli altranga ol via aktuala rolo + own_role: ne eblas esti ŝanĝita per via aktuala rolo diff --git a/config/locales/activerecord.ko.yml b/config/locales/activerecord.ko.yml index 9697215b591..8c6ebf5e6a9 100644 --- a/config/locales/activerecord.ko.yml +++ b/config/locales/activerecord.ko.yml @@ -19,8 +19,8 @@ ko: account: attributes: username: - invalid: 영문자, 숫자, _만 사용 가능 - reserved: 이미 예약되어 있습니다 + invalid: 영문자와 숫자, 밑줄만 사용 가능합니다 + reserved: 예약되어 있습니다 admin/webhook: attributes: url: diff --git a/config/locales/activerecord.pl.yml b/config/locales/activerecord.pl.yml index 23d19288689..0d1d9efb197 100644 --- a/config/locales/activerecord.pl.yml +++ b/config/locales/activerecord.pl.yml @@ -52,4 +52,4 @@ pl: own_role: nie można zmienić z aktualną rolą position: elevated: nie może być wyższa niż twoja bieżąca rola - own_role: nie można zmienić z aktualną rolą + own_role: nie może być zmieniona z twoją aktualną rolą diff --git a/config/locales/activerecord.sl.yml b/config/locales/activerecord.sl.yml index 6da0bb29c63..be6cea8718e 100644 --- a/config/locales/activerecord.sl.yml +++ b/config/locales/activerecord.sl.yml @@ -36,7 +36,7 @@ sl: status: attributes: reblog: - taken: od statusa že obstajajo + taken: od objave že obstajajo user: attributes: email: diff --git a/config/locales/activerecord.vi.yml b/config/locales/activerecord.vi.yml index ca3402f4764..9dd6b213646 100644 --- a/config/locales/activerecord.vi.yml +++ b/config/locales/activerecord.vi.yml @@ -7,7 +7,7 @@ vi: options: Lựa chọn user: agreement: Thỏa thuận dịch vụ - email: Địa chỉ e-mail + email: Địa chỉ email locale: Quốc gia password: Mật khẩu user/account: diff --git a/config/locales/activerecord.zh-TW.yml b/config/locales/activerecord.zh-TW.yml index 2548bdb2343..002ca95194a 100644 --- a/config/locales/activerecord.zh-TW.yml +++ b/config/locales/activerecord.zh-TW.yml @@ -7,7 +7,7 @@ zh-TW: options: 選擇 user: agreement: 服務同意書 - email: 電子信箱地址 + email: 電子郵件地址 locale: 地區 password: 密碼 user/account: @@ -40,7 +40,7 @@ zh-TW: user: attributes: email: - blocked: 使用不被允許的電子信箱供應商 + blocked: 使用不被允許的電子郵件供應商 unreachable: 似乎不存在 role_id: elevated: 不能高於您目前的角色 diff --git a/config/locales/af.yml b/config/locales/af.yml index ac4a09b340b..72b1b3c0876 100644 --- a/config/locales/af.yml +++ b/config/locales/af.yml @@ -32,6 +32,7 @@ af: title: Aangaande statuses: favourites: Gunstelinge + in_reply_to: Reaksie op strikes: actions: silence: "%{name} het %{target} se rekening beperk" @@ -73,7 +74,7 @@ af: reject_appeal: Verwerp appêl errors: '400': The request you submitted was invalid or malformed. - '403': You don't have permission to view this page. + '403': Jy het nie toestemming om hierdie bladsy te besigtig nie. '404': The page you are looking for isn't here. '406': This page is not available in the requested format. '410': The page you were looking for doesn't exist here anymore. @@ -86,8 +87,13 @@ af: imports: types: bookmarks: Boekmerke + login_activities: + description_html: Indien jy onbekende aktiwiteite gewaar, oorweeg dit om jou wagwoord te verander en twee-faktor verifikasie te aktiveer. navigation: toggle_menu: Skakel-kieslys + notification_mailer: + mention: + action: Reageer number: human: decimal_units: @@ -108,6 +114,8 @@ af: preferences: Voorkeure statuses: content_warning: 'Inhoud waarskuwing: %{warning}' + errors: + in_reply_not_found: Die plasing waarop jy probeer reageer blyk nie te bestaan nie. statuses_cleanup: ignore_favs: Ignoreer gunstelinge strikes: diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 9489aa7c5e4..2e5c82a330b 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -53,7 +53,10 @@ ar: submit: تعديل عنوان البريد الإلكتروني title: تعديل عنوان البريد الإلكتروني الخاص بـ %{username} change_role: + changed_msg: تم تغيير بنجاح! label: تغيير الدور + no_role: لا رتب + title: تم تغيير الرتب ل %{username} confirm: تأكيد confirmed: مؤكَّد confirming: التأكد @@ -97,6 +100,7 @@ ar: active: نشِط all: الكل pending: قيد المراجعة + silenced: محدود suspended: مُجَمَّد title: الإشراف moderation_notes: ملاحظات الإشراف @@ -104,6 +108,7 @@ ar: most_recent_ip: أحدث عنوان إيبي no_account_selected: لم يطرأ أي تغيير على أي حساب بما أنه لم يتم اختيار أي واحد no_limits_imposed: مِن دون حدود مشروطة + no_role_assigned: "'لم يتم تعيين أدوار`" not_subscribed: غير مشترك pending: في انتظار المراجعة perform_full_suspension: تعليق الحساب @@ -170,17 +175,21 @@ ar: approve_user: الموافقة على المستخدم assigned_to_self_report: أسند التقرير change_email_user: تغيير عنوان البريد الإلكتروني الخاص بالمستخدم + change_role_user: تم تغيير الرتبه للمستخدم confirm_user: تأكيد المستخدم create_account_warning: إنشاء تحذير create_announcement: إنشاء إعلان + create_canonical_email_block: إنشاء نطاق للبريد create_custom_emoji: إنشاء إيموجي مخصص create_domain_allow: إنشاء نطاق المسموح به create_domain_block: إنشاء كتلة نطاق create_email_domain_block: إنشاء كتلة نطاق بريد إلكتروني create_ip_block: إنشاء قاعدة IP جديدة create_unavailable_domain: إنشاء نطاق غير متوفر + create_user_role: انشاء رتبه demote_user: إنزال رتبة المستخدم destroy_announcement: احذف الإعلان + destroy_canonical_email_block: حذف نطاق للبريد destroy_custom_emoji: احذف الإيموجي المخصص destroy_domain_allow: حذف النطاق المسموح به destroy_domain_block: حذف كتلة النطاق @@ -221,26 +230,34 @@ ar: update_status: تحديث الحالة update_user_role: تحديث الدور actions: + approve_appeal_html: وافق %{name} على استئناف قرار الاعتدال من %{target} approve_user_html: قبل %{name} تسجيل %{target} assigned_to_self_report_html: قام %{name} بتعيين التقرير %{target} لأنفسهم change_email_user_html: غيّر %{name} عنوان البريد الإلكتروني للمستخدم %{target} + change_role_user_html: قام %{name} بإنشاء قاعدة للـIP %{target} confirm_user_html: "%{name} قد قام بتأكيد عنوان البريد الإلكتروني لـ %{target}" create_account_warning_html: قام %{name} بإرسال تحذير إلى %{target} create_announcement_html: قام %{name} بإنشاء إعلان جديد %{target} + create_canonical_email_block_html: قام %{name} بحظر نطاق البريد الإلكتروني %{target} create_custom_emoji_html: "%{name} قام برفع إيموجي جديد %{target}" create_domain_allow_html: قام %{name} بإضافة النطاق %{target} إلى القائمة البيضاء create_domain_block_html: "%{name} قام بحجب نطاق %{target}" create_email_domain_block_html: قام %{name} بحظر نطاق البريد الإلكتروني %{target} create_ip_block_html: قام %{name} بإنشاء قاعدة للـIP %{target} create_unavailable_domain_html: قام %{name} بتوقيف التوصيل للنطاق %{target} + create_user_role_html: "%{name} أنشأ رتبه %{target}" demote_user_html: قام %{name} بخفض الرتبة الوظيفية لـ%{target} destroy_announcement_html: قام %{name} بحذف الإعلان %{target} + destroy_canonical_email_block_html: قام %{name} برفع الحظر عن نطاق البريد الإلكتروني %{target} + destroy_custom_emoji_html: قام %{name} بتحديث الإيموجي %{target} destroy_domain_allow_html: قام %{name} بمنع الاتحاد مع النطاق %{target} destroy_domain_block_html: قام %{name} برفع الحظر عن النطاق %{target} destroy_email_domain_block_html: قام %{name} برفع الحظر عن نطاق البريد الإلكتروني %{target} + destroy_instance_html: "%{name} قام بحجب نطاق %{target}" destroy_ip_block_html: قام %{name} بحذف قاعدة للـIP %{target} destroy_status_html: قام %{name} بحذف منشور من %{target} destroy_unavailable_domain_html: قام %{name} باستئناف التوصيل للنطاق %{target} + destroy_user_role_html: "%{name} أنشأ رتبه %{target}" disable_2fa_user_html: قام %{name} بتعطيل المصادقة بخطوتين للمستخدم %{target} disable_custom_emoji_html: قام %{name} بتعطيل الإيموجي %{target} disable_sign_in_token_auth_user_html: "%{name} تعطيل مصادقة رمز البريد الإلكتروني لـ %{target}" @@ -250,22 +267,28 @@ ar: enable_user_html: قام %{name} بتنشيط تسجيل الدخول للمستخدم %{target} memorialize_account_html: قام %{name} بتحويل حساب %{target} إلى صفحة تذكارية promote_user_html: قام %{name} بترويج المستخدم %{target} + reject_appeal_html: وافق %{name} على استئناف قرار الاعتدال من %{target} reject_user_html: رفض %{name} تسجيل %{target} remove_avatar_user_html: قام %{name} بإزالة صورة %{target} الرمزية reopen_report_html: قام %{name} بإعادة فتح الشكوى %{target} + resend_user_html: "%{name} إعادة إرسال البريد الإلكتروني للتأكيد لـ %{target}" reset_password_user_html: قام %{name} بإعادة تعيين كلمة مرور المستخدم %{target} resolve_report_html: قام %{name} بحل الشكوى %{target} sensitive_account_html: قام %{name} بوضع علامة حساس على محتوى %{target} silence_account_html: قام %{name} بكتم حساب %{target} suspend_account_html: قام %{name} بتعليق حساب %{target} unassigned_report_html: قام %{name} بإلغاء تعيين الشكوى %{target} + unblock_email_account_html: "%{name} إلغاء حظر %{target} عنوان البريد الإلكتروني" unsensitive_account_html: قام %{name} بإزالة علامة حساس على محتوى %{target} unsilence_account_html: قام %{name} بإلغاء كتم المستخدم %{target} unsuspend_account_html: قام %{name} بإلغاء تعليق حساب %{target} update_announcement_html: قام %{name} بتحديث الإعلان %{target} update_custom_emoji_html: قام %{name} بتحديث الإيموجي %{target} update_domain_block_html: قام %{name} بتحديث كتلة النطاق %{target} + update_ip_block_html: قام %{name} بإنشاء قاعدة للـIP %{target} update_status_html: قام %{name} بتحديث منشور من %{target} + update_user_role_html: "%{name} تغيير رتبه %{target}" + deleted_account: احذف الحساب empty: لم يتم العثور على سجلات. filter_by_action: تصفية بحسب الإجراء filter_by_user: تصفية حسب المستخدم @@ -309,6 +332,7 @@ ar: listed: مُدرَج new: title: إضافة إيموجي خاص جديد + no_emoji_selected: لم يطرأ أي تغيير على أي حساب بما أنه لم يتم اختيار أي واحد not_permitted: غير مسموح لك بتنفيذ هذا الإجراء overwrite: إعادة الكتابة shortcode: الترميز المُصَغّر @@ -326,6 +350,13 @@ ar: media_storage: تخزين الوسائط new_users: مستخدمون جدد opened_reports: تقارير مفتوحة + pending_appeals_html: + few: "%{count} مستخدمين معلقين" + many: "%{count} مستخدمين معلقين" + one: "%{count} مستخدمين معلقين" + other: "%{count} تقارير معلقة" + two: "%{count} مستخدمين معلقين" + zero: "%{count} وسماً معلقاً" resolved_reports: تقارير تم حلها software: البرنامج sources: مصادر التسجيل @@ -600,6 +631,7 @@ ar: content_retention: title: الاحتفاظ بالمحتوى discovery: + follow_recommendations: اتبع التوصيات profile_directory: دليل الصفحات التعريفية public_timelines: الخيوط الزمنية العامة title: الاستكشاف @@ -609,6 +641,7 @@ ar: disabled: لا أحد users: للمستخدمين المتصلين محليا registrations: + preamble: تحكّم في مَن الذي يمكنه إنشاء حساب على خادمك الخاص. title: التسجيلات registrations_mode: modes: @@ -646,6 +679,8 @@ ar: with_media: تحتوي على وسائط strikes: actions: + delete_statuses: حَذَفَ %{name} رسائل %{target} + disable: جَمّدَ %{name} حساب %{target} suspend: قام %{name} بتعليق حساب %{target} appeal_approved: طُعِن فيه appeal_pending: طعن قيد المراجعة diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 83a5df302fa..104e256a0ea 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -5,6 +5,7 @@ bg: contact_missing: Не е зададено contact_unavailable: Не е приложимо hosted_on: Mastodon е хостван на %{domain} + title: Относно accounts: follow: Последвай followers: @@ -33,14 +34,21 @@ bg: avatar: Аватар by_domain: Домейн change_email: + changed_msg: Успешно променен имейл! current_email: Текущ имейл label: Промяна на имейл new_email: Нов имейл submit: Промяна на имейл title: Промяна на имейл за %{username} + change_role: + changed_msg: Успешно променена роля! + label: Промяна на ролята + no_role: Няма роля + title: Промяна на ролята за %{username} confirm: Потвърждаване confirmed: Потвърдено confirming: Потвърждаване + custom: Потребителско delete: Изтриване на данни deleted: Изтрито demote: Понижаване @@ -55,6 +63,8 @@ bg: email_status: Състояние на имейл enable: Размразяване enabled: Включено + enabled_msg: Успешно размразяване на акаунта на %{username} + followers: Последователи follows: Последвания header: Заглавна част inbox_url: Входящ URL @@ -73,6 +83,7 @@ bg: active: Активно all: Всичко pending: Чакащо + silenced: Ограничено suspended: Спряно title: Модерация moderation_notes: Модераторни бележки @@ -80,6 +91,7 @@ bg: most_recent_ip: Последен IP no_account_selected: Нито един акаунт не е променен, тъй като нито един не е избран no_limits_imposed: Няма наложени ограничения + no_role_assigned: Няма поставена роля not_subscribed: Без абонамент pending: Изчаква преглед perform_full_suspension: Спиране @@ -92,10 +104,36 @@ bg: rejected_msg: Успешно отхвърлена заявка за регистрация на %{username} remove_avatar: Премахване на аватар remove_header: Премахване на заглавна част + resend_confirmation: + already_confirmed: Този потребител вече е потвърден + reset: Нулиране + reset_password: Нулиране на паролата + resubscribe: Абониране пак + role: Роля + search: Търсене + search_same_email_domain: Други потребители със същия домейн за имейл + search_same_ip: Други потребители със същия IP + security_measures: + only_password: Само парола + password_and_2fa: Парола и двуфакторно удостоверяване + sensitized: Отбелязано като деликатно съдържание + shared_inbox_url: URL адрес на споделена входяща кутия + show: + created_reports: Докладвания + targeted_reports: Докладвано от други + silence: Ограничение + silenced: Ограничено + statuses: Публикации + subscribe: Абониране + suspend: Спиране + suspended: Спряно + title: Акаунти + unconfirmed_email: Непотвърден имейл unsubscribe: Отписване username: Потребителско име warn: Предупреждение web: Уеб + whitelisted: Позволено за федерацията action_logs: action_types: confirm_user: Потвърждаване на потребител @@ -103,10 +141,14 @@ bg: create_announcement: Създаване на оповестяване create_custom_emoji: Създаване на персонализирано емоджи create_ip_block: Създаване на IP правило + create_user_role: Създаване на роля demote_user: Понижаване на потребител destroy_announcement: Изтриване на оповестяване destroy_custom_emoji: Изтриване на персонализирано емоджи + destroy_ip_block: Изтриване на правило за IP destroy_status: Изтриване на статус + destroy_unavailable_domain: Изтриване на неналичен домейн + destroy_user_role: Унищожаване на роля disable_2fa_user: Деактивиране на 2FA disable_custom_emoji: Деактивиране на персонализирано емоджи disable_user: Деактивиране на потребител @@ -116,23 +158,250 @@ bg: remove_avatar_user: Премахване на аватар reopen_report: Повторно отваряне на доклад reset_password_user: Нулиране на парола + deleted_account: изтрит акаунт + announcements: + live: На живо + publish: Публикуване + custom_emojis: + by_domain: Домейн + copy: Копиране + create_new_category: Създаване на нова категория + created_msg: Успешно сътворено емоджи! + delete: Изтриване + destroyed_msg: Успешно унищожено емоджи! + disable: Изключване + disabled: Изключено + disabled_msg: Успешно изключване на това емоджи + emoji: Емоджи + enable: Включване + enabled: Включено + enabled_msg: Успешно включване на това емоджи + image_hint: PNG или GIF до %{size} + list: Списък + listed: В списъка + new: + title: Добавяне на ново потребителско емоджи + not_permitted: Нямате право да извършвате това действие + overwrite: Презаписване + shortcode: Кратък код + shortcode_hint: Поне 2 символа, само азбучно-цифрови символи и долни черти + title: Потребителски емоджита + uncategorized: Некатегоризирано + update_failed_msg: Не може да се обнови това емоджи + updated_msg: Успешно осъвременено емоджи! + upload: Качване + dashboard: + active_users: дейни потребители + interactions: взаимодействия + media_storage: Мултимедийно хранилище + new_users: нови потребители + opened_reports: отворени доклади + resolved_reports: разрешени доклади + software: Софтуер + space: Използвано пространство + title: Табло за управление + top_languages: Водещи дейни езици + top_servers: Водещи дейни сървъри + website: Уебсайт + disputes: + appeals: + empty: Няма намерени обжалвания. + title: Жалби + domain_blocks: + domain: Домейн + new: + severity: + silence: Тишина + private_comment: Личен коментар + private_comment_hint: Коментирането за това ограничение на домейна за вътрешна употреба от модераторите. + email_domain_blocks: + title: Блокирани домейни на имейл + follow_recommendations: + language: За език + status: Състояние + instances: + by_domain: Домейн + content_policies: + policies: + silence: Ограничение + policy: Политика + dashboard: + instance_languages_dimension: Водещи езици + delivery: + clear: Изчистване на грешките за доставка + restart: Рестартиране на доставката + stop: Спиране на доставката + unavailable: Неналично + delivery_available: Доставката е налична + delivery_error_days: Грешни дни на доставяне + empty: Няма намерени домейни. + moderation: + all: Всичко + title: Федерация + total_blocked_by_us: Блокирано от нас + total_followed_by_them: Последвани от тях + total_followed_by_us: Последвано от нас + invites: + deactivate_all: Деактивиране на всички + filter: + all: Всичко + available: Налично + expired: Изтекло + title: Филтър + title: Покани + ip_blocks: + add_new: Създаване на правило + delete: Изтриване + expires_in: + '1209600': 2 седмици + '15778476': 6 месеца + '2629746': 1 месец + '31556952': 1 година + '86400': 1 ден + '94670856': 3 години + relationships: + title: Отношения на %{acct} + relays: + delete: Изтриване + disable: Изключване + disabled: Изключено + enable: Включване + enabled: Включено + status: Състояние + report_notes: + today_at: Днес от %{time} + reports: + are_you_sure: Сигурни ли сте? + category: Категория + created_at: Докладвано + forwarded: Препратено + forwarded_to: Препратено до %{domain} + notes: + create: Добавяне на бележка + delete: Изтриване + title: Бележки + reopen: Отваряне пак на доклад + reported_account: Докладван акаунт + reported_by: Докладвано от + resolved: Разрешено + status: Състояние + statuses: Докладвано съдържание + updated_at: Обновено + view_profile: Преглед на профила + roles: + add_new: Добавяне на роля + categories: + administration: Администрация + invites: Покани + moderation: Mодериране + delete: Изтриване + privileges: + administrator: Администратор + manage_invites: Управление на поканите + manage_reports: Управление на докладите + manage_roles: Управление на ролите + title: Роли + rules: + add_new: Добавяне на правило + delete: Изтриване + edit: Промяна на правило + empty: Още няма определени правила на сървъра. + title: Правила на сървъра + settings: + about: + manage_rules: Управление на правилата на сървъра + appearance: + title: Външен вид + registrations: + title: Регистрации + title: Настройки на сървъра + statuses: + account: Автор + application: Приложение + back_to_account: Назад към страницата на акаунта + back_to_report: Назад към страницата на доклада + batch: + remove_from_report: Премахване от доклада + report: Докладване + deleted: Изтрито + favourites: Любими + history: История на версиите + language: Език + media: + title: Мултимедия + metadata: Метаданни + open: Отваряне на публикация + original_status: Първообразна публикация + visibility: Видимост + trends: + tags: + dashboard: + tag_accounts_measure: неповторими употреби + tag_languages_dimension: Водещи езици + tag_servers_dimension: Водещи сървъри + tag_servers_measure: различни сървъри + tag_uses_measure: обща употреба + not_usable: Не може да се използва + usable: Може да се употребява + warning_presets: + delete: Изтриване + webhooks: + delete: Изтриване + events: Събития + status: Състояние + title: Уебкуки + admin_mailer: + new_appeal: + actions: + none: предупреждение + appearance: + localization: + body: Mastodon е преведено от доброволци. + guide_link: https://ru.crowdin.com/project/mastodon + guide_link_text: Всеки може да допринася. + sensitive_content: Деликатно съдържание application_mailer: + notification_preferences: Промяна на предпочитанията за имейл settings: 'Промяна на предпочитанията за e-mail: %{link}' view: 'Преглед:' + view_profile: Преглед на профила + view_status: Преглед на публикацията auth: + apply_for_account: Вземане в спсисъка за чакане + change_password: Парола + delete_account: Изтриване на акаунта didnt_get_confirmation: Не получих инструкции за потвърждение forgot_password: Забравих си паролата login: Влизане logout: Излизане register: Регистрация + registration_closed: "%{instance} не приема нови членуващи" resend_confirmation: Изпрати отново инструкции за потвърждение reset_password: Подновяване на паролата - security: Идентификационни данни - set_new_password: Задай нова парола + security: Сигурност + set_new_password: Задаване на нова парола + setup: + title: Настройка + status: + account_status: Състояние на акаунта authorize_follow: + already_following: Вече следвате този акаунт error: Възникна грешка в откриването на потребителя follow: Последвай + follow_request: 'Изпратихте следната заявка до:' + post_follow: + close: Или просто затворете този прозорец. + return: Показване на профила на потребителя + web: Към мрежата title: Последвай %{acct} + challenge: + confirm: Продължаване + invalid_password: Невалидна парола + prompt: Потвърдете паролата, за да продължите + date: + formats: + default: "%b %d, %Y" + with_month_name: "%B %d, %Y" datetime: distance_in_words: about_x_hours: "%{count} ч." @@ -147,77 +416,338 @@ bg: x_minutes: "%{count} мин" x_months: "%{count} м" x_seconds: "%{count} сек" + deletes: + challenge_not_passed: Въвели сте неправилна информация + confirm_username: Въведете потребителското си име, за да потвърдите процедурата + proceed: Изтриване на акаунта + success_msg: Вашият акаунт е успешно изтрит + warning: + before: 'Прочетете внимателно тези бележки преди да продължите:' + data_removal: Ваши публикации и други данни ще бъдат завинаги премахнати + username_available: Вашето потребителско име ще стане налично отново + username_unavailable: Вашето потребителско име ще остане неналично + disputes: + strikes: + title: "%{action} от %{date}" + title_actions: + none: Предупреждение errors: '400': The request you submitted was invalid or malformed. - '403': You don't have permission to view this page. - '404': The page you are looking for isn't here. + '403': Нямате позволение да разгледате тази страница. + '404': Търсената от вас страница не е тук. '406': This page is not available in the requested format. '410': The page you were looking for doesn't exist here anymore. - '422': - '429': Too many requests - '500': + '422': + title: Неуспешна проверка за сигурност + '429': Премного заявки + '500': + title: Страницата не е правилна '503': The page could not be served due to a temporary server failure. exports: + archive_takeout: + date: Дата + download: Изтегляне на архива ви + size: Размер blocks: Вашите блокирания + bookmarks: Отметки + lists: Списъци storage: Съхранение на мултимедия + filters: + contexts: + account: Профили + notifications: Известия + thread: Разговори + edit: + add_keyword: Добавяне на ключова дума + keywords: Ключови думи + statuses: Отделни публикации + title: Редактиране на филтър + index: + delete: Изтриване + empty: Нямате филтри. + keywords: + one: "%{count} ключова дума" + other: "%{count} ключови думи" + statuses: + one: "%{count} публикация" + other: "%{count} публикации" + title: Филтри + new: + save: Запазване на нов филтър + title: Добавяне на нов филтър + statuses: + back_to_filter: Обратно към филтъра + batch: + remove: Премахване от филтъра + index: + title: Филтрирани публикации generic: + all: Всичко changes_saved_msg: Успешно запазване на промените! + copy: Копиране + delete: Изтриване + none: Нищо + order_by: Подреждане по save_changes: Запази промените + today: днес imports: + modes: + overwrite: Презаписване + overwrite_long: Заменя текущите записи с новите preface: Можеш да импортираш някои данни, като например всички хора, които следваш или блокираш в акаунта си на тази инстанция, от файлове, създадени чрез експорт в друга инстанция. success: Твоите данни бяха успешно качени и ще бъдат обработени впоследствие types: blocking: Списък на блокираните + bookmarks: Отметки following: Списък на последователите upload: Качване + invites: + delete: Деактивиране + expired: Изтекло + expires_in: + '1800': 30 минути + '21600': 6 часа + '3600': 1 час + '43200': 12 часа + '604800': 1 седмица + '86400': 1 ден + expires_in_prompt: Никога + generate: Поражда връзка за покана + invited_by: 'Бяхте поканени от:' + max_uses: + one: 1 употреба + other: "%{count} употреби" + max_uses_prompt: Без ограничение + title: Поканете хора + login_activities: + authentication_methods: + password: парола + webauthn: ключове за сигурност + empty: Няма налична история на удостоверяване + title: Историята на удостоверяване media_attachments: validations: images_and_video: Не мога да прикача видеоклип към публикация, която вече съдържа изображения too_many: Не мога да прикача повече от 4 файла + migrations: + past_migrations: Минали миграции + redirected_msg: Вашият акаунт сега се пренасочва към %{acct}. + redirecting_to: Вашият акаунт е пренасочен към %{acct}. + set_redirect: Задаване на пренасочване + moderation: + title: Mодериране notification_mailer: favourite: body: 'Публикацията ти беше харесана от %{name}:' subject: "%{name} хареса твоята публикация" + title: Ново любимо follow: body: "%{name} те последва!" subject: "%{name} те последва" + title: Нов последовател follow_request: body: "%{name} помоли за разрешение да те последва" subject: 'Чакащ последовател: %{name}' mention: + action: Отговор body: "%{name} те спомена в:" subject: "%{name} те спомена" + title: Ново споменаване reblog: body: 'Твоята публикация беше споделена от %{name}:' subject: "%{name} сподели публикацията ти" + notifications: + email_events_hint: 'Изберете събития, за които искате да получавате известия:' + other_settings: Настройки за други известия + number: + human: + decimal_units: + format: "%n %u" + units: + billion: млрд + million: млн + quadrillion: квдрлн + thousand: хил + trillion: трлн + otp_authentication: + enable: Включване pagination: next: Напред prev: Назад + polls: + errors: + expired: Анкетата вече е приключила + preferences: + other: Друго + privacy_policy: + title: Политика за поверителност + relationships: + activity: Дейност на акаунта + followers: Последователи + invited: С покана + last_active: Последна дейност + most_recent: Най-наскоро + moved: Преместено + remove_selected_domains: Премахване на всички последователи от избраните домейни + remove_selected_followers: Премахване на избраните последователи + remove_selected_follows: Стоп на следването на избраните потребители + status: Състояние на акаунта remote_follow: missing_resource: Неуспешно търсене на нужния URL за пренасочване за твоя акаунт + rss: + descriptions: + account: Публични публикации от @%{acct} + sessions: + activity: Последна активност + browser: Браузър + browsers: + alipay: Alipay + blackberry: Blackberry + chrome: Chrome + edge: Edge на Майкрософт + electron: Electron + firefox: Firefox + generic: Неизвестен браузър + ie: Internet Explorer + micro_messenger: MicroMessenger + nokia: Браузър Nokia S40 Ovi + opera: Опера + otter: Otter + phantom_js: PhantomJS + qq: Браузър QQ + safari: Сафари + uc_browser: UCBrowser + weibo: Weibo + current_session: Текуща сесия + description: "%{browser} на %{platform}" + ip: IP адрес + platforms: + adobe_air: Adobe Air + android: Android + blackberry: Blackberry + chrome_os: Оп. сист. Chrome + firefox_os: Оп. сист. Firefox + ios: iOS + linux: Линукс + mac: macOS + other: неизвестна платформа + windows: Windows + windows_mobile: Windows Mobile + windows_phone: Windows Phone + title: Сесии + view_authentication_history: Преглед на историята на удостоверяване на акаунта ви settings: + account: Акаунт + account_settings: Настройки на акаунта + appearance: Външен вид authorized_apps: Упълномощени приложения back: Обратно към Mastodon + delete: Изтриване на акаунта + development: Развой edit_profile: Редактирай профила си export: Експортиране на данни import: Импортиране + import_and_export: Внос и износ + migrate: Миграция на акаунта + notifications: Известия preferences: Предпочитания + profile: Профил + relationships: Последвания и последователи two_factor_authentication: Двустепенно удостоверяване + webauthn_authentication: Ключове за сигурност statuses: + attached: + audio: + one: "%{count} звукозапис" + other: "%{count} звукозаписа" + image: + one: "%{count} образ" + other: "%{count} образа" + video: + one: "%{count} видео" + other: "%{count} видеозаписа" + default_language: Същият като езика на интерфейса open_in_web: Отвори в уеб over_character_limit: прехвърлен лимит от %{max} символа + poll: + vote: Гласуване show_more: Покажи повече visibilities: private: Покажи само на последователите си public: Публично unlisted: Публично, но не показвай в публичния канал + statuses_cleanup: + enabled: Автоматично изтриване на стари публикации + exceptions: Изключения + ignore_favs: Пренебрегване на любими + keep_pinned: Държа на закачените публикации + min_age: + '1209600': 2 седмици + '15778476': 6 месеца + '2629746': 1 месец + '31556952': 1 година + '5259492': 2 месеца + '604800': 1 седмица + '63113904': 2 години + '7889238': 3 месеца + min_age_label: Възрастов праг stream_entries: + pinned: Закачена публикация reblogged: споделено sensitive_content: Деликатно съдържание + themes: + contrast: Mastodon (висок контраст) + default: Mastodon (тъмно) + mastodon-light: Mastodon (светло) time: formats: default: "%d %b, %Y, %H:%M" + month: "%b %Y" + time: "%H:%M" two_factor_authentication: + add: Добавяне disable: Деактивирай + edit: Редактиране + enabled: Двуфакторното удостоверяване е включено + enabled_success: Двуфакторното удостоверяване е успешно включено + methods: Двуфакторни начини + webauthn: Ключове за сигурност + user_mailer: + appeal_approved: + action: Към акаунта ви + backup_ready: + subject: Вашият архив е готов за изтегляне + warning: + categories: + spam: Спам + reason: 'Причина:' + statuses: 'Цитирани публ.:' + subject: + delete_statuses: Ваши публикации в %{acct} са били премахнати + title: + delete_statuses: Публикацията е премахната + disable: Акаунтът е замразен + mark_statuses_as_sensitive: Публикацията отбелязана като деликатна + none: Предупреждение + welcome: + edit_profile_action: Настройване на профила + explanation: Ето няколко стъпки за начало + subject: Добре дошли в Mastodon + title: Добре дошли на борда, %{name}! users: + follow_limit_reached: Не може да последвате повече от %{limit} души invalid_otp_token: Невалиден код + verification: + verification: Проверка + webauthn_credentials: + add: Добавяне на нов ключ за сигурност + create: + error: Възникна проблем, добавяйки ключ за сигурност. Опитайте пак. + success: Вашият ключ за сигурност беше добавен успешно. + delete: Изтриване + destroy: + error: Възникна проблем, изтривайки ключа си за сигурност. Опитайте пак. + success: Вашият ключ за сигурност беше изтрит успешно. + invalid_credential: Невалиден ключ за сигурност + not_supported: Този браузър не поддържа ключове за сигурност + otp_required: Първо включете двуфакторното удостоверяване, за да използвате ключовете за сигурност. diff --git a/config/locales/cs.yml b/config/locales/cs.yml index eb096ff3331..b93ec307224 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -180,6 +180,7 @@ cs: confirm_user: Potvrdit uživatele create_account_warning: Vytvořit varování create_announcement: Nové oznámení + create_canonical_email_block: Zablokovat email create_custom_emoji: Vytvořit vlastní emoji create_domain_allow: Vytvořit povolení domény create_domain_block: Vytvořit blokaci domény @@ -189,6 +190,7 @@ cs: create_user_role: Vytvořit roli demote_user: Snížit roli uživatele destroy_announcement: Odstranit oznámení + destroy_canonical_email_block: Odblokovat email destroy_custom_emoji: Odstranit vlastní emoji destroy_domain_allow: Odstranit povolení domény destroy_domain_block: Odstranit blokaci domény @@ -1155,6 +1157,11 @@ cs: many: "%{count} příspěvků" one: "%{count} příspěvek" other: "%{count} příspěvků" + statuses_long: + few: "%{count} skryté příspěvky" + many: "%{count} skrytých příspěvků" + one: "%{count} skrytý příspěvek" + other: "%{count} skrytých příspěvků" title: Filtry new: save: Uložit nový filtr diff --git a/config/locales/de.yml b/config/locales/de.yml index d97b31640a3..d6f8ba94ef7 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1608,7 +1608,7 @@ de: edit_profile_step: Du kannst dein Profil anpassen, indem du einen Avatar oder ein Titelbild hochlädst, deinen Anzeigenamen änderst und viel mehr. Du kannst optional einstellen, ob du Accounts, die dir folgen wollen, akzeptieren musst, bevor sie dies können. explanation: Hier sind ein paar Tipps, um loszulegen final_action: Fang an zu posten - final_step: 'Fang jetzt an zu posten! Selbst ohne Follower werden deine öffentlichen Beiträge von anderen gesehen, zum Beispiel in der lokalen Timeline oder über die Hashtags. Möglicherweise möchtest du dich allen mit dem Hashtag #introductions vorstellen?' + final_step: 'Fang jetzt an zu posten! Selbst ohne Follower werden deine öffentlichen Beiträge von anderen gesehen, zum Beispiel in der lokalen Timeline oder über die Hashtags. Möglicherweise möchtest du dich allen mit dem Hashtag #neuhier vorstellen.' full_handle: Dein vollständiger Benutzername full_handle_hint: Dies ist, was du deinen Freunden sagen kannst, damit sie dich anschreiben oder dir von einem anderen Server folgen können. subject: Willkommen bei Mastodon diff --git a/config/locales/devise.bg.yml b/config/locales/devise.bg.yml index c3773bcae7c..515afa037ae 100644 --- a/config/locales/devise.bg.yml +++ b/config/locales/devise.bg.yml @@ -2,20 +2,20 @@ bg: devise: confirmations: - confirmed: Твоят профил беше успешно потвърден. Влизането в профила е успешно. - send_instructions: Ще получиш писмо с инструкции как да потвърдиш своя профил до няколко минути. - send_paranoid_instructions: Ако твоят имейл адрес съществува в базата ни, ще получиш там инструкции как да потвърдиш своя профил. + confirmed: Вашият адрес на имейл беше успешно потвърден. + send_instructions: Ще получите е-писмо с указания как да потвърдите адреса на имейла си за няколко минути. Проверете си папката за спам, ако не сте получили това е-писмо. + send_paranoid_instructions: Ако адресът на имейл ви съществува в базата ни данни, ще получите е-писмо с указания как да потвърдите адреса на имейла си за няколко минути. Проверете си папката за спам, ако не сте получили това е-писмо. failure: already_authenticated: Вече си вътре в профила си. - inactive: Профилът ти все още не е активиран. - invalid: Невалиден %{authentication_keys}. - last_attempt: Разполагаш с още един опит преди профилът ти да бъде заключен. - locked: Профилът ти е заключен. - not_found_in_database: Невалиден %{authentication_keys}. + inactive: Акаунтът ви още не е задействан. + invalid: Невалиден %{authentication_keys} или парола. + last_attempt: Разполагате с още един опит преди акаунтът ви да се заключи. + locked: Вашият акаунт е заключен. + not_found_in_database: Невалиден %{authentication_keys} или парола. pending: Вашият акаунт все още е в процес на проверка. - timeout: Сесията ти изтече, моля влез отново, за да продължиш. - unauthenticated: Преди да продължиш, трябва да влезеш в профила си или да се регистрираш. - unconfirmed: Преди да продължиш, трябва да потвърдиш регистрацията си. + timeout: Сесията ви изтече. Влезте пак, за да продължите. + unauthenticated: Преди да продължите, трябва да влезете или да се регистрирате. + unconfirmed: Преди да продължите, трябва да потвърдиш адреса на имейла си. mailer: confirmation_instructions: action: Потвърдете имейл адреса @@ -23,8 +23,8 @@ bg: explanation: Създали сте акаунт на %{host} с този имейл адрес. Само на едно щракване разстояние сте от активирането му. Ако това не сте били вие, моля, игнорирайте този имейл. explanation_when_pending: Кандидатствахте за покана до %{host} с този имейл адрес. След като потвърдите своя имейл адрес, ние ще разгледаме вашето заявление. Можете да влезете, за да промените данните си или да изтриете акаунта си, но нямате достъп до повечето функции, докато акаунтът ви не бъде одобрен. Ако вашето заявление бъде отхвърлено, вашите данни ще бъдат премахнати, така че няма да се изискват допълнителни действия от вас. Ако това не сте били вие, моля, игнорирайте този имейл. extra_html: Моля, проверете правилата на сървъра и нашите условия за обслужване. - subject: 'Mastodon: Инструкции за потвърждаване %{instance}' - title: Потвърдете имейл адреса + subject: 'Mastodon: Указания за потвърждаване за %{instance}' + title: Потвърдете адреса на имейла email_changed: explanation: 'Имейл адресът на вашия акаунт се променя на:' extra: Ако не сте сменили имейла си, вероятно някой е получил достъп до вашия акаунт. Моля, сменете паролата си незабавно или се свържете с администратора на сървъра, ако сте блокирани от акаунта си. @@ -39,27 +39,27 @@ bg: explanation: Потвърдете новия адрес, за да промените имейла си. extra: Ако тази промяна не е инициирана от вас, моля, игнорирайте този имейл. Имейл адресът за акаунта на Mastodon няма да се промени, докато не влезете във връзката по-горе. subject: 'Mastodon: Потвърдете имейла за %{instance}' - title: Потвърдете имейл адреса + title: Потвърдете адреса на имейла reset_password_instructions: action: Промяна на парола - explanation: Поискахте нова парола за вашия акаунт. + explanation: Поискахте нова парола за акаунта си. extra: Ако не сте поискали това, моля, игнорирайте този имейл. Паролата ви няма да се промени, докато не влезете във връзката по-горе и не създадете нова. - subject: Инструкции за смяна на паролата + subject: 'Mastodon: Указания за задаване на нова парола' title: Нулиране на парола two_factor_disabled: explanation: Двуфакторното удостоверяване за вашия акаунт е деактивирано. Влизането вече е възможно, като се използват само имейл адрес и парола. subject: 'Mastodon: Двуфакторното удостоверяване е деактивирано' - title: 2FA деактивирано + title: Двуфакторното изключено two_factor_enabled: explanation: За вашия акаунт е активирано двуфакторно удостоверяване. За влизане ще е необходим ключ, генериран от сдвоеното приложение TOTP. subject: 'Mastodon: Двуфакторното удостоверяване е активирано' - title: 2FA активирано + title: Двуфакторно удостоверяване включено two_factor_recovery_codes_changed: explanation: Предишните кодове за възстановяване са обезсилени и се генерират нови. subject: 'Mastodon: Възстановени са двуфакторни кодове за възстановяване' title: 2FA кодове за възстановяване са променени unlock_instructions: - subject: Инструкции за отключване + subject: 'Mastodon: указания за отключване' webauthn_credential: added: explanation: Следният ключ за сигурност е добавен към вашия акаунт @@ -87,8 +87,8 @@ bg: updated: Паролата ти беше променена успешно. Влизането в профила е успешно. updated_not_active: Паролата ти беше променена успешно. registrations: - destroyed: Довиждане! Твоят профил беше успешно изтрит. Надяваме се скоро да те видим отново. - signed_up: Привет! Регистрирацията ти е успешна. + destroyed: Довиждане! Вашият акаунт беше успешно изтрит. Надяваме се скоро да ви видим пак. + signed_up: Добре дошли! Успешно се регистрирахте. signed_up_but_inactive: Регистрирацията ти е успешна. Въпреки това, не можеш да влезеш в профила си, защото той все още не е потвърден. signed_up_but_locked: Регистрирацията ти е успешна. Въпреки това, не можеш да влезеш в профила си, защото той е заключен. signed_up_but_pending: На вашия имейл адрес е изпратено съобщение с връзка за потвърждение. След като щракнете върху връзката, ние ще прегледаме вашето заявление. Ще бъдете уведомени, ако то е одобрено. diff --git a/config/locales/devise.en-GB.yml b/config/locales/devise.en-GB.yml index ef03d181049..9a51d075763 100644 --- a/config/locales/devise.en-GB.yml +++ b/config/locales/devise.en-GB.yml @@ -1 +1,115 @@ +--- en-GB: + devise: + confirmations: + confirmed: Your email address has been successfully confirmed. + send_instructions: You will receive an email with instructions for how to confirm your email address in a few minutes. Please check your spam folder if you didn't receive this email. + send_paranoid_instructions: If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes. Please check your spam folder if you didn't receive this email. + failure: + already_authenticated: You are already signed in. + inactive: Your account is not activated yet. + invalid: Invalid %{authentication_keys} or password. + last_attempt: You have one more attempt before your account is locked. + locked: Your account is locked. + not_found_in_database: Invalid %{authentication_keys} or password. + pending: Your account is still under review. + timeout: Your session expired. Please sign in again to continue. + unauthenticated: You need to sign in or sign up before continuing. + unconfirmed: You have to confirm your email address before continuing. + mailer: + confirmation_instructions: + action: Verify email address + action_with_app: Confirm and return to %{app} + explanation: You have created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email. + explanation_when_pending: You applied for an invite to %{host} with this email address. Once you confirm your e-mail address, we will review your application. You can login to change your details or delete your account, but you cannot access most of the functions until your account is approved. If your application is rejected, your data will be removed, so no further action will be required from you. If this wasn't you, please ignore this email. + extra_html: Please also check out the rules of the server and our terms of service. + subject: 'Mastodon: Confirmation instructions for %{instance}' + title: Verify email address + email_changed: + explanation: 'The email address for your account is being changed to:' + extra: If you did not change your email, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account. + subject: 'Mastodon: Email changed' + title: New email address + password_change: + explanation: The password for your account has been changed. + extra: If you did not change your password, it is likely that someone has gained access to your account. Please change your password immediately or contact the server admin if you're locked out of your account. + subject: 'Mastodon: Password changed' + title: Password changed + reconfirmation_instructions: + explanation: Confirm the new address to change your email. + extra: If this change wasn't initiated by you, please ignore this email. The email address for the Mastodon account won't change until you access the link above. + subject: 'Mastodon: Confirm email for %{instance}' + title: Verify email address + reset_password_instructions: + action: Change password + explanation: You requested a new password for your account. + extra: If you didn't request this, please ignore this email. Your password won't change until you access the link above and create a new one. + subject: 'Mastodon: Reset password instructions' + title: Password reset + two_factor_disabled: + explanation: Two-factor authentication for your account has been disabled. Login is now possible using only e-mail address and password. + subject: 'Mastodon: Two-factor authentication disabled' + title: 2FA disabled + two_factor_enabled: + explanation: Two-factor authentication has been enabled for your account. A token generated by the paired TOTP app will be required for login. + subject: 'Mastodon: Two-factor authentication enabled' + title: 2FA enabled + two_factor_recovery_codes_changed: + explanation: The previous recovery codes have been invalidated and new ones generated. + subject: 'Mastodon: Two-factor recovery codes re-generated' + title: 2FA recovery codes changed + unlock_instructions: + subject: 'Mastodon: Unlock instructions' + webauthn_credential: + added: + explanation: The following security key has been added to your account + subject: 'Mastodon: New security key' + title: A new security key has been added + deleted: + explanation: The following security key has been deleted from your account + subject: 'Mastodon: Security key deleted' + title: One of your security keys has been deleted + webauthn_disabled: + explanation: Authentication with security keys has been disabled for your account. Login is now possible using only the token generated by the paired TOTP app. + subject: 'Mastodon: Authentication with security keys disabled' + title: Security keys disabled + webauthn_enabled: + explanation: Security key authentication has been enabled for your account. Your security key can now be used for login. + subject: 'Mastodon: Security key authentication enabled' + title: Security keys enabled + omniauth_callbacks: + failure: Could not authenticate you from %{kind} because “%{reason}”. + success: Successfully authenticated from %{kind} account. + passwords: + no_token: You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided. + send_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes. Please check your spam folder if you didn't receive this email. + send_paranoid_instructions: If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes. Please check your spam folder if you didn't receive this email. + updated: Your password has been changed successfully. You are now signed in. + updated_not_active: Your password has been changed successfully. + registrations: + destroyed: Bye! Your account has been successfully cancelled. We hope to see you again soon. + signed_up: Welcome! You have signed up successfully. + signed_up_but_inactive: You have signed up successfully. However, we could not sign you in because your account is not yet activated. + signed_up_but_locked: You have signed up successfully. However, we could not sign you in because your account is locked. + signed_up_but_pending: A message with a confirmation link has been sent to your email address. After you click the link, we will review your application. You will be notified if it is approved. + signed_up_but_unconfirmed: A message with a confirmation link has been sent to your email address. Please follow the link to activate your account. Please check your spam folder if you didn't receive this email. + update_needs_confirmation: You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address. Please check your spam folder if you didn't receive this email. + updated: Your account has been updated successfully. + sessions: + already_signed_out: Signed out successfully. + signed_in: Signed in successfully. + signed_out: Signed out successfully. + unlocks: + send_instructions: You will receive an email with instructions for how to unlock your account in a few minutes. Please check your spam folder if you didn't receive this email. + send_paranoid_instructions: If your account exists, you will receive an email with instructions for how to unlock it in a few minutes. Please check your spam folder if you didn't receive this email. + unlocked: Your account has been unlocked successfully. Please sign in to continue. + errors: + messages: + already_confirmed: was already confirmed, please try signing in + confirmation_period_expired: needs to be confirmed within %{period}, please request a new one + expired: has expired, please request a new one + not_found: not found + not_locked: was not locked + not_saved: + one: '1 error prohibited this %{resource} from being saved:' + other: "%{count} errors prohibited this %{resource} from being saved:" diff --git a/config/locales/devise.eo.yml b/config/locales/devise.eo.yml index eaee27b888f..07a115cc7d3 100644 --- a/config/locales/devise.eo.yml +++ b/config/locales/devise.eo.yml @@ -6,7 +6,7 @@ eo: send_instructions: Vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon. send_paranoid_instructions: Se via retadreso ekzistas en nia datumbazo, vi ricevos retmesaĝon kun instrukcioj por konfirmi vian retadreson ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon. failure: - already_authenticated: Vi jam salutis. + already_authenticated: Vi jam ensalutis. inactive: Via konto ankoraŭ ne estas konfirmita. invalid: Nevalida %{authentication_keys} aŭ pasvorto. last_attempt: Vi ankoraŭ povas provi unufoje antaŭ ol via konto estos ŝlosita. @@ -52,7 +52,7 @@ eo: title: la du-etapa aŭtentigo estas malŝaltita two_factor_enabled: explanation: Dufaktora aŭtentigo sukcese ebligita por via akonto. Vi bezonos ĵetonon kreitan per parigitan aplikaĵon por ensaluti. - subject: 'Mastodon: dufaktora aŭtentigo ebligita' + subject: 'Mastodon: Dufaktora aŭtentigo ebligita' title: 2FA aktivigita two_factor_recovery_codes_changed: explanation: La antaŭaj reakiraj kodoj estis nuligitaj kaj novaj estis generitaj. @@ -96,9 +96,9 @@ eo: update_needs_confirmation: Vi sukcese ĝisdatigis vian konton, sed ni bezonas kontroli vian novan retadreson. Bonvolu kontroli viajn retmesaĝojn kaj sekvi la konfirman ligilon por konfirmi vian novan retadreson. Bonvolu kontroli vian spamujon, se vi ne ricevis ĉi tiun retmesaĝon. updated: Via konto estis sukcese ĝisdatigita. sessions: - already_signed_out: Sukcese adiaŭis. - signed_in: Sukcese salutis. - signed_out: Sukcese adiaŭis. + already_signed_out: Sukcese elsalutis. + signed_in: Sukcese ensalutis. + signed_out: Sukcese elsalutis. unlocks: send_instructions: Vi ricevos retmesaĝon kun instrukcioj por malŝlosi vian konton ene de kelkaj minutoj. Bonvolu kontroli vian spamujon, se vi ne ricevis ĉi tiun retmesaĝon. send_paranoid_instructions: Se via konto ekzistas, vi ricevos retmesaĝon kun instrukcioj por malŝlosi ĝin ene de kelkaj minutoj. Bonvolu kontroli vian spamujon se vi ne ricevis ĉi tiun retmesaĝon. diff --git a/config/locales/devise.ko.yml b/config/locales/devise.ko.yml index cd949d772dd..45e5e47f857 100644 --- a/config/locales/devise.ko.yml +++ b/config/locales/devise.ko.yml @@ -79,7 +79,7 @@ ko: title: 보안 키 활성화 됨 omniauth_callbacks: failure: '"%{reason}" 때문에 당신을 %{kind}에서 인증할 수 없습니다.' - success: 성공적으로 %{kind} 계정을 인증 했습니다. + success: "%{kind} 계정을 성공적으로 인증했습니다." passwords: no_token: 패스워드 재설정 이메일을 거치지 않고는 여기에 올 수 없습니다. 만약 패스워드 재설정 메일에서 온 것이라면 URL이 맞는지 확인해 주세요. send_instructions: 당신의 이메일 주소가 우리의 DB에 있다면 패스워드 복구 링크가 몇 분 이내에 메일로 발송 됩니다. 만약 메일을 받지 못 하신 경우 스팸 폴더를 확인해 주세요. @@ -89,11 +89,11 @@ ko: registrations: destroyed: 안녕히 가세요! 계정이 성공적으로 제거되었습니다. 다시 만나기를 희망합니다. signed_up: 안녕하세요! 성공적으로 가입했습니다. - signed_up_but_inactive: 성공적으로 가입 했습니다. 그러나, 계정이 활성화 되지 않았기 때문에 아직 로그인 할 수 없습니다. - signed_up_but_locked: 성공적으로 가입 했습니다. 그러나, 계정이 잠겨있기 때문에 아직 로그인 할 수 없습니다. + signed_up_but_inactive: 성공적으로 가입했습니다. 하지만 계정이 활성화되지 않았기 때문에 아직 로그인할 수 없습니다. + signed_up_but_locked: 성공적으로 가입했습니다. 하지만 계정이 잠겨있기 때문에 아직 로그인할 수 없습니다. signed_up_but_pending: 확인 링크를 포함한 메일이 발송 되었습니다. 링크를 클릭한 이후, 우리가 당신의 신청양식을 검토합니다. 승인이 되면 알림을 발송합니다. signed_up_but_unconfirmed: 확인 링크를 포함한 메일이 발송 되었습니다. 링크를 클릭해 계정을 활성화 하세요. 메일을 받지 못 하신 경우 스팸 폴더를 확인해 주세요. - update_needs_confirmation: 계정 정보를 업데이트 했습니다. 하지만 새 이메일 주소에 대한 확인이 필요합니다. 이메일을 확인 한 후 링크를 통해 새 이메일을 확인 하세요. 메일을 받지 못 하신 경우 스팸 폴더를 확인해 주세요. + update_needs_confirmation: 계정 정보를 성공적으로 업데이트했으며, 새 이메일 주소에 대한 확인이 필요합니다. 이메일로 전달된 링크를 따라 새 이메일을 확인하세요. 메일을 받지 못하셨다면 스팸 폴더를 확인해 주세요. updated: 계정 정보가 성공적으로 업데이트 되었습니다. sessions: already_signed_out: 성공적으로 로그아웃 되었습니다. diff --git a/config/locales/devise.sl.yml b/config/locales/devise.sl.yml index 6553e3cd616..be0f98ae112 100644 --- a/config/locales/devise.sl.yml +++ b/config/locales/devise.sl.yml @@ -4,7 +4,7 @@ sl: confirmations: confirmed: Vaš e-poštni naslov je bil uspešno potrjen. send_instructions: V nekaj minutah boste prejeli e-poštno sporočilo z navodili za potrditev vašega e-poštnega naslova. Če niste prejeli e-poštnega sporočila, preverite mapo neželena pošta. - send_paranoid_instructions: Če vaš e-poštni naslov obstaja v naši podatkovni bazi, boste v nekaj minutah prejeli e-poštno sporočilo z navodili za potrditev vašega e-poštnega naslova. Če niste prejeli e-poštnega sporočila, preverite mapo neželena pošta. + send_paranoid_instructions: Če vaš e-poštni naslov obstaja v naši zbirki podatkov, boste v nekaj minutah prejeli e-poštno sporočilo z navodili za potrditev vašega e-poštnega naslova. Če niste prejeli e-poštnega sporočila, preverite mapo neželena pošta. failure: already_authenticated: Ste že prijavljeni. inactive: Vaš račun še ni aktiviran. @@ -21,37 +21,37 @@ sl: action: Potrdi e-poštni naslov action_with_app: Potrdi in se vrni v %{app} explanation: S tem e-poštnim naslovom ste ustvarili račun na %{host}. Z enim samim klikom ga aktivirate. Če to niste bili vi, prosimo, prezrite to e-poštno sporočilo. - explanation_when_pending: S tem e-poštnim naslovom ste zaprosili za povabilo na %{host}. Ko potrdite svoj e-poštni naslov, bomo pregledali vašo prijavo. Do takrat se ne morete prijaviti. Če bo vaša prijava zavrnjena, bodo vaši podatki odstranjeni, zato ne bo potrebno nadaljnje ukrepanje. Če to niste bili vi, prezrite to e-poštno sporočilo. - extra_html: Preverite tudi pravila vozlišča in naše pogoje storitve. + explanation_when_pending: S tem e-poštnim naslovom ste zaprosili za povabilo na %{host}. Ko potrdite svoj e-poštni naslov, bomo pregledali vašo prijavo. Do takrat se ne morete prijaviti. Če bo vaša prijava zavrnjena, bodo vaši podatki odstranjeni, zato nadaljnje ukrepanje ne bo potrebno. Če to niste bili vi, prezrite to e-poštno sporočilo. + extra_html: Preverite tudi pravila strežnika in naše pogoje storitve. subject: 'Mastodon: Navodila za potrditev za %{instance}' title: Potrdi e-poštni naslov email_changed: - explanation: 'E-poštni naslov za vaš račun je spremenjen na:' - extra: Če niste spremenili e-pošte, je verjetno, da je nekdo pridobil dostop do vašega računa. Prosim, zamenjajte geslo takoj. Če ste blokirani iz svojega računa se obrnite na skrbnika vozlišča. - subject: 'Mastodon: E-pošta je spremenjena' + explanation: 'E-poštni naslov za vaš račun je spremenjen v:' + extra: Če niste spremenili e-pošte, je verjetno, da je nekdo pridobil dostop do vašega računa. Prosimo, zamenjajte geslo takoj ali se obrnite na skbrnika, če ste izklopljeni iz svojega računa. + subject: 'Mastodon: e-poštni naslov je spremenjen' title: Novi e-poštni naslov password_change: explanation: Geslo za vaš račun je bilo spremenjeno. - extra: Če niste spremenili gesla, je verjetno, da je nekdo pridobil dostop do vašega računa. Prosim, zamenjajte geslo takoj. Če ste blokirani iz svojega računa se obrnite na skrbnika vozlišča. - subject: 'Mastodon: Geslo je spremenjeno' + extra: Če niste spremenili gesla, je verjetno, da je nekdo pridobil dostop do vašega računa. Prosimo, zamenjajte geslo takoj. Če ste blokirani iz svojega računa, se obrnite na skrbnika strežnika. + subject: 'Mastodon: geslo je spremenjeno' title: Geslo je spremenjeno reconfirmation_instructions: explanation: Potrdite novi naslov, da spremenite svoj e-poštni naslov. - extra: Če te spremembe niste sprožili, prezrite to e-poštno sporočilo. E-poštni naslov za račun Mastodon se ne bo spremenil, dokler ne kliknete na zgornjo povezavo. - subject: 'Mastodon: Potrdite e-pošto za %{instance}' + extra: Če te spremembe niste sprožili, prezrite to e-poštno sporočilo. E-poštni naslov za račun Mastodon se ne bo spremenil, dokler ne kliknete zgornje povezave. + subject: 'Mastodon: potrdite e-pošto za %{instance}' title: Potrdi e-poštni naslov reset_password_instructions: action: Spremeni geslo explanation: Zahtevali ste novo geslo za svoj račun. - extra: Če tega niste zahtevali, prezrite to e-poštno sporočilo. Vaše geslo se ne bo spremenilo, dokler ne kliknete na zgornjo povezavo in ustvarite novega. - subject: 'Mastodon: Navodila za ponastavitev gesla' - title: Ponastavi geslo + extra: Če tega niste zahtevali, prezrite to e-poštno sporočilo. Vaše geslo se ne bo spremenilo, dokler ne kliknete zgornje povezave in ustvarite novega. + subject: 'Mastodon: navodila za ponastavitev gesla' + title: Ponastavitev gesla two_factor_disabled: explanation: Dvojno oz. dvofazno preverjanje pristnosti je za vaš račun onemogočeno. Prijava je zdaj možna le z e-poštnim naslovom in geslom. subject: 'Mastodon: dvojno preverjanje pristnosti je onemogočeno' title: 2FA onemogočeno two_factor_enabled: - explanation: Dvojno oz. dvofazno preverjanje pristnosti je za vaš račun omogočena. Žeton, izdelan z aplikacijo TOTP, bo zahtevan zs prijavo. + explanation: Dvojno oz. dvofazno preverjanje pristnosti je za vaš račun omogočeno. Žeton, izdelan z aplikacijo TOTP, bo zahtevan zs prijavo. subject: 'Mastodon: dvojno preverjanje pristnosti je omogočeno' title: 2FA omogočeno two_factor_recovery_codes_changed: @@ -59,7 +59,7 @@ sl: subject: 'Mastodon: varnostne obnovitvene kode za dvojno preverjanje pristnosti so ponovno izdelane' title: obnovitvene kode 2FA spremenjene unlock_instructions: - subject: 'Mastodon: Odkleni navodila' + subject: 'Mastodon: navodila za odklepanje' webauthn_credential: added: explanation: Naslednja varnostna koda je dodana vašemu računu @@ -70,30 +70,30 @@ sl: subject: 'Mastodon: varnostna koda izbrisana' title: Ena od vaših varnostnih kod je bila izbrisana webauthn_disabled: - explanation: Overjanje pristnosti z varnostnimi ključi je za vaš račun onemogočeno. Prijava je zdaj možna le z uporabo žetona, ki ga izdela aplikacijo TOTP. + explanation: Overjanje pristnosti z varnostnimi kodami je za vaš račun onemogočeno. Prijava je zdaj možna le z uporabo žetona, ki ga izdela oparjena aplikacija TOTP. subject: 'Mastodon: overjanje pristnosti z varnosnimi kodami je onemogočeno' title: Varnostne kode onemogočene webauthn_enabled: - explanation: Overjanje z varnostnim ključem je omogočeno za vaš račun. Svoj varnostni ključ lahko zdaj uporabite za prijavo. + explanation: Overjanje z varnostno kodo je za vaš račun omogočeno. Svojo varnostno kodo lahko zdaj uporabite za prijavo. subject: 'Mastodon: preverjanje pristnosti z varnostno kodo je omogočeno' title: Varnostne kode omogočene omniauth_callbacks: failure: Overitev iz %{kind} ni možna zaradi "%{reason}". success: Overitev iz računa %{kind} je bila uspešna. passwords: - no_token: Do te strani ne morete dostopati, ne da bi prišli iz e-poštne za ponastavitev gesla. Če prihajate iz e-poštne za ponastavitev gesla, se prepričajte, da ste uporabili celoten navedeni URL. - send_instructions: Če vaš e-poštni naslov obstaja v naši bazi podatkov, boste v nekaj minutah na vaš e-poštni naslov prejeli povezavo za obnovitev gesla. Če niste prejeli e-pošte, preverite mapo z neželeno pošto. - send_paranoid_instructions: Če vaš e-poštni naslov obstaja v naši bazi podatkov, boste v nekaj minutah na vaš e-poštni naslov prejeli povezavo za obnovitev gesla. Če niste prejeli e-pošte, preverite mapo z neželeno pošto. + no_token: Do te strani ne morete dostopati, ne da bi prišli iz e-pošte za ponastavitev gesla. Če prihajate iz e-pošte za ponastavitev gesla, se prepričajte, da ste uporabili celoten navedeni URL. + send_instructions: Če vaš e-poštni naslov obstaja v naši zbirki podatkov, boste v nekaj minutah na svoj e-poštni naslov prejeli povezavo za obnovitev gesla. Če niste prejeli e-pošte, preverite mapo z neželeno pošto. + send_paranoid_instructions: Če vaš e-poštni naslov obstaja v naši zbirki podatkov, boste v nekaj minutah na svoj e-poštni naslov prejeli povezavo za obnovitev gesla. Če niste prejeli e-pošte, preverite mapo z neželeno pošto. updated: Vaše geslo je bilo uspešno spremenjeno. Zdaj ste prijavljeni. updated_not_active: Vaše geslo je bilo uspešno spremenjeno. registrations: - destroyed: Adijo! Vaš račun je bil uspešno preklican. Upamo, da vas bomo kmalu spet videli. + destroyed: Srečno! Vaš račun je bil uspešno preklican. Upamo, da vas bomo kmalu spet videli. signed_up: Dobrodošli! Uspešno ste se vpisali. signed_up_but_inactive: Uspešno ste se vpisali. Vendar vas nismo mogli prijaviti, ker vaš račun še ni aktiviran. signed_up_but_locked: Uspešno ste se vpisali. Vendar vas nismo mogli prijaviti, ker je vaš račun zaklenjen. - signed_up_but_pending: Na vaš e-poštni naslov je bilo poslano sporočilo s povezavo za potrditev. Ko kliknete na povezavo, bomo pregledali vašo prijavo. Obveščeni boste, če bo odobren. + signed_up_but_pending: Na vaš e-poštni naslov je bilo poslano sporočilo s povezavo za potrditev. Ko kliknete povezavo, bomo pregledali vašo prijavo. Obveščeni boste, če bo odobrena. signed_up_but_unconfirmed: Na vaš e-poštni naslov je bilo poslano sporočilo s povezavo za potrditev. Sledite povezavi, da aktivirate svoj račun. Če niste prejeli te e-pošte, preverite mapo z neželeno pošto. - update_needs_confirmation: Uspešno ste posodobili račun, vendar moramo potrditi vaš novi e-poštni naslov. Preverite svojo e-pošto in sledite povezavi za potrditev, da potrdite nov e-poštni naslov. Če niste prejeli te e-poše, preverite mapo z neželeno pošto. + update_needs_confirmation: Uspešno ste posodobili račun, vendar moramo potrditi vaš novi e-poštni naslov. Preverite svojo e-pošto in sledite povezavi za potrditev, da potrdite nov e-poštni naslov. Če niste prejeli te e-pošte, preverite mapo z neželeno pošto. updated: Vaš račun je bil uspešno posodobljen. sessions: already_signed_out: Uspešno ste se odjavili. @@ -111,7 +111,7 @@ sl: not_found: ni najdeno not_locked: ni bil zaklenjen not_saved: - few: "%{count} napake so preprečile shranjevanje %{resource}:" + few: "%{count} napake so preprečile shranjevanje vira %{resource}:" one: '1 napaka je preprečila shranjevanje %{resource}:' - other: "%{count} napak je preprečilo shranjevanje %{resource}:" - two: "%{count} napaki sta preprečili shranjevanje %{resource}:" + other: "%{count} napak je preprečilo shranjevanje vira %{resource}:" + two: "%{count} napaki sta preprečili shranjevanje vira %{resource}:" diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml index e465007967f..38d7a0c5282 100644 --- a/config/locales/devise.th.yml +++ b/config/locales/devise.th.yml @@ -91,7 +91,7 @@ th: signed_up: ยินดีต้อนรับ! คุณได้ลงทะเบียนสำเร็จ signed_up_but_inactive: คุณได้ลงทะเบียนสำเร็จ อย่างไรก็ตามเราไม่สามารถลงชื่อคุณเข้าได้เนื่องจากยังไม่ได้เปิดใช้งานบัญชีของคุณ signed_up_but_locked: คุณได้ลงทะเบียนสำเร็จ อย่างไรก็ตามเราไม่สามารถลงชื่อคุณเข้าได้เนื่องจากมีการล็อคบัญชีของคุณอยู่ - signed_up_but_pending: ส่งข้อความพร้อมลิงก์ยืนยันไปยังที่อยู่อีเมลของคุณแล้ว หลังจากคุณคลิกลิงก์ เราจะตรวจทานใบสมัครของคุณ คุณจะได้รับการแจ้งเตือนหากมีการอนุมัติใบสมัคร + signed_up_but_pending: ส่งข้อความพร้อมลิงก์ยืนยันไปยังที่อยู่อีเมลของคุณแล้ว หลังจากคุณคลิกลิงก์ เราจะตรวจทานใบสมัครของคุณ คุณจะได้รับการแจ้งเตือนหากใบสมัครได้รับการอนุมัติ signed_up_but_unconfirmed: ส่งข้อความพร้อมลิงก์ยืนยันไปยังที่อยู่อีเมลของคุณแล้ว โปรดไปตามลิงก์เพื่อเปิดใช้งานบัญชีของคุณ โปรดตรวจสอบโฟลเดอร์สแปมของคุณหากคุณไม่ได้รับอีเมลนี้ update_needs_confirmation: คุณได้อัปเดตบัญชีของคุณสำเร็จ แต่เราจำเป็นต้องยืนยันที่อยู่อีเมลใหม่ของคุณ โปรดตรวจสอบอีเมลของคุณแล้วไปตามลิงก์ยืนยันเพื่อยืนยันที่อยู่อีเมลใหม่ของคุณ โปรดตรวจสอบโฟลเดอร์สแปมของคุณหากคุณไม่ได้รับอีเมลนี้ updated: อัปเดตบัญชีของคุณสำเร็จ diff --git a/config/locales/devise.zh-TW.yml b/config/locales/devise.zh-TW.yml index 36ce2035171..e500e1d9e8d 100644 --- a/config/locales/devise.zh-TW.yml +++ b/config/locales/devise.zh-TW.yml @@ -2,9 +2,9 @@ zh-TW: devise: confirmations: - confirmed: 您的電子信箱地址已確認成功。 + confirmed: 您的電子郵件地址已確認成功。 send_instructions: 幾分鐘後您將收到確認信件。若未收到此信件,請檢查垃圾郵件資料夾。 - send_paranoid_instructions: 如果您的電子信箱存在於我們的資料庫,您將會在幾分鐘內收到確認信。若未收到請檢查垃圾郵件資料夾。 + send_paranoid_instructions: 如果您的電子郵件存在於我們的資料庫,您將會在幾分鐘內收到確認信。若未收到請檢查垃圾郵件資料夾。 failure: already_authenticated: 您已登入。 inactive: 您的帳號尚未啟用。 @@ -15,31 +15,31 @@ zh-TW: pending: 您的帳號仍在審核中。 timeout: 登入階段逾時。請重新登入以繼續。 unauthenticated: 您必須先登入或註冊才能繼續使用。 - unconfirmed: 您必須先確認電子信箱才能繼續使用。 + unconfirmed: 您必須先確認電子郵件才能繼續使用。 mailer: confirmation_instructions: - action: 驗證電子信箱地址 + action: 驗證電子郵件地址 action_with_app: 確認並返回 %{app} - explanation: 您已經在 %{host} 上以此電子信箱地址建立了一支帳號。您距離啟用它只剩一點之遙了。若這不是您,請忽略此信件。 - explanation_when_pending: 您使用此電子信箱地址申請了 %{host} 的邀請。當您確認電子信箱後我們將審核您的申請。您可以登入以改變您的細節或刪除您的帳號,但直到您的帳號被核准之前,您無法操作大部分的功能。若您的申請遭拒絕,您的資料將被移除而不必做後續動作。如果這不是您,請忽略此信件。 + explanation: 您已經在 %{host} 上以此電子郵件地址建立了一支帳號。您距離啟用它只剩一點之遙了。若這不是您,請忽略此信件。 + explanation_when_pending: 您使用此電子郵件地址申請了 %{host} 的邀請。當您確認電子郵件信箱後我們將審核您的申請。您可以登入以改變您的細節或刪除您的帳號,但直到您的帳號被核准之前,您無法操作大部分的功能。若您的申請遭拒絕,您的資料將被移除而不必做後續動作。如果這不是您,請忽略此信件。 extra_html: 同時也請看看伺服器規則服務條款。 subject: Mastodon:%{instance} 確認說明 - title: 驗證電子信箱地址 + title: 驗證電子郵件地址 email_changed: - explanation: 您帳號的電子信箱地址將變更為: - extra: 若您未變更電子信箱,那麼很有可能是某人取得了您帳號的存取權限。請立刻變更密碼,或當帳號被鎖定時,請聯絡伺服器的管理員。 - subject: Mastodon:已變更電子信箱 - title: 新電子信箱地址 + explanation: 您帳號的電子郵件地址將變更為: + extra: 若您未變更電子郵件,那麼很有可能是某人取得了您帳號的存取權限。請立刻變更密碼,或當帳號被鎖定時,請聯絡伺服器的管理員。 + subject: Mastodon:已變更電子郵件 + title: 新電子郵件地址 password_change: explanation: 您帳號的密碼已變更。 extra: 若您未變更密碼,那麼很有可能是某人取得了您帳號的存取權限。請立刻變更密碼,或若帳號被鎖定時,請聯絡伺服器的管理員。 subject: Mastodon:已變更密碼 title: 密碼已變更 reconfirmation_instructions: - explanation: 請確認新的電子信箱地址以變更。 - extra: 若此次變更不是由您開啟的,請忽略此信件。Mastodon 帳號的電子信箱地址在您存取上面的連結前不會變更。 - subject: Mastodon:確認 %{instance} 的電子信箱地址 - title: 驗證電子信箱地址 + explanation: 請確認新的電子郵件地址以變更。 + extra: 若此次變更不是由您起始的,請忽略此信件。Mastodon 帳號的電子郵件地址在您存取上面的連結前不會變更。 + subject: Mastodon:確認 %{instance} 的電子郵件地址 + title: 驗證電子郵件地址 reset_password_instructions: action: 變更密碼 explanation: 您已請求帳號的新密碼。 @@ -47,7 +47,7 @@ zh-TW: subject: Mastodon:重設密碼指引 title: 重設密碼 two_factor_disabled: - explanation: 您帳號的兩階段驗證已停用。現在只使用電子信箱及密碼登入。 + explanation: 您帳號的兩階段驗證已停用。現在只使用電子郵件及密碼登入。 subject: Mastodon:已停用兩階段驗證 title: 已停用 2FA two_factor_enabled: @@ -82,8 +82,8 @@ zh-TW: success: 成功透過 %{kind} 帳號登入。 passwords: no_token: 您必須透過密碼重設信件才能存取此頁面。若確實如此,請確定輸入的網址是完整的。 - send_instructions: 若電子信箱地址存在於我們的資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。 - send_paranoid_instructions: 若電子信箱地址存在於我們的資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。 + send_instructions: 若電子郵件地址存在於我們的資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。 + send_paranoid_instructions: 若電子郵件地址存在於我們的資料庫,幾分鐘後您將在信箱中收到密碼復原連結。若未收到請檢查垃圾郵件資料夾。 updated: 您的密碼已成功變更,現在已經登入。 updated_not_active: 您的密碼已成功變更。 registrations: @@ -91,7 +91,7 @@ zh-TW: signed_up: 歡迎!您已成功註冊。 signed_up_but_inactive: 您已註冊成功,但由於您的帳號尚未啟用,我們暫時無法讓您登入。 signed_up_but_locked: 您已註冊成功,但由於您的帳號已被鎖定,我們無法讓您登入。 - signed_up_but_pending: 包含確認連結的訊息已寄到您的電子信箱。按下此連結後我們將審核您的申請。核准後將通知您。 + signed_up_but_pending: 包含確認連結的訊息已寄到您的電子郵件信箱。按下此連結後我們將審核您的申請。核准後將通知您。 signed_up_but_unconfirmed: 包含確認連結的訊息已寄到您的電子信箱。請前往連結以啟用帳號。若未收到請檢查垃圾郵件資料夾。 update_needs_confirmation: 已成功更新您的帳號,但仍需驗證您的新信箱。請檢查電子信箱並前往確認連結來確認新信箱位址。若未收到請檢查垃圾郵件資料夾。 updated: 您的帳號已成功更新。 diff --git a/config/locales/doorkeeper.bg.yml b/config/locales/doorkeeper.bg.yml index 7bfcec48a42..ba52a2ac373 100644 --- a/config/locales/doorkeeper.bg.yml +++ b/config/locales/doorkeeper.bg.yml @@ -3,8 +3,8 @@ bg: activerecord: attributes: doorkeeper/application: - name: Име - redirect_uri: URI за пренасочване + name: Име на приложението + redirect_uri: Пренасочващ URI scopes: Обхват website: Уебсайт на приложение errors: @@ -22,10 +22,10 @@ bg: authorize: Упълномощаване cancel: Отказ destroy: Унищожаване - edit: Редакция + edit: Редактиране submit: Изпращане confirmations: - destroy: Потвърждаваш ли изтриването? + destroy: Сигурни ли сте? edit: title: Редактиране на приложението form: @@ -60,6 +60,8 @@ bg: error: title: Възникна грешка new: + prompt_html: "%{client_name} иска разрешение да има достъп до акаунта ви. Приложение от трета страна е.Ако не му се доверявате, то може да не го упълномощявате." + review_permissions: Преглед на разрешенията title: Изисква се упълномощаване show: title: Копирайте този код за удостоверяване и го поставете в приложението. @@ -67,16 +69,22 @@ bg: buttons: revoke: Отмяна confirmations: - revoke: Потвърждаваш ли отмяната? + revoke: Сигурни ли сте? index: - title: Твоите упълномощени приложения + authorized_at: Упълномощено на %{date} + description_html: Има приложения, можещи да имат достъп до акаунта ви, използвайки API. Ако тук има приложения, които не знаете, или работещи неправилно, то може да им откажете достъпа. + last_used_at: Последно обновено на %{date} + never_used: Никога използвано + scopes: Разрешения + superapp: Вътрешно + title: Упълномощените ви приложения errors: messages: access_denied: Заявката беше отказана от собственика на ресурса или от сървъра за упълномощаване. credential_flow_not_configured: Resource Owner Password Credentials предизвика грешка, заради това, че настройките за Doorkeeper.configure.resource_owner_from_credentials липсват. invalid_client: Удостоверяването на клиента предизвика грешка, поради непознат клиент, липсващо клиентско удостоверяване, или заради това, че методът на удостоверяване не се поддържа. invalid_grant: Предоставеното удостоверение за достъп е невалидно, изтекло, отхвърлено, не съвпада с пренасочващото URI, използвано в заявката за удостоверение, или е бил издадено от друг клиент. - invalid_redirect_uri: Наличното пренасочващо URI е невалидно. + invalid_redirect_uri: Включеният пренасочващ URI адрес е невалиден. invalid_request: missing_param: 'Липсва задължителен параметър: %{value}.' request_not_authorized: Заявката трябва да бъде упълномощена. Необходимият параметър за разрешаване на заявка липсва или е невалиден. @@ -104,6 +112,33 @@ bg: authorized_applications: destroy: notice: Приложението е отказано. + grouped_scopes: + access: + read: Достъп само за четене + read/write: Достъп за четене и запис + write: Достъп само за запис + title: + accounts: Акаунти + admin/accounts: Администриране на акаунтите + admin/all: Всички административни функции + admin/reports: Администриране на докладите + all: Всичко + blocks: Блокирания + bookmarks: Отметки + conversations: Разговори + crypto: Криптиране от край до край + favourites: Любими + filters: Филтри + follow: Отношения + follows: Последвания + lists: Списъци + media: Прикачена мултимедия + mutes: Заглушения + notifications: Известия + push: Push-известия + reports: Доклади + search: Търсене + statuses: Публикации layouts: admin: nav: @@ -118,6 +153,7 @@ bg: admin:write: промяна на всички данни на сървъра admin:write:accounts: извършване на действия за модериране на акаунти admin:write:reports: извършване на действия за модериране на докладвания + crypto: употреба на криптиране от край до край follow: следването, блокирането, деблокирането и отмяната на следването на акаунтите push: получаване на вашите изскачащи известия read: четенето на данните от твоя акаунт @@ -132,12 +168,13 @@ bg: read:notifications: преглед на вашите известия read:reports: преглед на вашите докладвания read:search: търсене от ваше име - read:statuses: преглед на всички състояния - write: публикуването от твое име + read:statuses: преглед на всички публикации + write: промяна на всичките ви данни на акаунта write:accounts: промяна на вашия профил write:blocks: блокиране на акаунти и домейни write:bookmarks: отмятане на състояния - write:favourites: любими състояния + write:conversations: заглушаване и изтриване на разговорите + write:favourites: любими публикации write:filters: създаване на филтри write:follows: последване на хора write:lists: създаване на списъци diff --git a/config/locales/doorkeeper.en-GB.yml b/config/locales/doorkeeper.en-GB.yml index 3f0ea6b7b7f..1f13709bee9 100644 --- a/config/locales/doorkeeper.en-GB.yml +++ b/config/locales/doorkeeper.en-GB.yml @@ -77,7 +77,73 @@ en-GB: never_used: Never used scopes: Permissions superapp: Internal + title: Your authorised applications + errors: + messages: + access_denied: The resource owner or authorisation server denied the request. + credential_flow_not_configured: Resource Owner Password Credentials flow failed due to Doorkeeper.configure.resource_owner_from_credentials being unconfigured. + invalid_client: Client authentication failed due to unknown client, no client authentication included, or unsupported authentication method. + invalid_grant: The provided authorisation grant is invalid, expired, revoked, does not match the redirection URI used in the authorisation request, or was issued to another client. + invalid_redirect_uri: The redirect URI included is not valid. + invalid_request: + missing_param: 'Missing required parameter: %{value}.' + request_not_authorized: Request need to be authorised. Required parameter for authorising request is missing or invalid. + unknown: The request is missing a required parameter, includes an unsupported parameter value, or is otherwise malformed. + invalid_resource_owner: The provided resource owner credentials are not valid, or resource owner cannot be found + invalid_scope: The requested scope is invalid, unknown, or malformed. + invalid_token: + expired: The access token expired + revoked: The access token was revoked + unknown: The access token is invalid + resource_owner_authenticator_not_configured: Resource Owner find failed due to Doorkeeper.configure.resource_owner_authenticator being unconfiged. + server_error: The authorisation server encountered an unexpected condition which prevented it from fulfilling the request. + temporarily_unavailable: The authorisation server is currently unable to handle the request due to a temporary overloading or maintenance of the server. + unauthorized_client: The client is not authorised to perform this request using this method. + unsupported_grant_type: The authorisation grant type is not supported by the authorisation server. + unsupported_response_type: The authorisation server does not support this response type. + flash: + applications: + create: + notice: Application created. + destroy: + notice: Application deleted. + update: + notice: Application updated. + authorized_applications: + destroy: + notice: Application revoked. + grouped_scopes: + access: + read: Read-only access + read/write: Read and write access + write: Write-only access + title: + accounts: Accounts + admin/accounts: Administration of accounts + admin/all: All administrative functions + admin/reports: Administration of reports + all: Everything + blocks: Blocks + bookmarks: Bookmarks + conversations: Conversations + crypto: End-to-end encryption + favourites: Favourites + filters: Filters + follow: Relationships + follows: Follows + lists: Lists + media: Media attachments + mutes: Mutes + notifications: Notifications + push: Push notifications + reports: Reports + search: Search + statuses: Posts layouts: + admin: + nav: + applications: Applications + oauth2_provider: OAuth2 Provider application: title: OAuth authorisation required scopes: diff --git a/config/locales/doorkeeper.eo.yml b/config/locales/doorkeeper.eo.yml index 34b4fafaa99..419b58b94f5 100644 --- a/config/locales/doorkeeper.eo.yml +++ b/config/locales/doorkeeper.eo.yml @@ -69,6 +69,7 @@ eo: confirmations: revoke: Ĉu vi certas? index: + superapp: Interna title: Viaj rajtigitaj aplikaĵoj errors: messages: @@ -106,9 +107,12 @@ eo: notice: Aplikaĵo malrajtigita. grouped_scopes: title: + accounts: Kontoj + all: Ĉio blocks: Blokita bookmarks: Legosignoj favourites: Preferaĵoj + filters: Filtriloj lists: Listoj mutes: Silentigitaj reports: Raportoj diff --git a/config/locales/doorkeeper.ko.yml b/config/locales/doorkeeper.ko.yml index e645f20b2bb..3526bab0e16 100644 --- a/config/locales/doorkeeper.ko.yml +++ b/config/locales/doorkeeper.ko.yml @@ -43,7 +43,7 @@ ko: new: 새 애플리케이션 scopes: 범위 show: 표시 - title: 당신의 애플리케이션들 + title: 내 응용프로그램 new: title: 새 애플리케이션 show: @@ -77,10 +77,10 @@ ko: never_used: 사용되지 않음 scopes: 권한 superapp: 내부 - title: 당신의 승인된 애플리케이션들 + title: 승인된 응용프로그램 errors: messages: - access_denied: 리소스 소유자 또는 권한 부여 서버가 요청을 거부했습니다. + access_denied: 리소스 소유자 또는 인증 서버가 요청을 거부했습니다. credential_flow_not_configured: Doorkeeper.configure.resource_owner_from_credentials의 설정이 되어있지 않아 리소스 소유자 패스워드 자격증명이 실패하였습니다. invalid_client: 알 수 없는 클라이언트이기 때문에 클라이언트 인증이 실패하였습니다, 클라이언트 자격증명이 포함되지 않았거나, 지원 되지 않는 메소드입니다. invalid_grant: 제공된 권한 부여가 잘못되거나, 만료되었거나, 취소되었거나, 권한 부여 요청에 사용된 리디렉션 URI가 일치하지 않거나, 다른 클라이언트에 지정되었습니다. diff --git a/config/locales/doorkeeper.oc.yml b/config/locales/doorkeeper.oc.yml index e45dd0245a7..d86fbe793dd 100644 --- a/config/locales/doorkeeper.oc.yml +++ b/config/locales/doorkeeper.oc.yml @@ -60,6 +60,7 @@ oc: error: title: I a agut un error new: + prompt_html: "%{client_name} volria l’autorizacion d’accedir a vòstre compte. Es una aplicacion tèrça.Se vos fisatz pas a ela, alara deuriatz pas l’autorizacion." review_permissions: Repassar las autorizacions title: Cal l’autorizacion show: @@ -71,6 +72,7 @@ oc: revoke: Ne sètz segur ? index: authorized_at: Autorizada lo %{date} + description_html: Aquestas aplicacions pòdon accedir a vòstre compte via l’API. S’i a d’aplicacions que coneissètz pas aicí o qu’una aplicacion se compòrta pas coma cal, podètz revocar son accès. last_used_at: Darrièra utilizacion lo %{date} never_used: Pas jamai utilizada scopes: Autorizacions diff --git a/config/locales/doorkeeper.sl.yml b/config/locales/doorkeeper.sl.yml index 5267b7fa257..1a27f62329a 100644 --- a/config/locales/doorkeeper.sl.yml +++ b/config/locales/doorkeeper.sl.yml @@ -15,7 +15,7 @@ sl: fragment_present: ne more vsebovati fragmenta. invalid_uri: mora biti veljaven URI. relative_uri: mora biti absolutni URI. - secured_uri: mora biti HTTPS/SSL URI. + secured_uri: mora biti URI HTTPS/SSL. doorkeeper: applications: buttons: @@ -27,7 +27,7 @@ sl: confirmations: destroy: Ali ste prepričani? edit: - title: Uredi aplikacijo + title: Uredi program form: error: Ups! Preverite obrazec za morebitne napake help: @@ -82,7 +82,7 @@ sl: messages: access_denied: Lastnik virov ali strežnik pooblastil je zavrnil zahtevo. credential_flow_not_configured: Pretok geselskih pooblastil lastnika virov ni uspel, ker Doorkeeper.configure.resource_owner_from_credentials ni nastavljen. - invalid_client: Overitev odjemalca ni uspelo zaradi neznanega odjemalca, zaradi nevključitve overitve odjemalca ali zaradi nepodprte metode overitve. + invalid_client: Overitev odjemalca ni uspela zaradi neznanega odjemalca, zaradi nevključitve overitve odjemalca ali zaradi nepodprte metode overitve. invalid_grant: Predložena odobritev za pooblastilo je neveljavna, potekla, preklicana, se ne ujema z URI preusmeritvijo, ki je uporabljena v zahtevi za pooblastilo ali je bila izdana drugemu odjemalcu. invalid_redirect_uri: URI za preusmeritev ni veljaven. invalid_request: @@ -121,7 +121,7 @@ sl: accounts: Računi admin/accounts: Upravljanje računov admin/all: Vse skrbniške funkcije - admin/reports: Upravljanje poročil + admin/reports: Upravljanje prijav all: Vse blocks: Blokira bookmarks: Zaznamki @@ -136,7 +136,7 @@ sl: mutes: Utišani notifications: Obvestila push: Potisna obvestila - reports: Poročila + reports: Prijave search: Iskanje statuses: Objave layouts: @@ -145,7 +145,7 @@ sl: applications: Programi oauth2_provider: Ponudnik OAuth2 application: - title: Potrebna je OAuth pooblastitev + title: Potrebna je pooblastitev OAuth scopes: admin:read: preberi vse podatke na strežniku admin:read:accounts: preberi občutljive informacije vseh računov @@ -159,7 +159,7 @@ sl: read: preberi vse podatke svojega računa read:accounts: oglejte si podrobnosti računov read:blocks: oglejte si svoje blokirane - read:bookmarks: glejte svoje zaznamke + read:bookmarks: oglejte si svoje zaznamke read:favourites: oglejte si svoje priljubljene read:filters: oglejte si svoje filtre read:follows: oglejte si svoje sledilce diff --git a/config/locales/en-GB.yml b/config/locales/en-GB.yml index fc7fc9edf68..26540146f5e 100644 --- a/config/locales/en-GB.yml +++ b/config/locales/en-GB.yml @@ -1,5 +1,34 @@ --- en-GB: + about: + about_mastodon_html: 'The social network of the future: No ads, no corporate surveillance, ethical design, and decentralisation! Own your data with Mastodon!' + contact_missing: Not set + contact_unavailable: N/A + hosted_on: Mastodon hosted on %{domain} + title: About + accounts: + follow: Follow + followers: + one: Follower + other: Followers + following: Following + instance_actor_flash: This account is a virtual actor used to represent the server itself and not any individual user. It is used for federation purposes and should not be suspended. + last_active: last active + link_verified_on: Ownership of this link was checked on %{date} + nothing_here: There is nothing here! + pin_errors: + following: You must be already following the person you want to endorse + posts: + one: Post + other: Posts + posts_tab_heading: Posts + admin: + account_actions: + action: Perform action + title: Perform moderation action on %{acct} + account_moderation_notes: + create: Leave note + created_msg: Moderation note successfully created! errors: '400': The request you submitted was invalid or malformed. '403': You don't have permission to view this page. diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 4cabba4989c..de18f97b2e0 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -33,16 +33,19 @@ eo: accounts: add_email_domain_block: Bloki retadresan domajnon approve: Aprobi + approved_msg: Sukcese aprobis aliĝilon de %{username} are_you_sure: Ĉu vi certas? avatar: Profilbildo by_domain: Domajno change_email: + changed_msg: Retpoŝta adreso estis sukcese ŝanĝita! current_email: Nuna retadreso label: Ŝanĝi retadreson new_email: Nova retadreso submit: Ŝanĝi retadreson title: Ŝanĝi retadreson por %{username} change_role: + changed_msg: Rolo estis sukcese ŝanĝita! label: Ŝanĝi rolon no_role: Neniu rolo title: Ŝanĝi rolon por %{username} @@ -53,7 +56,9 @@ eo: delete: Forigi datumojn deleted: Forigita demote: Degradi + destroyed_msg: Datumoj de %{username} nun enviciĝis por esti forigita baldaǔ disable: Frostigi + disable_sign_in_token_auth: Malŝalti retpoŝtan ĵetonan aŭtentigon disable_two_factor_authentication: Malŝalti 2FA-n disabled: Frostigita display_name: Montrata nomo @@ -62,7 +67,9 @@ eo: email: Retpoŝto email_status: Stato de retpoŝto enable: Malfrostigi + enable_sign_in_token_auth: Ŝalti retpoŝtan ĵetonan aŭtentigon enabled: Ebligita + enabled_msg: Sukcese malfrostigis konton de %{username} followers: Sekvantoj follows: Sekvatoj header: Kapa bildo @@ -84,6 +91,7 @@ eo: active: Aktivaj all: Ĉio pending: Pritraktata + silenced: Limigita suspended: Suspendita title: Moderigado moderation_notes: Notoj de moderigado @@ -91,9 +99,14 @@ eo: most_recent_ip: Lasta IP no_account_selected: Neniu konto estis ŝanĝita ĉar neniu estis selektita no_limits_imposed: Neniu limito trudita + no_role_assigned: Sen rolo not_subscribed: Ne abonita pending: Pritraktata recenzo perform_full_suspension: Suspendi + previous_strikes: Antaǔaj admonoj + previous_strikes_description_html: + one: Ĉi tiu konto havas unu admonon. + other: Ĉi tiu konto havas %{count} admonojn. promote: Plirangigi protocol: Protokolo public: Publika @@ -110,6 +123,7 @@ eo: reset: Restarigi reset_password: Restarigi pasvorton resubscribe: Reaboni + role: Rolo search: Serĉi search_same_email_domain: Aliaj uzantoj kun la sama retpoŝta domajno search_same_ip: Aliaj uzantoj kun la sama IP @@ -125,6 +139,7 @@ eo: silence: Mutigita silenced: Silentigita statuses: Afiŝoj + strikes: Antaǔaj admonoj subscribe: Aboni suspend: Haltigu suspended: Suspendita @@ -145,19 +160,24 @@ eo: whitelisted: Permesita por federacio action_logs: action_types: + approve_appeal: Aprobis Apelacion approve_user: Aprobi Uzanton assigned_to_self_report: Atribui Raporton change_email_user: Ŝanĝi retpoŝton de uzanto + change_role_user: Ŝanĝi Rolon de Uzanton confirm_user: Konfirmi uzanton create_account_warning: Krei Averton create_announcement: Krei Anoncon + create_canonical_email_block: Krei Blokadon de Retpoŝto create_custom_emoji: Krei Propran Emoĝion create_domain_allow: Krei Domajnan Permeson create_domain_block: Krei Blokadon De Domajno create_email_domain_block: Krei Blokadon De Retpoŝta Domajno create_ip_block: Krei IP-regulon + create_user_role: Krei Rolon demote_user: Malpromocii Uzanton destroy_announcement: Forigi Anoncon + destroy_canonical_email_block: Forigi blokadon de retpoŝta adreso destroy_custom_emoji: Forigi Propran Emoĝion destroy_domain_allow: Forigi Domajnan Permeson destroy_domain_block: Forigi blokadon de domajno @@ -165,14 +185,17 @@ eo: destroy_ip_block: Forigi IP-regulon destroy_status: Forigi mesaĝon destroy_unavailable_domain: Forigi Nehaveblan Domajnon + destroy_user_role: Detrui Rolon disable_2fa_user: Malaktivigi 2FA-n disable_custom_emoji: Malaktivigi la proprajn emoĝiojn + disable_sign_in_token_auth_user: Malaktivigi Retpoŝtan Ĵetonon por Uzanto disable_user: Malaktivigi la uzanton enable_custom_emoji: Ebligi Propran Emoĝion enable_sign_in_token_auth_user: Aktivigi la aŭtentigon de peco per retpoŝto por la uzanto enable_user: Ebligi uzanton memorialize_account: Memorigu Konton promote_user: Promocii Uzanton + reject_appeal: Malaprobi Apelacion reject_user: Malakcepti Uzanton remove_avatar_user: Forigi la rolfiguron reopen_report: Remalfermi signalon @@ -190,7 +213,9 @@ eo: update_announcement: Ĝisdatigi anoncon update_custom_emoji: Ĝisdatigi proprajn emoĝiojn update_domain_block: Ĝigdatigi domajnan blokadon + update_ip_block: Krei IP-regulon update_status: Ĝisdatigi staton + update_user_role: Ĝisdatigi Rolon actions: approve_user_html: "%{name} aprobis registriĝon de %{target}" assigned_to_self_report_html: "%{name} asignis signalon %{target} al si mem" @@ -203,13 +228,16 @@ eo: create_domain_block_html: "%{name} blokis domajnon %{target}" create_email_domain_block_html: "%{name} blokis retpoŝtan domajnon %{target}" create_ip_block_html: "%{name} kreis regulon por IP %{target}" + create_user_role_html: "%{name} kreis rolon de %{target}" demote_user_html: "%{name} degradis uzanton %{target}" destroy_announcement_html: "%{name} forigis anoncon %{target}" + destroy_custom_emoji_html: "%{name} forigis emoĝion %{target}" destroy_domain_allow_html: "%{name} forigis domajnon %{target} el la blanka listo" destroy_domain_block_html: "%{name} malblokis domajnon %{target}" destroy_email_domain_block_html: "%{name} malblokis retpoŝtan domajnon %{target}" destroy_ip_block_html: "%{name} forigis regulon por IP %{target}" destroy_status_html: "%{name} forigis mesaĝojn de %{target}" + destroy_user_role_html: "%{name} forigis rolon de %{target}" disable_2fa_user_html: "%{name} malaktivigis la postulon de la dufaktora aŭtentigo por la uzanto %{target}" disable_custom_emoji_html: "%{name} neebligis la emoĝion %{target}" disable_user_html: "%{name} neebligis la saluton de la uzanto %{target}" @@ -284,12 +312,20 @@ eo: media_storage: Memorilo de aŭdovidaĵoj new_users: novaj uzantoj opened_reports: raportoj malfermitaj + pending_tags_html: + one: "%{count} pritraktota kradvorto" + other: "%{count} pritraktotaj kradvortoj" resolved_reports: raportoj solvitaj software: Programo space: Memorspaca uzado title: Kontrolpanelo + top_languages: Plej aktivaj lingvoj top_servers: Plej aktivaj serviloj website: Retejo + disputes: + appeals: + empty: Neniuj apelacioj estas trovitaj. + title: Apelacioj domain_allows: add_new: Aldoni domajnon al la blanka listo created_msg: Domajno estis sukcese aldonita al la blanka listo @@ -337,6 +373,10 @@ eo: title: Rekomendoj de sekvado instances: availability: + failures_recorded: + one: Malsukcesa provo dum %{count} tago. + other: Malsukcesa provo dum %{count} apartaj tagoj. + no_failures_recorded: Neniuj malsukcesoj en protokolo. title: Disponebleco warning: La lasta provo por konektiĝi al ĉi tiu servilo estis malsukcesa back_to_all: Ĉiuj @@ -344,25 +384,36 @@ eo: back_to_warning: Averta by_domain: Domajno content_policies: + comment: Interna noto policies: reject_media: Malakcepti la aŭdovidaĵojn reject_reports: Malakcepti raportojn silence: Kaŝu suspend: Suspendi policy: Politiko + reason: Publika kialo + title: Regularo de enhavo dashboard: instance_accounts_dimension: Plej sekvataj kontoj instance_accounts_measure: konservitaj kontoj instance_followers_measure: niaj sekvantoj tie instance_follows_measure: iliaj sekvantoj ĉi tie + instance_languages_dimension: Ĉefaj lingvoj instance_media_attachments_measure: stokitaj aŭdovidaj aldonaĵoj instance_reports_measure: raportoj pri ili instance_statuses_measure: konservitaj afiŝoj delivery: all: Ĉiuj + clear: Forviŝi liverajn erarojn + failing: Malsukcesas + restart: Restarti liveradon + stop: Halti liveradon unavailable: Nedisponebla delivery_available: Liverado disponeblas empty: Neniuj domajnoj trovitaj. + known_accounts: + one: "%{count} konata konto" + other: "%{count} konataj kontoj" moderation: all: Ĉiuj limited: Limigita @@ -425,6 +476,7 @@ eo: notes: one: "%{count} noto" other: "%{count} notoj" + action_log: Kontrola protokolo action_taken_by: Ago farita de actions: other_description_html: Vidu pli da elektebloj por kontroli la agadon de la konto kaj personecigi la komunikadon kun la konto pri kiu raporto. @@ -441,6 +493,7 @@ eo: forwarded: Plusendita forwarded_to: Plusendita al %{domain} mark_as_resolved: Marki solvita + mark_as_sensitive: Marki kiel tiklan mark_as_unresolved: Marki nesolvita no_one_assigned: Neniu notes: @@ -450,6 +503,7 @@ eo: delete: Forigi placeholder: Priskribu faritajn agojn, aŭ ajnan novan informon pri tiu signalo… title: Notoj + remote_user_placeholder: la ekstera uzanto de %{instance} reopen: Remalfermi signalon report: 'Signalo #%{id}' reported_account: Signalita konto @@ -466,15 +520,52 @@ eo: updated_at: Ĝisdatigita view_profile: Vidi profilon roles: + add_new: Aldoni rolon + assigned_users: + one: "%{count} uzanto" + other: "%{count} uzantoj" + categories: + administration: Administrado + devops: Programado kaj Operaciado + invites: Invitoj + moderation: Kontrolado + special: Specialaj + delete: Forigi + edit: Redakti rolon de '%{name}' everyone: Implicitaj permesoj + everyone_full_description_html: Jen la baza rolo, kiu afektas ĉiujn uzantojn, eĉ tiuj sen atribuata rolo. Ĉiuj aliaj roloj heredas permesojn de ĝi. + permissions_count: + one: "%{count} permeso" + other: "%{count} permesoj" privileges: + administrator: Administranto + administrator_description: Uzantoj kun ĉi tiu permeso preterpasos ĉiun permeson delete_user_data: Forviŝi la datumojn de la uzanto + invite_users: Inviti Uzantojn + manage_announcements: Administri Anoncojn + manage_announcements_description: Permesas uzantojn administri anoncojn ĉe la servilo + manage_appeals: Administri Apelaciojn + manage_appeals_description: Rajtigas al uzantoj kontroli apelaciojn kontraǔ kontrolaj agoj + manage_blocks: Administri Blokojn + manage_federation: Administri Federacion + manage_federation_description: Permesas al uzantoj bloki aǔ permesi federacion kun aliaj domajnoj, kaj regi liveradon + manage_invites: Administri Invitojn + manage_roles: Administri Rolojn + manage_rules: Administri Regulojn + view_devops: Programado kaj Operaciado + title: Roloj rules: add_new: Aldoni regulon delete: Forigi edit: Redakti la regulon title: Reguloj de la servilo settings: + about: + title: Pri + appearance: + title: Apero + discovery: + title: Eltrovado domain_blocks: all: Al ciuj disabled: Al neniu @@ -488,15 +579,24 @@ eo: delete: Forigi elŝutitan dosieron destroyed_msg: Reteja alŝuto sukcese forigita! statuses: + account: Skribanto back_to_account: Reveni al konta paĝo batch: remove_from_report: Forigi de raporto report: Raporti deleted: Forigita + language: Lingvo media: title: Aŭdovidaĵoj + metadata: Metadatumoj no_status_selected: Neniu mesaĝo estis ŝanĝita ĉar neniu estis elektita + open: Malfermi afiŝojn + original_status: Originala afiŝo + reblogs: Reblogaĵoj + status_changed: Afiŝo ŝanĝiĝis title: Mesaĝoj de la konto + trending: Popularaĵoj + visibility: Videbleco with_media: Kun aŭdovidaĵoj strikes: actions: @@ -504,9 +604,12 @@ eo: disable: "%{name} frostigis la konton de %{target}" suspend: "%{name} suspendis la konton de %{target}" appeal_approved: Apelaciita + appeal_pending: Apelacio pritraktiĝos system_checks: database_schema_check: message_html: Estas pritraktataj datumbazaj migradoj. Bonvolu ekzekuti ilin por certigi, ke la apliko kondutas kiel atendite + elasticsearch_running_check: + message_html: Ne eblas konekti Elasticsearch. Bonvolu kontroli ke ĝi funkcias, aǔ malŝaltu plentekstan serĉon rules_check: action: Administri servilajn regulojn message_html: Vi ne difinis iujn servilajn regulojn. @@ -516,6 +619,7 @@ eo: title: Administrado trends: allow: Permesi + approved: Aprobita disallow: Malpermesi links: allow: Permesi la ligilon @@ -534,17 +638,27 @@ eo: tags: dashboard: tag_accounts_measure: unikaj uzoj + tag_servers_dimension: Ĉefaj serviloj tag_servers_measure: malsamaj serviloj not_usable: Ne povas esti uzata title: Tendencantaj kradvortoj + trending_rank: 'Populara #%{rank}' + usable: Povas esti uzata title: Tendencoj + trending: Popularaĵoj warning_presets: add_new: Aldoni novan delete: Forviŝi edit_preset: Redakti la antaŭagordojn de averto title: Administri avertajn antaŭagordojn webhooks: + delete: Forigi + disable: Neebligi + disabled: Neebligita + edit: Redakti finpunkton + enable: Ŝalti enabled: Aktiva + events: Eventoj admin_mailer: new_appeal: actions: @@ -840,6 +954,8 @@ eo: other_data: Neniu alia datumo estos movita aŭtomate moderation: title: Moderigado + navigation: + toggle_menu: Baskuli menuon notification_mailer: favourite: body: "%{name} stelumis vian mesaĝon:" @@ -934,6 +1050,8 @@ eo: missing_resource: La bezonata URL de plusendado por via konto ne estis trovita rss: content_warning: 'Averto pri enhavo:' + descriptions: + tag: 'Publikaj afiŝoj pri #%{hashtag}' scheduled_statuses: over_daily_limit: Vi transpasis la limigon al %{limit} samtage planitaj mesaĝoj over_total_limit: Vi transpasis la limigon al %{limit} planitaj mesaĝoj @@ -1018,6 +1136,7 @@ eo: disallowed_hashtags: one: 'enhavas malpermesitan kradvorton: %{tags}' other: 'enhavis malpermesitan kradvorton: %{tags}' + edited_at_html: Redaktis je %{date} open_in_web: Malfermi retumile over_character_limit: limo de %{max} signoj transpasita pin_errors: @@ -1095,10 +1214,18 @@ eo: recovery_instructions_html: Se vi perdas aliron al via telefono, vi povas uzi unu el la subaj realiraj kodoj por rehavi aliron al via konto. Konservu realirajn kodojn sekure. Ekzemple, vi povas printi ilin kaj konservi ilin kun aliaj gravaj dokumentoj. webauthn: Sekurecaj ŝlosiloj user_mailer: + appeal_approved: + action: Iri al via konto + title: Apelacio estis aprobita + appeal_rejected: + subject: Via apelacio de %{date} estis malaprobita + title: Apelacio estis malaprobita backup_ready: explanation: Vi petis kompletan arkivon de via Mastodon-konto. Ĝi nun pretas por elŝutado! subject: Via arkivo estas preta por elŝutado title: Arkiva elŝuto + suspicious_sign_in: + change_password: ŝanĝi vian pasvorton warning: categories: spam: Spamo @@ -1117,6 +1244,7 @@ eo: edit_profile_action: Agordi profilon explanation: Jen kelkaj konsiloj por helpi vin komenci final_action: Ekmesaĝi + final_step: 'Ekmesaĝu! Eĉ sen sekvantoj, viaj publikaj mesaĝoj povas esti vidataj de aliaj, ekzemple en la loka templinio aŭ per kradvortoj. Eble vi ŝatus prezenti vin per la kradvorto #introductions / #konigo.' full_handle: Via kompleta uzantnomo full_handle_hint: Jen kion vi dirus al viaj amikoj, por ke ili mesaĝu aŭ sekvu vin de alia servilo. subject: Bonvenon en Mastodon diff --git a/config/locales/eu.yml b/config/locales/eu.yml index d4a77a992d8..4a8d9bd5073 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -207,6 +207,7 @@ eu: reject_user: Baztertu erabiltzailea remove_avatar_user: Kendu abatarra reopen_report: Berrireki txostena + resend_user: Birbidali berrespen posta reset_password_user: Berrezarri pasahitza resolve_report: Konpondu txostena sensitive_account: Markatu zure kontuko multimedia hunkigarri bezala @@ -265,6 +266,7 @@ eu: reject_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen izen-ematea baztertu du" remove_avatar_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen abatarra kendu du" reopen_report_html: "%{name} erabiltzaileak %{target} txostena berrireki du" + resend_user_html: "%{name} kontuak berrespen eposta bidali du %{target} kontuarentzat" reset_password_user_html: "%{name} erabiltzaileak %{target} erabiltzailearen pasahitza berrezarri du" resolve_report_html: "%{name} erabiltzaileak %{target} txostena konpondu du" sensitive_account_html: "%{name} erabiltzaileak %{target} erabiltzailearen multimedia hunkigarri bezala markatu du" @@ -281,6 +283,7 @@ eu: update_ip_block_html: "%{name} erabiltzaileak %{target} IParen araua aldatu du" update_status_html: "%{name} erabiltzaileak %{target} erabiltzailearen bidalketa eguneratu du" update_user_role_html: "%{name} erabiltzaileak %{target} rola aldatu du" + deleted_account: ezabatu kontua empty: Ez da egunkaririk aurkitu. filter_by_action: Iragazi ekintzen arabera filter_by_user: Iragazi erabiltzaileen arabera diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 3c4239f7766..33408ddb7f1 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -24,6 +24,7 @@ ga: approve: Faomh are_you_sure: An bhfuil tú cinnte? avatar: Abhatár + by_domain: Fearann change_email: current_email: Ríomhphost reatha label: Athraigh ríomhphost @@ -43,17 +44,23 @@ ga: deleted: Scriosta demote: Ísligh disable: Reoigh + disable_two_factor_authentication: Díchumasaigh 2FA disabled: Reoite display_name: Ainm taispeána + domain: Fearann edit: Cuir in eagar email: Ríomhphost email_status: Stádas ríomhphoist + enable: Dí-reoigh enabled: Ar chumas followers: Leantóirí follows: Ag leanúint + header: Ceanntásc ip: IP location: all: Uile + local: Áitiúil + remote: Cian promote: Ardaigh public: Poiblí reject: Diúltaigh diff --git a/config/locales/he.yml b/config/locales/he.yml index 6c53ff25381..28cf52e1cd4 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -955,7 +955,7 @@ he: delete_account: מחיקת חשבון delete_account_html: אם ברצונך למחוק את החשבון, ניתן להמשיך כאן. תתבקש/י לספק אישור נוסף. description: - prefix_invited_by_user: "@%{name} מזמין אותך להצטרף לשרת זה במסטודון!" + prefix_invited_by_user: "@%{name} רוצה שתצטרף לשרת זה במסטודון!" prefix_sign_up: הרשם/י למסטודון היום! suffix: כבעל/ת חשבון, תוכל/י לעקוב אחרי אנשים, לפרסם עדכונים ולהחליף מסרים עם משתמשים מכל שרת מסטודון ועוד! didnt_get_confirmation: לא התקבלו הוראות אימות? diff --git a/config/locales/id.yml b/config/locales/id.yml index a26156ffa7c..b42ded815e9 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -280,6 +280,7 @@ id: update_ip_block_html: "%{name} mengubah peraturan untuk IP %{target}" update_status_html: "%{name} memperbarui status %{target}" update_user_role_html: "%{name} mengubah peran %{target}" + deleted_account: akun yang dihapus empty: Log tidak ditemukan. filter_by_action: Filter berdasarkan tindakan filter_by_user: Filter berdasarkan pengguna diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 558c0d8944e..f222b088798 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -59,7 +59,7 @@ ko: disable_sign_in_token_auth: 이메일 토큰 인증 비활성화 disable_two_factor_authentication: 2단계 인증을 비활성화 disabled: 비활성화된 - display_name: 이름 + display_name: 표시되는 이름 domain: 도메인 edit: 편집 email: 이메일 @@ -89,12 +89,12 @@ ko: moderation: active: 활동 all: 전체 - pending: 대기중 + pending: 대기 중 silenced: 제한됨 suspended: 정지 중 title: 중재 moderation_notes: 중재 기록 - most_recent_activity: 최근 활동 + most_recent_activity: 최근 활동순 most_recent_ip: 최근 IP no_account_selected: 아무 것도 선택 되지 않아 어떤 계정도 변경 되지 않았습니다 no_limits_imposed: 제한 없음 @@ -104,7 +104,7 @@ ko: perform_full_suspension: 정지 previous_strikes: 이전의 처벌들 previous_strikes_description_html: - other: 이 계정은 %{count} 번의 처벌이 있었습니다. + other: 이 계정에는 %{count}번의 처벌이 있었습니다. promote: 승급 protocol: 프로토콜 public: 공개 @@ -149,7 +149,7 @@ ko: title: 계정 unblock_email: 이메일 주소 차단 해제 unblocked_email_msg: "%{username}의 이메일 주소를 성공적으로 차단 해제했습니다" - unconfirmed_email: 미확인 된 이메일 주소 + unconfirmed_email: 확인되지 않은 이메일 주소 undo_sensitized: 민감함으로 설정 취소 undo_silenced: 침묵 해제 undo_suspension: 정지 해제 @@ -200,7 +200,7 @@ ko: enable_user: 사용자 활성화 memorialize_account: 추모계정으로 전환 promote_user: 사용자 승급 - reject_appeal: 이의제기 거절 + reject_appeal: 이의 제기 거절 reject_user: 사용자 거부 remove_avatar_user: 아바타 지우기 reopen_report: 신고 다시 열기 @@ -222,7 +222,7 @@ ko: update_status: 게시물 게시 update_user_role: 역할 수정 actions: - approve_appeal_html: "%{name} 님이 %{target}의 중재 결정에 대한 이의제기를 승인했습니다" + approve_appeal_html: "%{name} 님이 %{target}의 중재 결정에 대한 이의 제기를 승인했습니다" approve_user_html: "%{name} 님이 %{target}의 가입을 승인했습니다" assigned_to_self_report_html: "%{name} 님이 신고 %{target}을 자신에게 할당했습니다" change_email_user_html: "%{name} 님이 사용자 %{target}의 이메일 주소를 변경했습니다" @@ -251,15 +251,15 @@ ko: destroy_unavailable_domain_html: "%{name} 님이 도메인 %{target}에 대한 전달을 재개" destroy_user_role_html: "%{name} 님이 %{target} 역할을 삭제했습니다" disable_2fa_user_html: "%{name} 님이 사용자 %{target}의 2FA를 비활성화 했습니다" - disable_custom_emoji_html: "%{name} 님이 에모지 %{target}를 비활성화 했습니다" - disable_sign_in_token_auth_user_html: "%{name} 님이 %{target} 님의 이메일 토큰 인증을 비활성화 했습니다" - disable_user_html: "%{name} 님이 사용자 %{target}의 로그인을 비활성화 했습니다" - enable_custom_emoji_html: "%{name} 님이 에모지 %{target}를 활성화 했습니다" - enable_sign_in_token_auth_user_html: "%{name} 님이 %{target} 님의 이메일 토큰 인증을 활성화 했습니다" - enable_user_html: "%{name} 님이 사용자 %{target}의 로그인을 활성화 했습니다" + disable_custom_emoji_html: "%{name} 님이 에모지 %{target}를 비활성화했습니다" + disable_sign_in_token_auth_user_html: "%{name} 님이 %{target} 님의 이메일 토큰 인증을 비활성화했습니다" + disable_user_html: "%{name} 님이 사용자 %{target}의 로그인을 비활성화했습니다" + enable_custom_emoji_html: "%{name} 님이 에모지 %{target}를 활성화했습니다" + enable_sign_in_token_auth_user_html: "%{name} 님이 %{target} 님의 이메일 토큰 인증을 활성화했습니다" + enable_user_html: "%{name} 님이 사용자 %{target}의 로그인을 활성화했습니다" memorialize_account_html: "%{name} 님이 %{target}의 계정을 추모비 페이지로 전환했습니다" promote_user_html: "%{name} 님이 사용자 %{target}를 승급시켰습니다" - reject_appeal_html: "%{name} 님이 %{target}의 중재 결정에 대한 이의제기를 거절했습니다" + reject_appeal_html: "%{name} 님이 %{target}의 중재 결정에 대한 이의 제기를 거절했습니다" reject_user_html: "%{name} 님이 %{target}의 가입을 거부했습니다" remove_avatar_user_html: "%{name} 님이 %{target}의 아바타를 지웠습니다" reopen_report_html: "%{name} 님이 신고 %{target}을 다시 열었습니다" @@ -270,7 +270,7 @@ ko: silence_account_html: "%{name} 님이 %{target}의 계정을 침묵시켰습니다" suspend_account_html: "%{name} 님이 %{target}의 계정을 정지시켰습니다" unassigned_report_html: "%{name} 님이 신고 %{target}을 할당 해제했습니다" - unblock_email_account_html: "%{name} 님이 %{target}의 이메일 주소를 차단 해제했습니다." + unblock_email_account_html: "%{name} 님이 %{target}의 이메일 주소를 차단 해제했습니다" unsensitive_account_html: "%{name} 님이 %{target}의 미디어를 민감하지 않음으로 표시했습니다" unsilence_account_html: "%{name} 님이 %{target}의 계정에 대한 침묵을 해제했습니다" unsuspend_account_html: "%{name} 님이 %{target}의 계정에 대한 정지를 해제했습니다" @@ -278,7 +278,7 @@ ko: update_custom_emoji_html: "%{name} 님이 에모지 %{target}를 업데이트 했습니다" update_domain_block_html: "%{name} 님이 %{target}에 대한 도메인 차단을 갱신했습니다" update_ip_block_html: "%{name} 님이 IP 규칙 %{target}을 수정했습니다" - update_status_html: "%{name} 님이 %{target}의 게시물을 업데이트 했습니다" + update_status_html: "%{name} 님이 %{target}의 게시물을 업데이트했습니다" update_user_role_html: "%{name} 님이 %{target} 역할을 수정했습니다" deleted_account: 계정을 삭제했습니다 empty: 로그를 찾을 수 없습니다 @@ -317,7 +317,7 @@ ko: disabled_msg: 성공적으로 비활성화하였습니다 emoji: 에모지 enable: 활성화 - enabled: 활성됨 + enabled: 활성화됨 enabled_msg: 성공적으로 활성화하였습니다 image_hint: "%{size} 이하의 PNG 또는 GIF" list: 목록에 추가 @@ -343,13 +343,13 @@ ko: new_users: 새로운 사용자 opened_reports: 신고 열림 pending_appeals_html: - other: "%{count} 개의 대기 중인 이의제기" + other: "%{count}개의 대기 중인 이의 제기" pending_reports_html: - other: "%{count} 건의 대기 중인 신고" + other: "%{count}건의 대기 중인 신고" pending_tags_html: - other: "%{count} 개의 대기 중인 해시태그" + other: "%{count}개의 대기 중인 해시태그" pending_users_html: - other: "%{count} 명의 대기 중인 사용자" + other: "%{count}명의 대기 중인 사용자" resolved_reports: 신고 해결됨 software: 소프트웨어 sources: 가입 출처 @@ -380,7 +380,7 @@ ko: hint: 도메인 차단은 내부 데이터베이스에 계정이 생성되는 것까지는 막을 수 없지만, 그 도메인에서 생성된 계정에 자동적으로 특정한 중재 규칙을 적용하게 할 수 있습니다. severity: desc_html: |- - 침묵은 계정을 팔로우 하지 않고 있는 사람들에겐 계정의 게시물을 보이지 않게 합니다. 정지는 계정의 컨텐츠, 미디어, 프로필 데이터를 삭제합니다. + 침묵은 계정을 팔로우 하지 않고 있는 사람들에겐 계정의 게시물을 보이지 않게 합니다. 정지는 계정의 콘텐츠, 미디어, 프로필 데이터를 삭제합니다. 미디어 파일만을 거부하고 싶다면 없음으로 두세요. noop: 없음 silence: 침묵 @@ -401,7 +401,7 @@ ko: email_domain_blocks: add_new: 새로 추가 attempts_over_week: - other: 지난 주 동안 %{count} 건의 가입 시도가 있었습니다 + other: 지난 주 동안 %{count}건의 가입 시도가 있었습니다 created_msg: 이메일 도메인 차단 규칙을 생성했습니다 delete: 삭제 dns: @@ -468,11 +468,11 @@ ko: unavailable: 사용불가 delivery_available: 전송 가능 delivery_error_days: 전달 에러가 난 날짜들 - delivery_error_hint: 만약 %{count}일동안 전달이 불가능하다면, 자동으로 전달불가로 표시됩니다. + delivery_error_hint: 만약 %{count}일 동안 전달이 불가능하다면, 자동으로 전달 불가로 표시됩니다. destroyed_msg: "%{domain}의 데이터는 곧바로 지워지도록 대기열에 들어갔습니다." empty: 도메인이 하나도 없습니다. known_accounts: - other: "%{count} 개의 알려진 계정" + other: "%{count}개의 알려진 계정" moderation: all: 모두 limited: 제한됨 @@ -523,7 +523,7 @@ ko: enable_hint: 활성화 되면, 이 릴레이의 모든 공개 게시물을 구독하고 이 서버의 공개 게시물을 전송하게 됩니다. enabled: 활성화 됨 inbox_url: 릴레이 URL - pending: 릴레이의 승인 대기중 + pending: 릴레이의 승인 대기 중 save_and_enable: 저장하고 활성화 setup: 릴레이 연결 설정 signatures_not_enabled: 시큐어모드나 제한된 페더레이션 모드를 사용하고 있다면 릴레이는 제대로 동작하지 않을 것입니다 @@ -545,12 +545,12 @@ ko: other_description_html: 계정 동작을 제어하고 신고된 계정과의 의사소통을 사용자 지정하기 위한 추가 옵션을 봅니다. resolve_description_html: 신고된 계정에 대해 아무런 동작도 취하지 않으며, 처벌기록이 남지 않으며, 신고는 처리됨으로 변경됩니다. silence_description_html: 이미 팔로우 하고 있는 사람이나 수동으로 찾아보는 사람에게만 프로필이 보여지고, 도달 범위를 엄격하게 제한합니다. 언제든지 되돌릴 수 있습니다. - suspend_description_html: 프로필과 모든 컨텐츠가 최종적으로 삭제될 때까지 접근 불가상태가 됩니다. 이 계정과의 상호작용은 불가능해집니다. 30일 이내에 되돌릴 수 있습니다. + suspend_description_html: 프로필과 모든 콘텐츠가 최종적으로 삭제될 때까지 접근 불가상태가 됩니다. 이 계정과의 상호작용은 불가능해집니다. 30일 이내에 되돌릴 수 있습니다. actions_description_html: 이 신고를 해결하기 위해 취해야 할 조치를 지정해주세요. 신고된 계정에 대해 처벌 조치를 취하면, 스팸 카테고리가 선택된 경우를 제외하고 해당 계정으로 이메일 알림이 전송됩니다. add_to_report: 신고에 더 추가하기 are_you_sure: 정말로 실행하시겠습니까? assign_to_self: 나에게 할당하기 - assigned: 할당 된 중재자 + assigned: 할당된 중재자 by_target_domain: 신고된 계정의 도메인 category: 카테고리 category_description_html: 이 계정 또는 게시물이 신고된 이유는 신고된 계정과의 의사소통 과정에 인용됩니다 @@ -572,7 +572,7 @@ ko: delete: 삭제 placeholder: 이 리포트에 대한 조치, 기타 관련 된 사항에 대해 설명합니다… title: 노트 - notes_description_html: 확인하고 다른 중재자나 미래의 자신을 위해 기록을 작성합니다 + notes_description_html: 확인하고 다른 중재자나 미래의 자신을 위해 노트를 작성합니다 quick_actions_description_html: '빠른 조치를 취하거나 아래로 스크롤해서 신고된 콘텐츠를 확인하세요:' remote_user_placeholder: "%{instance}의 리모트 사용자" reopen: 리포트 다시 열기 @@ -583,8 +583,8 @@ ko: resolved_msg: 리포트가 성공적으로 해결되었습니다! skip_to_actions: 작업으로 건너뛰기 status: 상태 - statuses: 신고된 컨텐츠 - statuses_description_html: 문제가 되는 컨텐츠는 신고된 계정에게 인용되어 전달됩니다 + statuses: 신고된 콘텐츠 + statuses_description_html: 문제가 되는 콘텐츠는 신고된 계정에게 인용되어 전달됩니다 target_origin: 신고된 계정의 소속 title: 신고 unassign: 할당 해제 @@ -594,7 +594,7 @@ ko: roles: add_new: 역할 추가 assigned_users: - other: "%{count} 명의 사용자" + other: "%{count}명의 사용자" categories: administration: 관리 devops: 데브옵스 @@ -607,7 +607,7 @@ ko: everyone: 기본 권한 everyone_full_description_html: 이것은 모든 사용자에게 적용될 기본 역할이며, 역할을 지정하지 않아도 적용됩니다. 다른 모든 역할들은 여기에서 권한을 상속합니다. permissions_count: - other: "%{count} 개의 권한" + other: "%{count}개의 권한" privileges: administrator: 관리자 administrator_description: 이 권한을 가진 사용자는 모든 권한을 우회합니다 @@ -733,7 +733,7 @@ ko: appeal_pending: 이의제기 대기중 system_checks: database_schema_check: - message_html: 데이터베이스 마이그레이션이 대기중입니다. 응용프로그램이 예상한대로 동작할 수 있도록 마이그레이션을 실행해 주세요 + message_html: 대기 중인 데이터베이스 마이그레이션이 있습니다. 애플리케이션이 예상대로 동작할 수 있도록 마이그레이션을 실행해 주세요 elasticsearch_running_check: message_html: Elasticsearch에 연결할 수 없습니다. 실행중인지 확인하거나, 전문검색을 비활성화하세요 elasticsearch_version_check: @@ -850,7 +850,7 @@ ko: body: 아래에 새 계정에 대한 상세정보가 있습니다. 이 가입을 승인하거나 거부할 수 있습니다. subject: "%{instance}의 새 계정(%{username})에 대한 심사가 대기중입니다" new_report: - body: "%{reporter} 가 %{target} 를 신고했습니다" + body: "%{reporter} 님이 %{target}를 신고했습니다" body_remote: "%{domain}의 누군가가 %{target}을 신고했습니다" subject: "%{instance} 에 새 신고 등록됨 (#%{id})" new_trends: @@ -942,7 +942,7 @@ ko: account_status: 계정 상태 confirming: 이메일 확인 과정이 완료되기를 기다리는 중. functional: 계정이 완벽히 작동합니다. - pending: 당신의 가입 신청은 스태프의 검사를 위해 대기중입니다. 이것은 시간이 다소 소요됩니다. 가입 신청이 승인 될 경우 이메일을 받게 됩니다. + pending: 당신의 가입 신청은 스태프의 검사를 위해 대기 중입니다. 시간이 조금 걸릴 수 있습니다. 가입 신청이 승인되면 이메일을 받게 됩니다. redirecting_to: 계정이 %{acct}로 리다이렉트 중이기 때문에 비활성 상태입니다. view_strikes: 내 계정에 대한 과거 중재 기록 보기 too_fast: 너무 빠르게 양식이 제출되었습니다, 다시 시도하세요. @@ -994,7 +994,7 @@ ko: success_msg: 계정이 성공적으로 삭제되었습니다 warning: before: '진행하기 전, 주의사항을 꼼꼼히 읽어보세요:' - caches: 다른 서버에 캐싱 된 정보들은 남아있을 수 있습니다 + caches: 다른 서버에 캐싱된 정보들은 남아있을 수 있습니다 data_removal: 당신의 게시물과 다른 정보들은 영구적으로 삭제 됩니다 email_change_html: 계정을 지우지 않고도 이메일 주소를 수정할 수 있습니다 email_contact_html: 아직 도착하지 않았다면, %{email}에 메일을 보내 도움을 요청할 수 있습니다 @@ -1018,7 +1018,7 @@ ko: created_at: 날짜 description_html: 이 결정사항들은 당신에 계정에 대해 행해졌고 %{instance}의 스태프에 의해 경고가 발송되었습니다. recipient: 수신자 - reject_appeal: 이의제기 거절 + reject_appeal: 이의 제기 거절 status: '게시물 #%{id}' status_removed: 게시물이 이미 시스템에서 지워졌습니다 title: "%{action} (%{date}에)" @@ -1117,9 +1117,9 @@ ko: generic: all: 모두 all_items_on_page_selected_html: - other: 현재 페이지에서 %{count} 개의 항목이 선택되었습니다 + other: 현재 페이지에서 %{count}개의 항목이 선택되었습니다 all_matching_items_selected_html: - other: 검색에 잡히는 %{count} 개의 항목이 선택되었습니다 + other: 검색에 잡힌 %{count}개의 항목이 모두 선택되었습니다 changes_saved_msg: 정상적으로 변경되었습니다! copy: 복사 delete: 삭제 @@ -1128,7 +1128,7 @@ ko: order_by: 순서 save_changes: 변경 사항을 저장 select_all_matching_items: - other: 검색에 잡힌 %{count} 개의 항목을 모두 선택하기 + other: 검색에 잡힌 %{count}개의 항목을 모두 선택하기 today: 오늘 validation_errors: other: 오류가 발생했습니다. 아래 %{count}개 오류를 확인해 주십시오 @@ -1143,7 +1143,7 @@ ko: overwrite: 덮어쓰기 overwrite_long: 기존 것을 모두 지우고 새로 추가 preface: 다른 서버에서 내보내기 한 파일에서 팔로우 / 차단 정보를 이 계정으로 불러올 수 있습니다. - success: 파일이 정상적으로 업로드 되었으며, 현재 처리 중입니다 + success: 파일이 정상적으로 업로드되었으며, 현재 처리 중입니다 types: blocking: 차단한 계정 목록 bookmarks: 보관함 @@ -1165,7 +1165,7 @@ ko: generate: 생성 invited_by: '당신을 초대한 사람:' max_uses: - other: "%{count} 회" + other: "%{count}회" max_uses_prompt: 제한 없음 prompt: 이 서버에 대한 초대 링크를 만들고 공유합니다 table: @@ -1241,8 +1241,8 @@ ko: subject: "%{name} 님이 내 게시물을 마음에 들어했습니다" title: 새 좋아요 follow: - body: "%{name} 님이 나를 팔로우 했습니다!" - subject: "%{name} 님이 나를 팔로우 했습니다" + body: "%{name} 님이 나를 팔로우했습니다!" + subject: "%{name} 님이 나를 팔로우했습니다" title: 새 팔로워 follow_request: action: 팔로우 요청 관리 @@ -1311,7 +1311,7 @@ ko: title: 개인정보 정책 reactions: errors: - limit_reached: 다른 리액션 제한에 도달했습니다 + limit_reached: 리액션 갯수 제한에 도달했습니다 unrecognized_emoji: 인식 되지 않은 에모지입니다 relationships: activity: 계정 활동 @@ -1367,7 +1367,7 @@ ko: weibo: 웨이보 current_session: 현재 세션 description: "%{platform}의 %{browser}" - explanation: 내 마스토돈 계정에 현재 로그인 중인 웹 브라우저 목록입니다. + explanation: 내 마스토돈 계정에 로그인되어 있는 웹 브라우저 목록입니다. ip: IP platforms: adobe_air: 어도비 Air @@ -1379,9 +1379,9 @@ ko: linux: 리눅스 mac: 맥OS other: 알 수 없는 플랫폼 - windows: 윈도우즈 - windows_mobile: 윈도우즈 모바일 - windows_phone: 윈도우즈 폰 + windows: 윈도우 + windows_mobile: 윈도우 모바일 + windows_phone: 윈도우 폰 revoke: 삭제 revoke_success: 세션이 성공적으로 삭제되었습니다 title: 세션 @@ -1415,7 +1415,7 @@ ko: other: "%{count}개의 오디오" description: '첨부: %{attached}' image: - other: "%{count} 이미지" + other: "%{count}장의 이미지" video: other: "%{count}개의 영상" boosted_from_html: "%{acct_link}의 글을 부스트" @@ -1491,7 +1491,7 @@ ko: stream_entries: pinned: 고정된 게시물 reblogged: 님이 부스트 했습니다 - sensitive_content: 민감한 컨텐츠 + sensitive_content: 민감한 콘텐츠 strikes: errors: too_late: 이의를 제기하기에 너무 늦었습니다 @@ -1530,7 +1530,7 @@ ko: appeal_rejected: explanation: "%{strike_date}에 일어난 중재결정에 대한 소명을 %{appeal_date}에 작성했지만 거절되었습니다." subject: "%{date}에 작성한 소명이 거절되었습니다" - title: 이의제기가 거절되었습니다 + title: 이의 제기가 거절되었습니다 backup_ready: explanation: 당신이 요청한 계정의 풀 백업이 이제 다운로드 가능합니다! subject: 당신의 아카이브를 다운로드 가능합니다 @@ -1547,7 +1547,7 @@ ko: appeal_description: 이것이 오류라고 생각한다면, %{instance}의 중재자에게 이의신청을 할 수 있습니다. categories: spam: 스팸 - violation: 컨텐츠가 다음의 커뮤니티 규정을 위반합니다 + violation: 콘텐츠가 다음의 커뮤니티 규정을 위반합니다 explanation: delete_statuses: 귀하의 게시물 중 일부가 하나 이상의 커뮤니티 가이드라인을 위반한 것으로 확인되어 %{instance}의 중재자에 의해 삭제되었습니다. disable: 당신은 더이상 당신의 계정을 사용할 수 없습니다, 하지만 프로필과 다른 데이터들은 여전히 그대로 남아있습니다. 당신의 데이터에 대한 백업을 요청하거나, 계정 설정을 변경 또는 계정을 삭제할 수 있습니다. @@ -1579,7 +1579,7 @@ ko: explanation: 시작하기 전에 몇가지 팁들을 준비했습니다 final_action: 포스팅 시작하기 final_step: '게시물을 올리세요! 팔로워가 없더라도, 공개 게시물들은 다른 사람에게 보여질 수 있습니다, 예를 들자면 로컬이나 연합 타임라인 등이 있습니다. 사람들에게 자신을 소개하고 싶다면 #툿친소 해시태그를 이용해보세요.' - full_handle: 당신의 풀 핸들 + full_handle: 내 전체 핸들 full_handle_hint: 이것을 당신의 친구들에게 알려주면 다른 서버에서 팔로우 하거나 메시지를 보낼 수 있습니다. subject: 마스토돈에 오신 것을 환영합니다 title: 환영합니다 %{name} 님! @@ -1587,7 +1587,7 @@ ko: follow_limit_reached: 당신은 %{limit}명의 사람을 넘어서 팔로우 할 수 없습니다 invalid_otp_token: 2단계 인증 코드가 올바르지 않습니다 otp_lost_help_html: 만약 양쪽 모두를 잃어버렸다면 %{email}을 통해 복구할 수 있습니다 - seamless_external_login: 외부 서비스를 이용해 로그인 했습니다, 패스워드와 이메일 설정을 할 수 없습니다. + seamless_external_login: 외부 서비스를 이용해 로그인했으므로 이메일과 암호는 설정할 수 없습니다. signed_in_as: '다음과 같이 로그인 중:' verification: explanation_html: '당신은 프로필 메타데이터의 링크 소유자임을 검증할 수 있습니다. 이것을 하기 위해서는, 링크 된 웹사이트에서 당신의 마스토돈 프로필을 역으로 링크해야 합니다. 역링크는 반드시 rel="me" 속성을 가지고 있어야 합니다. 링크의 텍스트는 상관이 없습니다. 여기 예시가 있습니다:' @@ -1595,13 +1595,13 @@ ko: webauthn_credentials: add: 보안 키 추가 create: - error: 보안 키를 추가하는데 문제가 발생했습니다. 다시 시도해보십시오. + error: 보안 키를 추가하는 데 문제가 발생했습니다. 다시 시도해보십시오. success: 보안 키가 성공적으로 추가되었습니다. delete: 삭제 delete_confirmation: 정말로 이 보안 키를 삭제하시겠습니까? description_html: "보안 키 인증을 활성화 하면, 로그인 시 보안 키 중 하나가 필요합니다." destroy: - error: 보안 키를 삭제하는데 문제가 발생했습니다. 다시 시도해보십시오. + error: 보안 키를 삭제하는 데 문제가 발생했습니다. 다시 시도해보십시오. success: 보안 키가 성공적으로 삭제되었습니다. invalid_credential: 올바르지 않은 보안 키 nickname_hint: 새 보안 키의 별명을 입력해 주세요 diff --git a/config/locales/lv.yml b/config/locales/lv.yml index ddebd9e5dc3..a7641064bfb 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -1307,9 +1307,9 @@ lv: poll: subject: "%{name} aptauja ir beigusies" reblog: - body: 'Tavu ziņu paaugstināja %{name}:' - subject: "%{name} paaugstināja tavu ziņu" - title: Jauns stimuls + body: 'Tavu ziņu pastiprināja %{name}:' + subject: "%{name} pastiprināja tavu ziņu" + title: Jauns pastiprinājums status: subject: "%{name} tikko publicēja" update: @@ -1474,7 +1474,7 @@ lv: one: "%{count} video" other: "%{count} video" zero: "%{count} video" - boosted_from_html: Paaugstināja %{acct_link} + boosted_from_html: Pastiprināja %{acct_link} content_warning: 'Satura brīdinājums: %{warning}' default_language: Tāda, kā saskarnes valoda disallowed_hashtags: @@ -1490,7 +1490,7 @@ lv: direct: Ziņojumus, kas ir redzami tikai minētajiem lietotājiem, nevar piespraust limit: Tu jau esi piespraudis maksimālo ziņu skaitu ownership: Citas personas ziņu nevar piespraust - reblog: Paaugstinātās ziņas nevar piespraust + reblog: Pastiprinātu ierakstu nevar piespraust poll: total_people: one: "%{count} persona" @@ -1521,9 +1521,9 @@ lv: exceptions: Izņēmumi explanation: Tā kā ziņu dzēšana ir dārga darbība, tā tiek veikta lēnām laika gaitā, kad serveris nav citādi aizņemts. Šī iemesla dēļ tavas ziņas var tikt izdzēstas kādu laiku pēc vecuma sliekšņa sasniegšanas. ignore_favs: Ignorēt izlasi - ignore_reblogs: Ignorēt paaugstinātās + ignore_reblogs: Ignorēt pastiprinātos ierakstus interaction_exceptions: Izņēmumi, kuru pamatā ir mijiedarbība - interaction_exceptions_explanation: Ņem vērā, ka nav garantijas, ka ziņas tiks dzēstas, ja tās ir zemākas par izlases vai paaugstinājuma slieksni pēc to pārsniegšanas. + interaction_exceptions_explanation: Ņem vērā, ka ieraksti var netikt dzēsti, ja tie noslīd zem par izlases vai pastiprinājuma sliekšņa pēc tam, kad to reiz pārsnieguši. keep_direct: Saglabāt tiešos ziņojumus keep_direct_hint: Nedzēš nevienu tavu tiešo ziņojumu keep_media: Saglabāt ziņas ar mediju pielikumiem @@ -1548,11 +1548,11 @@ lv: min_age_label: Vecuma slieksnis min_favs: Saglabāt ziņas izlsasē vismaz min_favs_hint: Nedzēš nevienu tavu ziņu, kas ir saņēmusi vismaz tik daudz izlases. Atstāj tukšu, lai dzēstu ziņas neatkarīgi no to izlases skaita - min_reblogs: Saglabāt ziņas paaugstinātas vismaz - min_reblogs_hint: Neizdzēš nevienu no tavām ziņām, kas ir paaugstinātas vismaz tik reižu. Atstāj tukšu, lai dzēstu ziņas neatkarīgi no to paaugstinājumu skaita + min_reblogs: Saglabāt ierakstus pastiprinātus vismaz + min_reblogs_hint: Neizdzēš nevienu no taviem ierakstiem, kas ir pastiprināts vismaz tik reižu. Atstāj tukšu, lai dzēstu ierakstus neatkarīgi no to pastiprinājumu skaita stream_entries: pinned: Piespraustā ziņa - reblogged: paaugstinātās + reblogged: pastiprinātie sensitive_content: Sensitīvs saturs strikes: errors: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 88b224c3e9b..6d7f8d6aa7e 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -12,7 +12,7 @@ nl: one: Volger other: Volgers following: Volgend - instance_actor_flash: Dit account is een 'virtual actor' waarmee de server zichzelf vertegenwoordigd en is dus geen individuele gebruiker. Het wordt voor federatiedoeleinden gebruikt en moet niet worden opgeschort. + instance_actor_flash: Dit account is een 'virtual actor' waarmee de server zichzelf vertegenwoordigt en is dus geen individuele gebruiker. Het wordt voor federatiedoeleinden gebruikt en moet niet worden opgeschort. last_active: laatst actief link_verified_on: Eigendom van deze link is gecontroleerd op %{date} nothing_here: Hier is niets! @@ -1549,7 +1549,7 @@ nl: otp: Authenticatie-app recovery_codes: Herstelcodes back-uppen recovery_codes_regenerated: Opnieuw genereren herstelcodes geslaagd - recovery_instructions_html: Wanneer je ooit de toegang verliest tot jouw telefoon, kan je met behulp van een van de herstelcodes hieronder opnieuw toegang krijgen tot jouw account. Zorg ervoor dat je de herstelcodes op een veilige plek bewaard. Je kunt ze bijvoorbeeld printen en ze samen met andere belangrijke documenten bewaren. + recovery_instructions_html: Wanneer je ooit de toegang verliest tot jouw telefoon, kan je met behulp van een van de herstelcodes hieronder opnieuw toegang krijgen tot jouw account. Zorg ervoor dat je de herstelcodes op een veilige plek bewaart. Je kunt ze bijvoorbeeld printen en ze samen met andere belangrijke documenten bewaren. webauthn: Beveiligingssleutels user_mailer: appeal_approved: diff --git a/config/locales/nn.yml b/config/locales/nn.yml index e3915a0992e..052e7fe8c65 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -270,7 +270,15 @@ nn: reset_password_user_html: "%{name} tilbakestilte passordet for brukaren %{target}" resolve_report_html: "%{name} løyste ein rapport %{target}" sensitive_account_html: "%{name} markerte %{target} sitt media som sensitivt" - silence_account_html: "%{name} begrenset %{target} sin konto" + silence_account_html: "%{name} begrensa %{target} sin konto" + suspend_account_html: "%{name} utviste %{target} sin konto" + unassigned_report_html: "%{name} løyste ein rapport %{target}" + unblock_email_account_html: "%{name} avblokkerte %{target} si e-postadresse" + unsensitive_account_html: "%{name} avmarkerte %{target} sitt media som sensitivt" + update_custom_emoji_html: "%{name} oppdaterte emoji %{target}" + update_ip_block_html: "%{name} endret regel for IP %{target}" + update_status_html: "%{name} oppdaterte innlegg av %{target}" + update_user_role_html: "%{name} endret %{target} -rolle" deleted_account: sletta konto empty: Ingen loggar funne. filter_by_action: Sorter etter handling @@ -329,18 +337,28 @@ nn: upload: Last opp dashboard: active_users: aktive brukarar - interactions: interaksjoner - media_storage: Medialagring - new_users: nye brukere - opened_reports: rapporter åpnet - resolved_reports: rapporter løst + interactions: interaksjonar + media_storage: Medielagring + new_users: nye brukarar + opened_reports: rapportar opna + pending_appeals_html: + one: "%{count} ventande ankar" + other: "%{count} ventande klagar" + pending_users_html: + one: "%{count} ventande brukarar" + other: "%{count} ventande brukarar" + resolved_reports: rapportar løyst software: Programvare - sources: Kilder for registreringer + sources: Kjelder for registreringar space: Lagrinsplass nytta title: Dashbord top_languages: Mest aktive språk - top_servers: Mest aktive servere + top_servers: Mest aktive serverar website: Nettside + disputes: + appeals: + empty: Ingen ankar funne. + title: Ankar domain_allows: add_new: Kvitlist domene created_msg: Domene er vorte kvitlista @@ -376,11 +394,18 @@ nn: view: Vis domeneblokkering email_domain_blocks: add_new: Lag ny + attempts_over_week: + one: "%{count} forsøk i løpet av den siste uken" + other: "%{count} forsøk på å opprette konto i løpet av den siste uken" created_msg: E-postdomenet ble lagt til i blokkeringslisten uten problemer delete: Slett + dns: + types: + mx: MX post domain: Domene new: create: Legg til domene + resolve: Løs domene title: Ny blokkeringsoppføring av e-postdomene resolved_through_html: Løyst gjennom %{domain} title: Blokkerte e-postadresser @@ -389,14 +414,33 @@ nn: language: For språk status: Status suppress: Undertrykk anbefalte følger - suppressed: Dempet - title: Følg anbefalinger + suppressed: Dempa + title: Følg gjerne desse unsuppress: Gjenopprett følg-anbefaling instances: + availability: + failure_threshold_reached: Feilterskelen ble nådd %{date}. + no_failures_recorded: Ingen feil registrert. + title: Tilgjenge + warning: Det siste forsøket på å koble til denne serveren lyktes ikke back_to_all: All back_to_limited: Begrenset back_to_warning: Advarsel by_domain: Domene + content_policies: + comment: Internt notat + policies: + reject_media: Avvis media + reason: Offentlig årsak + title: Retningslinjer for innhold + dashboard: + instance_accounts_measure: lagrede kontoer + instance_followers_measure: våre følgere der + instance_follows_measure: deres følgere her + instance_languages_dimension: Mest brukte språk + instance_media_attachments_measure: lagrede mediavedlegg + instance_reports_measure: rapporter om dem + instance_statuses_measure: lagrede innlegg delivery: all: All clear: Feil ved fjerning @@ -404,6 +448,8 @@ nn: stop: Stopp levering unavailable: Ikke tilgjengelig delivery_available: Levering er tilgjengelig + delivery_error_hint: Dersom levering ikke er mulig i løpet av %{count} dager, blir det automatisk merket som ikke mulig å levere. + empty: Ingen domener funnet. moderation: all: Alle limited: Avgrensa @@ -495,6 +541,16 @@ nn: unassign: Avset unresolved: Uløyst updated_at: Oppdatert + view_profile: Vis profil + roles: + add_new: Legg til rolle + assigned_users: + one: "%{count} bruker" + other: "%{count} brukere" + categories: + administration: Administrasjon + devops: DevOps + invites: Invitasjoner rules: add_new: Legg til et filter delete: Slett @@ -915,6 +971,10 @@ nn: status: Kontostatus remote_follow: missing_resource: Kunne ikke finne URLen for din konto + rss: + descriptions: + account: Offentlige innlegg fra @%{acct} + tag: 'Offentlige innlegg merket med #%{hashtag}' scheduled_statuses: over_daily_limit: Du har overskredet grensen på %{limit} planlagte tuter for den dagen over_total_limit: Du har overskredet grensen på %{limit} planlagte tuter @@ -980,6 +1040,8 @@ nn: preferences: Innstillingar profile: Profil relationships: Fylgjar og fylgjarar + statuses_cleanup: Automatisert sletting av innlegg + strikes: Modereringsadvarsler two_factor_authentication: Tostegsautorisering webauthn_authentication: Sikkerhetsnøkler statuses: @@ -996,6 +1058,7 @@ nn: disallowed_hashtags: one: 'inneheldt ein emneknagg som ikkje var tillaten: %{tags}' other: 'inneheldt emneknaggen som ikkje var tillaten: %{tags}' + edited_at_html: Redigert %{date} errors: in_reply_not_found: Det ser ut til at tutet du freistar å svara ikkje finst. open_in_web: Opn på nett @@ -1025,6 +1088,9 @@ nn: unlisted: Ikkje oppført unlisted_long: Alle kan sjå, men ikkje oppført på offentlege tidsliner statuses_cleanup: + enabled: Slett gamle innlegg automatisk + enabled_hint: Sletter innleggene dine automatisk når de oppnår en angitt alder, med mindre de samsvarer med ett av unntakene nedenfor + exceptions: Unntak keep_pinned: Behald festa innlegg keep_pinned_hint: Sletter ingen av dine festa innlegg keep_polls: Behald røystingar @@ -1061,6 +1127,7 @@ nn: formats: default: "%d.%b %Y, %H:%M" month: "%b %Y" + time: "%H:%M" two_factor_authentication: add: Legg til disable: Slå av @@ -1108,17 +1175,24 @@ nn: reason: 'Årsak:' statuses: 'Innlegg sitert:' subject: + delete_statuses: Dine innlegg på %{acct} har blitt fjernet disable: Kontoen din, %{acct}, har blitt fryst + mark_statuses_as_sensitive: Dine innlegg på %{acct} har blitt merket som sensitivt innhold none: Åtvaring for %{acct} + sensitive: Dine innlegg på %{acct} vil bli merket som sensitive fra nå silence: Kontoen din, %{acct}, er vorten avgrensa suspend: Kontoen din, %{acct}, er vorten utvist title: + delete_statuses: Innlegg fjernet disable: Konto frosen + mark_statuses_as_sensitive: Innlegg markert som sensitive none: Åtvaring + sensitive: Konto markert som sensitiv silence: Konto avgrensa suspend: Konto utvist welcome: edit_profile_action: Lag til profil + edit_profile_step: Du kan tilpasse profilen din ved å laste opp et profilbilde, endre visningsnavnet ditt og mer. Du kan velge at nye følgere må godkjennes av deg før de får lov til å følge deg. explanation: Her er nokre tips for å koma i gang final_action: Kom i gang med å leggja ut full_handle: Det fulle brukarnamnet ditt @@ -1137,9 +1211,11 @@ nn: webauthn_credentials: add: Legg til ny sikkerhetsnøkkel create: + error: Det oppstod et problem med å legge til sikkerhetsnøkkelen. Prøv igjen. success: Sikkerhetsnøkkelen din ble vellykket lagt til. delete: Slett delete_confirmation: Er du sikker på at du vil slette denne sikkerhetsnøkkelen? + description_html: Dersom du aktiverer sikkerhetsnøkkelautentisering, vil innlogging kreve at du bruker en av sikkerhetsnøklene dine. destroy: error: Det oppsto et problem med å slette sikkerhetsnøkkelen. Prøv igjen. success: Sikkerhetsnøkkelen din ble vellykket slettet. diff --git a/config/locales/no.yml b/config/locales/no.yml index d891cd537d8..0e379da21ad 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -5,6 +5,7 @@ contact_missing: Ikke innstilt contact_unavailable: Ikke tilgjengelig hosted_on: Mastodon driftet på %{domain} + title: Om accounts: follow: Følg followers: @@ -51,6 +52,7 @@ confirm: Bekreft confirmed: Bekreftet confirming: Bekrefte + custom: Tilpasset delete: Slett data deleted: Slettet demote: Degrader @@ -90,6 +92,7 @@ active: Aktive all: Alle pending: Avventer + silenced: Stilnet suspended: Utvist title: Moderasjon moderation_notes: Moderasjonsnotater @@ -142,6 +145,7 @@ statuses: Statuser strikes: Tidligere advarsler subscribe: Abonnere + suspend: Suspender suspended: Suspendert suspension_irreversible: Dataene fra denne kontoen har blitt ikke reverserbart slettet. Du kan oppheve suspenderingen av kontoen for å gjøre den brukbart, men den vil ikke gjenopprette alle data den tidligere har hatt. suspension_reversible_hint_html: Kontoen har blitt suspendert, og dataene vil bli fullstendig fjernet den %{date}. Frem til da kan kontoen gjenopprettes uten negative effekter. Hvis du ønsker å fjerne alle kontoens data umiddelbart, kan du gjøre det nedenfor. @@ -149,6 +153,7 @@ unblock_email: Avblokker e-postadresse unblocked_email_msg: Fjernet blokkering av %{username} sin e-postadresse unconfirmed_email: Ubekreftet E-postadresse + undo_sensitized: Gjør om tving sensitiv undo_silenced: Angre målbinding undo_suspension: Angre utvisning unsilenced_msg: Opphevde vellykket begrensningen av %{username} sin konto @@ -161,6 +166,7 @@ whitelisted: Hvitelistet action_logs: action_types: + approve_appeal: Godkjenn anke approve_user: Godkjenn bruker assigned_to_self_report: Tilordne rapport change_email_user: Endre brukerens E-postadresse @@ -168,37 +174,48 @@ confirm_user: Bekreft brukeren create_account_warning: Opprett en advarsel create_announcement: Opprett en kunngjøring + create_canonical_email_block: Opprett e-post-blokkering create_custom_emoji: Opprett en tilpasset emoji create_domain_allow: Opprett domene tillatt create_domain_block: Opprett domene-blokk create_email_domain_block: Opprett e-post domeneblokk create_ip_block: Opprett IP-regel + create_unavailable_domain: Opprett utilgjengelig domene create_user_role: Opprett rolle demote_user: Degrader bruker destroy_announcement: Slett kunngjøringen destroy_canonical_email_block: Slett blokkering av e-post destroy_custom_emoji: Slett den tilpassede emojien + destroy_domain_allow: Slett domenegodkjenning destroy_domain_block: Slett blokkering av domene destroy_email_domain_block: Slett blokkering av e-postdomene + destroy_instance: Slett domene destroy_ip_block: Slett IP-regel destroy_status: Slett statusen destroy_unavailable_domain: Slett utilgjengelig domene destroy_user_role: Slett rolle disable_2fa_user: Skru av 2-trinnsinnlogging disable_custom_emoji: Skru av tilpassede emojier + disable_sign_in_token_auth_user: Skru av e-post-tokenautentisering for bruker disable_user: Deaktiver bruker enable_custom_emoji: Skru på tilpassede emojier + enable_sign_in_token_auth_user: Skru på e-post-tokenautentisering for bruker enable_user: Aktiver bruker + memorialize_account: Opprett minnekonto promote_user: Promoter bruker + reject_appeal: Avvis anke reject_user: Avvis bruker remove_avatar_user: Fjern Avatar reopen_report: Gjenåpne rapporten resend_user: Send e-post med bekreftelse på nytt reset_password_user: Tilbakestill passord resolve_report: Løs rapport + sensitive_account: Tving sensitiv konto silence_account: Demp konto suspend_account: Suspender kontoen + unassigned_report: Fjern tilordnet rapport unblock_email_account: Fjern blokkering av e-postadresse + unsensitive_account: Angre tving sensitiv konto unsuspend_account: Opphev suspensjonen av kontoen update_announcement: Oppdater kunngjøringen update_custom_emoji: Oppdater tilpasset Emoji @@ -219,8 +236,20 @@ create_domain_block_html: "%{name} blokkert domene %{target}" create_email_domain_block_html: "%{name} blokkert e-post domene %{target}" create_ip_block_html: "%{name} opprettet regel for IP %{target}" + create_user_role_html: "%{name} opprettet rollen %{target}" + destroy_announcement_html: "%{name} slettet kunngjøring %{target}" + destroy_custom_emoji_html: "%{name} slettet emoji %{target}" + destroy_ip_block_html: "%{name} slettet regel for IP %{target}" + destroy_status_html: "%{name} fjernet innlegget av %{target}" + destroy_user_role_html: "%{name} slettet %{target} -rolle" reject_user_html: "%{name} avslo registrering fra %{target}" + reset_password_user_html: "%{name} tilbakestille passordet for brukeren %{target}" silence_account_html: "%{name} begrenset %{target} sin konto" + update_custom_emoji_html: "%{name} oppdaterte emoji %{target}" + update_ip_block_html: "%{name} endret regel for IP %{target}" + update_status_html: "%{name} oppdaterte innlegg av %{target}" + update_user_role_html: "%{name} endret %{target} -rolle" + deleted_account: slettet konto empty: Ingen loggføringer ble funnet. filter_by_action: Sorter etter handling filter_by_user: Sorter etter bruker @@ -259,10 +288,12 @@ enable: Aktivere enabled: Skrudd på enabled_msg: Aktiverte emojien uten problem + image_hint: PNG eller GIF opptil %{size} list: Før opp listed: Oppførte new: title: Legg til ny egen emoji + no_emoji_selected: Ingen emojis ble endret da ingen var valgt not_permitted: Du har ikke rettigheter til å utføre denne handlingen overwrite: Overskrive shortcode: Kortkode @@ -323,6 +354,9 @@ view: Vis domeneblokkering email_domain_blocks: add_new: Lag ny + attempts_over_week: + one: "%{count} forsøk i løpet av den siste uken" + other: "%{count} forsøk på å opprette konto i løpet av den siste uken" created_msg: E-postdomenet ble lagt til i blokkeringslisten uten problemer delete: Fjern domain: Domene @@ -339,10 +373,29 @@ title: Følg anbefalinger unsuppress: Gjenopprett følg-anbefaling instances: + availability: + failure_threshold_reached: Feilterskelen ble nådd %{date}. + no_failures_recorded: Ingen feil registrert. + title: Tilgjengelighet + warning: Det siste forsøket på å koble til denne serveren lyktes ikke back_to_all: All back_to_limited: Begrenset back_to_warning: Advarsel by_domain: Domene + content_policies: + comment: Internt notat + policies: + reject_media: Avvis media + reason: Offentlig årsak + title: Retningslinjer for innhold + dashboard: + instance_accounts_measure: lagrede kontoer + instance_followers_measure: våre følgere der + instance_follows_measure: deres følgere her + instance_languages_dimension: Mest brukte språk + instance_media_attachments_measure: lagrede mediavedlegg + instance_reports_measure: rapporter om dem + instance_statuses_measure: lagrede innlegg delivery: all: All clear: Feil ved fjerning @@ -350,6 +403,8 @@ stop: Stopp levering unavailable: Ikke tilgjengelig delivery_available: Levering er tilgjengelig + delivery_error_hint: Dersom levering ikke er mulig i løpet av %{count} dager, blir det automatisk merket som ikke mulig å levere. + empty: Ingen domener funnet. moderation: all: Alt limited: Begrenset @@ -441,6 +496,16 @@ unassign: Fjern tilegning unresolved: Uløst updated_at: Oppdatert + view_profile: Vis profil + roles: + add_new: Legg til rolle + assigned_users: + one: "%{count} bruker" + other: "%{count} brukere" + categories: + administration: Administrasjon + devops: DevOps + invites: Invitasjoner rules: add_new: Legg til et filter delete: Slett diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index ec794492b43..8279f68f0e5 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -28,24 +28,24 @@ pt-BR: title: Moderar %{acct} account_moderation_notes: create: Deixar nota - created_msg: Nota de moderação criada com sucesso! - destroyed_msg: Nota de moderação excluída com sucesso! + created_msg: Nota de moderação criada! + destroyed_msg: Nota de moderação excluída! accounts: add_email_domain_block: Bloquear domínio de e-mail approve: Aprovar - approved_msg: O registro de %{username} foi aprovado com sucesso + approved_msg: O registro de %{username} foi aprovado are_you_sure: Você tem certeza? avatar: Imagem de perfil by_domain: Domínio change_email: - changed_msg: E-mail alterado com sucesso! + changed_msg: E-mail alterado! current_email: E-mail atual label: Alterar e-mail new_email: Novo e-mail submit: Alterar e-mail title: Alterar e-mail para %{username} change_role: - changed_msg: Cargo alterado com sucesso! + changed_msg: Cargo alterado! label: Alterar cargo no_role: Sem cargo title: Alterar cargo para %{username} @@ -69,7 +69,7 @@ pt-BR: enable: Descongelar enable_sign_in_token_auth: Ativar autenticação via token por email enabled: Ativada - enabled_msg: Descongelada com sucesso a conta de %{username} + enabled_msg: A conta de %{username} foi descongelada followers: Seguidores follows: Seguindo header: Capa @@ -87,53 +87,53 @@ pt-BR: media_attachments: Mídias anexadas memorialize: Converter em memorial memorialized: Convertidas em memorial - memorialized_msg: Transformou com sucesso %{username} em uma conta memorial + memorialized_msg: A conta de %{username} foi transformada em uma conta memorial moderation: active: Ativo all: Todos pending: Pendente silenced: Limitado - suspended: Banidos + suspended: Suspendido title: Moderação moderation_notes: Notas de moderação most_recent_activity: Atividade mais recente most_recent_ip: IP mais recente no_account_selected: Nenhuma conta foi alterada, pois nenhuma conta foi selecionada no_limits_imposed: Sem limite imposto - no_role_assigned: Nenhuma função atribuída + no_role_assigned: Sem cargo not_subscribed: Não inscrito pending: Revisão pendente - perform_full_suspension: Banir - previous_strikes: Ataques anteriores + perform_full_suspension: Suspender + previous_strikes: Avisos anteriores previous_strikes_description_html: - one: Esta conta tem um ataque. + one: Esta conta tem um aviso. other: Esta conta tem %{count} ataques. promote: Promover protocol: Protocolo public: Público push_subscription_expires: Inscrição PuSH expira redownload: Atualizar perfil - redownloaded_msg: Atualizado com sucesso o perfil de %{username} a partir da origem - reject: Vetar - rejected_msg: Rejeitado com sucesso o pedido de registro de %{username} + redownloaded_msg: O perfil de %{username} foi atualizado a partir da origem + reject: Rejeitar + rejected_msg: O pedido de registro de %{username} foi rejeitado remove_avatar: Remover imagem de perfil remove_header: Remover capa - removed_avatar_msg: Removida com sucesso a imagem de avatar de %{username} - removed_header_msg: Removida com sucesso a imagem de capa de %{username} + removed_avatar_msg: A imagem de perfil de %{username} foi removida + removed_header_msg: A capa de %{username} foi removida resend_confirmation: already_confirmed: Este usuário já está confirmado send: Reenviar o e-mail de confirmação - success: E-mail de confirmação enviado com sucesso! + success: E-mail de confirmação enviado! reset: Redefinir reset_password: Redefinir senha resubscribe: Reinscrever-se - role: Função - search: Pesquisar + role: Cargo + search: Buscar search_same_email_domain: Outros usuários com o mesmo domínio de e-mail search_same_ip: Outros usuários com o mesmo IP security_measures: - only_password: Somente senha - password_and_2fa: Senha e 2FA + only_password: Apenas senha + password_and_2fa: Senha e autenticação de dois fatores sensitive: Sensíveis sensitized: marcadas como sensíveis shared_inbox_url: Link da caixa de entrada compartilhada @@ -143,7 +143,7 @@ pt-BR: silence: Silenciar silenced: Silenciado statuses: Publicações - strikes: Ataques anteriores + strikes: Avisos anteriores subscribe: Inscrever-se suspend: Suspender suspended: Banido @@ -151,14 +151,14 @@ pt-BR: suspension_reversible_hint_html: A conta foi suspensa e os dados serão totalmente removidos em %{date}. Até lá, a conta pode ser restaurada sem nenhum efeito negativo. Se você deseja remover todos os dados da conta imediatamente, você pode fazer isso abaixo. title: Contas unblock_email: Desbloquear endereço de e-mail - unblocked_email_msg: Endereço de e-mail de %{username} desbloqueado com sucesso + unblocked_email_msg: O endereço de e-mail de %{username} foi desbloqueado unconfirmed_email: E-mail não confirmado undo_sensitized: Desfazer sensível undo_silenced: Desfazer silêncio undo_suspension: Desbanir - unsilenced_msg: Removidas com sucesso as limitações da conta de %{username} + unsilenced_msg: As limitações da conta de %{username} foram removidas unsubscribe: Cancelar inscrição - unsuspended_msg: Removida com sucesso a suspensão da conta de %{username} + unsuspended_msg: A suspensão da conta de %{username} foi removida username: Nome de usuário view_domain: Ver resumo para o domínio warn: Notificar @@ -205,7 +205,7 @@ pt-BR: promote_user: Promover usuário reject_appeal: Rejeitar recurso reject_user: Rejeitar Usuário - remove_avatar_user: Remover Avatar + remove_avatar_user: Remover imagem de perfil reopen_report: Reabrir Relatório resend_user: Reenviar o E-mail de Confirmação reset_password_user: Redefinir a senha @@ -253,7 +253,7 @@ pt-BR: destroy_status_html: "%{name} removeu a publicação de %{target}" destroy_unavailable_domain_html: "%{name} retomou a entrega ao domínio %{target}" destroy_user_role_html: "%{name} excluiu a função %{target}" - disable_2fa_user_html: "%{name} desativou a exigência de autenticação de dois fatores para o usuário %{target}" + disable_2fa_user_html: "%{name} desativou a exigência da autenticação de dois fatores para o usuário %{target}" disable_custom_emoji_html: "%{name} desativou o emoji %{target}" disable_sign_in_token_auth_user_html: "%{name} desativou a autenticação via token por email para %{target}" disable_user_html: "%{name} desativou o login para %{target}" @@ -289,7 +289,7 @@ pt-BR: filter_by_user: Filtrar por usuário title: Auditar histórico announcements: - destroyed_msg: Anúncio excluído com sucesso! + destroyed_msg: Anúncio excluído! edit: title: Editar anúncio empty: Sem anúncios. @@ -298,30 +298,30 @@ pt-BR: create: Criar anúncio title: Novo anúncio publish: Publicar - published_msg: Anúncio publicado com sucesso! + published_msg: Anúncio publicado! scheduled_for: Agendado para %{time} scheduled_msg: Anúncio agendado para publicação! title: Anúncios unpublish: Cancelar publicação - unpublished_msg: Anúncio despublicado com sucesso! - updated_msg: Anúncio atualizado com sucesso! + unpublished_msg: Anúncio desfeito! + updated_msg: Anúncio atualizado! custom_emojis: assign_category: Atribuir categoria by_domain: Domínio - copied_msg: Cópia local do emoji criada com sucesso + copied_msg: Emoji copiado localmente copy: Copiar copy_failed_msg: Não foi possível criar cópia local do emoji create_new_category: Criar nova categoria - created_msg: Emoji criado com sucesso! + created_msg: Emoji criado! delete: Excluir - destroyed_msg: Emoji excluído com sucesso! + destroyed_msg: Emoji excluído! disable: Desativar disabled: Desativado - disabled_msg: Emoji desativado com sucesso + disabled_msg: Emoji desativado emoji: Emoji enable: Ativar enabled: Ativado - enabled_msg: Emoji ativado com sucesso + enabled_msg: Emoji ativado image_hint: PNG ou GIF até %{size} list: Listar listed: Listado @@ -337,7 +337,7 @@ pt-BR: unlist: Não listar unlisted: Não-listado update_failed_msg: Não foi possível atualizar esse emoji - updated_msg: Emoji atualizado com sucesso! + updated_msg: Emoji atualizado! upload: Enviar dashboard: active_users: usuários ativos @@ -372,8 +372,8 @@ pt-BR: domain_allows: add_new: Permitir domínio created_msg: Domínio foi permitido - destroyed_msg: Domínio foi bloqueado - undo: Bloquear + destroyed_msg: Domínio foi proibido de federar + undo: Bloquear federação com domínio domain_blocks: add_new: Adicionar novo bloqueio de domínio created_msg: Domínio está sendo bloqueado @@ -408,7 +408,7 @@ pt-BR: attempts_over_week: one: "%{count} tentativa na última semana" other: "%{count} tentativas de inscrição na última semana" - created_msg: Domínio de e-mail adicionado à lista negra com sucesso + created_msg: O domínio de e-mail foi adicionado à lista negra delete: Excluir dns: types: @@ -433,8 +433,8 @@ pt-BR: instances: availability: description_html: - one: Se a entrega ao domínio falhar %{count} dia sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega de do domínio seja recebida. - other: Se a entrega ao domínio falhar em %{count} dias diferentes sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega de do domínio seja recebida. + one: Se a entrega ao domínio falhar em %{count} dia sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega do domínio seja recebida. + other: Se a entrega ao domínio falhar em %{count} dias diferentes sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega do domínio seja recebida. failure_threshold_reached: Limite de falhas atingido em %{date}. failures_recorded: one: Falha na tentativa em %{count} dia. @@ -507,7 +507,7 @@ pt-BR: title: Convites ip_blocks: add_new: Criar regra - created_msg: Nova regra de IP adicionada com sucesso + created_msg: Nova regra de IP adicionada delete: Excluir expires_in: '1209600': 2 semanas @@ -525,11 +525,11 @@ pt-BR: relays: add_new: Adicionar novo repetidor delete: Excluir - description_html: Um repetidor de federação é um servidor intermediário que troca um grande volume de toots públicos entre instâncias que se inscrevem e publicam nele. O repetidor pode ser usado para ajudar instâncias pequenas e médias a descobrir conteúdo pelo fediverso, que normalmente precisariam que usuários locais manualmente seguissem outras pessoas em instâncias remotas. + description_html: Um repetidor de federação é um servidor intermediário que troca um grande volume de publicações públicas entre servidores que se inscrevem e publicam nele. Ele pode ser usado para ajudar os servidores pequenos e médios a descobrir o conteúdo pelo fediverso, que normalmente precisariam que usuários locais manualmente seguissem outras pessoas em servidores remotas. disable: Desativar disabled: Desativado enable: Ativar - enable_hint: Uma vez ativado, sua instância se inscreverá para receber todos os toots públicos desse repetidor; E vai começar a enviar todos os toots públicos desta instância para o repetidor. + enable_hint: Uma vez ativado, seu servidor se inscreverá para receber todas as publicações deste repetidor e começará a enviar todas as publicações deste servidor para o repetidor. enabled: Ativado inbox_url: Link do repetidor pending: Esperando pela aprovação do repetidor @@ -539,8 +539,8 @@ pt-BR: status: Situação title: Repetidores report_notes: - created_msg: Nota de denúncia criada com sucesso! - destroyed_msg: Nota de denúncia excluída com sucesso! + created_msg: Nota de denúncia criada! + destroyed_msg: Nota de denúncia excluída! today_at: Hoje às %{time} reports: account: @@ -592,7 +592,7 @@ pt-BR: reported_account: Conta denunciada reported_by: Denunciada por resolved: Resolvido - resolved_msg: Denúncia resolvida com sucesso! + resolved_msg: Denúncia resolvida! skip_to_actions: Pular para ações status: Situação statuses: Conteúdo denunciado @@ -747,18 +747,20 @@ pt-BR: appeal_pending: Recurso pendente system_checks: database_schema_check: - message_html: Existem migrações de banco de dados pendentes. Por favor, execute-as para garantir que o aplicativo se comporte como esperado + message_html: Existem migrações de banco de dados pendentes. Execute-as para garantir que o aplicativo se comporte como esperado elasticsearch_running_check: - message_html: Não foi possível conectar ao Elasticsearch. Por favor, verifique se está em execução, ou desabilite a pesquisa de texto completo + message_html: Não foi possível conectar ao Elasticsearch. Verifique se ele está em execução ou desative a pesquisa de texto completo elasticsearch_version_check: message_html: 'Versão de Elasticsearch incompatível: %{value}' version_comparison: A versão %{running_version} de Elasticsearch está em execução, porém é obrigatória a versão %{required_version} rules_check: action: Gerenciar regras do servidor message_html: Você não definiu nenhuma regra de servidor. + sidekiq_process_check: + message_html: Nenhum processo Sidekiq rodando para a(s) fila(s) %{value}. Por favor, revise a sua configuração para Sidekiq tags: review: Status da revisão - updated_msg: Configurações de hashtag atualizadas com sucesso + updated_msg: Configurações de hashtag atualizadas title: Administração trends: allow: Permitir @@ -767,8 +769,9 @@ pt-BR: links: allow: Permitir link allow_provider: Permitir editor - disallow: Impedir link - disallow_provider: Impedir publicador + description_html: Estes são links que estão sendo compartilhados por contas que seu servidor vê. Você pode ajudar seus usuários a descobrir o que está acontecendo no mundo. Nenhum link é exibido publicamente até que você aprove o editor. Você também pode permitir ou rejeitar links individuais. + disallow: Proibir link + disallow_provider: Proibir autor no_link_selected: Nenhum link foi alterado como nenhum foi selecionado title: Em alta no momento usage_comparison: Compartilhado %{today} vezes hoje, em comparação com %{yesterday} de ontem @@ -784,8 +787,11 @@ pt-BR: allow: Permitir publicação allow_account: Permitir autor description_html: Estes são as publicações que seu servidor sabe que estão sendo muito compartilhadas e favorecidas no momento. Isso pode ajudar seus usuários, novos e atuais, a encontrar mais pessoas para seguir. Nenhuma publicação é exibida publicamente até que você aprove o autor e o autor permitir que sua conta seja sugerida a outros. Você também pode permitir ou rejeitar publicações individuais. - disallow: Impedir publicação - disallow_account: Impedir autor + disallow: Proibir publicação + disallow_account: Proibir autor + shared_by: + one: Compartilhado ou favoritado uma vez + other: Compartilhado e favoritado %{friendly_count} vezes title: Publicações em alta tags: current_score: Pontuação atual %{score} @@ -860,10 +866,10 @@ pt-BR: subject: Novas tendências para revisão em %{instance} aliases: add_new: Criar alias - created_msg: Um novo alias foi criado com sucesso. Agora você pode iniciar a mudança da conta antiga. - deleted_msg: Alias removido com sucesso. Não será mais possível se mudar daquela conta para esta conta. + created_msg: Um novo atalho foi criado. Agora você pode iniciar a mudança da conta antiga. + deleted_msg: O atalho foi removido. Não será mais possível se mudar daquela conta para esta conta. empty: Você não tem alias. - hint_html: Se você quiser migrar de uma outra conta para esta, você pode criar um alias aqui, o que é necessário antes que você possa migrar os seguidores da conta antiga para esta. Esta ação por si só é inofensiva e reversível. A migração da conta é iniciada pela conta antiga. + hint_html: Se você quiser migrar de uma outra conta para esta, você pode criar um atalho aqui, o que é necessário antes que você possa migrar os seguidores da conta antiga para esta. Esta ação por si só é inofensiva e reversível. A migração da conta é iniciada pela conta antiga. remove: Desvincular alias appearance: advanced_web_interface: Interface avançada de colunas @@ -876,19 +882,19 @@ pt-BR: guide_link: https://br.crowdin.com/project/mastodon guide_link_text: Todos podem contribuir. sensitive_content: Conteúdo sensível - toot_layout: Layout do Toot + toot_layout: Formato da publicação application_mailer: notification_preferences: Alterar preferências de e-mail salutation: "%{name}," settings: 'Alterar e-mail de preferência: %{link}' view: 'Ver:' view_profile: Ver perfil - view_status: Ver toot + view_status: Ver publicação applications: created: Aplicativo criado com sucesso destroyed: Aplicativo excluído com sucesso regenerate_token: Gerar código de acesso - token_regenerated: Código de acesso gerado com sucesso + token_regenerated: Código de acesso gerado warning: Tenha cuidado com estes dados. Nunca compartilhe com alguém! your_token: Seu código de acesso auth: @@ -903,7 +909,7 @@ pt-BR: didnt_get_confirmation: Não recebeu instruções de confirmação? dont_have_your_security_key: Não está com a sua chave de segurança? forgot_password: Esqueceu a sua senha? - invalid_reset_password_token: Código de alteração de senha é inválido ou expirou. Por favor, solicite um novo. + invalid_reset_password_token: Código de alteração de senha é inválido ou expirou. Solicite um novo. link_to_otp: Digite um código de duas etapas do seu telefone ou um código de recuperação link_to_webauth: Use seu dispositivo de chave de segurança log_in_with: Iniciar sessão com @@ -933,7 +939,7 @@ pt-BR: functional: Sua conta está totalmente operacional. pending: Sua solicitação está com revisão pendente por parte de nossa equipe. Você receberá um e-mail se ela for aprovada. redirecting_to: Sua conta está inativa porque atualmente está redirecionando para %{acct}. - view_strikes: Veja os ataques anteriores contra a sua conta + view_strikes: Veja os avisos anteriores em relação à sua conta too_fast: O formulário foi enviado muito rapidamente, tente novamente. use_security_key: Usar chave de segurança authorize_follow: @@ -942,7 +948,7 @@ pt-BR: error: Infelizmente, ocorreu um erro ao buscar a conta remota follow: Seguir follow_request: 'Você mandou solicitação para seguir para:' - following: 'Sucesso! Você agora está seguindo:' + following: 'Sucesso! Agora você está seguindo:' post_follow: close: Ou você pode simplesmente fechar esta janela. return: Mostrar o perfil do usuário @@ -980,11 +986,11 @@ pt-BR: confirm_password: Digite a sua senha atual para verificar a sua identidade confirm_username: Digite seu nome de usuário para confirmar o procedimento proceed: Excluir conta - success_msg: A sua conta foi excluída com sucesso + success_msg: Sua conta foi excluída warning: - before: 'Antes de prosseguir, por favor leia com cuidado:' + before: 'Antes de prosseguir, leia com cuidado:' caches: Conteúdo que foi armazenado em cache por outros servidores pode continuar a existir - data_removal: Seus toots e outros dados serão removidos permanentemente + data_removal: Suas publicações e outros dados serão removidos permanentemente email_change_html: Você pode alterar seu endereço de e-mail sem excluir sua conta email_contact_html: Se você ainda não recebeu, você pode enviar um e-mail pedindo ajuda para %{email} email_reconfirmation_html: Se você não está recebendo o e-mail de confirmação, você pode solicitá-lo novamente @@ -1038,7 +1044,7 @@ pt-BR: content: Desculpe, algo deu errado por aqui. title: Esta página não está certa '503': A página não pôde ser carregada devido a uma falha temporária do servidor. - noscript_html: Para usar o aplicativo web do Mastodon, por favor ative o JavaScript. Ou, se quiser, experimente um dos aplicativos nativos para o Mastodon em sua plataforma. + noscript_html: Para usar o aplicativo web do Mastodon, ative o JavaScript. Ou, se quiser, experimente um dos aplicativos nativos para o Mastodon em sua plataforma. existing_username_validator: not_found: não foi possível encontrar um usuário local com esse nome de usuário not_found_multiple: não foi possível encontrar %{usernames} @@ -1046,7 +1052,7 @@ pt-BR: archive_takeout: date: Data download: Baixe o seu arquivo - hint_html: Você pode pedir um arquivo dos seus toots e mídias enviadas. Os dados exportados estarão no formato ActivityPub, que podem ser lidos por qualquer software compatível. Você pode pedir um arquivo a cada 7 dias. + hint_html: Você pode pedir um arquivo das suas publicações e mídias enviadas. Os dados exportados estarão no formato ActivityPub, que podem ser lidos por qualquer software compatível. Você pode pedir um arquivo a cada 7 dias. in_progress: Preparando o seu arquivo... request: Solicitar o seu arquivo size: Tamanho @@ -1061,7 +1067,7 @@ pt-BR: add_new: Adicionar hashtag errors: limit: Você atingiu o limite de hashtags em destaque - hint_html: "O que são hashtags em destaque? Elas são mostradas no seu perfil público e permitem que as pessoas acessem seus toots públicos que contenham especificamente essas hashtags. São uma excelente ferramenta para acompanhar os trabalhos criativos ou os projetos de longo prazo." + hint_html: "O que são hashtags em destaque? Elas são exibidas no seu perfil público e permitem que as pessoas acessem suas publicações públicos que contenham especificamente essas hashtags. São uma excelente ferramenta para acompanhar os trabalhos criativos ou os projetos de longo prazo." filters: contexts: account: Perfis @@ -1100,7 +1106,7 @@ pt-BR: trending_now: Em alta no momento generic: all: Tudo - changes_saved_msg: Alterações foram salvas com sucesso! + changes_saved_msg: Alterações salvas! copy: Copiar delete: Excluir deselect: Desmarcar todos @@ -1109,8 +1115,8 @@ pt-BR: save_changes: Salvar alterações today: hoje validation_errors: - one: Algo errado não está certo! Por favor, analise o erro abaixo - other: Algo errado não está certo! Por favor, analise os %{count} erros abaixo + one: Algo não está certo! Analise o erro abaixo + other: Algo não está certo! Analise os %{count} erros abaixo html_validator: invalid_markup: 'contém HTML inválido: %{error}' imports: @@ -1122,7 +1128,7 @@ pt-BR: overwrite: Sobrescrever overwrite_long: Substituir os registros atuais com os novos preface: Você pode importar dados que você exportou de outro servidor, como a lista de pessoas que você segue ou bloqueou. - success: Os seus dados foram enviados com sucesso e serão processados em instantes + success: Seus dados foram enviados e serão processados em instantes types: blocking: Lista de bloqueio bookmarks: Marcadores @@ -1168,14 +1174,14 @@ pt-BR: title: Histórico de autenticação media_attachments: validations: - images_and_video: Não foi possível anexar um vídeo a um toot que já contém imagens + images_and_video: Não foi possível anexar um vídeo a uma publicação que já contém imagens not_ready: Não é possível anexar arquivos que não terminaram de ser processados. Tente novamente daqui a pouco! too_many: Não foi possível anexar mais de 4 imagens migrations: acct: Mudou-se para cancel: Cancelar redirecionamento cancel_explanation: Cancelar o redirecionamento reativará a sua conta atual, mas não trará de volta os seguidores que não foram migrados para aquela conta. - cancelled_msg: Redirecionamento cancelado com sucesso. + cancelled_msg: Redirecionamento cancelado. errors: already_moved: é a mesma conta que você migrou missing_also_known_as: não está referenciando esta conta @@ -1195,7 +1201,7 @@ pt-BR: set_redirect: Definir redirecionamento warning: backreference_required: A nova conta deve primeiro ser configurada para que esta seja referenciada - before: 'Antes de prosseguir, por favor leia com cuidado:' + before: 'Antes de prosseguir, leia com cuidado:' cooldown: Depois de se mudar, há um período de espera para poder efetuar uma nova mudança disabled_account: Sua conta não estará totalmente funcional ao término deste processo. Entretanto, você terá acesso à exportação de dados bem como à reativação. followers: Esta ação moverá todos os seguidores da conta atual para a nova conta @@ -1235,8 +1241,8 @@ pt-BR: poll: subject: Uma enquete por %{name} terminou reblog: - body: "%{name} deu boost no seu toot:" - subject: "%{name} deu boost no seu toot" + body: "%{name} impulsionou a sua publicação:" + subject: "%{name} impulsionou a sua publicação" title: Novo boost status: subject: "%{name} acabou de publicar" @@ -1258,7 +1264,7 @@ pt-BR: trillion: TRI otp_authentication: code_hint: Digite o código gerado pelo seu aplicativo autenticador para confirmar - description_html: Se você habilitar a autenticação de dois fatores usando um aplicativo autenticador, o login exigirá que você esteja com o seu telefone, que gerará tokens para você entrar. + description_html: Se você ativar a autenticação de dois fatores usando um aplicativo autenticador, ao se conectar será exigido que você esteja com o seu telefone, que gerará tokens para você entrar. enable: Habilitar instructions_html: "Escaneie este código QR no Google Authenticator ou em um aplicativo TOTP similar no seu telefone. A partir de agora, esse aplicativo irá gerar tokens que você terá que digitar ao fazer login." manual_instructions: 'Se você não pode escanear o código QR e precisa digitá-lo manualmente, aqui está o segredo em texto:' @@ -1361,7 +1367,7 @@ pt-BR: windows_mobile: Windows Mobile windows_phone: Windows Phone revoke: Fechar - revoke_success: Sessão fechada com sucesso + revoke_success: Sessão fechada title: Sessões view_authentication_history: Ver histórico de autenticação da sua conta settings: @@ -1384,7 +1390,7 @@ pt-BR: profile: Perfil relationships: Seguindo e seguidores statuses_cleanup: Exclusão automatizada de publicações - strikes: Moderação de ataques + strikes: Avisos de moderação two_factor_authentication: Autenticação de dois fatores webauthn_authentication: Chaves de segurança statuses: @@ -1412,8 +1418,8 @@ pt-BR: over_character_limit: limite de caracteres de %{max} excedido pin_errors: direct: Publicações visíveis apenas para usuários mencionados não podem ser fixadas - limit: Quantidade máxima de toots excedida - ownership: Publicações dos outros não podem ser fixadas + limit: Você alcançou o número limite de publicações fixadas + ownership: As publicações dos outros não podem ser fixadas reblog: Um impulso não pode ser fixado poll: total_people: @@ -1473,7 +1479,7 @@ pt-BR: min_reblogs: Manter publicações impulsionadas por ao menos min_reblogs_hint: Não exclui publicações que receberam pelo menos esta quantidade de impulsos. Deixe em branco para excluir publicações independentemente da quantidade de impulsos stream_entries: - pinned: Toot fixado + pinned: Publicação fixada reblogged: deu boost sensitive_content: Conteúdo sensível strikes: @@ -1492,27 +1498,27 @@ pt-BR: time: "%H:%M" two_factor_authentication: add: Adicionar - disable: Desativar - disabled_success: Autenticação de dois fatores desabilitada com sucesso + disable: Desativar autenticação de dois fatores + disabled_success: Autenticação de dois fatores desativada edit: Editar enabled: Autenticação de dois fatores ativada - enabled_success: Autenticação de dois fatores ativada com sucesso + enabled_success: Autenticação de dois fatores ativada generate_recovery_codes: Gerar códigos de recuperação - lost_recovery_codes: Códigos de recuperação permitem que você recupere o acesso à sua conta caso perca o seu celular. Se você perdeu seus códigos de recuperação, você pode gerá-los novamente aqui. Seus códigos de recuperação anteriores serão invalidados. - methods: Métodos de dois fatores + lost_recovery_codes: Os códigos de recuperação permitem que você recupere o acesso à sua conta caso perca o seu celular. Se você perdeu seus códigos de recuperação, você pode gerá-los novamente aqui. Seus códigos de recuperação anteriores serão invalidados. + methods: Métodos de autenticação de dois fatores otp: Aplicativo autenticador recovery_codes: Códigos de recuperação de reserva - recovery_codes_regenerated: Códigos de recuperação gerados com sucesso - recovery_instructions_html: Se você perder acesso ao seu celular, você pode usar um dos códigos de recuperação abaixo para acessar a sua conta. Mantenha os códigos de recuperação em um local seguro. Por exemplo, você pode imprimi-los e guardá-los junto com outros documentos importantes. + recovery_codes_regenerated: Códigos de recuperação gerados + recovery_instructions_html: Se você perder acesso ao seu celular, você pode usar um dos códigos de recuperação abaixo para acessar a sua conta. Mantenha os códigos de recuperação em um local seguro. Por exemplo, você pode imprimi-los e guardá-los junto a outros documentos importantes. webauthn: Chaves de segurança user_mailer: appeal_approved: action: Acessar perfil - explanation: O recurso do ataque contra sua conta em %{strike_date} que você submeteu em %{appeal_date} foi aprovado. Sua conta está novamente em situação regular. + explanation: O recurso contra o aviso dado à sua conta em %{strike_date} que você submeteu em %{appeal_date} foi aprovado. Sua conta está novamente em situação regular. subject: Seu recurso de %{date} foi aprovado title: Contestação aprovada appeal_rejected: - explanation: O recurso do ataque contra sua conta em %{strike_date} que você submeteu em %{appeal_date} foi rejeitado. + explanation: O recurso contra o aviso dado à sua conta em %{strike_date} que você submeteu em %{appeal_date} foi rejeitado. subject: Seu recurso de %{date} foi rejeitado title: Contestação rejeitada backup_ready: @@ -1557,9 +1563,9 @@ pt-BR: welcome: edit_profile_action: Configurar perfil explanation: Aqui estão algumas dicas para você começar - final_action: Comece a tootar + final_action: Comece a publicar full_handle: Seu nome de usuário completo - full_handle_hint: Isso é o que você compartilha com aos seus amigos para que eles possam te mandar toots ou te seguir a partir de outra instância. + full_handle_hint: Isso é o que você compartilha com seus amigos para que eles possam te mandar mensagens ou te seguir a partir de outro servidor. subject: Boas-vindas ao Mastodon title: Boas vindas, %{name}! users: @@ -1575,16 +1581,16 @@ pt-BR: add: Adicionar nova chave de segurança create: error: Houve um problema ao adicionar sua chave de segurança. Tente novamente. - success: A sua chave de segurança foi adicionada com sucesso. + success: Sua chave de segurança foi adicionada. delete: Excluir delete_confirmation: Você tem certeza de que deseja excluir esta chave de segurança? description_html: Se você habilitar a autenticação por chave de segurança, o login exigirá que você use uma das suas chaves de segurança. destroy: error: Houve um problema ao excluir sua chave de segurança. Tente novamente. - success: Sua chave de segurança foi excluída com sucesso. + success: Sua chave de segurança foi excluída. invalid_credential: Chave de segurança inválida nickname_hint: Digite o apelido da sua nova chave de segurança not_enabled: Você ainda não habilitou o WebAuthn not_supported: Este navegador não tem suporte a chaves de segurança - otp_required: Para usar chaves de segurança, por favor habilite primeiro a autenticação de dois fatores. + otp_required: Para usar chaves de segurança, ative a autenticação de dois fatores. registered_on: Registrado em %{date} diff --git a/config/locales/simple_form.af.yml b/config/locales/simple_form.af.yml index e408079daae..b06630a513e 100644 --- a/config/locales/simple_form.af.yml +++ b/config/locales/simple_form.af.yml @@ -14,6 +14,9 @@ af: locale: Koppelvlak taal form_admin_settings: site_terms: Privaatheidsbeleid + interactions: + must_be_following: Blokeer kennisgewings vanaf persone wat jy nie volg nie + must_be_following_dm: Blokeer direkte boodskappe van persone wat jy nie volg nie webhook: events: Geaktiveerde gebeurtenisse url: End-punt URL diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml index b972a1d0013..d91d990001e 100644 --- a/config/locales/simple_form.ar.yml +++ b/config/locales/simple_form.ar.yml @@ -178,6 +178,7 @@ ar: setting_use_pending_items: الوضع البطيء severity: القوّة sign_in_token_attempt: رمز الأمان + title: العنوان type: صيغة الاستيراد username: اسم المستخدم username_or_email: اسم المستخدم أو كلمة السر @@ -189,6 +190,7 @@ ar: filters: actions: hide: إخفاء بالكامل + warn: إخفاء بتحذير form_admin_settings: custom_css: سي أس أس CSS مخصص profile_directory: تفعيل دليل الصفحات التعريفية diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml index 2a23ea05777..cee3f423e0d 100644 --- a/config/locales/simple_form.bg.yml +++ b/config/locales/simple_form.bg.yml @@ -6,50 +6,138 @@ bg: avatar: PNG, GIF или JPG. До %{size}. Ще бъде смалена до %{dimensions} пиксела header: PNG, GIF или JPG. До %{size}. Ще бъде смалена до %{dimensions} пиксела locked: Изисква ръчно одобрение на последователите. По подразбиране, публикациите са достъпни само до последователи. + password: Използвайте поне 8 символа + setting_default_sensitive: Деликатната мултимедия е скрита по подразбиране и може да се разкрие с едно щракване + setting_display_media_default: Скриване на мултимедия отбелязана като деликатна + setting_display_media_hide_all: Винаги да се скрива мултимедията + setting_display_media_show_all: Винаги да се показва мултимедията + setting_hide_network: В профила ви ще бъде скрито кой може да последвате и кой може да ви последва + username: Вашето потребителско име ще е неповторим в %{domain} + form_admin_settings: + site_contact_username: Как хората могат да ви достигнат в Mastodon. + site_extended_description: Всяка допълнителна информация, която може да е полезна за посетителите и потребителите ви. Може да се структурира със синтаксиса на Markdown. + site_short_description: Кратък опис за помощ на неповторимата самоличност на сървъра ви. Кой го управлява, за кого е? imports: data: CSV файл, експортиран от друга инстанция на Mastodon + ip_block: + severities: + no_access: Блокиране на достъп до всички ресурси + severity: Изберете какво да се случва със заявките от този IP + rule: + text: Опишете правило или изискване за потребителите на този сървър. Опитайте се да го направите кратко и просто + sessions: + otp: 'Въведете двуфакторния код, породен от приложението на телефона си или използвайте един от кодовете си за възстановяване:' + user_role: + highlighted: Това прави ролята публично видима + permissions_as_keys: Потребители с тази роля ще имат достъп до... + webhook: + events: Изберете събития за изпращане + url: До къде ще се изпращат събитията labels: account: fields: + name: Етикет value: Съдържание account_warning_preset: title: Заглавие admin_account_action: + include_statuses: Включва докладваните публикации в е-писмо type: Действие types: disable: Замразяване sensitive: Деликатно silence: Ограничение suspend: Спиране + announcement: + all_day: Целодневно събитие + ends_at: Край на събитието + starts_at: Начало на събитието + text: Оповестяване defaults: avatar: Аватар + bot: Този акаунт е бот + chosen_languages: Прецеждане на езиците confirm_new_password: Потвърди новата парола confirm_password: Потвърди паролата current_password: Текуща парола data: Данни display_name: Показвано име - email: E-mail адрес + email: Адрес на имейла header: Заглавен ред - locale: Език + locale: Език на интерфейса locked: Направи акаунта поверителен + max_uses: Най-голям брой употреби new_password: Нова парола - note: Био - otp_attempt: Двустепенен код + note: Биография + otp_attempt: Двуфакторен код password: Парола + phrase: Ключова дума или фраза + setting_auto_play_gif: Самопускащи се анимирани гифчета + setting_default_language: Език на публикуване setting_default_privacy: Поверителност на публикациите + setting_default_sensitive: Винаги да се отбелязва мултимедията като деликатна + setting_display_media_default: Стандартно + setting_display_media_hide_all: Скриване на всичко + setting_display_media_show_all: Показване на всичко + setting_theme: Тема на сайта + setting_use_pending_items: Бавен режим + sign_in_token_attempt: Код за сигурност + title: Заглавие type: Тип на импортиране username: Потребителско име + username_or_email: Потребителско име или имейл + whole_word: Цяла дума + featured_tag: + name: Хаштаг + form_admin_settings: + require_invite_text: Изисква се причина за присъединяване + site_contact_username: Потребителско име на контакт + site_extended_description: Разширено описание + site_short_description: Описание на сървъра + site_terms: Политика за поверителност + site_title: Име на сървъра + theme: Стандартна тема + thumbnail: Миниобраз на сървъра interactions: must_be_follower: Блокирай известия от не-последователи must_be_following: Блокирай известия от хора, които не следваш + must_be_following_dm: Блокиране на директни съобщения от хора, които не следвате + invite: + comment: Коментар + invite_request: + text: Защо искате да се присъедините? + ip_block: + comment: Коментар + ip: IP адрес + severities: + no_access: Блокиране на адреса + sign_up_block: Блокиране на регистрации + sign_up_requires_approval: Ограничаване на регистриране + severity: Правило notification_emails: digest: Изпращай извлечения на съобщенията favourite: Изпращай e-mail, когато някой хареса твоя публикация follow: Изпращай e-mail, когато някой те последва follow_request: Изпращай e-mail, когато някой пожелае да те последва mention: Изпращай e-mail, когато някой те спомене + pending_account: Новите акаунти трябва да се прегледат reblog: Изпращай e-mail, когато някой сподели твоя публикация + report: Новият доклад е подаден + rule: + text: Правило + tag: + name: Хаштаг + user: + role: Роля + user_role: + color: Цвят на значката + name: Име + permissions_as_keys: Разрешения + position: Приоритет 'no': Не + not_recommended: Не се препоръчва + recommended: Препоръчано required: + mark: "*" text: задължително 'yes': Да diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml index ae59a591d6d..2ece2bd80e1 100644 --- a/config/locales/simple_form.de.yml +++ b/config/locales/simple_form.de.yml @@ -180,7 +180,7 @@ de: inbox_url: Inbox-URL des Relais irreversible: Endgültig, nicht nur temporär ausblenden locale: Sprache der Benutzeroberfläche - locked: Follower müssen zugelassen werden + locked: Geschütztes Profil max_uses: Maximale Verwendungen new_password: Neues Passwort note: Über mich diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml index 617fb593cb6..89e78c9b05a 100644 --- a/config/locales/simple_form.en-GB.yml +++ b/config/locales/simple_form.en-GB.yml @@ -9,3 +9,38 @@ en-GB: account_warning_preset: text: You can use post syntax, such as URLs, hashtags and mentions title: Optional. Not visible to the recipient + admin_account_action: + include_statuses: The user will see which posts have caused the moderation action or warning + send_email_notification: The user will receive an explanation of what happened with their account + text_html: Optional. You can use post syntax. You can add warning presets to save time + type_html: Choose what to do with %{acct} + types: + disable: Prevent the user from using their account, but do not delete or hide their contents. + none: Use this to send a warning to the user, without triggering any other action. + sensitive: Force all this user's media attachments to be flagged as sensitive. + silence: Prevent the user from being able to post with public visibility, hide their posts and notifications from people not following them. + suspend: Prevent any interaction from or to this account and delete its contents. Revertible within 30 days. + warning_preset_id: Optional. You can still add custom text to end of the preset + announcement: + all_day: When checked, only the dates of the time range will be displayed + ends_at: Optional. Announcement will be automatically unpublished at this time + scheduled_at: Leave blank to publish the announcement immediately + starts_at: Optional. In case your announcement is bound to a specific time range + text: You can use post syntax. Please be mindful of the space the announcement will take up on the user's screen + appeal: + text: You can only appeal a strike once + defaults: + autofollow: People who sign up through the invite will automatically follow you + avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px + bot: Signal to others that the account mainly performs automated actions and might not be monitored + context: One or multiple contexts where the filter should apply + labels: + notification_emails: + follow_request: Someone requested to follow you + mention: Someone mentioned you + pending_account: New account needs review + reblog: Someone boosted your post + report: New report is submitted + trending_tag: New trend requires review + rule: + text: Rule diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml index e5db78c4d8d..b084034264b 100644 --- a/config/locales/simple_form.es-MX.yml +++ b/config/locales/simple_form.es-MX.yml @@ -66,6 +66,8 @@ es-MX: email_domain_block: domain: Este puede ser el nombre de dominio que se muestra en al dirección de correo o el registro MX que utiliza. Se comprobarán al registrarse. with_dns_records: Se hará un intento de resolver los registros DNS del dominio dado y los resultados serán también puestos en lista negra + featured_tag: + name: 'Aquí están algunas de las etiquetas que más has utilizado recientemente:' filters: action: Elegir qué acción realizar cuando una publicación coincide con el filtro actions: diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml index 44f25f2c48c..34c60a553c2 100644 --- a/config/locales/simple_form.eu.yml +++ b/config/locales/simple_form.eu.yml @@ -66,6 +66,8 @@ eu: email_domain_block: domain: Hau eposta helbidean agertzen den domeinu-izena edo MX erregistroak erabiltzen duena izan daiteke. Izen-ematean egiaztatuko dira. with_dns_records: Emandako domeinuaren DNS erregistroak ebazteko saiakera bat egingo da eta emaitzak ere zerrenda beltzean sartuko dira + featured_tag: + name: 'Hemen dituzu azkenaldian gehien erabili dituzun traoletako batzuk:' filters: action: Aukeratu ze ekintza burutu behar den bidalketa bat iragazkiarekin bat datorrenean actions: diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml index 196222e22a9..b214e856ab3 100644 --- a/config/locales/simple_form.id.yml +++ b/config/locales/simple_form.id.yml @@ -66,6 +66,8 @@ id: email_domain_block: domain: Ini bisa berupa nama domain yang tampil di alamat email atau data MX yang memakainya. Mereka akan diperiksa saat mendaftar. with_dns_records: Usaha untuk menyelesaikan data DNS domain yang diberikan akan dilakukan dan hasilnya akan masuk daftar hitam + featured_tag: + name: 'Ini adalah beberapa tagar yang sering Anda gunakan:' filters: action: Pilih tindakan apa yang dilakukan ketika sebuah kiriman cocok dengan saringan actions: diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml index c5736311c0f..82abda07ee8 100644 --- a/config/locales/simple_form.ko.yml +++ b/config/locales/simple_form.ko.yml @@ -44,7 +44,7 @@ ko: inbox_url: 사용 할 릴레이 서버의 프론트페이지에서 URL을 복사합니다 irreversible: 필터링 된 게시물은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다 locale: 사용자 인터페이스, 이메일, 푸시 알림 언어 - locked: 팔로우 요청을 승인함으로써 누가 당신을 팔로우 할 수 있는지를 수동으로 제어합니다. + locked: 팔로우 요청을 승인제로 두어 누가 당신을 팔로우 할 수 있는지를 수동으로 제어합니다. password: 최소 8글자 phrase: 게시물 내용이나 열람주의 내용 안에서 대소문자 구분 없이 매칭 됩니다 scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다. @@ -77,7 +77,7 @@ ko: backups_retention_period: 생성된 사용자 아카이브를 며칠동안 저장할 지. bootstrap_timeline_accounts: 이 계정들은 팔로우 추천 목록 상단에 고정됩니다. closed_registrations_message: 새 가입을 차단했을 때 표시됩니다 - content_cache_retention_period: 양수가 설정되었다면 다른 서버의 게시물은 여기서 설정된 일수가 지나면 삭제될 것입니다. 되돌릴 수 없는 작업일 수 있습니다. + content_cache_retention_period: 양수로 설정되었다면 다른 서버의 게시물은 여기서 설정된 일수가 지나면 삭제될 것입니다. 되돌릴 수 없는 작업일 수 있습니다. custom_css: 사용자 지정 스타일을 웹 버전의 마스토돈에 지정할 수 있습니다. mascot: 고급 사용자 인터페이스에 있는 일러스트를 교체합니다. media_cache_retention_period: 양수로 설정된 경우 다운로드된 미디어 파일들은 지정된 일수가 지나면 삭제될 것이고 필요할 때 다시 다운로드 될 것입니다. @@ -195,7 +195,7 @@ ko: setting_crop_images: 확장되지 않은 게시물의 이미지를 16x9로 자르기 setting_default_language: 게시물 언어 setting_default_privacy: 게시물 프라이버시 - setting_default_sensitive: 미디어를 언제나 민감한 컨텐츠로 설정 + setting_default_sensitive: 미디어를 언제나 민감한 콘텐츠로 설정 setting_delete_modal: 게시물 삭제 전 확인 창을 표시 setting_disable_swiping: 스와이프 모션 비활성화 setting_display_media: 미디어 표시 @@ -207,7 +207,7 @@ ko: setting_noindex: 검색엔진의 인덱싱을 거절 setting_reduce_motion: 애니메이션 줄이기 setting_show_application: 툿 작성에 사용한 앱을 공개 - setting_system_font_ui: 시스템의 초기 설정 폰트를 사용 + setting_system_font_ui: 시스템의 기본 글꼴을 사용 setting_theme: 사이트 테마 setting_trends: 오늘의 유행 보이기 setting_unfollow_modal: 언팔로우 전 언팔로우 확인 표시 @@ -232,7 +232,7 @@ ko: backups_retention_period: 사용자 아카이브 유지 기한 bootstrap_timeline_accounts: 새로운 사용자들에게 추천할 계정들 closed_registrations_message: 가입이 불가능 할 때의 사용자 지정 메시지 - content_cache_retention_period: 컨텐트 캐시 유지 기한 + content_cache_retention_period: 콘텐츠 캐시 유지 기한 custom_css: 사용자 정의 CSS mascot: 사용자 정의 마스코트 (legacy) media_cache_retention_period: 미디어 캐시 유지 기한 diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml index 8b5b1dce3a6..337b691a23f 100644 --- a/config/locales/simple_form.lv.yml +++ b/config/locales/simple_form.lv.yml @@ -48,7 +48,7 @@ lv: password: Izmanto vismaz 8 rakstzīmes phrase: Tiks saskaņots neatkarīgi no ziņas teksta reģistra vai satura brīdinājuma scopes: Kuriem API lietojumprogrammai būs atļauta piekļuve. Ja izvēlies augstākā līmeņa tvērumu, tev nav jāatlasa atsevišķi vienumi. - setting_aggregate_reblogs: Nerādīt jaunus palielinājumus ziņām, kas nesen tika palielinātas (ietekmē tikai nesen saņemtos palielinājumus) + setting_aggregate_reblogs: Nerādīt jaunus pastiprinājumus ierakstiem, kas nesen tikuši pastiprināti (ietekmēs tikai turpmāk saņemtos pastiprinājumus) setting_always_send_emails: Parasti e-pasta paziņojumi netiek sūtīti, kad aktīvi izmantojat Mastodon setting_default_sensitive: Sensitīvi mediji pēc noklusējuma ir paslēpti, un tos var atklāt, noklikšķinot setting_display_media_default: Paslēpt mediju, kas atzīmēts kā sensitīvs @@ -188,10 +188,10 @@ lv: password: Parole phrase: Atslēgvārds vai frāze setting_advanced_layout: Iespējot paplašināto tīmekļa saskarni - setting_aggregate_reblogs: Grupēt paaugstinājumus ziņu lentās + setting_aggregate_reblogs: Grupēt pastiprinājumus ierakstu lentās setting_always_send_emails: Vienmēr sūtīt e-pasta paziņojumus setting_auto_play_gif: Automātiski atskaņot animētos GIF - setting_boost_modal: Parādīt apstiprinājuma dialogu pirms paaugstināšanas + setting_boost_modal: Rādīt apstiprinājuma dialogu pirms pastiprināšanas setting_crop_images: Apgrieziet attēlus neizvērstajās ziņās līdz 16x9 setting_default_language: Publicēšanas valoda setting_default_privacy: Publicēšanas privātums @@ -276,7 +276,7 @@ lv: follow_request: Kāds vēlas tev sekot mention: Kāds pieminēja tevi pending_account: Jāpārskata jaunu kontu - reblog: Kāds paaugstināja tavu ziņu + reblog: Kāds pastiprināja tavu ierakstu report: Tika iesniegts jauns ziņojums trending_tag: Jaunā tendence ir jāpārskata rule: diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml index c074b894534..b6e6da78fa9 100644 --- a/config/locales/simple_form.oc.yml +++ b/config/locales/simple_form.oc.yml @@ -14,6 +14,8 @@ oc: send_email_notification: L’utilizaire recebrà una explicacion de çò qu’arribèt a son compte text_html: Opcional. Podètz utilizar la sintaxi dels tuts. Podètz ajustar un avertiment personalizat per estalviar de temps type_html: Causir de qué far amb %{acct} + types: + disable: Empachar l’utilizaire d’utilizar son compte mas suprimir o amagar pas son contengut. warning_preset_id: Opcional. Podètz ajustar un tèxt personalizat a a fin de çò predefinit announcement: all_day: Se son marcadas, solament las datas de l’interval de temps seràn mostrada @@ -176,6 +178,11 @@ oc: hide: Rescondre complètament warn: Rescondre amb avertiment form_admin_settings: + custom_css: CSS personalizada + media_cache_retention_period: Durada de conservacion dels mèdias en cache + profile_directory: Activar l’annuari de perfils + registrations_mode: Qual se pòt marcar + require_invite_text: Requerir una rason per s’inscriure site_contact_email: Adreça de contacte site_contact_username: Nom d’utilizaire de contacte site_extended_description: Descripcion espandida @@ -183,6 +190,7 @@ oc: site_terms: Politica de confidencialitat site_title: Nom del servidor theme: Tèma per defaut + thumbnail: Miniatura del servidor interactions: must_be_follower: Blocar las notificacions del mond que vos sègon pas must_be_following: Blocar las notificacions del mond que seguètz pas @@ -221,6 +229,7 @@ oc: permissions_as_keys: Autorizacions position: Prioritat 'no': Non + not_recommended: Pas recomandat recommended: Recomandat required: mark: "*" diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index aa2d6ef8d98..ba8cb7e1218 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -34,29 +34,29 @@ pt-BR: avatar: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px bot: Essa conta executa principalmente ações automatizadas e pode não ser monitorada context: Um ou mais contextos onde o filtro deve atuar - current_password: Para fins de segurança, por favor, digite a senha da conta atual - current_username: Para confirmar, por favor, digite o nome de usuário da conta atual + current_password: Para fins de segurança, digite a senha da conta atual + current_username: Para confirmar, digite o nome de usuário da conta atual digest: Enviado apenas após um longo período de inatividade com um resumo das menções recebidas durante ausência discoverable: Permita que a sua conta seja descoberta por estranhos através de recomendações, tendências e outros recursos email: Você receberá um e-mail de confirmação fields: Você pode ter até 4 itens mostrados em forma de tabela no seu perfil - header: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px + header: PNG, GIF ou JPG de até %{size}. Serão redimensionados para %{dimensions}px inbox_url: Copie o link da página inicial do repetidor que você deseja usar - irreversible: Toots filtrados desaparecerão irreversivelmente, mesmo se o filtro for removido depois + irreversible: As publicações filtradas desaparecerão irreversivelmente, mesmo se o filtro for removido depois locale: O idioma da interface do usuário, e-mails e notificações locked: Requer aprovação manual de seguidores password: Use pelo menos 8 caracteres phrase: Corresponderá independente de maiúsculas ou minúsculas, no texto ou no Aviso de Conteúdo de um toot scopes: Quais APIs o aplicativo vai ter permissão de acessar. Se você selecionar uma autorização de alto nível, você não precisa selecionar individualmente os outros. - setting_aggregate_reblogs: Não mostra novos boosts para toots que receberam boost recentemente (afeta somente os boosts mais recentes) + setting_aggregate_reblogs: Não mostra novos impulsos para publicações já receberam recentemente (afeta somente os impulsos mais recentes) setting_always_send_emails: Normalmente, as notificações por e-mail não serão enviadas enquanto você estiver usando ativamente o Mastodon setting_default_sensitive: Mídia sensível está oculta por padrão e pode ser revelada com um clique setting_display_media_default: Sempre ocultar mídia sensível setting_display_media_hide_all: Sempre ocultar todas as mídias setting_display_media_show_all: Sempre mostrar mídia sensível setting_hide_network: Quem você segue e seus seguidores não serão mostrados no seu perfil - setting_noindex: Afeta seu perfil público e as páginas dos seus toots - setting_show_application: O aplicativo que você usar para tootar será mostrado na visão detalhada dos seus toots + setting_noindex: Afeta seu perfil público e as páginas das suas publicações + setting_show_application: O aplicativo que você usar para publicar será exibido na visão detalhada das suas publicações setting_use_blurhash: O blur é baseado nas cores da imagem oculta, ofusca a maioria dos detalhes setting_use_pending_items: Ocultar atualizações da linha do tempo atrás de um clique ao invés de rolar automaticamente username: Seu nome de usuário será único em %{domain} @@ -102,7 +102,7 @@ pt-BR: tag: name: Você pode mudar a capitalização das letras, por exemplo, para torná-la mais legível user: - chosen_languages: Apenas toots dos idiomas selecionados serão mostrados nas linhas públicas + chosen_languages: Apenas as publicações dos idiomas selecionados serão exibidas nas linhas públicas webhook: events: Selecione eventos para enviar url: Aonde os eventos serão enviados @@ -170,7 +170,7 @@ pt-BR: setting_always_send_emails: Sempre enviar notificações por e-mail setting_auto_play_gif: Reproduzir GIFs automaticamente setting_boost_modal: Solicitar confirmação antes de dar boost - setting_crop_images: Cortar imagens no formato 16x9 em toots não expandidos + setting_crop_images: Cortar imagens no formato 16x9 em publicações não expandidas setting_default_language: Idioma dos toots setting_default_privacy: Privacidade dos toots setting_default_sensitive: Sempre marcar mídia como sensível @@ -184,7 +184,7 @@ pt-BR: setting_hide_network: Ocultar suas relações setting_noindex: Não quero ser indexado por mecanismos de pesquisa setting_reduce_motion: Reduzir animações - setting_show_application: Mostrar o aplicativo usado para enviar os toots + setting_show_application: Mostrar o aplicativo usado para enviar as publicações setting_system_font_ui: Usar fonte padrão do sistema setting_theme: Tema do site setting_trends: Mostrar em alta hoje diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml index c7ef18b3acd..30d0b24e4b1 100644 --- a/config/locales/simple_form.sl.yml +++ b/config/locales/simple_form.sl.yml @@ -57,7 +57,7 @@ sl: setting_hide_network: Kogar spremljate in kdo vas spremlja ne bo prikazano na vašem profilu setting_noindex: Vpliva na vaš javni profil in na strani z objavami setting_show_application: Aplikacija, ki jo uporabljate za objavljanje, bo prikazana v podrobnem pogledu vaših objav - setting_use_blurhash: Gradienti temeljijo na barvah skrite vizualne slike, vendar zakrivajo vse podrobnosti + setting_use_blurhash: Prelivi temeljijo na barvah skrite vizualne slike, vendar zakrivajo vse podrobnosti setting_use_pending_items: Skrij posodobitev časovnice za klikom namesto samodejnega posodabljanja username: Vaše uporabniško ime bo edinstveno na %{domain} whole_word: Ko je ključna beseda ali fraza samo alfanumerična, se bo uporabljala le, če se bo ujemala s celotno besedo @@ -211,7 +211,7 @@ sl: setting_theme: Tema strani setting_trends: Pokaži današnje trende setting_unfollow_modal: Pokaži potrditveno okno, preden nekoga prenehamo slediti - setting_use_blurhash: Pokaži barvite gradiente za skrite medije + setting_use_blurhash: Pokaži barvite prelive za skrite medije setting_use_pending_items: Počasen način severity: Strogost sign_in_token_attempt: Varnostna koda diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml index 10843091774..8e2a40a0403 100644 --- a/config/locales/simple_form.sv.yml +++ b/config/locales/simple_form.sv.yml @@ -48,7 +48,7 @@ sv: password: Använd minst 8 tecken phrase: Matchas oavsett användande i text eller innehållsvarning för ett inlägg scopes: 'Vilka API: er applikationen kommer tillåtas åtkomst till. Om du väljer en omfattning på högstanivån behöver du inte välja individuella sådana.' - setting_aggregate_reblogs: Visa inte nya boostningar för inlägg som nyligen blivit boostade (påverkar endast nymottagna boostningar) + setting_aggregate_reblogs: Visa inte nya boostar för inlägg som nyligen blivit boostade (påverkar endast nymottagna boostar) setting_always_send_emails: E-postnotiser kommer vanligtvis inte skickas när du aktivt använder Mastodon setting_default_sensitive: Känslig media döljs som standard och kan visas med ett klick setting_display_media_default: Dölj media markerad som känslig @@ -188,10 +188,10 @@ sv: password: Lösenord phrase: Nyckelord eller -fras setting_advanced_layout: Aktivera avancerat webbgränssnitt - setting_aggregate_reblogs: Gruppera boostningar i tidslinjer + setting_aggregate_reblogs: Gruppera boostar i tidslinjer setting_always_send_emails: Skicka alltid e-postnotiser setting_auto_play_gif: Spela upp GIF:ar automatiskt - setting_boost_modal: Visa bekräftelsedialog innan boostningar + setting_boost_modal: Visa bekräftelsedialog innan boostning setting_crop_images: Beskär bilder i icke-utökade inlägg till 16x9 setting_default_language: Inläggsspråk setting_default_privacy: Inläggsintegritet @@ -276,7 +276,7 @@ sv: follow_request: Någon begärt att följa dig mention: Någon nämnt dig pending_account: Ett nytt konto behöver granskas - reblog: Någon boostar ditt inlägg + reblog: Någon boostade ditt inlägg report: En ny rapport har skickats trending_tag: En ny trend kräver granskning rule: diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 021def2fd76..f23712d9f98 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -74,8 +74,10 @@ th: hide: ซ่อนเนื้อหาที่กรองอยู่อย่างสมบูรณ์ ทำเสมือนว่าไม่มีเนื้อหาอยู่ warn: ซ่อนเนื้อหาที่กรองอยู่หลังคำเตือนที่กล่าวถึงชื่อเรื่องของตัวกรอง form_admin_settings: + bootstrap_timeline_accounts: จะปักหมุดบัญชีเหล่านี้ไว้ด้านบนสุดของคำแนะนำการติดตามของผู้ใช้ใหม่ closed_registrations_message: แสดงเมื่อมีการปิดการลงทะเบียน mascot: เขียนทับภาพประกอบในส่วนติดต่อเว็บขั้นสูง + profile_directory: ไดเรกทอรีโปรไฟล์แสดงรายการผู้ใช้ทั้งหมดที่ได้เลือกรับให้สามารถค้นพบได้ site_contact_email: วิธีที่ผู้คนสามารถเข้าถึงคุณสำหรับการสอบถามด้านกฎหมายหรือการสนับสนุน site_contact_username: วิธีที่ผู้คนสามารถเข้าถึงคุณใน Mastodon site_terms: ใช้นโยบายความเป็นส่วนตัวของคุณเองหรือเว้นว่างไว้เพื่อใช้ค่าเริ่มต้น สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index 793a39b001d..1a8aefda800 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -67,7 +67,7 @@ zh-CN: domain: 这可以是电子邮件地址的域名或它使用的 MX 记录所指向的域名。用户注册时,系统会对此检查。 with_dns_records: Mastodon 会尝试解析所给域名的 DNS 记录,然后把解析结果一并封禁 featured_tag: - name: 以下是您最近使用的主题标签: + name: 以下是你最近使用过的标签: filters: action: 选择在帖子匹配过滤器时要执行的操作 actions: diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml index efb8a7a7801..f19dc24b044 100644 --- a/config/locales/simple_form.zh-TW.yml +++ b/config/locales/simple_form.zh-TW.yml @@ -43,7 +43,7 @@ zh-TW: header: 支援 PNG、GIF 或 JPG 圖片格式,檔案最大為 %{size},會等比例縮減至 %{dimensions} 像素 inbox_url: 從您想要使用的中繼首頁複製網址 irreversible: 已過濾的嘟文將會不可逆地消失,即便之後移除過濾器也一樣 - locale: 使用者介面、電子信件和推送通知的語言 + locale: 使用者介面、電子郵件和推播通知的語言 locked: 需要您手動批准跟隨請求 password: 使用至少 8 個字元 phrase: 無論是嘟文的本文或是內容警告都會被過濾 @@ -142,7 +142,7 @@ zh-TW: title: 標題 admin_account_action: include_statuses: 在電子郵件中加入檢舉的嘟文 - send_email_notification: 透過電子信件通知使用者 + send_email_notification: 透過電子郵件通知使用者 text: 自訂警告 type: 動作 types: @@ -172,7 +172,7 @@ zh-TW: data: 資料 discoverable: 在目錄列出此帳號 display_name: 顯示名稱 - email: 電子信箱地址 + email: 電子郵件地址 expires_in: 失效時間 fields: 個人檔案詮釋資料 header: 封面圖片 @@ -218,7 +218,7 @@ zh-TW: title: 標題 type: 匯入類型 username: 使用者名稱 - username_or_email: 使用者名稱或電子信箱地址 + username_or_email: 使用者名稱或電子郵件地址 whole_word: 整個詞彙 email_domain_block: with_dns_records: 包括網域的 MX 記錄和 IP 位址 @@ -270,13 +270,13 @@ zh-TW: severity: 規則 notification_emails: appeal: 有人對管理員的決定提出上訴 - digest: 傳送摘要信件 - favourite: 當有使用者喜歡您的嘟文時,傳送電子信件通知 - follow: 當有使用者跟隨您時,傳送電子信件通知 - follow_request: 當有使用者請求跟隨您時,傳送電子信件通知 - mention: 當有使用者在嘟文提及您時,傳送電子信件通知 + digest: 傳送摘要電子郵件 + favourite: 當有使用者喜歡您的嘟文時,傳送電子郵件通知 + follow: 當有使用者跟隨您時,傳送電子郵件通知 + follow_request: 當有使用者請求跟隨您時,傳送電子郵件通知 + mention: 當有使用者在嘟文提及您時,傳送電子郵件通知 pending_account: 需要審核的新帳號 - reblog: 當有使用者轉嘟您的嘟文時,傳送電子信件通知 + reblog: 當有使用者轉嘟您的嘟文時,傳送電子郵件通知 report: 新回報已遞交 trending_tag: 新熱門趨勢需要審核 rule: diff --git a/config/locales/sl.yml b/config/locales/sl.yml index fb68ac0ad4e..4b196cbf08f 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -1,7 +1,7 @@ --- sl: about: - about_mastodon_html: Mastodon je socialno omrežje, ki temelji na odprtih spletnih protokolih in prosti ter odprtokodni programski opremi. Je decentraliziran, kot e-pošta. + about_mastodon_html: 'Družbeno omrežje prihodnosti: brez oglasov, brez nadzora korporacij, etično oblikovanje in decentralizacija! Ohranite lastništvo nad svojimi podatki z Mastodonom!' contact_missing: Ni nastavljeno contact_unavailable: Ni na voljo hosted_on: Mastodon gostuje na %{domain} @@ -13,18 +13,18 @@ sl: one: Sledilec other: Sledilcev two: Sledilca - following: Sledim + following: Sledi instance_actor_flash: Ta račun je navidezni akter, ki se uporablja za predstavljanje strežnika samega in ne posameznega uporabnika. Uporablja se za namene federacije in se ne sme začasno ustaviti. last_active: zadnja dejavnost - link_verified_on: Lastništvo te povezave je bilo preverjeno na %{date} + link_verified_on: Lastništvo te povezave je bilo preverjeno %{date} nothing_here: Tukaj ni ničesar! pin_errors: following: Verjetno že sledite osebi, ki jo želite potrditi posts: - few: Tuti - one: Tut + few: Objave + one: Objava other: Objav - two: Tuta + two: Objavi posts_tab_heading: Objave admin: account_actions: @@ -32,45 +32,45 @@ sl: title: Izvedi moderirano dejanje za %{acct} account_moderation_notes: create: Pusti opombo - created_msg: Moderirana opomba je uspešno ustvarjena! - destroyed_msg: Moderirana opomba je uspešno uničena! + created_msg: Opomba moderiranja je uspešno ustvarjena! + destroyed_msg: Opomba moderiranja je uspešno uničena! accounts: add_email_domain_block: Blokiraj domeno e-pošte approve: Odobri - approved_msg: Uspešno odobrena aplikacija prijave uporabnika %{username} + approved_msg: Uspešno odobrena vloga prijave uporabnika %{username} are_you_sure: Ali ste prepričani? avatar: Podoba by_domain: Domena change_email: changed_msg: E-pošni naslov uspešno spremenjen! - current_email: Trenutna e-pošta - label: Spremeni e-pošto - new_email: Nova e-pošta - submit: Spremeni e-pošto - title: Spremeni e-pošto za %{username} + current_email: Trenutni e-naslov + label: Spremeni e-naslov + new_email: Nov e-naslov + submit: Spremeni e-naslov + title: Spremeni e-naslov za %{username} change_role: changed_msg: Vloga uspešno spremenjena! label: Spremeni vlogo - no_role: Ni vloge + no_role: Brez vloge title: Spremeni vlogo za %{username} confirm: Potrdi confirmed: Potrjeno - confirming: Potrjujem + confirming: V potrjevanju custom: Po meri delete: Izbriši podatke deleted: Izbrisano - demote: Degradiraj + demote: Ponižaj destroyed_msg: Podatki uporabnika %{username} so zdaj v vrsti za trajen izbris - disable: Onemogoči + disable: Zamrzni disable_sign_in_token_auth: Onemogoči overjanje z žetonom po e-pošti disable_two_factor_authentication: Onemogoči 2FA - disabled: Onemogočeno - display_name: Prikazno ime + disabled: Zamrznjeno + display_name: Pojavno ime domain: Domena edit: Uredi - email: E-pošta - email_status: Stanje e-pošte - enable: Omogoči + email: E-naslov + email_status: Stanje e-naslova + enable: Odmrzni enable_sign_in_token_auth: Omogoči overjanje z žetonom po e-pošti enabled: Omogočeno enabled_msg: Uspešno odmrznjen račun uporabnika %{username} @@ -79,18 +79,18 @@ sl: header: Glava inbox_url: URL mape "Prejeto" invite_request_text: Razlogi za pridružitev - invited_by: Povabljen od + invited_by: Na povabilo ip: IP - joined: Pridružil + joined: Pridružen_a location: all: Vse - local: Lokalni + local: Krajevni remote: Oddaljeni title: Lokacija login_status: Stanje prijave media_attachments: Predstavnostne priloge - memorialize: Spremenite v spomin - memorialized: Spomenificirano + memorialize: Spremenite v pomnik + memorialized: Spominificirano memorialized_msg: Uspešno preoblikovan %{username} v spominski račun moderation: active: Dejaven @@ -105,7 +105,7 @@ sl: no_account_selected: Noben račun ni bil spremenjen, ker ni bil izbran noben no_limits_imposed: Brez omejitev no_role_assigned: Dodeljena ni nobena vloga - not_subscribed: Ni naročen + not_subscribed: Ni naročnin pending: Čakanje na pregled perform_full_suspension: Suspendiraj previous_strikes: Predhodni ukrepi @@ -121,21 +121,21 @@ sl: redownload: Osveži profil redownloaded_msg: Uspešno osvežen profil %{username} iz izvirnika reject: Zavrni - rejected_msg: Uspešno zavrnjena aplikacija prijave uporabnika %{username} + rejected_msg: Uspešno zavrnjena vloga prijave uporabnika %{username} remove_avatar: Odstrani podobo remove_header: Odstrani glavo removed_avatar_msg: Uspešno odstranjena slika avatarja uporabnika %{username} removed_header_msg: Uspešno odstranjena naslovna slika uporabnika %{username} resend_confirmation: already_confirmed: Ta uporabnik je že potrjen - send: Ponovno pošlji potrditveno e-pošto - success: Potrditvena e-pošta je uspešno poslana! + send: Ponovno pošlji potrditveno e-sporočilo + success: Potrditveno e-sporočilo je uspešno poslano! reset: Ponastavi reset_password: Ponastavi geslo resubscribe: Ponovno se naroči role: Vloga search: Iskanje - search_same_email_domain: Drugi uporabniki z isto domeno e-pošte + search_same_email_domain: Drugi uporabniki z isto e-poštno domeno search_same_ip: Drugi uporabniki z istim IP security_measures: only_password: Samo geslo @@ -146,24 +146,24 @@ sl: show: created_reports: Opravljene prijave targeted_reports: Prijavili drugi - silence: Utišaj - silenced: Utišan + silence: Omeji + silenced: Omejen statuses: Objave strikes: Predhodni ukrepi subscribe: Naroči suspend: Suspendiraj suspended: Suspendiran - suspension_irreversible: Podatki tega računa so bili nepovrazno izbrisani. Račun lahko vrnete iz suspenza, da bo ponovno uporaben, vendar preteklih podatkov ne boste mogli obnoviti. + suspension_irreversible: Podatki tega računa so bili nepovratno izbrisani. Račun lahko vrnete iz suspenza, da bo ponovno uporaben, vendar preteklih podatkov ne boste mogli obnoviti. suspension_reversible_hint_html: Račun je bil suspendiran, podatki pa bodo v celoti odstranjeni %{date}. Do takrat je mogoče račun obnoviti brez negativnih posledic. Če želite takoj odstraniti vse podatke računa, lahko to storite spodaj. title: Računi unblock_email: Odblokiraj e-poštni naslov unblocked_email_msg: E-poštni naslov uporabnika %{username} uspešno odblokiran - unconfirmed_email: Nepotrjena e-pošta + unconfirmed_email: Nepotrjen e-naslov undo_sensitized: Ni občutljivo - undo_silenced: Razveljavi utišanje - undo_suspension: Razveljavi suspendiranje + undo_silenced: Razveljavi omejitve + undo_suspension: Razveljavi suspenz unsilenced_msg: Uspešno razveljavljena omejitev računa uporabnika %{username} - unsubscribe: Odjavi se od naročnine + unsubscribe: Odjavi od naročnine unsuspended_msg: Uspešno preklican suspenz računa uporabnika %{username} username: Uporabniško ime view_domain: Pokaži povzetek za domeno @@ -175,12 +175,12 @@ sl: approve_appeal: Odobri pritožbo approve_user: Odobri uporabnika assigned_to_self_report: Dodeli prijavo - change_email_user: Spremeni e-poštni naslov uporabnika + change_email_user: Spremeni e-naslov uporabnika change_role_user: Spremeni vlogo uporabnika confirm_user: Potrdi uporabnika create_account_warning: Ustvari opozorilo create_announcement: Ustvari obvestilo - create_canonical_email_block: Ustvari blokado e-pošte + create_canonical_email_block: Ustvari blokado e-naslova create_custom_emoji: Ustvari emotikon po meri create_domain_allow: Ustvari odobritev domene create_domain_block: Ustvari blokado domene @@ -190,7 +190,7 @@ sl: create_user_role: Ustvari vlogo demote_user: Ponižaj uporabnika destroy_announcement: Izbriši obvestilo - destroy_canonical_email_block: Izbriši blokado e-pošte + destroy_canonical_email_block: Izbriši blokado e-naslova destroy_custom_emoji: Izbriši emotikon po meri destroy_domain_allow: Izbriši odobritev domene destroy_domain_block: Izbriši blokado domene @@ -198,7 +198,7 @@ sl: destroy_instance: Očisti domeno destroy_ip_block: Izbriši pravilo IP destroy_status: Izbriši objavo - destroy_unavailable_domain: Izbriši domeno, ki ni na voljo + destroy_unavailable_domain: Izbriši nedosegljivo domeno destroy_user_role: Uniči vlogo disable_2fa_user: Onemogoči disable_custom_emoji: Onemogoči emotikon po meri @@ -213,7 +213,7 @@ sl: reject_user: Zavrni uporabnika remove_avatar_user: Odstrani avatar reopen_report: Ponovno odpri prijavo - resend_user: Ponovno pošlji potrditveno e-pošto + resend_user: Ponovno pošlji potrditveno e-sporočilo reset_password_user: Ponastavi geslo resolve_report: Razreši prijavo sensitive_account: Občutljivi račun diff --git a/config/locales/sv.yml b/config/locales/sv.yml index c2a249b59f3..cf311b3cb61 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -1283,7 +1283,7 @@ sv: reblog: body: 'Ditt inlägg boostades av %{name}:' subject: "%{name} boostade ditt inlägg" - title: Ny boostning + title: Ny boost status: subject: "%{name} publicerade just ett inlägg" update: @@ -1489,9 +1489,9 @@ sv: exceptions: Undantag explanation: Eftersom inläggsradering är resursintensivt görs detta stegvis när servern inte är högbelastad. Därför kan det dröja innan dina inlägg raderas efter att de uppnått ålderströskeln. ignore_favs: Bortse från favoriter - ignore_reblogs: Ignorera boostningar + ignore_reblogs: Ignorera boostar interaction_exceptions: Undantag baserat på interaktioner - interaction_exceptions_explanation: Observera att det inte finns någon garanti att inlägg blir raderade om de går under favorit- eller boosttröskeln efter att en gång ha gått över dem. + interaction_exceptions_explanation: Observera att det inte finns någon garanti att inlägg blir raderade om de går under favorit- eller boost-tröskeln efter att en gång ha gått över dem. keep_direct: Behåll direktmeddelanden keep_direct_hint: Tar inte bort någon av dina direktmeddelanden keep_media: Behåll inlägg med mediebilagor @@ -1517,7 +1517,7 @@ sv: min_favs: Behåll favoritmarkerade inlägg i minst min_favs_hint: Raderar inte något av dina inlägg som har blivit favoritmarkerat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal favoritmarkeringar min_reblogs: Behåll boostade inlägg i minst - min_reblogs_hint: Raderar inte något av dina inlägg som har blivit boostat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal boostningar + min_reblogs_hint: Raderar inte något av dina inlägg som har blivit boostat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal boostar stream_entries: pinned: Fäst inlägg reblogged: boostad diff --git a/config/locales/th.yml b/config/locales/th.yml index a941977e61a..8f5fa3ccd2d 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -324,6 +324,7 @@ th: listed: อยู่ในรายการ new: title: เพิ่มอีโมจิที่กำหนดเองใหม่ + no_emoji_selected: ไม่มีการเปลี่ยนแปลงอีโมจิเนื่องจากไม่มีการเลือก not_permitted: คุณไม่ได้รับอนุญาตให้ทำการกระทำนี้ overwrite: เขียนทับ shortcode: รหัสย่อ @@ -465,7 +466,7 @@ th: unavailable: ไม่พร้อมใช้งาน delivery_available: มีการจัดส่ง delivery_error_days: วันที่มีข้อผิดพลาดการจัดส่ง - delivery_error_hint: หากไม่สามารถทำการจัดส่งได้เป็นเวลา %{count} วัน จะทำเครื่องหมายโดเมนว่าจัดส่งไม่ได้โดยอัตโนมัติ + delivery_error_hint: หากไม่สามารถทำการจัดส่งได้เป็นเวลา %{count} วัน ระบบจะทำเครื่องหมายโดเมนว่าจัดส่งไม่ได้โดยอัตโนมัติ destroyed_msg: ตอนนี้จัดคิวข้อมูลจาก %{domain} สำหรับการลบในเร็ว ๆ นี้แล้ว empty: ไม่พบโดเมน known_accounts: @@ -627,6 +628,7 @@ th: manage_taxonomies: จัดการอนุกรมวิธาน manage_taxonomies_description: อนุญาตให้ผู้ใช้ตรวจทานเนื้อหาที่กำลังนิยมและอัปเดตการตั้งค่าแฮชแท็ก manage_user_access: จัดการการเข้าถึงของผู้ใช้ + manage_user_access_description: อนุญาตให้ผู้ใช้ปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยของผู้ใช้อื่น เปลี่ยนที่อยู่อีเมลของเขา และตั้งรหัสผ่านของเขาใหม่ manage_users: จัดการผู้ใช้ manage_users_description: อนุญาตให้ผู้ใช้ดูรายละเอียดของผู้ใช้อื่น ๆ และทำการกระทำการควบคุมกับผู้ใช้ manage_webhooks: จัดการเว็บฮุค @@ -646,6 +648,7 @@ th: settings: about: manage_rules: จัดการกฎของเซิร์ฟเวอร์ + preamble: ให้ข้อมูลเชิงลึกเกี่ยวกับวิธีที่เซิร์ฟเวอร์ได้รับการดำเนินงาน ควบคุม ได้รับทุน title: เกี่ยวกับ appearance: preamble: ปรับแต่งส่วนติดต่อเว็บของ Mastodon @@ -711,6 +714,7 @@ th: silence: "%{name} ได้จำกัดบัญชีของ %{target}" suspend: "%{name} ได้ระงับบัญชีของ %{target}" appeal_approved: อุทธรณ์แล้ว + appeal_pending: รอดำเนินการการอุทธรณ์ system_checks: elasticsearch_running_check: message_html: ไม่สามารถเชื่อมต่อกับ Elasticsearch โปรดตรวจสอบว่าซอฟต์แวร์กำลังทำงาน หรือปิดใช้งานการค้นหาข้อความแบบเต็ม @@ -735,6 +739,9 @@ th: allow_provider: อนุญาตผู้เผยแพร่ disallow: ไม่อนุญาตลิงก์ disallow_provider: ไม่อนุญาตผู้เผยแพร่ + no_link_selected: ไม่มีการเปลี่ยนแปลงลิงก์เนื่องจากไม่มีการเลือก + publishers: + no_publisher_selected: ไม่มีการเปลี่ยนแปลงผู้เผยแพร่เนื่องจากไม่มีการเลือก shared_by_over_week: other: แบ่งปันโดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา title: ลิงก์ที่กำลังนิยม @@ -751,6 +758,7 @@ th: allow_account: อนุญาตผู้สร้าง disallow: ไม่อนุญาตโพสต์ disallow_account: ไม่อนุญาตผู้สร้าง + no_status_selected: ไม่มีการเปลี่ยนแปลงโพสต์ที่กำลังนิยมเนื่องจากไม่มีการเลือก not_discoverable: ผู้สร้างไม่ได้เลือกรับให้สามารถค้นพบได้ shared_by: other: แบ่งปันและชื่นชอบ %{friendly_count} ครั้ง @@ -764,6 +772,7 @@ th: tag_servers_measure: เซิร์ฟเวอร์ต่าง ๆ tag_uses_measure: การใช้งานทั้งหมด listable: สามารถแนะนำ + no_tag_selected: ไม่มีการเปลี่ยนแปลงแท็กเนื่องจากไม่มีการเลือก not_listable: จะไม่แนะนำ not_trendable: จะไม่ปรากฏภายใต้แนวโน้ม not_usable: ไม่สามารถใช้ @@ -836,6 +845,7 @@ th: remove: เลิกเชื่อมโยงนามแฝง appearance: advanced_web_interface: ส่วนติดต่อเว็บขั้นสูง + advanced_web_interface_hint: 'หากคุณต้องการใช้ประโยชน์จากความกว้างหน้าจอทั้งหมดของคุณ ส่วนติดต่อเว็บขั้นสูงอนุญาตให้คุณกำหนดค่าคอลัมน์ต่าง ๆ จำนวนมากเพื่อให้เห็นข้อมูลได้มากในเวลาเดียวกันเท่าที่คุณต้องการ: หน้าแรก, การแจ้งเตือน, เส้นเวลาที่ติดต่อกับภายนอก, รายการและแฮชแท็กจำนวนเท่าใดก็ได้' animations_and_accessibility: ภาพเคลื่อนไหวและการช่วยการเข้าถึง confirmation_dialogs: กล่องโต้ตอบการยืนยัน discovery: การค้นพบ @@ -898,6 +908,7 @@ th: email_settings_hint_html: ส่งอีเมลยืนยันไปยัง %{email} แล้ว หากที่อยู่อีเมลนั้นไม่ถูกต้อง คุณสามารถเปลี่ยนที่อยู่อีเมลได้ในการตั้งค่าบัญชี title: การตั้งค่า sign_up: + preamble: เมื่อมีบัญชีในเซิร์ฟเวอร์ Mastodon นี้ คุณจะสามารถติดตามบุคคลอื่นใดในเครือข่าย โดยไม่คำนึงถึงที่ซึ่งบัญชีของเขาได้รับการโฮสต์ title: มาตั้งค่าของคุณใน %{domain} กันเลย status: account_status: สถานะบัญชี @@ -971,6 +982,7 @@ th: appeal_approved: อุทธรณ์การดำเนินการนี้สำเร็จและไม่มีผลบังคับอีกต่อไป appeal_rejected: ปฏิเสธการอุทธรณ์แล้ว appeal_submitted_at: ส่งการอุทธรณ์แล้ว + appealed_msg: ส่งการอุทธรณ์ของคุณแล้ว หากการอุทธรณ์ได้รับการอนุมัติ คุณจะได้รับการแจ้งเตือน appeals: submit: ส่งการอุทธรณ์ approve_appeal: อนุมัติการอุทธรณ์ @@ -1041,6 +1053,8 @@ th: add_keyword: เพิ่มคำสำคัญ keywords: คำสำคัญ title: แก้ไขตัวกรอง + errors: + invalid_context: ไม่มีหรือบริบทที่ให้มาไม่ถูกต้อง index: contexts: กรองใน %{contexts} delete: ลบ @@ -1121,6 +1135,9 @@ th: expires_at: หมดอายุเมื่อ uses: การใช้งาน title: เชิญผู้คน + lists: + errors: + limit: คุณมีรายการถึงจำนวนสูงสุดแล้ว login_activities: authentication_methods: otp: แอปการรับรองความถูกต้องด้วยสองปัจจัย @@ -1162,6 +1179,7 @@ th: warning: before: 'ก่อนดำเนินการต่อ โปรดอ่านหมายเหตุเหล่านี้อย่างระมัดระวัง:' followers: การกระทำนี้จะย้ายผู้ติดตามทั้งหมดจากบัญชีปัจจุบันไปยังบัญชีใหม่ + only_redirect_html: หรืออีกวิธีหนึ่ง คุณสามารถ ตั้งเพียงการเปลี่ยนเส้นทางในโปรไฟล์ของคุณเท่านั้น other_data: จะไม่ย้ายข้อมูลอื่น ๆ โดยอัตโนมัติ moderation: title: การควบคุม @@ -1250,6 +1268,7 @@ th: title: นโยบายความเป็นส่วนตัว reactions: errors: + limit_reached: ถึงขีดจำกัดของปฏิกิริยาต่าง ๆ แล้ว unrecognized_emoji: ไม่ใช่อีโมจิที่รู้จัก relationships: activity: กิจกรรมบัญชี @@ -1499,8 +1518,10 @@ th: suspend: ระงับบัญชีอยู่ welcome: edit_profile_action: ตั้งค่าโปรไฟล์ + edit_profile_step: คุณสามารถปรับแต่งโปรไฟล์ของคุณได้โดยอัปโหลดรูปภาพโปรไฟล์ เปลี่ยนชื่อที่แสดงของคุณ และอื่น ๆ คุณสามารถเลือกรับการตรวจทานผู้ติดตามใหม่ก่อนที่จะอนุญาตให้เขาติดตามคุณ explanation: นี่คือเคล็ดลับบางส่วนที่จะช่วยให้คุณเริ่มต้นใช้งาน final_action: เริ่มโพสต์ + final_step: 'เริ่มโพสต์! แม้ว่าไม่มีผู้ติดตาม โพสต์สาธารณะของคุณอาจเห็นโดยผู้อื่น ตัวอย่างเช่น ในเส้นเวลาในเซิร์ฟเวอร์หรือในแฮชแท็ก คุณอาจต้องการแนะนำตัวเองในแฮชแท็ก #introductions' full_handle: นามเต็มของคุณ full_handle_hint: นี่คือสิ่งที่คุณจะบอกเพื่อน ๆ ของคุณ เพื่อให้เขาสามารถส่งข้อความหรือติดตามคุณจากเซิร์ฟเวอร์อื่น subject: ยินดีต้อนรับสู่ Mastodon diff --git a/config/locales/uk.yml b/config/locales/uk.yml index ec8ba1c9bc8..df73233dfe4 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -950,7 +950,7 @@ uk: warning: Будьте дуже обережні з цими даними. Ніколи не діліться ними ні з ким! your_token: Ваш токен доступу auth: - apply_for_account: Отримати у списку очікування + apply_for_account: Приєднатися до списку очікування change_password: Пароль delete_account: Видалити обліковий запис delete_account_html: Якщо ви хочете видалити свій обліковий запис, ви можете перейти сюди. Вас попросять підтвердити дію. diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 09f1002c2a5..a6c75ea713d 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -263,7 +263,7 @@ zh-CN: reject_user_html: "%{name} 拒绝了用户 %{target} 的注册" remove_avatar_user_html: "%{name} 删除了 %{target} 的头像" reopen_report_html: "%{name} 重开了举报 %{target}" - resend_user_html: "%{name} 给 %{target} 发送了重新确认电子邮件" + resend_user_html: "%{name} 给 %{target} 重新发送了确认电子邮件" reset_password_user_html: "%{name} 重置了用户 %{target} 的密码" resolve_report_html: "%{name} 处理了举报 %{target}" sensitive_account_html: "%{name} 将 %{target} 的媒体标记为敏感内容" @@ -280,7 +280,7 @@ zh-CN: update_ip_block_html: "%{name} 修改了对 IP %{target} 的规则" update_status_html: "%{name} 刷新了 %{target} 的嘟文" update_user_role_html: "%{name} 更改了 %{target} 角色" - deleted_account: 删除帐户 + deleted_account: 账号已注销 empty: 没有找到日志 filter_by_action: 根据行为过滤 filter_by_user: 根据用户过滤 @@ -1227,7 +1227,7 @@ zh-CN: carry_mutes_over_text: 这个用户迁移自你隐藏过的 %{acct} copy_account_note_text: 这个用户迁移自 %{acct},你曾为其添加备注: navigation: - toggle_menu: 切换菜单 + toggle_menu: 隐藏/显示菜单 notification_mailer: admin: report: @@ -1465,7 +1465,7 @@ zh-CN: keep_media: 保留带媒体附件的嘟文 keep_media_hint: 不会删除任何包含媒体附件的嘟文 keep_pinned: 保留置顶嘟文 - keep_pinned_hint: 没有删除任何你已经固定的嘟文 + keep_pinned_hint: 不会删除你的任何置顶嘟文 keep_polls: 保留投票 keep_polls_hint: 不会删除你的任何投票 keep_self_bookmark: 保存被你加入书签的嘟文 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 9c0c2a74de0..5953c2275bb 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -37,11 +37,11 @@ zh-TW: by_domain: 站點 change_email: changed_msg: 電子郵件已成功變更! - current_email: 目前的電子信箱地址 - label: 變更電子信箱地址 - new_email: 新的電子信箱地址 - submit: 變更電子信箱地址 - title: 為 %{username} 變更電子信箱地址 + current_email: 目前的電子郵件地址 + label: 變更電子郵件地址 + new_email: 新的電子郵件地址 + submit: 變更電子郵件地址 + title: 為 %{username} 變更電子郵件地址 change_role: changed_msg: 成功修改角色! label: 變更角色 @@ -56,16 +56,16 @@ zh-TW: demote: 降級 destroyed_msg: 即將刪除 %{username} 的數據 disable: 停用 - disable_sign_in_token_auth: 停用電子信箱 token 驗證 + disable_sign_in_token_auth: 停用電子郵件 token 驗證 disable_two_factor_authentication: 停用兩階段認證 disabled: 已停用 display_name: 暱稱 domain: 站點 edit: 編輯 - email: 電子信箱地址 - email_status: 電子信箱狀態 + email: 電子郵件地址 + email_status: 電子郵件狀態 enable: 啟用 - enable_sign_in_token_auth: 啟用電子信箱 token 驗證 + enable_sign_in_token_auth: 啟用電子郵件 token 驗證 enabled: 已啟用 enabled_msg: 成功解除 %{username} 帳號的凍結 followers: 跟隨者 @@ -149,7 +149,7 @@ zh-TW: title: 帳號 unblock_email: 解除封鎖電子郵件地址 unblocked_email_msg: 成功解除封鎖 %{username} 的電子郵件地址 - unconfirmed_email: 未確認的電子信箱地址 + unconfirmed_email: 未確認的電子郵件地址 undo_sensitized: 取消敏感狀態 undo_silenced: 取消靜音 undo_suspension: 取消停權 @@ -166,7 +166,7 @@ zh-TW: approve_appeal: 批准申訴 approve_user: 批准使用者 assigned_to_self_report: 指派回報 - change_email_user: 變更使用者的電子信箱地址 + change_email_user: 變更使用者的電子郵件地址 change_role_user: 變更使用者角色 confirm_user: 確認使用者 create_account_warning: 建立警告 @@ -175,7 +175,7 @@ zh-TW: create_custom_emoji: 建立自訂顏文字 create_domain_allow: 建立允許網域 create_domain_block: 建立阻擋網域 - create_email_domain_block: 封鎖電子郵件站台 + create_email_domain_block: 新增電子郵件網域封鎖 create_ip_block: 新增IP規則 create_unavailable_domain: 新增無法存取的網域 create_user_role: 建立角色 @@ -193,10 +193,10 @@ zh-TW: destroy_user_role: 移除角色 disable_2fa_user: 停用兩階段認證 disable_custom_emoji: 停用自訂顏文字 - disable_sign_in_token_auth_user: 停用使用者電子信箱 token 驗證 + disable_sign_in_token_auth_user: 停用使用者電子郵件 token 驗證 disable_user: 停用帳號 enable_custom_emoji: 啓用自訂顏文字 - enable_sign_in_token_auth_user: 啟用使用者電子信箱 token 驗證 + enable_sign_in_token_auth_user: 啟用使用者電子郵件 token 驗證 enable_user: 啓用帳號 memorialize_account: 設定成紀念帳號 promote_user: 把用戶升級 @@ -225,16 +225,16 @@ zh-TW: approve_appeal_html: "%{name} 批准了來自 %{target} 的審核決定申訴" approve_user_html: "%{name} 批准了從 %{target} 而來的註冊" assigned_to_self_report_html: "%{name} 將報告 %{target} 指派給自己" - change_email_user_html: "%{name} 變更了使用者 %{target} 的電子信箱地址" + change_email_user_html: "%{name} 變更了使用者 %{target} 的電子郵件地址" change_role_user_html: "%{name} 變更了 %{target} 的角色" - confirm_user_html: "%{name} 確認了使用者 %{target} 的電子信箱位址" + confirm_user_html: "%{name} 確認了使用者 %{target} 的電子郵件位址" create_account_warning_html: "%{name} 已對 %{target} 送出警告" create_announcement_html: "%{name} 新增了公告 %{target}" create_canonical_email_block_html: "%{name} 已封鎖了 hash 為 %{target} 之 e-mail" create_custom_emoji_html: "%{name} 上傳了新自訂表情符號 %{target}" create_domain_allow_html: "%{name} 允許 %{target} 網域加入聯邦宇宙" create_domain_block_html: "%{name} 封鎖了網域 %{target}" - create_email_domain_block_html: "%{name} 封鎖了電子信箱網域 %{target}" + create_email_domain_block_html: "%{name} 封鎖了電子郵件網域 %{target}" create_ip_block_html: "%{name} 已經設定了IP %{target} 的規則" create_unavailable_domain_html: "%{name} 停止發送至網域 %{target}" create_user_role_html: "%{name} 建立了 %{target} 角色" @@ -244,7 +244,7 @@ zh-TW: destroy_custom_emoji_html: "%{name} 刪除了表情符號 %{target}" destroy_domain_allow_html: "%{name} 不允許與網域 %{target} 加入聯邦宇宙" destroy_domain_block_html: "%{name} 取消了對網域 %{target} 的封鎖" - destroy_email_domain_block_html: "%{name} 取消了對電子信箱網域 %{target} 的封鎖" + destroy_email_domain_block_html: "%{name} 取消了對電子郵件網域 %{target} 的封鎖" destroy_instance_html: "%{name} 清除了網域 %{target}" destroy_ip_block_html: "%{name} 刪除了 IP %{target} 的規則" destroy_status_html: "%{name} 刪除了 %{target} 的嘟文" @@ -252,10 +252,10 @@ zh-TW: destroy_user_role_html: "%{name} 刪除了 %{target} 角色" disable_2fa_user_html: "%{name} 停用了使用者 %{target} 的兩階段認證" disable_custom_emoji_html: "%{name} 停用了自訂表情符號 %{target}" - disable_sign_in_token_auth_user_html: "%{name} 停用了 %{target} 之使用者電子信箱 token 驗證" + disable_sign_in_token_auth_user_html: "%{name} 停用了 %{target} 之使用者電子郵件 token 驗證" disable_user_html: "%{name} 將使用者 %{target} 設定為禁止登入" enable_custom_emoji_html: "%{name} 啟用了自訂表情符號 %{target}" - enable_sign_in_token_auth_user_html: "%{name} 啟用了 %{target} 之使用者電子信箱 token 驗證" + enable_sign_in_token_auth_user_html: "%{name} 啟用了 %{target} 之使用者電子郵件 token 驗證" enable_user_html: "%{name} 將使用者 %{target} 設定為允許登入" memorialize_account_html: "%{name} 將 %{target} 設定為追悼帳號" promote_user_html: "%{name} 對使用者 %{target} 進行了晉級操作" @@ -400,7 +400,7 @@ zh-TW: add_new: 加入新項目 attempts_over_week: other: 上週共有 %{count} 次註冊嘗試 - created_msg: 已成功將電子信箱網域加入黑名單 + created_msg: 已成功將電子郵件網域加入黑名單 delete: 刪除 dns: types: @@ -409,11 +409,11 @@ zh-TW: new: create: 新增站點 resolve: 解析網域 - title: 新增電子信箱黑名單項目 - no_email_domain_block_selected: 因未選取項目,而未更改電子信箱網域封鎖清單 + title: 新增電子郵件黑名單項目 + no_email_domain_block_selected: 因未選取項目,而未更改電子郵件網域黑名單 resolved_dns_records_hint_html: 網域名稱解析為以下 MX 網域,這些網域最終負責接收電子郵件。封鎖 MX 網域將會封鎖任何來自使用相同 MX 網域的電子郵件註冊,即便可見的域名是不同的也一樣。請注意,不要封鎖主要的電子郵件服務提供商。 resolved_through_html: 透過 %{domain} 解析 - title: 電子信箱黑名單 + title: 電子郵件黑名單 follow_recommendations: description_html: |- 跟隨建議幫助新使用者們快速找到有趣的內容. 當使用者沒有與其他帳號有足夠多的互動以建立個人化跟隨建議時,這些帳號將會被推荐。這些帳號將基於某選定語言之高互動和高本地跟隨者數量帳號而 @@ -884,9 +884,9 @@ zh-TW: sensitive_content: 敏感內容 toot_layout: 嘟文排版 application_mailer: - notification_preferences: 變更電子信件設定 + notification_preferences: 變更電子郵件設定 salutation: "%{name}、" - settings: 變更電子信箱設定︰%{link} + settings: 變更電子郵件設定︰%{link} view: '進入瀏覽:' view_profile: 檢視個人檔案 view_status: 檢視嘟文 From 73b68fcabbbf607d2c1d1021f6063d070edbca26 Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 12 Nov 2022 09:59:28 +0100 Subject: [PATCH 081/144] Fix styling of advanced options dropdown (#1916) Fixes #1914 --- .../flavours/glitch/features/compose/components/options.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/features/compose/components/options.js b/app/javascript/flavours/glitch/features/compose/components/options.js index 47bd9b0563c..c6278f4cb5e 100644 --- a/app/javascript/flavours/glitch/features/compose/components/options.js +++ b/app/javascript/flavours/glitch/features/compose/components/options.js @@ -103,7 +103,7 @@ class ToggleOption extends ImmutablePureComponent { -
+
{text} {meta}
From fdfacb0ec0e81e323e67abde0d4b5b16f0d8bf0a Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 12 Nov 2022 10:17:22 +0100 Subject: [PATCH 082/144] Revert "Revert "Change "Allow trends without prior review" setting to include statuses (#17977)"" This reverts commit bfc539cfb4f040fcffac740b36791c26c2a74119. --- app/javascript/styles/mastodon/accounts.scss | 9 ++++++++- app/javascript/styles/mastodon/forms.scss | 3 ++- app/models/account.rb | 4 ++++ config/i18n-tasks.yml | 2 +- config/initializers/simple_form.rb | 5 ++++- config/locales/simple_form.en.yml | 1 + 6 files changed, 20 insertions(+), 4 deletions(-) diff --git a/app/javascript/styles/mastodon/accounts.scss b/app/javascript/styles/mastodon/accounts.scss index 54b65bfc8c2..c007eb4b57e 100644 --- a/app/javascript/styles/mastodon/accounts.scss +++ b/app/javascript/styles/mastodon/accounts.scss @@ -202,7 +202,8 @@ } .account-role, -.simple_form .recommended { +.simple_form .recommended, +.simple_form .not_recommended { display: inline-block; padding: 4px 6px; cursor: default; @@ -227,6 +228,12 @@ } } +.simple_form .not_recommended { + color: lighten($error-red, 12%); + background-color: rgba(lighten($error-red, 12%), 0.1); + border-color: rgba(lighten($error-red, 12%), 0.5); +} + .account__header__fields { max-width: 100vw; padding: 0; diff --git a/app/javascript/styles/mastodon/forms.scss b/app/javascript/styles/mastodon/forms.scss index 4c731be4308..a3ddc763625 100644 --- a/app/javascript/styles/mastodon/forms.scss +++ b/app/javascript/styles/mastodon/forms.scss @@ -103,7 +103,8 @@ code { } } - .recommended { + .recommended, + .not_recommended { position: absolute; margin: 0 4px; margin-top: -2px; diff --git a/app/models/account.rb b/app/models/account.rb index 7059c555f34..ab8a65720ae 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -260,6 +260,10 @@ class Account < ApplicationRecord update!(memorial: true) end + def trendable + boolean_with_default('trendable', Setting.trendable_by_default) + end + def sign? true end diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index 6117e6e5bc0..8bed346383e 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -50,7 +50,7 @@ ignore_unused: - 'activerecord.errors.*' - '{devise,pagination,doorkeeper}.*' - '{date,datetime,time,number}.*' - - 'simple_form.{yes,no,recommended}' + - 'simple_form.{yes,no,recommended,not_recommended}' - 'simple_form.{placeholders,hints,labels}.*' - 'simple_form.{error_notification,required}.:' - 'errors.messages.*' diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb index 3a2097d2fb9..92cffc5a2a4 100644 --- a/config/initializers/simple_form.rb +++ b/config/initializers/simple_form.rb @@ -11,7 +11,10 @@ end module RecommendedComponent def recommended(_wrapper_options = nil) return unless options[:recommended] - options[:label_text] = ->(raw_label_text, _required_label_text, _label_present) { safe_join([raw_label_text, ' ', content_tag(:span, I18n.t('simple_form.recommended'), class: 'recommended')]) } + + key = options[:recommended].is_a?(Symbol) ? options[:recommended] : :recommended + options[:label_text] = ->(raw_label_text, _required_label_text, _label_present) { safe_join([raw_label_text, ' ', content_tag(:span, I18n.t(key, scope: 'simple_form'), class: key)]) } + nil end end diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml index 464aa57742e..6edf7b4e9e2 100644 --- a/config/locales/simple_form.en.yml +++ b/config/locales/simple_form.en.yml @@ -298,6 +298,7 @@ en: events: Enabled events url: Endpoint URL 'no': 'No' + not_recommended: Not recommended recommended: Recommended required: mark: "*" From d26c1cb2fe145b8d56a9c15e110a917e6f63068b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 12 Nov 2022 10:54:51 +0100 Subject: [PATCH 083/144] Fix missing "not recommended" label on "Allow trends without review" (#20480) --- app/views/admin/settings/discovery/show.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin/settings/discovery/show.html.haml b/app/views/admin/settings/discovery/show.html.haml index e63c853fb8d..b429cdd7b58 100644 --- a/app/views/admin/settings/discovery/show.html.haml +++ b/app/views/admin/settings/discovery/show.html.haml @@ -19,7 +19,7 @@ = f.input :trends, as: :boolean, wrapper: :with_label .fields-group - = f.input :trendable_by_default, as: :boolean, wrapper: :with_label + = f.input :trendable_by_default, as: :boolean, wrapper: :with_label, recommended: :not_recommended %h4= t('admin.settings.discovery.public_timelines') From 1ce29aeabfed586868cd32a1dfd480bdd5efa3d2 Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 12 Nov 2022 10:17:22 +0100 Subject: [PATCH 084/144] Change "Allow trends without prior review' setting to include statuses Port SCSS changes from 546672e292dc3218e996048464c4c52e5d00f766 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/styles/accounts.scss | 9 ++++++++- app/javascript/flavours/glitch/styles/forms.scss | 3 ++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/javascript/flavours/glitch/styles/accounts.scss b/app/javascript/flavours/glitch/styles/accounts.scss index 3d8b761e61b..ffe5de26250 100644 --- a/app/javascript/flavours/glitch/styles/accounts.scss +++ b/app/javascript/flavours/glitch/styles/accounts.scss @@ -204,7 +204,8 @@ } .account-role, -.simple_form .recommended { +.simple_form .recommended, +.simple_form .not_recommended { display: inline-block; padding: 4px 6px; cursor: default; @@ -229,6 +230,12 @@ } } +.simple_form .not_recommended { + color: lighten($error-red, 12%); + background-color: rgba(lighten($error-red, 12%), 0.1); + border-color: rgba(lighten($error-red, 12%), 0.5); +} + .account__header__fields { max-width: 100vw; padding: 0; diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss index ef0ca1fcdec..cddf42dac57 100644 --- a/app/javascript/flavours/glitch/styles/forms.scss +++ b/app/javascript/flavours/glitch/styles/forms.scss @@ -103,7 +103,8 @@ code { } } - .recommended { + .recommended, + .not_recommended { position: absolute; margin: 0 4px; margin-top: -2px; From 0d43d9926a811dbc14dd5526b179558847640218 Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 12 Nov 2022 10:47:36 +0100 Subject: [PATCH 085/144] Make trendable_by_default not apply to posts --- app/models/account.rb | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/models/account.rb b/app/models/account.rb index ab8a65720ae..7059c555f34 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -260,10 +260,6 @@ class Account < ApplicationRecord update!(memorial: true) end - def trendable - boolean_with_default('trendable', Setting.trendable_by_default) - end - def sign? true end From 6a96b17a2de3fe6d7e24014d1dcc1ad5f54050d8 Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 12 Nov 2022 10:09:27 +0100 Subject: [PATCH 086/144] =?UTF-8?q?Add=20=E2=80=9CGlitch-only=E2=80=9D=20l?= =?UTF-8?q?abel=20to=20glitch-specific=20settings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/javascript/flavours/glitch/styles/accounts.scss | 9 ++++++++- app/javascript/flavours/glitch/styles/forms.scss | 3 ++- app/views/admin/settings/discovery/show.html.haml | 2 +- app/views/admin/settings/registrations/show.html.haml | 2 +- .../settings/preferences/appearance/show.html.haml | 4 ++-- app/views/settings/preferences/other/show.html.haml | 4 ++-- config/initializers/simple_form.rb | 10 ++++++++++ config/locales-glitch/simple_form.en.yml | 1 + 8 files changed, 27 insertions(+), 8 deletions(-) diff --git a/app/javascript/flavours/glitch/styles/accounts.scss b/app/javascript/flavours/glitch/styles/accounts.scss index ffe5de26250..cdc506cf458 100644 --- a/app/javascript/flavours/glitch/styles/accounts.scss +++ b/app/javascript/flavours/glitch/styles/accounts.scss @@ -205,7 +205,8 @@ .account-role, .simple_form .recommended, -.simple_form .not_recommended { +.simple_form .not_recommended, +.simple_form .glitch_only { display: inline-block; padding: 4px 6px; cursor: default; @@ -236,6 +237,12 @@ border-color: rgba(lighten($error-red, 12%), 0.5); } +.simple_form .glitch_only { + color: lighten($warning-red, 12%); + background-color: rgba(lighten($warning-red, 12%), 0.1); + border-color: rgba(lighten($warning-red, 12%), 0.5); +} + .account__header__fields { max-width: 100vw; padding: 0; diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss index cddf42dac57..8eecee4e976 100644 --- a/app/javascript/flavours/glitch/styles/forms.scss +++ b/app/javascript/flavours/glitch/styles/forms.scss @@ -104,7 +104,8 @@ code { } .recommended, - .not_recommended { + .not_recommended, + .glitch_only { position: absolute; margin: 0 4px; margin-top: -2px; diff --git a/app/views/admin/settings/discovery/show.html.haml b/app/views/admin/settings/discovery/show.html.haml index 9b6424c79cb..3983b563b44 100644 --- a/app/views/admin/settings/discovery/show.html.haml +++ b/app/views/admin/settings/discovery/show.html.haml @@ -19,7 +19,7 @@ = f.input :trendable_by_default, as: :boolean, wrapper: :with_label, recommended: :not_recommended .fields-group - = f.input :trending_status_cw, as: :boolean, wrapper: :with_label, label: t('admin.settings.trending_status_cw.title'), hint: t('admin.settings.trending_status_cw.desc_html') + = f.input :trending_status_cw, as: :boolean, wrapper: :with_label, label: t('admin.settings.trending_status_cw.title'), hint: t('admin.settings.trending_status_cw.desc_html'), glitch_only: true %h4= t('admin.settings.discovery.public_timelines') diff --git a/app/views/admin/settings/registrations/show.html.haml b/app/views/admin/settings/registrations/show.html.haml index f5e44812531..0d7d49dc87d 100644 --- a/app/views/admin/settings/registrations/show.html.haml +++ b/app/views/admin/settings/registrations/show.html.haml @@ -19,7 +19,7 @@ - if captcha_available? .fields-group - = f.input :captcha_enabled, as: :boolean, wrapper: :with_label, label: t('admin.settings.captcha_enabled.title'), hint: t('admin.settings.captcha_enabled.desc_html') + = f.input :captcha_enabled, as: :boolean, wrapper: :with_label, label: t('admin.settings.captcha_enabled.title'), hint: t('admin.settings.captcha_enabled.desc_html'), glitch_only: true .fields-group = f.input :closed_registrations_message, as: :text, wrapper: :with_block_label, input_html: { rows: 2 } diff --git a/app/views/settings/preferences/appearance/show.html.haml b/app/views/settings/preferences/appearance/show.html.haml index 89bd4f459f8..a252289b0d4 100644 --- a/app/views/settings/preferences/appearance/show.html.haml +++ b/app/views/settings/preferences/appearance/show.html.haml @@ -29,7 +29,7 @@ = f.input :setting_reduce_motion, as: :boolean, wrapper: :with_label = f.input :setting_disable_swiping, as: :boolean, wrapper: :with_label = f.input :setting_system_font_ui, as: :boolean, wrapper: :with_label - = f.input :setting_system_emoji_font, as: :boolean, wrapper: :with_label + = f.input :setting_system_emoji_font, as: :boolean, wrapper: :with_label, glitch_only: true %h4= t 'appearance.toot_layout' @@ -46,7 +46,7 @@ .fields-group = f.input :setting_unfollow_modal, as: :boolean, wrapper: :with_label = f.input :setting_boost_modal, as: :boolean, wrapper: :with_label - = f.input :setting_favourite_modal, as: :boolean, wrapper: :with_label + = f.input :setting_favourite_modal, as: :boolean, wrapper: :with_label, glitch_only: true = f.input :setting_delete_modal, as: :boolean, wrapper: :with_label %h4= t 'appearance.sensitive_content' diff --git a/app/views/settings/preferences/other/show.html.haml b/app/views/settings/preferences/other/show.html.haml index cf604d04321..fb3d21060cf 100644 --- a/app/views/settings/preferences/other/show.html.haml +++ b/app/views/settings/preferences/other/show.html.haml @@ -15,7 +15,7 @@ - unless Setting.hide_followers_count .fields-group - = f.input :setting_hide_followers_count, as: :boolean, wrapper: :with_label + = f.input :setting_hide_followers_count, as: :boolean, wrapper: :with_label, glitch_only: true %h4= t 'preferences.posting_defaults' @@ -33,7 +33,7 @@ = f.input :setting_show_application, as: :boolean, wrapper: :with_label, recommended: true .fields-group - = f.input :setting_default_content_type, collection: ['text/plain', 'text/markdown', 'text/html'], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.defaults.setting_default_content_type_#{item.split('/')[1]}"), content_tag(:span, t("simple_form.hints.defaults.setting_default_content_type_#{item.split('/')[1]}"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li' + = f.input :setting_default_content_type, collection: ['text/plain', 'text/markdown', 'text/html'], wrapper: :with_label, include_blank: false, label_method: lambda { |item| safe_join([t("simple_form.labels.defaults.setting_default_content_type_#{item.split('/')[1]}"), content_tag(:span, t("simple_form.hints.defaults.setting_default_content_type_#{item.split('/')[1]}"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', glitch_only: true %h4= t 'preferences.public_timelines' diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb index 92cffc5a2a4..d167a160057 100644 --- a/config/initializers/simple_form.rb +++ b/config/initializers/simple_form.rb @@ -19,8 +19,17 @@ module RecommendedComponent end end +module GlitchOnlyComponent + def glitch_only(_wrapper_options = nil) + return unless options[:glitch_only] + options[:label_text] = ->(raw_label_text, _required_label_text, _label_present) { safe_join([raw_label_text, ' ', content_tag(:span, I18n.t('simple_form.glitch_only'), class: 'glitch_only')]) } + nil + end +end + SimpleForm.include_component(AppendComponent) SimpleForm.include_component(RecommendedComponent) +SimpleForm.include_component(GlitchOnlyComponent) SimpleForm.setup do |config| # Wrappers are used by the form builder to generate a @@ -78,6 +87,7 @@ SimpleForm.setup do |config| b.wrapper tag: :div, class: :label_input do |ba| ba.optional :recommended + ba.optional :glitch_only ba.use :label ba.wrapper tag: :div, class: :label_input__wrapper do |bb| diff --git a/config/locales-glitch/simple_form.en.yml b/config/locales-glitch/simple_form.en.yml index fd1c64bbb3f..0ad39886ff6 100644 --- a/config/locales-glitch/simple_form.en.yml +++ b/config/locales-glitch/simple_form.en.yml @@ -1,6 +1,7 @@ --- en: simple_form: + glitch_only: glitch-soc hints: defaults: fields: You can have up to %{count} items displayed as a table on your profile From af89b14628c648e95cc8a920f2ff886b9c61ffdf Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 12 Nov 2022 11:31:05 +0100 Subject: [PATCH 087/144] =?UTF-8?q?Add=20extended=20description=20for=20gl?= =?UTF-8?q?itch-soc=20only=20=E2=80=9Chide=20followers=20count"=20setting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/locales-glitch/simple_form.en.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales-glitch/simple_form.en.yml b/config/locales-glitch/simple_form.en.yml index 0ad39886ff6..c6e7d54ca04 100644 --- a/config/locales-glitch/simple_form.en.yml +++ b/config/locales-glitch/simple_form.en.yml @@ -9,6 +9,7 @@ en: setting_default_content_type_markdown: When writing toots, assume they are using Markdown for rich text formatting, unless specified otherwise setting_default_content_type_plain: When writing toots, assume they are plain text with no special formatting, unless specified otherwise (default Mastodon behavior) setting_default_language: The language of your toots can be detected automatically, but it's not always accurate + setting_hide_followers_count: Hide your followers count from everybody, including you. Some applications may display a negative followers count. setting_skin: Reskins the selected Mastodon flavour labels: defaults: From e88f4f5e57e1a941c9e11f3cc34e291bf73394c5 Mon Sep 17 00:00:00 2001 From: Jared Allard Date: Sat, 12 Nov 2022 02:51:16 -0800 Subject: [PATCH 088/144] ci: write permissions to packages (#1906) --- .github/workflows/build-image.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 58c5587231b..a95efc94cc0 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -12,6 +12,7 @@ on: - Dockerfile permissions: contents: read + packages: write jobs: build-image: From d37f426f95f812b44925e13c00eabb9d1cd76b1f Mon Sep 17 00:00:00 2001 From: Claire Date: Sat, 12 Nov 2022 13:24:53 +0100 Subject: [PATCH 089/144] Add back missing glitch-soc admin settings (#1919) Fixes #1890 --- .../admin/settings/other_controller.rb | 9 +++++++ app/views/admin/settings/other/show.html.haml | 26 +++++++++++++++++++ .../admin/settings/shared/_links.html.haml | 1 + config/locales-glitch/en.yml | 3 +++ config/routes.rb | 1 + 5 files changed, 40 insertions(+) create mode 100644 app/controllers/admin/settings/other_controller.rb create mode 100644 app/views/admin/settings/other/show.html.haml diff --git a/app/controllers/admin/settings/other_controller.rb b/app/controllers/admin/settings/other_controller.rb new file mode 100644 index 00000000000..c7bfa3d5867 --- /dev/null +++ b/app/controllers/admin/settings/other_controller.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class Admin::Settings::OtherController < Admin::SettingsController + private + + def after_update_redirect_path + admin_settings_other_path + end +end diff --git a/app/views/admin/settings/other/show.html.haml b/app/views/admin/settings/other/show.html.haml new file mode 100644 index 00000000000..1a7a4e46e54 --- /dev/null +++ b/app/views/admin/settings/other/show.html.haml @@ -0,0 +1,26 @@ +- content_for :page_title do + = t('admin.settings.other.title') + +- content_for :heading do + %h2= t('admin.settings.title') + = render partial: 'admin/settings/shared/links' + += simple_form_for @admin_settings, url: admin_settings_other_path, html: { method: :patch } do |f| + = render 'shared/error_messages', object: @admin_settings + + %p.lead= t('admin.settings.other.preamble') + + .fields-group + = f.input :hide_followers_count, as: :boolean, wrapper: :with_label, label: t('admin.settings.hide_followers_count.title'), hint: t('admin.settings.hide_followers_count.desc_html'), glitch_only: true + + .fields-group + = f.input :show_reblogs_in_public_timelines, as: :boolean, wrapper: :with_label, label: t('admin.settings.show_reblogs_in_public_timelines.title'), hint: t('admin.settings.show_reblogs_in_public_timelines.desc_html'), glitch_only: true + + .fields-group + = f.input :show_replies_in_public_timelines, as: :boolean, wrapper: :with_label, label: t('admin.settings.show_replies_in_public_timelines.title'), hint: t('admin.settings.show_replies_in_public_timelines.desc_html'), glitch_only: true + + .fields-group + = f.input :outgoing_spoilers, wrapper: :with_label, label: t('admin.settings.outgoing_spoilers.title'), hint: t('admin.settings.outgoing_spoilers.desc_html'), glitch_only: true + + .actions + = f.button :button, t('generic.save_changes'), type: :submit diff --git a/app/views/admin/settings/shared/_links.html.haml b/app/views/admin/settings/shared/_links.html.haml index 1294c26ce1f..9f2cdd3f3e8 100644 --- a/app/views/admin/settings/shared/_links.html.haml +++ b/app/views/admin/settings/shared/_links.html.haml @@ -6,3 +6,4 @@ - primary.item :discovery, safe_join([fa_icon('search fw'), t('admin.settings.discovery.title')]), admin_settings_discovery_path - primary.item :content_retention, safe_join([fa_icon('history fw'), t('admin.settings.content_retention.title')]), admin_settings_content_retention_path - primary.item :appearance, safe_join([fa_icon('desktop fw'), t('admin.settings.appearance.title')]), admin_settings_appearance_path + - primary.item :other, safe_join([fa_icon('ellipsis-h fw'), t('admin.settings.other.title')]), admin_settings_other_path diff --git a/config/locales-glitch/en.yml b/config/locales-glitch/en.yml index 4cdc81a2481..c559ee0ecab 100644 --- a/config/locales-glitch/en.yml +++ b/config/locales-glitch/en.yml @@ -33,6 +33,9 @@ en: title: Enable keybase integration flavour_and_skin: title: Flavour and skin + other: + preamble: Various glitch-soc settings not fitting in other categories. + title: Other outgoing_spoilers: desc_html: When federating toots, add this content warning to toots that do not have one. It is useful if your server is specialized in content other servers might want to have under a Content Warning. Media will also be marked as sensitive. title: Content warning for outgoing toots diff --git a/config/routes.rb b/config/routes.rb index 126eae08417..e1068bb583a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -274,6 +274,7 @@ Rails.application.routes.draw do resource :about, only: [:show, :update], controller: 'about' resource :appearance, only: [:show, :update], controller: 'appearance' resource :discovery, only: [:show, :update], controller: 'discovery' + resource :other, only: [:show, :update], controller: 'other' end resources :site_uploads, only: [:destroy] From 3fa6c603badeb0ce8f74f21b12cfab2bb214e8e0 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Nov 2022 14:21:31 +0100 Subject: [PATCH 090/144] =?UTF-8?q?[Glitch]=20Fix=20color=20of=20the=20?= =?UTF-8?q?=E2=80=9CNo=20description=20added=E2=80=9C=20media=20upload=20w?= =?UTF-8?q?arning=20on=20light=20theme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Port 89a6b76f999635e077e9469efd9d94cd6c6d6222 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/styles/mastodon-light/diff.scss | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss index 22828c7d18b..6489c2f8055 100644 --- a/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss +++ b/app/javascript/flavours/glitch/styles/mastodon-light/diff.scss @@ -203,7 +203,8 @@ html { // Change the colors used in compose-form .compose-form { .compose-form__modifiers { - .compose-form__upload__actions .icon-button { + .compose-form__upload__actions .icon-button, + .compose-form__upload__warning .icon-button { color: lighten($white, 7%); &:active, @@ -212,14 +213,6 @@ html { color: $white; } } - - .compose-form__upload-description input { - color: lighten($white, 7%); - - &::placeholder { - color: lighten($white, 7%); - } - } } .compose-form__buttons-wrapper { From 487689f062877c49f5eb7cc75695f676c8db80cc Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Nov 2022 19:36:12 +0100 Subject: [PATCH 091/144] [Glitch] Remove preview cards from fav and boost notifications Port 99734ac9367eb8af705aecca423c998aadddbd59 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/components/status.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/components/status.js b/app/javascript/flavours/glitch/components/status.js index 366a98d82b5..800832dc8e4 100644 --- a/app/javascript/flavours/glitch/components/status.js +++ b/app/javascript/flavours/glitch/components/status.js @@ -687,7 +687,7 @@ class Status extends ImmutablePureComponent { if (!status.get('sensitive') && !(status.get('spoiler_text').length > 0) && settings.getIn(['collapsed', 'backgrounds', 'preview_images'])) { background = attachments.getIn([0, 'preview_url']); } - } else if (status.get('card') && settings.get('inline_preview_cards')) { + } else if (status.get('card') && settings.get('inline_preview_cards') && !this.props.muted) { media.push( Date: Thu, 10 Nov 2022 20:26:04 +0100 Subject: [PATCH 092/144] [Glitch] Fix unnecessary service worker registration and preloading when logged out Port 894ce3726a38733ea7b8c880658b962f92d021ae to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/main.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/javascript/flavours/glitch/main.js b/app/javascript/flavours/glitch/main.js index f1e10df3421..b8095f8192c 100644 --- a/app/javascript/flavours/glitch/main.js +++ b/app/javascript/flavours/glitch/main.js @@ -25,17 +25,17 @@ function main() { import('flavours/glitch/initial_state'), ]); - const wb = new Workbox('/sw.js'); - - try { - await wb.register(); - } catch (err) { - console.error(err); - - return; - } - if (me) { + const wb = new Workbox('/sw.js'); + + try { + await wb.register(); + } catch (err) { + console.error(err); + + return; + } + const registerPushNotifications = await import('flavours/glitch/actions/push_notifications'); store.dispatch(registerPushNotifications.register()); From 0071582c6d425f7f8fdbef692906d7cc778fa35c Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Fri, 11 Nov 2022 09:33:59 +0900 Subject: [PATCH 093/144] [Glitch] Delay workbox import Port 53d26cfc1cc2779f699f3d3d56696484faefe87c to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/main.js | 27 ++++++++++++-------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/app/javascript/flavours/glitch/main.js b/app/javascript/flavours/glitch/main.js index b8095f8192c..14a6effbbb0 100644 --- a/app/javascript/flavours/glitch/main.js +++ b/app/javascript/flavours/glitch/main.js @@ -2,6 +2,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { setupBrowserNotifications } from 'flavours/glitch/actions/notifications'; import Mastodon, { store } from 'flavours/glitch/containers/mastodon'; +import { me } from 'flavours/glitch/initial_state'; import ready from 'flavours/glitch/ready'; const perf = require('flavours/glitch/performance'); @@ -19,23 +20,19 @@ function main() { ReactDOM.render(, mountNode); store.dispatch(setupBrowserNotifications()); - if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { - const [{ Workbox }, { me }] = await Promise.all([ - import('workbox-window'), - import('flavours/glitch/initial_state'), - ]); + if (process.env.NODE_ENV === 'production' && me && 'serviceWorker' in navigator) { + const { Workbox } = await import('workbox-window'); + const wb = new Workbox('/sw.js'); + /** @type {ServiceWorkerRegistration} */ + let registration; - if (me) { - const wb = new Workbox('/sw.js'); - - try { - await wb.register(); - } catch (err) { - console.error(err); - - return; - } + try { + registration = await wb.register(); + } catch (err) { + console.error(err); + } + if (registration) { const registerPushNotifications = await import('flavours/glitch/actions/push_notifications'); store.dispatch(registerPushNotifications.register()); From d525ae4bdd0325815b2b4937754bb4938f6d08c3 Mon Sep 17 00:00:00 2001 From: Connor Shea Date: Thu, 10 Nov 2022 18:55:20 -0700 Subject: [PATCH 094/144] [Glitch] Only remove padding when listing applications Port cf4992c918459187962a9e2f389f9ccb4f1b825d to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/styles/forms.scss | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/styles/forms.scss b/app/javascript/flavours/glitch/styles/forms.scss index 8eecee4e976..01b7a11e950 100644 --- a/app/javascript/flavours/glitch/styles/forms.scss +++ b/app/javascript/flavours/glitch/styles/forms.scss @@ -1060,11 +1060,18 @@ code { &:last-child { border-bottom: 0; - padding-bottom: 0; } } } +// Only remove padding when listing applications, to prevent styling issues on +// the Authorization page. +.applications-list { + .permissions-list__item:last-child { + padding-bottom: 0; + } +} + .keywords-table { thead { th { From 400d1683102c6645c948a823b6108300c178f7d7 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 11 Nov 2022 08:26:58 +0100 Subject: [PATCH 095/144] [Glitch] Fix domain blocks on about page not working well on small screens in web UI Port 6774c339b2e22fc9cadcb466139745661d0b3c83 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/features/about/index.js | 29 ++++------- .../glitch/styles/components/about.scss | 51 ++++++++++++------- 2 files changed, 45 insertions(+), 35 deletions(-) diff --git a/app/javascript/flavours/glitch/features/about/index.js b/app/javascript/flavours/glitch/features/about/index.js index 4129c8236ef..f97eb64b416 100644 --- a/app/javascript/flavours/glitch/features/about/index.js +++ b/app/javascript/flavours/glitch/features/about/index.js @@ -183,25 +183,18 @@ class About extends React.PureComponent { <>

- - - - - - - - +
+ {domainBlocks.get('items').map(block => ( +
+
+
{block.get('domain')}
+ {intl.formatMessage(severityMessages[block.get('severity')].title)} +
-
- {domainBlocks.get('items').map(block => ( - - - - - - ))} - -
{block.get('domain')}{intl.formatMessage(severityMessages[block.get('severity')].title)}{block.get('comment')}
+

{block.get('comment').length > 0 ? block.get('comment') : }

+
+ ))} + ) : (

diff --git a/app/javascript/flavours/glitch/styles/components/about.scss b/app/javascript/flavours/glitch/styles/components/about.scss index c6cc6c61540..6664a5756c1 100644 --- a/app/javascript/flavours/glitch/styles/components/about.scss +++ b/app/javascript/flavours/glitch/styles/components/about.scss @@ -247,28 +247,45 @@ &__domain-blocks { margin-top: 30px; - width: 100%; - border-collapse: collapse; - break-inside: auto; + background: darken($ui-base-color, 4%); + border: 1px solid lighten($ui-base-color, 4%); + border-radius: 4px; - th { - text-align: left; - font-weight: 500; + &__domain { + border-bottom: 1px solid lighten($ui-base-color, 4%); + padding: 10px; + font-size: 15px; color: $darker-text-color; - } - thead tr, - tbody tr { - border-bottom: 1px solid lighten($ui-base-color, 8%); - } + &:nth-child(2n) { + background: darken($ui-base-color, 2%); + } - tbody tr:last-child { - border-bottom: 0; - } + &:last-child { + border-bottom: 0; + } - th, - td { - padding: 8px; + &__header { + display: flex; + gap: 10px; + justify-content: space-between; + font-weight: 500; + margin-bottom: 4px; + } + + h6 { + color: $secondary-text-color; + font-size: inherit; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + + p { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } } } } From 8ac4165c721cf1c70d1d682e183b169230326f36 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 11 Nov 2022 09:20:24 +0100 Subject: [PATCH 096/144] =?UTF-8?q?[Glitch]=20Remove=20=E2=80=9CNo=20descr?= =?UTF-8?q?iption=20added=E2=80=9D=20media=20warning=20in=20edit=20mode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Port 5e796dc6f85b37c8378fe01cfd8ac23222c89eea to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/features/compose/components/upload.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/features/compose/components/upload.js b/app/javascript/flavours/glitch/features/compose/components/upload.js index 94ac6c4996b..c276d339d71 100644 --- a/app/javascript/flavours/glitch/features/compose/components/upload.js +++ b/app/javascript/flavours/glitch/features/compose/components/upload.js @@ -48,7 +48,7 @@ export default class Upload extends ImmutablePureComponent { {!isEditingStatus && ()} - {(media.get('description') || '').length === 0 && ( + {(media.get('description') || '').length === 0 && !isEditingStatus && (
From e2315876f4c7bf591c535f10628fe6e145505a84 Mon Sep 17 00:00:00 2001 From: Cutls Date: Sat, 12 Nov 2022 05:19:48 +0900 Subject: [PATCH 097/144] [Glitch] Do not show drag&drop dialog when not logined Port 553b169d483e9b2f28007e130a494aec08a1720a to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/features/ui/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/javascript/flavours/glitch/features/ui/index.js b/app/javascript/flavours/glitch/features/ui/index.js index 3d385eee2b0..72e13d9d683 100644 --- a/app/javascript/flavours/glitch/features/ui/index.js +++ b/app/javascript/flavours/glitch/features/ui/index.js @@ -303,7 +303,7 @@ class UI extends React.Component { this.dragTargets.push(e.target); } - if (e.dataTransfer && e.dataTransfer.types.includes('Files') && this.props.canUploadMore) { + if (e.dataTransfer && e.dataTransfer.types.includes('Files') && this.props.canUploadMore && this.context.identity.signedIn) { this.setState({ draggingOver: true }); } } @@ -330,7 +330,7 @@ class UI extends React.Component { this.setState({ draggingOver: false }); this.dragTargets = []; - if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore) { + if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore && this.context.identity.signedIn) { this.props.dispatch(uploadCompose(e.dataTransfer.files)); } } From 9255bfb908f660889f54d4fd5ea92279b09d8cd1 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 11 Nov 2022 21:22:17 +0100 Subject: [PATCH 098/144] [Glitch] Add the ability to edit media attachment metadata for any unattached media Port 31005aad12c6a915a00501765a6dab25878326cb to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/features/compose/components/upload.js | 7 +++---- .../glitch/features/compose/containers/upload_container.js | 1 - app/javascript/flavours/glitch/reducers/compose.js | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/app/javascript/flavours/glitch/features/compose/components/upload.js b/app/javascript/flavours/glitch/features/compose/components/upload.js index c276d339d71..6528bbc84c8 100644 --- a/app/javascript/flavours/glitch/features/compose/components/upload.js +++ b/app/javascript/flavours/glitch/features/compose/components/upload.js @@ -18,7 +18,6 @@ export default class Upload extends ImmutablePureComponent { media: ImmutablePropTypes.map.isRequired, onUndo: PropTypes.func.isRequired, onOpenFocalPoint: PropTypes.func.isRequired, - isEditingStatus: PropTypes.bool.isRequired, }; handleUndoClick = e => { @@ -32,7 +31,7 @@ export default class Upload extends ImmutablePureComponent { } render () { - const { intl, media, isEditingStatus } = this.props; + const { media } = this.props; const focusX = media.getIn(['meta', 'focus', 'x']); const focusY = media.getIn(['meta', 'focus', 'y']); const x = ((focusX / 2) + .5) * 100; @@ -45,10 +44,10 @@ export default class Upload extends ImmutablePureComponent {
- {!isEditingStatus && ()} + {!!media.get('unattached') && ()}
- {(media.get('description') || '').length === 0 && !isEditingStatus && ( + {(media.get('description') || '').length === 0 && !!media.get('unattached') && (
diff --git a/app/javascript/flavours/glitch/features/compose/containers/upload_container.js b/app/javascript/flavours/glitch/features/compose/containers/upload_container.js index d6256fe966f..f3ca4ce7bbd 100644 --- a/app/javascript/flavours/glitch/features/compose/containers/upload_container.js +++ b/app/javascript/flavours/glitch/features/compose/containers/upload_container.js @@ -5,7 +5,6 @@ import { submitCompose } from 'flavours/glitch/actions/compose'; const mapStateToProps = (state, { id }) => ({ media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id), - isEditingStatus: state.getIn(['compose', 'id']) !== null, }); const mapDispatchToProps = dispatch => ({ diff --git a/app/javascript/flavours/glitch/reducers/compose.js b/app/javascript/flavours/glitch/reducers/compose.js index 460af395539..18e437bbc82 100644 --- a/app/javascript/flavours/glitch/reducers/compose.js +++ b/app/javascript/flavours/glitch/reducers/compose.js @@ -222,7 +222,7 @@ function appendMedia(state, media, file) { if (media.get('type') === 'image') { media = media.set('file', file); } - map.update('media_attachments', list => list.push(media)); + map.update('media_attachments', list => list.push(media.set('unattached', true))); map.set('is_uploading', false); map.set('is_processing', false); map.set('resetFileKey', Math.floor((Math.random() * 0x10000))); @@ -563,7 +563,7 @@ export default function compose(state = initialState, action) { map.set('content_type', action.content_type || 'text/plain'); map.set('in_reply_to', action.status.get('in_reply_to_id')); map.set('privacy', action.status.get('visibility')); - map.set('media_attachments', action.status.get('media_attachments')); + map.set('media_attachments', action.status.get('media_attachments').map((media) => media.set('unattached', true))); map.set('focusDate', new Date()); map.set('caretPosition', null); map.set('idempotencyKey', uuid()); From a808ac1fd8d4a42ee930bbb30cb6b58c810f828b Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 11 Nov 2022 21:23:03 +0100 Subject: [PATCH 099/144] [Glitch] Fix WebUI crash when listing server blocks and rationale is not available Port 93a6ebc83d4bc6647d1eafce509a29aa3642c87c to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/features/about/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/features/about/index.js b/app/javascript/flavours/glitch/features/about/index.js index f97eb64b416..57f295ea97f 100644 --- a/app/javascript/flavours/glitch/features/about/index.js +++ b/app/javascript/flavours/glitch/features/about/index.js @@ -191,7 +191,7 @@ class About extends React.PureComponent { {intl.formatMessage(severityMessages[block.get('severity')].title)}
-

{block.get('comment').length > 0 ? block.get('comment') : }

+

{(block.get('comment') || '').length > 0 ? block.get('comment') : }

))} From e9e4938bc92f5466e9056fe0fe9fb4919947c6ef Mon Sep 17 00:00:00 2001 From: helloworldstack <66512512+helloworldstack@users.noreply.github.com> Date: Sun, 13 Nov 2022 09:33:20 +0700 Subject: [PATCH 100/144] Fix casing and spacing of words (#20504) --- config/locales/en.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index c50fc074c4c..679e356b41f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -608,7 +608,7 @@ en: other: "%{count} users" categories: administration: Administration - devops: Devops + devops: DevOps invites: Invites moderation: Moderation special: Special @@ -659,7 +659,7 @@ en: view_audit_log_description: Allows users to see a history of administrative actions on the server view_dashboard: View Dashboard view_dashboard_description: Allows users to access the dashboard and various metrics - view_devops: Devops + view_devops: DevOps view_devops_description: Allows users to access Sidekiq and pgHero dashboards title: Roles rules: @@ -1374,7 +1374,7 @@ en: browser: Browser browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1388,7 +1388,7 @@ en: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: Current session description: "%{browser} on %{platform}" @@ -1397,8 +1397,8 @@ en: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS + blackberry: BlackBerry + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux From cf77d938f8fff0193225781f77f03e1616acc88f Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 13 Nov 2022 03:33:31 +0100 Subject: [PATCH 101/144] Fix saving server registration settings redirecting to branding settings (#20505) --- app/views/admin/settings/registrations/show.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin/settings/registrations/show.html.haml b/app/views/admin/settings/registrations/show.html.haml index 0129332d7b2..0db9f3536fb 100644 --- a/app/views/admin/settings/registrations/show.html.haml +++ b/app/views/admin/settings/registrations/show.html.haml @@ -8,7 +8,7 @@ %h2= t('admin.settings.title') = render partial: 'admin/settings/shared/links' -= simple_form_for @admin_settings, url: admin_settings_branding_path, html: { method: :patch } do |f| += simple_form_for @admin_settings, url: admin_settings_registrations_path, html: { method: :patch } do |f| = render 'shared/error_messages', object: @admin_settings %p.lead= t('admin.settings.registrations.preamble') From 290d78cea4850982a2843dc1a2954f0d66fe58d8 Mon Sep 17 00:00:00 2001 From: David Hewitt Date: Sun, 13 Nov 2022 05:57:10 +0000 Subject: [PATCH 102/144] Allow unsetting x-amz-acl S3 Permission headers (#20510) Some "S3 Compatible" storage providers (Cloudflare R2 is one such example) don't support setting ACLs on individual uploads with the `x-amz-acl` header, and instead just have a visibility for the whole bucket. To support uploads to such providers without getting unsupported errors back, lets use a black `S3_PERMISSION` env var to indicate that these headers shouldn't be sent. This is tested as working with Cloudflare R2. --- config/initializers/paperclip.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb index 26b0a2f7cd9..5c182ade489 100644 --- a/config/initializers/paperclip.rb +++ b/config/initializers/paperclip.rb @@ -67,6 +67,12 @@ if ENV['S3_ENABLED'] == 'true' retry_limit: 0, } ) + + if ENV['S3_PERMISSION'] == '' + Paperclip::Attachment.default_options.merge!( + s3_permissions: ->(*) { nil } + ) + end if ENV.has_key?('S3_ENDPOINT') Paperclip::Attachment.default_options[:s3_options].merge!( From cf36ee99bb55eeecc2fd8fbc4d6b9d123b1294fa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sun, 13 Nov 2022 17:14:31 +0100 Subject: [PATCH 103/144] New Crowdin updates (#20476) * New translations en.json (Galician) * New translations en.yml (Galician) * New translations en.json (Japanese) * New translations en.yml (Czech) * New translations en.json (Esperanto) * New translations en.yml (Norwegian) * New translations en.json (Spanish, Argentina) * New translations en.json (Latvian) * New translations en.json (Esperanto) * New translations en.yml (Esperanto) * New translations simple_form.en.yml (Esperanto) * New translations activerecord.en.yml (Russian) * New translations activerecord.en.yml (Portuguese, Brazilian) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations en.yml (Norwegian) * New translations en.json (Welsh) * New translations en.yml (Welsh) * New translations en.json (Malayalam) * New translations simple_form.en.yml (Thai) * New translations simple_form.en.yml (Welsh) * New translations doorkeeper.en.yml (Welsh) * New translations activerecord.en.yml (Welsh) * New translations devise.en.yml (Thai) * New translations devise.en.yml (Welsh) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations en.yml (German) * New translations en.json (German) * New translations en.yml (Irish) * New translations simple_form.en.yml (German) * New translations simple_form.en.yml (Thai) * New translations en.yml (Thai) * New translations en.json (Esperanto) * New translations en.yml (Irish) * New translations en.json (Norwegian) * New translations en.json (Polish) * New translations en.yml (Polish) * New translations en.json (Slovak) * New translations en.yml (Slovak) * New translations en.json (Turkish) * New translations en.yml (Portuguese, Brazilian) * New translations simple_form.en.yml (Thai) * New translations en.yml (Chinese Simplified) * New translations en.yml (Polish) * New translations en.json (Slovak) * New translations en.yml (Slovak) * New translations simple_form.en.yml (Slovak) * New translations en.json (Thai) * New translations simple_form.en.yml (Portuguese, Brazilian) * New translations doorkeeper.en.yml (Esperanto) * New translations en.json (Norwegian) * New translations en.json (Finnish) * New translations en.json (Norwegian) * New translations simple_form.en.yml (Norwegian) * New translations en.yml (Thai) * New translations en.json (Norwegian Nynorsk) * New translations en.yml (Norwegian Nynorsk) * New translations simple_form.en.yml (Arabic) * New translations en.json (German) * New translations en.json (Dutch) * New translations en.yml (Greek) * New translations en.yml (German) * New translations en.yml (Hungarian) * New translations en.yml (Hebrew) * New translations en.yml (Finnish) * New translations en.yml (Basque) * New translations en.yml (Frisian) * New translations en.yml (Danish) * New translations en.yml (Catalan) * New translations en.yml (Bulgarian) * New translations en.yml (Arabic) * New translations en.yml (Afrikaans) * New translations en.yml (French) * New translations en.yml (Romanian) * New translations en.yml (Spanish) * New translations en.yml (Czech) * New translations en.yml (Armenian) * New translations en.yml (Urdu (Pakistan)) * New translations en.yml (Vietnamese) * New translations en.yml (Chinese Traditional) * New translations en.yml (Swedish) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Slovenian) * New translations en.yml (Thai) * New translations en.yml (Galician) * New translations en.yml (Russian) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Persian) * New translations en.yml (Tamil) * New translations en.yml (Slovak) * New translations en.yml (Japanese) * New translations en.yml (Portuguese) * New translations en.yml (Polish) * New translations en.yml (Punjabi) * New translations en.yml (Norwegian) * New translations en.yml (Dutch) * New translations en.yml (Macedonian) * New translations en.yml (Lithuanian) * New translations en.yml (Korean) * New translations en.yml (Georgian) * New translations en.yml (Italian) * New translations en.yml (Ukrainian) * New translations en.yml (Albanian) * New translations en.yml (Turkish) * New translations en.yml (Ido) * New translations en.yml (Chinese Simplified) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Kannada) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Asturian) * New translations en.yml (Occitan) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Corsican) * New translations en.yml (Sinhala) * New translations en.yml (Sardinian) * New translations en.yml (Sanskrit) * New translations en.yml (Kabyle) * New translations en.yml (Taigi) * New translations en.yml (Silesian) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (Burmese) * New translations en.yml (Cornish) * New translations en.yml (Breton) * New translations en.yml (Bengali) * New translations en.yml (Hindi) * New translations en.yml (Marathi) * New translations en.yml (Croatian) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Kazakh) * New translations en.yml (Estonian) * New translations en.yml (Latvian) * New translations en.yml (Malay) * New translations en.yml (Malayalam) * New translations en.yml (Telugu) * New translations en.yml (English, United Kingdom) * New translations en.yml (Welsh) * New translations en.yml (Esperanto) * New translations en.yml (Uyghur) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Tatar) * New translations en.yml (Igbo) * New translations en.yml (Chinese Simplified) * New translations en.yml (Afrikaans) * New translations en.yml (Korean) * New translations en.yml (Chinese Traditional) * New translations en.yml (Thai) * New translations en.yml (German) * New translations en.yml (Czech) * New translations en.yml (Catalan) * New translations en.yml (Greek) * New translations en.yml (Italian) * New translations en.yml (Slovenian) * New translations en.yml (Swedish) * New translations simple_form.en.yml (Thai) * New translations en.yml (Thai) * New translations en.json (Thai) * New translations en.yml (Basque) * New translations en.yml (Norwegian) * New translations en.yml (Portuguese) * New translations en.yml (Icelandic) * New translations en.json (Spanish, Argentina) * New translations en.yml (Spanish, Argentina) * New translations en.json (Albanian) * New translations en.yml (Albanian) * New translations en.yml (French) * New translations en.yml (Hebrew) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Norwegian) * New translations en.yml (Polish) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Esperanto) * New translations en.yml (German) * New translations en.json (German) * New translations en.yml (Hebrew) * New translations en.yml (Norwegian) * New translations en.yml (German) * New translations en.json (Spanish) * New translations en.yml (Finnish) * New translations en.json (Norwegian) * New translations en.yml (Latvian) * New translations en.yml (Esperanto) * New translations en.json (German) * New translations en.json (Esperanto) * New translations en.yml (Dutch) * New translations en.yml (Norwegian) * New translations en.yml (Esperanto) * New translations en.json (Catalan) * New translations en.yml (Catalan) * New translations doorkeeper.en.yml (Catalan) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/ca.json | 72 +++++++++---------- app/javascript/mastodon/locales/cy.json | 14 ++-- app/javascript/mastodon/locales/de.json | 22 +++--- app/javascript/mastodon/locales/eo.json | 34 ++++----- app/javascript/mastodon/locales/es-AR.json | 10 +-- app/javascript/mastodon/locales/es.json | 2 +- app/javascript/mastodon/locales/fi.json | 4 +- app/javascript/mastodon/locales/gl.json | 4 +- app/javascript/mastodon/locales/ja.json | 6 +- app/javascript/mastodon/locales/lv.json | 10 +-- app/javascript/mastodon/locales/ml.json | 6 +- app/javascript/mastodon/locales/nl.json | 4 +- app/javascript/mastodon/locales/nn.json | 2 +- app/javascript/mastodon/locales/no.json | 26 +++---- app/javascript/mastodon/locales/pl.json | 4 +- app/javascript/mastodon/locales/sk.json | 80 +++++++++++----------- app/javascript/mastodon/locales/sq.json | 6 +- app/javascript/mastodon/locales/th.json | 14 ++-- app/javascript/mastodon/locales/tr.json | 2 +- config/locales/activerecord.ru.yml | 4 ++ config/locales/af.yml | 12 ++++ config/locales/ar.yml | 5 -- config/locales/ast.yml | 4 -- config/locales/bg.yml | 4 -- config/locales/br.yml | 2 - config/locales/ca.yml | 6 +- config/locales/ckb.yml | 4 -- config/locales/co.yml | 4 -- config/locales/cs.yml | 20 ++++-- config/locales/cy.yml | 1 - config/locales/da.yml | 6 -- config/locales/de.yml | 24 +++---- config/locales/devise.th.yml | 2 +- config/locales/doorkeeper.ca.yml | 4 +- config/locales/doorkeeper.eo.yml | 6 ++ config/locales/el.yml | 6 ++ config/locales/eo.yml | 18 ++--- config/locales/es-AR.yml | 2 +- config/locales/es-MX.yml | 6 -- config/locales/es.yml | 6 -- config/locales/eu.yml | 10 +-- config/locales/fa.yml | 5 -- config/locales/fi.yml | 20 +++--- config/locales/fr.yml | 6 +- config/locales/ga.yml | 66 +++++++++++++----- config/locales/gd.yml | 6 -- config/locales/gl.yml | 16 ++--- config/locales/he.yml | 8 +-- config/locales/hu.yml | 6 -- config/locales/hy.yml | 4 -- config/locales/id.yml | 6 -- config/locales/io.yml | 6 -- config/locales/is.yml | 6 +- config/locales/it.yml | 10 +-- config/locales/ja.yml | 6 +- config/locales/ka.yml | 4 -- config/locales/kab.yml | 4 -- config/locales/kk.yml | 4 -- config/locales/ko.yml | 2 +- config/locales/ku.yml | 6 -- config/locales/lv.yml | 12 ++-- config/locales/nl.yml | 6 +- config/locales/nn.yml | 31 +++++++-- config/locales/no.yml | 65 +++++++++++++----- config/locales/oc.yml | 4 -- config/locales/pl.yml | 26 +++---- config/locales/pt-BR.yml | 9 +-- config/locales/pt-PT.yml | 2 +- config/locales/ru.yml | 6 -- config/locales/sc.yml | 4 -- config/locales/si.yml | 4 -- config/locales/simple_form.ar.yml | 34 +++++++++ config/locales/simple_form.de.yml | 28 ++++---- config/locales/simple_form.eo.yml | 4 +- config/locales/simple_form.no.yml | 7 +- config/locales/simple_form.pt-BR.yml | 4 ++ config/locales/simple_form.sk.yml | 3 + config/locales/simple_form.th.yml | 11 ++- config/locales/sk.yml | 4 +- config/locales/sl.yml | 6 +- config/locales/sq.yml | 6 +- config/locales/sr-Latn.yml | 3 - config/locales/sr.yml | 4 -- config/locales/sv.yml | 12 ++-- config/locales/th.yml | 36 +++++++--- config/locales/tr.yml | 6 -- config/locales/tt.yml | 4 -- config/locales/uk.yml | 6 -- config/locales/vi.yml | 6 -- config/locales/zh-CN.yml | 6 +- config/locales/zh-HK.yml | 4 -- config/locales/zh-TW.yml | 8 +-- 92 files changed, 537 insertions(+), 503 deletions(-) diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index ea63eedb3b4..4b5fb25e4af 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -1,14 +1,14 @@ { "about.blocks": "Servidors moderats", "about.contact": "Contacte:", - "about.disclaimer": "Mastodon és un programari lliure de codi obert i una marca comercial de Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Motiu no disponible", + "about.disclaimer": "Mastodon és programari lliure de codi obert i una marca comercial de Mastodon gGmbH.", + "about.domain_blocks.no_reason_available": "No és disponible el motiu", "about.domain_blocks.preamble": "En general, Mastodon et permet veure el contingut i interaccionar amb els usuaris de qualsevol altre servidor del fedivers. Aquestes són les excepcions que s'han fet en aquest servidor particular.", - "about.domain_blocks.silenced.explanation": "Generalment no veuràs perfils ni contingut d'aquest servidor, a menys que el cerquis explícitament o optis per ell seguint-lo.", + "about.domain_blocks.silenced.explanation": "Generalment no veuràs perfils ni contingut d'aquest servidor, a menys que el cerquis explícitament o optis per seguir-lo.", "about.domain_blocks.silenced.title": "Limitat", - "about.domain_blocks.suspended.explanation": "No es processaran, emmagatzemaran ni s'intercanviaran dades d'aquest servidor, fent impossible qualsevol interacció o comunicació amb els usuaris d'aquest servidor.", + "about.domain_blocks.suspended.explanation": "No es processaran, emmagatzemaran ni intercanviaran dades d'aquest servidor, fent impossible qualsevol interacció o comunicació amb els seus usuaris.", "about.domain_blocks.suspended.title": "Suspès", - "about.not_available": "Aquesta informació no s'ha fet disponible en aquest servidor.", + "about.not_available": "Aquesta informació no és disponible en aquest servidor.", "about.powered_by": "Xarxa social descentralitzada impulsada per {mastodon}", "about.rules": "Normes del servidor", "account.account_note_header": "Nota", @@ -19,19 +19,19 @@ "account.block_domain": "Bloqueja el domini {domain}", "account.blocked": "Bloquejat", "account.browse_more_on_origin_server": "Navega més en el perfil original", - "account.cancel_follow_request": "Retirar la sol·licitud de seguiment", + "account.cancel_follow_request": "Retira la sol·licitud de seguiment", "account.direct": "Envia missatge directe a @{name}", "account.disable_notifications": "No em notifiquis les publicacions de @{name}", - "account.domain_blocked": "Domini bloquejat", + "account.domain_blocked": "Domini blocat", "account.edit_profile": "Edita el perfil", - "account.enable_notifications": "Notifica’m les publicacions de @{name}", + "account.enable_notifications": "Notifica'm les publicacions de @{name}", "account.endorse": "Recomana en el perfil", "account.featured_tags.last_status_at": "Última publicació el {date}", - "account.featured_tags.last_status_never": "Cap publicació", + "account.featured_tags.last_status_never": "No hi ha publicacions", "account.featured_tags.title": "Etiquetes destacades de: {name}", "account.follow": "Segueix", "account.followers": "Seguidors", - "account.followers.empty": "Ningú segueix aquest usuari encara.", + "account.followers.empty": "Encara ningú no segueix aquest usuari.", "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}", "account.following": "Seguint", "account.following_counter": "{count, plural, other {{counter} Seguint}}", @@ -52,25 +52,25 @@ "account.open_original_page": "Obre la pàgina original", "account.posts": "Publicacions", "account.posts_with_replies": "Publicacions i respostes", - "account.report": "Informa sobre @{name}", - "account.requested": "Esperant aprovació. Fes clic per cancel·lar la petició de seguiment", + "account.report": "Informa quant a @{name}", + "account.requested": "S'està esperant l'aprovació. Feu clic per a cancel·lar la petició de seguiment", "account.share": "Comparteix el perfil de @{name}", "account.show_reblogs": "Mostra els impulsos de @{name}", "account.statuses_counter": "{count, plural, one {{counter} Publicació} other {{counter} Publicacions}}", "account.unblock": "Desbloqueja @{name}", "account.unblock_domain": "Desbloqueja el domini {domain}", - "account.unblock_short": "Desbloquejar", - "account.unendorse": "No recomanar en el perfil", - "account.unfollow": "Deixar de seguir", + "account.unblock_short": "Desbloqueja", + "account.unendorse": "No recomanis en el perfil", + "account.unfollow": "Deixa de seguir", "account.unmute": "Deixar de silenciar @{name}", - "account.unmute_notifications": "Activar notificacions de @{name}", + "account.unmute_notifications": "Activa les notificacions de @{name}", "account.unmute_short": "Deixa de silenciar", "account_note.placeholder": "Clica per afegir-hi una nota", - "admin.dashboard.daily_retention": "Ràtio de retenció d'usuaris nous, per dia, després del registre", - "admin.dashboard.monthly_retention": "Ràtio de retenció d'usuaris nous, per mes, després del registre", + "admin.dashboard.daily_retention": "Ràtio de retenció d'usuaris nous per dia, després del registre", + "admin.dashboard.monthly_retention": "Ràtio de retenció d'usuaris nous per mes, després del registre", "admin.dashboard.retention.average": "Mitjana", - "admin.dashboard.retention.cohort": "Mes del registre", - "admin.dashboard.retention.cohort_size": "Nous usuaris", + "admin.dashboard.retention.cohort": "Mes de registre", + "admin.dashboard.retention.cohort_size": "Usuaris nous", "alert.rate_limited.message": "Si us plau, torna-ho a provar després de {retry_time, time, medium}.", "alert.rate_limited.title": "Límit de freqüència", "alert.unexpected.message": "S'ha produït un error inesperat.", @@ -79,21 +79,21 @@ "attachments_list.unprocessed": "(sense processar)", "audio.hide": "Amaga l'àudio", "autosuggest_hashtag.per_week": "{count} per setmana", - "boost_modal.combo": "Pots prémer {combo} per evitar-ho el pròxim cop", - "bundle_column_error.copy_stacktrace": "Copiar l'informe d'error", - "bundle_column_error.error.body": "No s'ha pogut renderitzar la pàgina sol·licitada. Podría ser degut a un error en el nostre codi o un problema de compatibilitat del navegador.", + "boost_modal.combo": "Podeu prémer {combo} per a evitar-ho el pròxim cop", + "bundle_column_error.copy_stacktrace": "Copia l'informe d'error", + "bundle_column_error.error.body": "No s'ha pogut renderitzar la pàgina sol·licitada. Podria ser per un error en el nostre codi o per un problema de compatibilitat del navegador.", "bundle_column_error.error.title": "Oh, no!", - "bundle_column_error.network.body": "Hi ha hagut un error al intentar carregar aquesta pàgina. Això podria ser degut a un problem temporal amb la teva connexió a internet o amb aquest servidor.", - "bundle_column_error.network.title": "Error de xarxa", - "bundle_column_error.retry": "Tornar-ho a provar", + "bundle_column_error.network.body": "Hi ha hagut un error en intentar carregar aquesta pàgina. Això podria ser per un problema temporal amb la teva connexió a internet o amb aquest servidor.", + "bundle_column_error.network.title": "Error de connexió", + "bundle_column_error.retry": "Torna-ho a provar", "bundle_column_error.return": "Torna a Inici", - "bundle_column_error.routing.body": "No es pot trobar la pàgina sol·licitada. Estàs segur que la URL de la barra d'adreces és correcte?", + "bundle_column_error.routing.body": "No es pot trobar la pàgina sol·licitada. Segur que la URL de la barra d'adreces és correcta?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Tanca", "bundle_modal_error.message": "S'ha produït un error en carregar aquest component.", - "bundle_modal_error.retry": "Tornar-ho a provar", - "closed_registrations.other_server_instructions": "Donat que Mastodon és descentralitzat, pots crear un compte en un altre servidor i encara interactuar amb aquest.", - "closed_registrations_modal.description": "Crear un compte a {domain} no és possible ara mateix però, si us plau, tingues en compte que no necessites específicament un compte a {domain} per a usar Mastodon.", + "bundle_modal_error.retry": "Torna-ho a provar", + "closed_registrations.other_server_instructions": "Com que Mastodon és descentralitzat, pots crear un compte en un altre servidor i seguir interactuant amb aquest.", + "closed_registrations_modal.description": "No es pot crear un compte a {domain} ara mateix, però tingueu en compte que no necessiteu específicament un compte a {domain} per a usar Mastodon.", "closed_registrations_modal.find_another_server": "Troba un altre servidor", "closed_registrations_modal.preamble": "Mastodon és descentralitzat per tant no importa on tinguis el teu compte, seràs capaç de seguir i interactuar amb tothom des d'aquest servidor. Fins i tot pots tenir el compte en el teu propi servidor!", "closed_registrations_modal.title": "Registrant-se a Mastodon", @@ -130,7 +130,7 @@ "compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta, ja que no està llistada. Només les publicacions públiques es poden cercar per etiqueta.", "compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure les publicacions de només per a seguidors.", "compose_form.lock_disclaimer.lock": "bloquejat", - "compose_form.placeholder": "Què et passa pel cap?", + "compose_form.placeholder": "Què tens en ment?", "compose_form.poll.add_option": "Afegir una opció", "compose_form.poll.duration": "Durada de l'enquesta", "compose_form.poll.option_placeholder": "Opció {number}", @@ -210,7 +210,7 @@ "empty_column.account_timeline": "No hi ha publicacions aquí!", "empty_column.account_unavailable": "Perfil no disponible", "empty_column.blocks": "Encara no has bloquejat cap usuari.", - "empty_column.bookmarked_statuses": "Encara no has marcat com publicació com a preferida. Quan en marquis una apareixerà aquí.", + "empty_column.bookmarked_statuses": "Encara no has marcat cap publicació com a preferida. Quan en marquis una, apareixerà aquí.", "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per posar-ho tot en marxa!", "empty_column.direct": "Encara no tens missatges directes. Quan n'enviïs o en rebis, es mostraran aquí.", "empty_column.domain_blocks": "Encara no hi ha dominis bloquejats.", @@ -257,7 +257,7 @@ "filter_modal.title.status": "Filtra una publicació", "follow_recommendations.done": "Fet", "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure les seves publicacions! Aquí hi ha algunes recomanacions.", - "follow_recommendations.lead": "Les publicacions del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", + "follow_recommendations.lead": "Les publicacions dels usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", "follow_request.authorize": "Autoritza", "follow_request.reject": "Rebutja", "follow_requests.unlocked_explanation": "Tot i que el teu compte no està bloquejat, el personal de {domain} ha pensat que és possible que vulguis revisar les sol·licituds de seguiment d’aquests comptes manualment.", @@ -294,7 +294,7 @@ "interaction_modal.on_this_server": "En aquest servidor", "interaction_modal.other_server_instructions": "Copia i enganxa aquest enllaç en el camp de cerca de la teva aplicació Mastodon preferida o en l'interfície web del teu servidor Mastodon.", "interaction_modal.preamble": "Donat que Mastodon és descentralitzat, pots fer servir el teu compte existent a un altre servidor Mastodon o plataforma compatible si és que no tens compte en aquest.", - "interaction_modal.title.favourite": "Afavoreix la publicació de {name}", + "interaction_modal.title.favourite": "Marca la publicació de {name}", "interaction_modal.title.follow": "Segueix {name}", "interaction_modal.title.reblog": "Impulsa la publicació de {name}", "interaction_modal.title.reply": "Respon a la publicació de {name}", @@ -310,7 +310,7 @@ "keyboard_shortcuts.direct": "per obrir la columna de missatges directes", "keyboard_shortcuts.down": "Mou-lo avall en la llista", "keyboard_shortcuts.enter": "Obrir publicació", - "keyboard_shortcuts.favourite": "Afavoreix la publicació", + "keyboard_shortcuts.favourite": "Marca la publicació", "keyboard_shortcuts.favourites": "Obre la llista de preferits", "keyboard_shortcuts.federated": "Obre la línia de temps federada", "keyboard_shortcuts.heading": "Dreceres de teclat", @@ -542,7 +542,7 @@ "status.admin_account": "Obre l'interfície de moderació per a @{name}", "status.admin_status": "Obrir aquesta publicació a la interfície de moderació", "status.block": "Bloqueja @{name}", - "status.bookmark": "Afavoreix", + "status.bookmark": "Marca", "status.cancel_reblog_private": "Desfés l'impuls", "status.cannot_reblog": "Aquesta publicació no es pot impulsar", "status.copy": "Copia l'enllaç a la publicació", diff --git a/app/javascript/mastodon/locales/cy.json b/app/javascript/mastodon/locales/cy.json index 0d1149ef1bd..9812eec6201 100644 --- a/app/javascript/mastodon/locales/cy.json +++ b/app/javascript/mastodon/locales/cy.json @@ -2,7 +2,7 @@ "about.blocks": "Gweinyddion sy'n cael eu cymedroli", "about.contact": "Cyswllt:", "about.disclaimer": "Mae Mastodon yn feddalwedd rhydd, cod agored ac o dan hawlfraint Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.no_reason_available": "Rheswm ddim ar gael", "about.domain_blocks.preamble": "Yn gyffredinol, mae Mastodon yn caniatáu i chi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.", "about.domain_blocks.silenced.explanation": "Yn gyffredinol, fyddwch chi ddim yn gweld proffiliau a chynnwys o'r gweinydd hwn, oni bai eich bod yn chwilio'n benodol amdano neu yn ymuno drwy ei ddilyn.", "about.domain_blocks.silenced.title": "Tawelwyd", @@ -28,7 +28,7 @@ "account.endorse": "Arddangos ar fy mhroffil", "account.featured_tags.last_status_at": "Y cofnod diwethaf ar {date}", "account.featured_tags.last_status_never": "Dim postiadau", - "account.featured_tags.title": "{name}'s featured hashtags", + "account.featured_tags.title": "hashnodau dan sylw {name}", "account.follow": "Dilyn", "account.followers": "Dilynwyr", "account.followers.empty": "Does neb yn dilyn y defnyddiwr hwn eto.", @@ -49,7 +49,7 @@ "account.mute": "Tawelu @{name}", "account.mute_notifications": "Cuddio hysbysiadau o @{name}", "account.muted": "Distewyd", - "account.open_original_page": "Open original page", + "account.open_original_page": "Agor y dudalen wreiddiol", "account.posts": "Postiadau", "account.posts_with_replies": "Postiadau ac atebion", "account.report": "Adrodd @{name}", @@ -95,7 +95,7 @@ "closed_registrations.other_server_instructions": "Gan fod Mastodon yn ddatganoledig, gallwch greu cyfrif ar weinydd arall a dal i ryngweithio gyda hwn.", "closed_registrations_modal.description": "Ar hyn o bryd nid yw'n bosib creu cyfrif ar {domain}, ond cadwch mewn cof nad oes raid i chi gael cyfrif yn benodol ar {domain} i ddefnyddio Mastodon.", "closed_registrations_modal.find_another_server": "Dod o hyd i weinydd arall", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", + "closed_registrations_modal.preamble": "Mae Mastodon wedi'i ddatganoli, felly does dim gwahaniaeth ble rydych chi'n creu eich cyfrif, byddwch chi'n gallu dilyn a rhyngweithio ag unrhyw un ar y gweinydd hwn. Gallwch hyd yn oed ei gynnal ef eich hun!", "closed_registrations_modal.title": "Cofrestru ar Mastodon", "column.about": "Ynghylch", "column.blocks": "Defnyddwyr a flociwyd", @@ -181,12 +181,12 @@ "directory.local": "O {domain} yn unig", "directory.new_arrivals": "Newydd-ddyfodiaid", "directory.recently_active": "Yn weithredol yn ddiweddar", - "disabled_account_banner.account_settings": "Account settings", + "disabled_account_banner.account_settings": "Gosodiadau'r cyfrif", "disabled_account_banner.text": "Mae eich cyfrif {disabledAccount} wedi ei analluogi ar hyn o bryd.", "dismissable_banner.community_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl y caiff eu cyfrifon eu cynnal ar {domain}.", "dismissable_banner.dismiss": "Diystyru", - "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", - "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", + "dismissable_banner.explore_links": "Mae'r straeon newyddion hyn yn cael eu trafod gan bobl ar y gweinydd hwn a rhai eraill ar y rhwydwaith datganoledig hwn, ar hyn o bryd.", + "dismissable_banner.explore_statuses": "Mae'r cofnodion hyn o'r gweinydd hwn a gweinyddion eraill yn y rhwydwaith datganoledig hwn yn denu sylw ar y gweinydd hwn ar hyn o bryd.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "embed.instructions": "Gosodwch y post hwn ar eich gwefan drwy gopïo'r côd isod.", diff --git a/app/javascript/mastodon/locales/de.json b/app/javascript/mastodon/locales/de.json index 54ba68ba9ab..223e6891298 100644 --- a/app/javascript/mastodon/locales/de.json +++ b/app/javascript/mastodon/locales/de.json @@ -42,7 +42,7 @@ "account.joined_short": "Beigetreten", "account.languages": "Genutzte Sprachen überarbeiten", "account.link_verified_on": "Das Profil mit dieser E-Mail-Adresse wurde bereits am {date} bestätigt", - "account.locked_info": "Der Privatsphärenstatus dieses Kontos wurde auf „gesperrt“ gesetzt. Die Person bestimmt manuell, wer ihm/ihr folgen darf.", + "account.locked_info": "Die Privatsphäre dieses Kontos wurde auf „geschützt“ gesetzt. Die Person bestimmt manuell, wer ihrem Profil folgen darf.", "account.media": "Medien", "account.mention": "@{name} im Beitrag erwähnen", "account.moved_to": "{name} hat angegeben, dass dieser der neue Account ist:", @@ -87,15 +87,15 @@ "bundle_column_error.network.title": "Netzwerkfehler", "bundle_column_error.retry": "Erneut versuchen", "bundle_column_error.return": "Zurück zur Startseite", - "bundle_column_error.routing.body": "Die angeforderte Seite konnte nicht gefunden werden. Sind Sie sicher, dass die URL in der Adressleiste korrekt ist?", + "bundle_column_error.routing.body": "Die angeforderte Seite konnte nicht gefunden werden. Bist du dir sicher, dass die URL in der Adressleiste korrekt ist?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Schließen", "bundle_modal_error.message": "Etwas ist beim Laden schiefgelaufen.", "bundle_modal_error.retry": "Erneut versuchen", - "closed_registrations.other_server_instructions": "Da Mastodon dezentralisiert ist, können Sie ein Konto auf einem anderen Server erstellen und trotzdem mit diesem Server interagieren.", - "closed_registrations_modal.description": "Das Anlegen eines Kontos auf {domain} ist derzeit nicht möglich, aber bedenken Sie bitte, dass Sie kein spezielles Konto auf {domain} benötigen, um Mastodon nutzen zu können.", + "closed_registrations.other_server_instructions": "Da Mastodon dezentralisiert ist, kannst du ein Konto auf einem anderen Server erstellen und trotzdem mit diesem Server interagieren.", + "closed_registrations_modal.description": "Das Anlegen eines Kontos auf {domain} ist derzeit nicht möglich, aber bedenke, dass du kein extra Konto auf {domain} benötigst, um Mastodon nutzen zu können.", "closed_registrations_modal.find_another_server": "Einen anderen Server auswählen", - "closed_registrations_modal.preamble": "Mastodon ist dezentralisiert, d.h. unabhängig davon, wo Sie Ihr Konto erstellen, können Sie jedem auf diesem Server folgen und mit ihm interagieren. Sie können ihn sogar selbst hosten!", + "closed_registrations_modal.preamble": "Mastodon ist dezentralisiert, das heißt unabhängig davon, wo du dein Konto erstellst, kannst du jedes Konto auf diesem Server folgen und mit dem interagieren. Du kannst auch deinen eigenen Server hosten!", "closed_registrations_modal.title": "Bei Mastodon registrieren", "column.about": "Über", "column.blocks": "Blockierte Profile", @@ -292,7 +292,7 @@ "interaction_modal.description.reply": "Mit einem Account auf Mastodon kannst du auf diesen Beitrag antworten.", "interaction_modal.on_another_server": "Auf einem anderen Server", "interaction_modal.on_this_server": "Auf diesem Server", - "interaction_modal.other_server_instructions": "Kopieren Sie diese Adresse und fügen Sie diese in das Suchfeld Ihrer bevorzugten Mastodon-App oder in die Weboberfläche Ihres Mastodon-Servers ein.", + "interaction_modal.other_server_instructions": "Kopiere diese URL und füge sie in das Suchfeld deiner bevorzugten Mastodon-App oder im Webinterface deiner Mastodon-Instanz ein.", "interaction_modal.preamble": "Da Mastodon dezentralisiert ist, kannst du dein bestehendes Konto auf einem anderen Mastodon-Server oder einer kompatiblen Plattform nutzen, wenn du kein Konto auf dieser Plattform hast.", "interaction_modal.title.favourite": "Lieblingsbeitrag von {name}", "interaction_modal.title.follow": "Folge {name}", @@ -341,7 +341,7 @@ "lightbox.next": "Weiter", "lightbox.previous": "Zurück", "limited_account_hint.action": "Profil trotzdem anzeigen", - "limited_account_hint.title": "Dieses Profil wurde von den Moderator*innnen der Mastodon-Instanz {domain} ausgeblendet.", + "limited_account_hint.title": "Dieses Profil wurde von den Moderator*innen der Mastodon-Instanz {domain} ausgeblendet.", "lists.account.add": "Zur Liste hinzufügen", "lists.account.remove": "Von der Liste entfernen", "lists.delete": "Liste löschen", @@ -491,7 +491,7 @@ "report.placeholder": "Zusätzliche Kommentare", "report.reasons.dislike": "Das gefällt mir nicht", "report.reasons.dislike_description": "Es ist etwas, das du nicht sehen willst", - "report.reasons.other": "Da ist was anderes", + "report.reasons.other": "Es geht um etwas anderes", "report.reasons.other_description": "Das Problem passt nicht in die Kategorien", "report.reasons.spam": "Das ist Spam", "report.reasons.spam_description": "Bösartige Links, gefälschtes Engagement oder wiederholte Antworten", @@ -545,7 +545,7 @@ "status.bookmark": "Lesezeichen setzen", "status.cancel_reblog_private": "Teilen des Beitrags rückgängig machen", "status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden", - "status.copy": "Kopiere Link des Beitrags", + "status.copy": "Link zum Beitrag kopieren", "status.delete": "Beitrag löschen", "status.detailed_status": "Detaillierte Ansicht der Unterhaltung", "status.direct": "Direktnachricht an @{name}", @@ -588,7 +588,7 @@ "status.show_more_all": "Alle Inhaltswarnungen aufklappen", "status.show_original": "Original anzeigen", "status.translate": "Übersetzen", - "status.translated_from_with": "Von {lang} mit {provider} übersetzt", + "status.translated_from_with": "Aus {lang} mittels {provider} übersetzt", "status.uncached_media_warning": "Nicht verfügbar", "status.unmute_conversation": "Stummschaltung der Unterhaltung aufheben", "status.unpin": "Vom Profil lösen", @@ -638,7 +638,7 @@ "upload_modal.preparing_ocr": "Vorbereitung von OCR…", "upload_modal.preview_label": "Vorschau ({ratio})", "upload_progress.label": "Wird hochgeladen …", - "upload_progress.processing": "Wird verarbeitet …", + "upload_progress.processing": "Wird verarbeitet…", "video.close": "Video schließen", "video.download": "Datei herunterladen", "video.exit_fullscreen": "Vollbild verlassen", diff --git a/app/javascript/mastodon/locales/eo.json b/app/javascript/mastodon/locales/eo.json index 01a2821bc40..12823083d67 100644 --- a/app/javascript/mastodon/locales/eo.json +++ b/app/javascript/mastodon/locales/eo.json @@ -2,8 +2,8 @@ "about.blocks": "Moderigitaj serviloj", "about.contact": "Kontakto:", "about.disclaimer": "Mastodon estas libera, malfermitkoda programaro kaj varmarko de la firmao Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Kialo ne estas disponebla", - "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", + "about.domain_blocks.no_reason_available": "Kialo ne disponebla", + "about.domain_blocks.preamble": "Mastodono ebligas vidi enhavojn el uzantoj kaj komuniki kun ilin el aliaj serviloj el la Fediverso. Estas la limigoj deciditaj por tiu ĉi servilo.", "about.domain_blocks.silenced.explanation": "Vi ne ĝenerale vidos profilojn kaj enhavojn de ĉi tiu servilo, krom se vi eksplice trovas aŭ estas permesita de via sekvato.", "about.domain_blocks.silenced.title": "Limigita", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", @@ -40,7 +40,7 @@ "account.go_to_profile": "Iri al profilo", "account.hide_reblogs": "Kaŝi la plusendojn de @{name}", "account.joined_short": "Aliĝis", - "account.languages": "Change subscribed languages", + "account.languages": "Ŝanĝi elekton de abonitaj lingvoj", "account.link_verified_on": "La posedanto de tiu ligilo estis kontrolita je {date}", "account.locked_info": "La privateco de tiu konto estas elektita kiel fermita. La posedanto povas mane akcepti tiun, kiu povas sekvi rin.", "account.media": "Aŭdovidaĵoj", @@ -49,7 +49,7 @@ "account.mute": "Silentigi @{name}", "account.mute_notifications": "Silentigi la sciigojn de @{name}", "account.muted": "Silentigita", - "account.open_original_page": "Open original page", + "account.open_original_page": "Malfermi originan paĝon", "account.posts": "Mesaĝoj", "account.posts_with_replies": "Mesaĝoj kaj respondoj", "account.report": "Raporti @{name}", @@ -96,7 +96,7 @@ "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.find_another_server": "Trovi alian servilon", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Registri en Mastodon", + "closed_registrations_modal.title": "Krei konton en Mastodon", "column.about": "Pri", "column.blocks": "Blokitaj uzantoj", "column.bookmarks": "Legosignoj", @@ -389,7 +389,7 @@ "navigation_bar.security": "Sekureco", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.admin.report": "{name} raportis {target}", - "notification.admin.sign_up": "{name} registris", + "notification.admin.sign_up": "{name} kreis konton", "notification.favourite": "{name} aldonis vian mesaĝon al siaj preferaĵoj", "notification.follow": "{name} eksekvis vin", "notification.follow_request": "{name} petis sekvi vin", @@ -464,8 +464,8 @@ "relative_time.full.days": "antaŭ {number, plural, one {# tago} other {# tagoj}}", "relative_time.full.hours": "antaŭ {number, plural, one {# horo} other {# horoj}}", "relative_time.full.just_now": "ĵus nun", - "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", - "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", + "relative_time.full.minutes": "antaŭ {number, plural, one {# minuto} other {# minutoj}}", + "relative_time.full.seconds": "antaŭ {number, plural, one {# sekundo} other {# sekundoj}}", "relative_time.hours": "{number}h", "relative_time.just_now": "nun", "relative_time.minutes": "{number}m", @@ -476,7 +476,7 @@ "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Aliaj", "report.categories.spam": "Trudmesaĝo", - "report.categories.violation": "Content violates one or more server rules", + "report.categories.violation": "Enhavo malobservas unu aŭ plurajn servilajn regulojn", "report.category.subtitle": "Elektu la plej bonan kongruon", "report.category.title": "Diru al ni kio okazas pri ĉi tiu {type}", "report.category.title_account": "profilo", @@ -528,15 +528,15 @@ "search_results.nothing_found": "Povis trovi nenion por ĉi tiuj serĉaj terminoj", "search_results.statuses": "Mesaĝoj", "search_results.statuses_fts_disabled": "Serĉi mesaĝojn laŭ enhavo ne estas ebligita en ĉi tiu Mastodon-servilo.", - "search_results.title": "Search for {q}", + "search_results.title": "Serĉ-rezultoj por {q}", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezultoj}}", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.active_users": "active users", - "server_banner.administered_by": "Administered by:", + "server_banner.administered_by": "Administrata de:", "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", "server_banner.learn_more": "Learn more", - "server_banner.server_stats": "Server stats:", - "sign_in_banner.create_account": "Create account", + "server_banner.server_stats": "Statistikoj de la servilo:", + "sign_in_banner.create_account": "Krei konton", "sign_in_banner.sign_in": "Sign in", "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", "status.admin_account": "Malfermi la kontrolan interfacon por @{name}", @@ -587,13 +587,13 @@ "status.show_more": "Montri pli", "status.show_more_all": "Montri pli ĉiun", "status.show_original": "Show original", - "status.translate": "Translate", - "status.translated_from_with": "Translated from {lang} using {provider}", + "status.translate": "Traduki", + "status.translated_from_with": "Tradukita el {lang} per {provider}", "status.uncached_media_warning": "Nedisponebla", "status.unmute_conversation": "Malsilentigi la konversacion", "status.unpin": "Depingli de profilo", "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", - "subscribed_languages.save": "Save changes", + "subscribed_languages.save": "Konservi ŝanĝojn", "subscribed_languages.target": "Change subscribed languages for {target}", "suggestions.dismiss": "Forigi la proponon", "suggestions.header": "Vi povus interesiĝi pri…", @@ -610,7 +610,7 @@ "timeline_hint.resources.followers": "Sekvantoj", "timeline_hint.resources.follows": "Sekvatoj", "timeline_hint.resources.statuses": "Pli malnovaj mesaĝoj", - "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", + "trends.counter_by_accounts": "{count, plural, one {{counter} persono} other {{counter} personoj}} dum la pasinta{days, plural, one { tago} other {j {days} tagoj}}", "trends.trending_now": "Nunaj furoraĵoj", "ui.beforeunload": "Via malneto perdiĝos se vi eliras de Mastodon.", "units.short.billion": "{count}Md", diff --git a/app/javascript/mastodon/locales/es-AR.json b/app/javascript/mastodon/locales/es-AR.json index deb539d0bf9..74a6acd2607 100644 --- a/app/javascript/mastodon/locales/es-AR.json +++ b/app/javascript/mastodon/locales/es-AR.json @@ -2,7 +2,7 @@ "about.blocks": "Servidores moderados", "about.contact": "Contacto:", "about.disclaimer": "Mastodon es software libre y de código abierto y una marca comercial de Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.no_reason_available": "Motivo no disponible", "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.", "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busqués explícitamente o sigás alguna cuenta.", "about.domain_blocks.silenced.title": "Limitados", @@ -49,7 +49,7 @@ "account.mute": "Silenciar a @{name}", "account.mute_notifications": "Silenciar notificaciones de @{name}", "account.muted": "Silenciado", - "account.open_original_page": "Open original page", + "account.open_original_page": "Abrir página original", "account.posts": "Mensajes", "account.posts_with_replies": "Mnsjs y resp. públicas", "account.report": "Denunciar a @{name}", @@ -292,7 +292,7 @@ "interaction_modal.description.reply": "Con una cuenta en Mastodon, podés responder a este mensaje.", "interaction_modal.on_another_server": "En un servidor diferente", "interaction_modal.on_this_server": "En este servidor", - "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.", + "interaction_modal.other_server_instructions": "Copiá y pegá esta dirección web en la barra de búsqueda de tu aplicación favorita de Mastodon, o en la interface web de tu servidor de Mastodon.", "interaction_modal.preamble": "Ya que Mastodon es descentralizado, podés usar tu cuenta existente alojada por otro servidor Mastodon (u otra plataforma compatible, si no tenés una cuenta en ésta).", "interaction_modal.title.favourite": "Marcar como favorito el mensaje de {name}", "interaction_modal.title.follow": "Seguir a {name}", @@ -614,8 +614,8 @@ "trends.trending_now": "Tendencia ahora", "ui.beforeunload": "Tu borrador se perderá si abandonás Mastodon.", "units.short.billion": "{count}MM", - "units.short.million": "{count}M", - "units.short.thousand": "{count}mil", + "units.short.million": "{count} M", + "units.short.thousand": "{count} mil", "upload_area.title": "Para subir, arrastrá y soltá", "upload_button.label": "Agregá imágenes, o un archivo de audio o video", "upload_error.limit": "Se excedió el límite de subida de archivos.", diff --git a/app/javascript/mastodon/locales/es.json b/app/javascript/mastodon/locales/es.json index f93577b4669..e9ae96ca5cc 100644 --- a/app/javascript/mastodon/locales/es.json +++ b/app/javascript/mastodon/locales/es.json @@ -501,7 +501,7 @@ "report.rules.title": "¿Qué normas se están violando?", "report.statuses.subtitle": "Selecciona todos los que correspondan", "report.statuses.title": "¿Hay alguna publicación que respalde este informe?", - "report.submit": "Publicar", + "report.submit": "Enviar", "report.target": "Reportando", "report.thanks.take_action": "Aquí están tus opciones para controlar lo que ves en Mastodon:", "report.thanks.take_action_actionable": "Mientras revisamos esto, puedes tomar medidas contra @{name}:", diff --git a/app/javascript/mastodon/locales/fi.json b/app/javascript/mastodon/locales/fi.json index a982d5bfeeb..22c76f4db8e 100644 --- a/app/javascript/mastodon/locales/fi.json +++ b/app/javascript/mastodon/locales/fi.json @@ -2,7 +2,7 @@ "about.blocks": "Moderoidut palvelimet", "about.contact": "Yhteystiedot:", "about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.", - "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.no_reason_available": "Syy ei saatavilla", "about.domain_blocks.preamble": "Mastodonin avulla voit yleensä tarkastella sisältöä ja olla vuorovaikutuksessa käyttäjien kanssa millä tahansa muulla palvelimella fediversessä. Nämä ovat poikkeuksia, jotka on tehty tälle palvelimelle.", "about.domain_blocks.silenced.explanation": "Et yleensä näe profiileja ja sisältöä tältä palvelimelta, ellet nimenomaisesti etsi tai valitse sitä seuraamalla.", "about.domain_blocks.silenced.title": "Rajoitettu", @@ -49,7 +49,7 @@ "account.mute": "Mykistä @{name}", "account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}", "account.muted": "Mykistetty", - "account.open_original_page": "Open original page", + "account.open_original_page": "Avaa alkuperäinen sivu", "account.posts": "Viestit", "account.posts_with_replies": "Viestit ja vastaukset", "account.report": "Raportoi @{name}", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index 3410a8b7d77..62a71b12297 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -2,7 +2,7 @@ "about.blocks": "Servidores moderados", "about.contact": "Contacto:", "about.disclaimer": "Mastodon é software libre, de código aberto, e unha marca comercial de Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.no_reason_available": "Non está indicada a razón", "about.domain_blocks.preamble": "Mastodon de xeito xeral permíteche ver contidos doutros servidores do fediverso e interactuar coas súas usuarias. Estas son as excepcións que se estabeleceron neste servidor en particular.", "about.domain_blocks.silenced.explanation": "Por defecto non verás perfís e contido desde este servidor, a menos que mires de xeito explícito ou optes por seguir ese contido ou usuaria.", "about.domain_blocks.silenced.title": "Limitado", @@ -49,7 +49,7 @@ "account.mute": "Acalar @{name}", "account.mute_notifications": "Acalar as notificacións de @{name}", "account.muted": "Acalada", - "account.open_original_page": "Open original page", + "account.open_original_page": "Abrir páxina orixinal", "account.posts": "Publicacións", "account.posts_with_replies": "Publicacións e respostas", "account.report": "Informar sobre @{name}", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index b5dc4e0f1b7..fbf8ab628ea 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -2,7 +2,7 @@ "about.blocks": "制限中のサーバー", "about.contact": "連絡先", "about.disclaimer": "Mastodonは自由なオープンソースソフトウェアでMastodon gGmbHの商標です。", - "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.no_reason_available": "制限理由", "about.domain_blocks.preamble": "Mastodonでは連合先のどのようなサーバーのユーザーとも交流できます。ただし次のサーバーには例外が設定されています。", "about.domain_blocks.silenced.explanation": "このサーバーのプロフィールやコンテンツは、明示的に検索したり、フォローでオプトインしない限り、通常は表示されません。", "about.domain_blocks.silenced.title": "制限", @@ -49,7 +49,7 @@ "account.mute": "@{name}さんをミュート", "account.mute_notifications": "@{name}さんからの通知を受け取らない", "account.muted": "ミュート済み", - "account.open_original_page": "Open original page", + "account.open_original_page": "元のページを開く", "account.posts": "投稿", "account.posts_with_replies": "投稿と返信", "account.report": "@{name}さんを通報", @@ -292,7 +292,7 @@ "interaction_modal.description.reply": "Mastodonのアカウントでこの投稿に反応できます。", "interaction_modal.on_another_server": "別のサーバー", "interaction_modal.on_this_server": "このサーバー", - "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", + "interaction_modal.other_server_instructions": "このURLをお気に入りのMastodonアプリやMastodonサーバーのWebインターフェースの検索フィールドにコピーして貼り付けます。", "interaction_modal.preamble": "Mastodonは分散化されているためアカウントを持っていなくても別のMastodonサーバーまたは互換性のあるプラットフォームでホストされているアカウントを使用できます。", "interaction_modal.title.favourite": "{name}さんの投稿をお気に入り", "interaction_modal.title.follow": "{name}さんをフォロー", diff --git a/app/javascript/mastodon/locales/lv.json b/app/javascript/mastodon/locales/lv.json index 89c3aee4e7f..711a003feda 100644 --- a/app/javascript/mastodon/locales/lv.json +++ b/app/javascript/mastodon/locales/lv.json @@ -461,11 +461,11 @@ "regeneration_indicator.label": "Ielādē…", "regeneration_indicator.sublabel": "Tiek gatavota tava plūsma!", "relative_time.days": "{number}d", - "relative_time.full.days": "{number, plural, one {# diena} other {# dienas}} atpakaļ", - "relative_time.full.hours": "{number, plural, one {# stunda} other {# stundas}} atpakaļ", + "relative_time.full.days": "Pirms {number, plural, one {# dienas} other {# dienām}}", + "relative_time.full.hours": "Pirms {number, plural, one {# stundas} other {# stundām}}", "relative_time.full.just_now": "tikko", - "relative_time.full.minutes": "{number, plural, one {# minūte} other {# minūtes}} atpakaļ", - "relative_time.full.seconds": "{number, plural, one {# sekunde} other {# sekundes}} atpakaļ", + "relative_time.full.minutes": "Pirms {number, plural, one {# minūtes} other {# minūtēm}}", + "relative_time.full.seconds": "Pirms {number, plural, one {# sekundes} other {# sekundēm}}", "relative_time.hours": "{number}st", "relative_time.just_now": "tagad", "relative_time.minutes": "{number}m", @@ -553,7 +553,7 @@ "status.edited": "Rediģēts {date}", "status.edited_x_times": "Rediģēts {count, plural, one {{count} reize} other {{count} reizes}}", "status.embed": "Iestrādāt", - "status.favourite": "Iecienītā", + "status.favourite": "Patīk", "status.filter": "Filtrē šo ziņu", "status.filtered": "Filtrēts", "status.hide": "Slēpt", diff --git a/app/javascript/mastodon/locales/ml.json b/app/javascript/mastodon/locales/ml.json index 0517ce02a0e..51afa4b43a7 100644 --- a/app/javascript/mastodon/locales/ml.json +++ b/app/javascript/mastodon/locales/ml.json @@ -1,8 +1,8 @@ { - "about.blocks": "Moderated servers", - "about.contact": "Contact:", + "about.blocks": "മോഡറേറ്റഡ് സെർവറുകൾ", + "about.contact": "ബന്ധപ്പെടുക:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.no_reason_available": "കാരണം ലഭ്യമല്", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.title": "Limited", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index e82321eae35..bdc13673d9c 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -2,7 +2,7 @@ "about.blocks": "Gemodereerde servers", "about.contact": "Contact:", "about.disclaimer": "Mastodon is vrije, opensourcesoftware en een handelsmerk van Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.no_reason_available": "Reden niet beschikbaar", "about.domain_blocks.preamble": "In het algemeen kun je met Mastodon berichten ontvangen van, en interactie hebben met gebruikers van elke server in de fediverse. Dit zijn de uitzonderingen die op deze specifieke server gelden.", "about.domain_blocks.silenced.explanation": "In het algemeen zie je geen berichten en accounts van deze server, tenzij je berichten expliciet opzoekt of ervoor kiest om een account van deze server te volgen.", "about.domain_blocks.silenced.title": "Beperkt", @@ -49,7 +49,7 @@ "account.mute": "@{name} negeren", "account.mute_notifications": "Meldingen van @{name} negeren", "account.muted": "Genegeerd", - "account.open_original_page": "Open original page", + "account.open_original_page": "Originele pagina openen", "account.posts": "Berichten", "account.posts_with_replies": "Berichten en reacties", "account.report": "@{name} rapporteren", diff --git a/app/javascript/mastodon/locales/nn.json b/app/javascript/mastodon/locales/nn.json index 83e0ec9c36e..6113e32d063 100644 --- a/app/javascript/mastodon/locales/nn.json +++ b/app/javascript/mastodon/locales/nn.json @@ -151,7 +151,7 @@ "confirmations.block.confirm": "Blokker", "confirmations.block.message": "Er du sikker på at du vil blokkera {name}?", "confirmations.cancel_follow_request.confirm": "Trekk attende førespurnad", - "confirmations.cancel_follow_request.message": "Er du sikker på at du vil trekke attende førespurnaden din for å fylgje {name}?", + "confirmations.cancel_follow_request.message": "Er du sikker på at du vil trekkje attende førespurnaden din om å fylgje {name}?", "confirmations.delete.confirm": "Slett", "confirmations.delete.message": "Er du sikker på at du vil sletta denne statusen?", "confirmations.delete_list.confirm": "Slett", diff --git a/app/javascript/mastodon/locales/no.json b/app/javascript/mastodon/locales/no.json index ff8be31ee4f..6ef9fd0408e 100644 --- a/app/javascript/mastodon/locales/no.json +++ b/app/javascript/mastodon/locales/no.json @@ -110,7 +110,7 @@ "column.lists": "Lister", "column.mutes": "Dempede brukere", "column.notifications": "Varsler", - "column.pins": "Pinned toot", + "column.pins": "Festede innlegg", "column.public": "Felles tidslinje", "column_back_button.label": "Tilbake", "column_header.hide_settings": "Skjul innstillinger", @@ -265,7 +265,7 @@ "footer.directory": "Profilkatalog", "footer.get_app": "Last ned appen", "footer.invite": "Invitér folk", - "footer.keyboard_shortcuts": "Keyboard shortcuts", + "footer.keyboard_shortcuts": "Hurtigtaster", "footer.privacy_policy": "Personvernregler", "footer.source_code": "Vis kildekode", "generic.saved": "Lagret", @@ -494,26 +494,26 @@ "report.reasons.other": "Det er noe annet", "report.reasons.other_description": "Problemet passer ikke inn i de andre kategoriene", "report.reasons.spam": "Det er spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", + "report.reasons.spam_description": "Ondsinnede lenker, falsk engasjement eller repeterende svar", "report.reasons.violation": "Det bryter serverregler", "report.reasons.violation_description": "Du er klar over at det bryter spesifikke regler", "report.rules.subtitle": "Velg alle som passer", "report.rules.title": "Hvilke regler brytes?", "report.statuses.subtitle": "Velg alle som passer", - "report.statuses.title": "Are there any posts that back up this report?", + "report.statuses.title": "Er det noen innlegg som støtter opp under denne rapporten?", "report.submit": "Send inn", "report.target": "Rapporterer", "report.thanks.take_action": "Her er alternativene dine for å kontrollere hva du ser på Mastodon:", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", + "report.thanks.take_action_actionable": "Mens vi går gjennom dette, kan du iverksettet tiltak mot @{name}:", "report.thanks.title": "Ønsker du ikke å se dette?", - "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", + "report.thanks.title_actionable": "Takk for at du rapporterer, vi skal se på dette.", "report.unfollow": "Slutt å følge @{name}", "report.unfollow_explanation": "Du følger denne kontoen. For ikke å se innleggene deres i din hjem-feed lenger, slutt å følge dem.", "report_notification.attached_statuses": "{count, plural,one {{count} innlegg} other {{count} innlegg}} vedlagt", "report_notification.categories.other": "Annet", "report_notification.categories.spam": "Søppelpost", "report_notification.categories.violation": "Regelbrudd", - "report_notification.open": "Open report", + "report_notification.open": "Åpne rapport", "search.placeholder": "Søk", "search.search_or_paste": "Søk eller lim inn URL", "search_popout.search_format": "Avansert søkeformat", @@ -592,9 +592,9 @@ "status.uncached_media_warning": "Ikke tilgjengelig", "status.unmute_conversation": "Ikke demp samtale", "status.unpin": "Angre festing på profilen", - "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", - "subscribed_languages.save": "Save changes", - "subscribed_languages.target": "Change subscribed languages for {target}", + "subscribed_languages.lead": "Bare innlegg på valgte språk vil dukke opp i dine hjem- og liste-tidslinjer etter endringen. Velg ingen for å motta innlegg på alle språk.", + "subscribed_languages.save": "Lagre endringer", + "subscribed_languages.target": "Endre abbonerte språk for {target}", "suggestions.dismiss": "Utelukk forslaget", "suggestions.header": "Du er kanskje interessert i …", "tabs_bar.federated_timeline": "Felles", @@ -610,7 +610,7 @@ "timeline_hint.resources.followers": "Følgere", "timeline_hint.resources.follows": "Følger", "timeline_hint.resources.statuses": "Eldre innlegg", - "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", + "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} folk}} {days, plural, one {den siste dagen} other {de siste {days} dagene}}", "trends.trending_now": "Trender nå", "ui.beforeunload": "Din kladd vil bli forkastet om du forlater Mastodon.", "units.short.billion": "{count}m.ard", @@ -629,7 +629,7 @@ "upload_form.video_description": "Beskriv det for folk med hørselstap eller synshemminger", "upload_modal.analyzing_picture": "Analyserer bildet …", "upload_modal.apply": "Bruk", - "upload_modal.applying": "Applying…", + "upload_modal.applying": "Utfører…", "upload_modal.choose_image": "Velg et bilde", "upload_modal.description_placeholder": "Når du en gang kommer, neste sommer, skal vi atter drikke vin", "upload_modal.detect_text": "Oppdag tekst i bildet", @@ -638,7 +638,7 @@ "upload_modal.preparing_ocr": "Forbereder OCR…", "upload_modal.preview_label": "Forhåndsvisning ({ratio})", "upload_progress.label": "Laster opp...", - "upload_progress.processing": "Processing…", + "upload_progress.processing": "Behandler…", "video.close": "Lukk video", "video.download": "Last ned fil", "video.exit_fullscreen": "Lukk fullskjerm", diff --git a/app/javascript/mastodon/locales/pl.json b/app/javascript/mastodon/locales/pl.json index 9cef980e656..a3757214b13 100644 --- a/app/javascript/mastodon/locales/pl.json +++ b/app/javascript/mastodon/locales/pl.json @@ -9,7 +9,7 @@ "about.domain_blocks.suspended.explanation": "Żadne dane z tego serwera nie będą przetwarzane, przechowywane lub wymieniane, co uniemożliwia jakąkolwiek interakcję lub komunikację z użytkownikami z tego serwera.", "about.domain_blocks.suspended.title": "Zawieszono", "about.not_available": "Ta informacja nie została udostępniona na tym serwerze.", - "about.powered_by": "Zdecentralizowane media społecznościowe w technologii {mastodon}", + "about.powered_by": "Zdecentralizowane media społecznościowe napędzane przez {mastodon}", "about.rules": "Regulamin serwera", "account.account_note_header": "Notatka", "account.add_or_remove_from_list": "Dodaj lub usuń z list", @@ -332,7 +332,7 @@ "keyboard_shortcuts.start": "aby otworzyć kolumnę „Rozpocznij”", "keyboard_shortcuts.toggle_hidden": "aby wyświetlić lub ukryć wpis spod CW", "keyboard_shortcuts.toggle_sensitivity": "by pokazać/ukryć multimedia", - "keyboard_shortcuts.toot": "aby utworzyć nowy wpis", + "keyboard_shortcuts.toot": "Stwórz nowy post", "keyboard_shortcuts.unfocus": "aby opuścić pole wyszukiwania/pisania", "keyboard_shortcuts.up": "aby przejść na górę listy", "lightbox.close": "Zamknij", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index bbc1aa0c3ca..d02fb0bec9f 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -1,16 +1,16 @@ { "about.blocks": "Moderated servers", - "about.contact": "Contact:", + "about.contact": "Kontakt:", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.domain_blocks.no_reason_available": "Reason not available", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", - "about.domain_blocks.silenced.title": "Limited", + "about.domain_blocks.silenced.title": "Obmedzená", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", - "about.domain_blocks.suspended.title": "Suspended", + "about.domain_blocks.suspended.title": "Vylúčený/á", "about.not_available": "This information has not been made available on this server.", "about.powered_by": "Decentralized social media powered by {mastodon}", - "about.rules": "Server rules", + "about.rules": "Serverové pravidlá", "account.account_note_header": "Poznámka", "account.add_or_remove_from_list": "Pridaj do, alebo odober zo zoznamov", "account.badges.bot": "Bot", @@ -26,8 +26,8 @@ "account.edit_profile": "Uprav profil", "account.enable_notifications": "Oboznamuj ma, keď má @{name} príspevky", "account.endorse": "Zobrazuj na profile", - "account.featured_tags.last_status_at": "Last post on {date}", - "account.featured_tags.last_status_never": "No posts", + "account.featured_tags.last_status_at": "Posledný príspevok dňa {date}", + "account.featured_tags.last_status_never": "Žiadne príspevky", "account.featured_tags.title": "{name}'s featured hashtags", "account.follow": "Nasleduj", "account.followers": "Sledujúci", @@ -37,9 +37,9 @@ "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.follows.empty": "Tento používateľ ešte nikoho nenasleduje.", "account.follows_you": "Nasleduje ťa", - "account.go_to_profile": "Go to profile", + "account.go_to_profile": "Prejdi na profil", "account.hide_reblogs": "Skry vyzdvihnutia od @{name}", - "account.joined_short": "Joined", + "account.joined_short": "Pridal/a sa", "account.languages": "Change subscribed languages", "account.link_verified_on": "Vlastníctvo tohto odkazu bolo skontrolované {date}", "account.locked_info": "Stav súkromia pre tento účet je nastavený na zamknutý. Jeho vlastník sám prehodnocuje, kto ho môže sledovať.", @@ -51,7 +51,7 @@ "account.muted": "Nevšímaný/á", "account.open_original_page": "Open original page", "account.posts": "Príspevky/ov", - "account.posts_with_replies": "Príspevky, aj s odpoveďami", + "account.posts_with_replies": "Príspevky a odpovede", "account.report": "Nahlás @{name}", "account.requested": "Čaká na schválenie. Klikni pre zrušenie žiadosti", "account.share": "Zdieľaj @{name} profil", @@ -84,20 +84,20 @@ "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.title": "Oh, no!", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", - "bundle_column_error.network.title": "Network error", + "bundle_column_error.network.title": "Chyba siete", "bundle_column_error.retry": "Skús to znova", - "bundle_column_error.return": "Go back home", + "bundle_column_error.return": "Prejdi späť na domovskú stránku", "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", "bundle_column_error.routing.title": "404", "bundle_modal_error.close": "Zatvor", "bundle_modal_error.message": "Nastala chyba pri načítaní tohto komponentu.", "bundle_modal_error.retry": "Skúsiť znova", "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", - "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", - "closed_registrations_modal.find_another_server": "Find another server", + "closed_registrations_modal.description": "Vytvorenie účtu na {domain} nie je v súčasnosti možné, ale majte prosím na pamäti, že nepotrebujete účet práve na {domain}, aby bolo možné používať Mastodon.", + "closed_registrations_modal.find_another_server": "Nájdi iný server", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", - "closed_registrations_modal.title": "Signing up on Mastodon", - "column.about": "About", + "closed_registrations_modal.title": "Registrácia na Mastodon", + "column.about": "O tomto serveri", "column.blocks": "Blokovaní užívatelia", "column.bookmarks": "Záložky", "column.community": "Miestna časová os", @@ -175,13 +175,13 @@ "conversation.mark_as_read": "Označ za prečítané", "conversation.open": "Ukáž konverzáciu", "conversation.with": "S {names}", - "copypaste.copied": "Copied", - "copypaste.copy": "Copy", + "copypaste.copied": "Skopírované", + "copypaste.copy": "Kopíruj", "directory.federated": "Zo známého fedivesmíru", "directory.local": "Iba z {domain}", "directory.new_arrivals": "Nové príchody", "directory.recently_active": "Nedávno aktívne", - "disabled_account_banner.account_settings": "Account settings", + "disabled_account_banner.account_settings": "Nastavenia účtu", "disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.dismiss": "Dismiss", @@ -264,10 +264,10 @@ "footer.about": "About", "footer.directory": "Profiles directory", "footer.get_app": "Get the app", - "footer.invite": "Invite people", - "footer.keyboard_shortcuts": "Keyboard shortcuts", - "footer.privacy_policy": "Privacy policy", - "footer.source_code": "View source code", + "footer.invite": "Pozvi ľudí", + "footer.keyboard_shortcuts": "Klávesové skratky", + "footer.privacy_policy": "Zásady súkromia", + "footer.source_code": "Zobraziť zdrojový kód", "generic.saved": "Uložené", "getting_started.heading": "Začni tu", "hashtag.column_header.tag_mode.all": "a {additional}", @@ -290,14 +290,14 @@ "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", - "interaction_modal.on_another_server": "On a different server", - "interaction_modal.on_this_server": "On this server", + "interaction_modal.on_another_server": "Na inom serveri", + "interaction_modal.on_this_server": "Na tomto serveri", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.title.favourite": "Favourite {name}'s post", - "interaction_modal.title.follow": "Follow {name}", - "interaction_modal.title.reblog": "Boost {name}'s post", - "interaction_modal.title.reply": "Reply to {name}'s post", + "interaction_modal.title.follow": "Nasleduj {name}", + "interaction_modal.title.reblog": "Vyzdvihni {name}ov/in príspevok", + "interaction_modal.title.reply": "Odpovedz na {name}ov/in príspevok", "intervals.full.days": "{number, plural, one {# deň} few {# dní} many {# dní} other {# dní}}", "intervals.full.hours": "{number, plural, one {# hodina} few {# hodín} many {# hodín} other {# hodín}}", "intervals.full.minutes": "{number, plural, one {# minúta} few {# minút} many {# minút} other {# minút}}", @@ -364,7 +364,7 @@ "mute_modal.duration": "Trvanie", "mute_modal.hide_notifications": "Skry oznámenia od tohto používateľa?", "mute_modal.indefinite": "Bez obmedzenia", - "navigation_bar.about": "About", + "navigation_bar.about": "O tomto serveri", "navigation_bar.blocks": "Blokovaní užívatelia", "navigation_bar.bookmarks": "Záložky", "navigation_bar.community_timeline": "Miestna časová os", @@ -385,7 +385,7 @@ "navigation_bar.pins": "Pripnuté príspevky", "navigation_bar.preferences": "Nastavenia", "navigation_bar.public_timeline": "Federovaná časová os", - "navigation_bar.search": "Search", + "navigation_bar.search": "Hľadaj", "navigation_bar.security": "Zabezbečenie", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "notification.admin.report": "{name} nahlásil/a {target}", @@ -455,8 +455,8 @@ "privacy.public.short": "Verejné", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.short": "Verejne, ale nezobraziť v osi", - "privacy_policy.last_updated": "Last updated {date}", - "privacy_policy.title": "Privacy Policy", + "privacy_policy.last_updated": "Posledná úprava {date}", + "privacy_policy.title": "Zásady súkromia", "refresh": "Obnoviť", "regeneration_indicator.label": "Načítava sa…", "regeneration_indicator.sublabel": "Tvoja domovská nástenka sa pripravuje!", @@ -532,12 +532,12 @@ "search_results.total": "{count, number} {count, plural, one {výsledok} many {výsledkov} other {výsledky}}", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.active_users": "active users", - "server_banner.administered_by": "Administered by:", + "server_banner.administered_by": "Správcom je:", "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", - "server_banner.learn_more": "Learn more", - "server_banner.server_stats": "Server stats:", - "sign_in_banner.create_account": "Create account", - "sign_in_banner.sign_in": "Sign in", + "server_banner.learn_more": "Zisti viac", + "server_banner.server_stats": "Serverové štatistiky:", + "sign_in_banner.create_account": "Vytvor účet", + "sign_in_banner.sign_in": "Prihlás sa", "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", "status.admin_account": "Otvor moderovacie rozhranie užívateľa @{name}", "status.admin_status": "Otvor tento príspevok v moderovacom rozhraní", @@ -575,7 +575,7 @@ "status.reblogs.empty": "Nikto ešte nevyzdvihol tento príspevok. Keď tak niekto urobí, bude to zobrazené práve tu.", "status.redraft": "Vymaž a prepíš", "status.remove_bookmark": "Odstráň záložku", - "status.replied_to": "Replied to {name}", + "status.replied_to": "Odpoveď na {name}", "status.reply": "Odpovedať", "status.replyAll": "Odpovedz na diskusiu", "status.report": "Nahlás @{name}", @@ -586,14 +586,14 @@ "status.show_less_all": "Všetkým ukáž menej", "status.show_more": "Ukáž viac", "status.show_more_all": "Všetkým ukáž viac", - "status.show_original": "Show original", - "status.translate": "Translate", + "status.show_original": "Ukáž pôvodný", + "status.translate": "Preložiť", "status.translated_from_with": "Translated from {lang} using {provider}", "status.uncached_media_warning": "Nedostupný/é", "status.unmute_conversation": "Prestaň si nevšímať konverzáciu", "status.unpin": "Odopni z profilu", "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", - "subscribed_languages.save": "Save changes", + "subscribed_languages.save": "Ulož zmeny", "subscribed_languages.target": "Change subscribed languages for {target}", "suggestions.dismiss": "Zavrhni návrh", "suggestions.header": "Mohlo by ťa zaujímať…", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index cdcca169753..860c0e5a1bf 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -2,7 +2,7 @@ "about.blocks": "Shërbyes të moderuar", "about.contact": "Kontakt:", "about.disclaimer": "Mastodon-i është software i lirë, me burim të hapët dhe shenjë tregtare e Mastodon gGmbH.", - "about.domain_blocks.no_reason_available": "Reason not available", + "about.domain_blocks.no_reason_available": "S’ka arsye", "about.domain_blocks.preamble": "Mastodon-i ju lë përgjithësisht të shihni lëndë prej përdoruesish dhe të ndërveproni me ta nga cilido shërbyes tjetër qofshin në fedivers. Ka përjashtime që janë bërë në këtë shërbyes të dhënë.", "about.domain_blocks.silenced.explanation": "Përgjithësisht s’do të shihni profile dhe lëndë nga ky shërbyes, veç në i kërkofshi shprehimisht apo zgjidhni të bëhet kjo, duke i ndjekur.", "about.domain_blocks.silenced.title": "E kufizuar", @@ -49,7 +49,7 @@ "account.mute": "Heshtoni @{name}", "account.mute_notifications": "Heshtoji njoftimet prej @{name}", "account.muted": "Heshtuar", - "account.open_original_page": "Open original page", + "account.open_original_page": "Hap faqen origjinale", "account.posts": "Mesazhe", "account.posts_with_replies": "Mesazhe dhe përgjigje", "account.report": "Raportojeni @{name}", @@ -292,7 +292,7 @@ "interaction_modal.description.reply": "Me një llogari në Mastodon, mund t’i përgjigjeni këtij postimi.", "interaction_modal.on_another_server": "Në një tjetër shërbyes", "interaction_modal.on_this_server": "Në këtë shërbyes", - "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.", + "interaction_modal.other_server_instructions": "Kopjojeni dhe ngjiteni këtë URL te fusha e kërkimeve të aplikacionit tuaj të parapëlqyer Mastodon, ose të ndërfaqes web të shërbyesit tuaj Mastodon.", "interaction_modal.preamble": "Ngaqë Mastodon-i është i decentralizuar, mund të përdorni llogarinë tuaj ekzistuese të sterhuar nga një tjetër shërbyes Mastodon, ose platformë e përputhshme, nëse s’keni një llogari në këtë shërbyes.", "interaction_modal.title.favourite": "Parapëlqejeni postimin e {name}", "interaction_modal.title.follow": "Ndiq {name}", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 77279ba01ab..d6d53d56c69 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -4,11 +4,11 @@ "about.disclaimer": "Mastodon เป็นซอฟต์แวร์เสรี โอเพนซอร์ส และเครื่องหมายการค้าของ Mastodon gGmbH", "about.domain_blocks.no_reason_available": "เหตุผลไม่พร้อมใช้งาน", "about.domain_blocks.preamble": "โดยทั่วไป Mastodon อนุญาตให้คุณดูเนื้อหาจากและโต้ตอบกับผู้ใช้จากเซิร์ฟเวอร์อื่นใดในจักรวาลสหพันธ์ นี่คือข้อยกเว้นที่ทำขึ้นในเซิร์ฟเวอร์นี้โดยเฉพาะ", - "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", + "about.domain_blocks.silenced.explanation": "โดยทั่วไปคุณจะไม่เห็นโปรไฟล์และเนื้อหาจากเซิร์ฟเวอร์นี้ เว้นแต่คุณจะค้นหาเซิร์ฟเวอร์หรือเลือกรับเซิร์ฟเวอร์โดยการติดตามอย่างชัดเจน", "about.domain_blocks.silenced.title": "จำกัดอยู่", "about.domain_blocks.suspended.explanation": "จะไม่ประมวลผล จัดเก็บ หรือแลกเปลี่ยนข้อมูลจากเซิร์ฟเวอร์นี้ ทำให้การโต้ตอบหรือการสื่อสารใด ๆ กับผู้ใช้จากเซิร์ฟเวอร์นี้เป็นไปไม่ได้", "about.domain_blocks.suspended.title": "ระงับอยู่", - "about.not_available": "This information has not been made available on this server.", + "about.not_available": "ไม่ได้ทำให้ข้อมูลนี้พร้อมใช้งานในเซิร์ฟเวอร์นี้", "about.powered_by": "สื่อสังคมแบบกระจายศูนย์ที่ขับเคลื่อนโดย {mastodon}", "about.rules": "กฎของเซิร์ฟเวอร์", "account.account_note_header": "หมายเหตุ", @@ -93,9 +93,9 @@ "bundle_modal_error.message": "มีบางอย่างผิดพลาดขณะโหลดส่วนประกอบนี้", "bundle_modal_error.retry": "ลองอีกครั้ง", "closed_registrations.other_server_instructions": "เนื่องจาก Mastodon เป็นแบบกระจายศูนย์ คุณสามารถสร้างบัญชีในเซิร์ฟเวอร์อื่นและยังคงโต้ตอบกับเซิร์ฟเวอร์นี้", - "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", + "closed_registrations_modal.description": "ไม่สามารถสร้างบัญชีใน {domain} ได้ในปัจจุบัน แต่โปรดจำไว้ว่าคุณไม่จำเป็นต้องมีบัญชีใน {domain} โดยเฉพาะเพื่อใช้ Mastodon", "closed_registrations_modal.find_another_server": "ค้นหาเซิร์ฟเวอร์อื่น", - "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", + "closed_registrations_modal.preamble": "Mastodon เป็นแบบกระจายศูนย์ ดังนั้นไม่ว่าคุณจะสร้างบัญชีของคุณที่ใด คุณจะสามารถติดตามและโต้ตอบกับใครก็ตามในเซิร์ฟเวอร์นี้ คุณยังสามารถโฮสต์บัญชีด้วยตนเองได้อีกด้วย!", "closed_registrations_modal.title": "การลงทะเบียนใน Mastodon", "column.about": "เกี่ยวกับ", "column.blocks": "ผู้ใช้ที่ปิดกั้นอยู่", @@ -127,7 +127,7 @@ "compose.language.search": "ค้นหาภาษา...", "compose_form.direct_message_warning_learn_more": "เรียนรู้เพิ่มเติม", "compose_form.encryption_warning": "โพสต์ใน Mastodon ไม่ได้เข้ารหัสแบบต้นทางถึงปลายทาง อย่าแบ่งปันข้อมูลที่ละเอียดอ่อนใด ๆ ผ่าน Mastodon", - "compose_form.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาได้โดยแฮชแท็ก", + "compose_form.hashtag_warning": "จะไม่แสดงรายการโพสต์นี้ภายใต้แฮชแท็กใด ๆ เนื่องจากโพสต์ไม่อยู่ในรายการ เฉพาะโพสต์สาธารณะเท่านั้นที่สามารถค้นหาได้โดยแฮชแท็ก", "compose_form.lock_disclaimer": "บัญชีของคุณไม่ได้ {locked} ใครก็ตามสามารถติดตามคุณเพื่อดูโพสต์สำหรับผู้ติดตามเท่านั้นของคุณ", "compose_form.lock_disclaimer.lock": "ล็อคอยู่", "compose_form.placeholder": "คุณกำลังคิดอะไรอยู่?", @@ -239,7 +239,7 @@ "explore.trending_links": "ข่าว", "explore.trending_statuses": "โพสต์", "explore.trending_tags": "แฮชแท็ก", - "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", + "filter_modal.added.context_mismatch_explanation": "หมวดหมู่ตัวกรองนี้ไม่ได้นำไปใช้กับบริบทที่คุณได้เข้าถึงโพสต์นี้ หากคุณต้องการกรองโพสต์ในบริบทนี้ด้วย คุณจะต้องแก้ไขตัวกรอง", "filter_modal.added.context_mismatch_title": "บริบทไม่ตรงกัน!", "filter_modal.added.expired_explanation": "หมวดหมู่ตัวกรองนี้หมดอายุแล้ว คุณจะต้องเปลี่ยนวันหมดอายุสำหรับหมวดหมู่เพื่อนำไปใช้", "filter_modal.added.expired_title": "ตัวกรองหมดอายุแล้ว!", @@ -496,7 +496,7 @@ "report.reasons.spam": "โพสต์เป็นสแปม", "report.reasons.spam_description": "ลิงก์ที่เป็นอันตราย, การมีส่วนร่วมปลอม หรือการตอบกลับซ้ำ ๆ", "report.reasons.violation": "โพสต์ละเมิดกฎของเซิร์ฟเวอร์", - "report.reasons.violation_description": "คุณทราบว่าโพสต์แหกกฎเฉพาะ", + "report.reasons.violation_description": "คุณตระหนักว่าโพสต์แหกกฎเฉพาะ", "report.rules.subtitle": "เลือกทั้งหมดที่นำไปใช้", "report.rules.title": "กำลังละเมิดกฎใด?", "report.statuses.subtitle": "เลือกทั้งหมดที่นำไปใช้", diff --git a/app/javascript/mastodon/locales/tr.json b/app/javascript/mastodon/locales/tr.json index 1ed5e587265..9dd5aef767b 100644 --- a/app/javascript/mastodon/locales/tr.json +++ b/app/javascript/mastodon/locales/tr.json @@ -2,7 +2,7 @@ "about.blocks": "Denetlenen sunucular", "about.contact": "İletişim:", "about.disclaimer": "Mastodon özgür, açık kaynak bir yazılımdır ve Mastodon gGmbH şirketinin ticari markasıdır.", - "about.domain_blocks.no_reason_available": "Grerekçe mevcut değil", + "about.domain_blocks.no_reason_available": "Gerekçe mevcut değil", "about.domain_blocks.preamble": "Mastodon, genel olarak fediverse'teki herhangi bir sunucudan içerik görüntülemenize ve kullanıcılarıyla etkileşim kurmanıza izin verir. Bunlar, bu sunucuda yapılmış olan istisnalardır.", "about.domain_blocks.silenced.explanation": "Açık bir şekilde aramadığınız veya takip ederek abone olmadığınız sürece, bu sunucudaki profilleri veya içerikleri genelde göremeyeceksiniz.", "about.domain_blocks.silenced.title": "Sınırlı", diff --git a/config/locales/activerecord.ru.yml b/config/locales/activerecord.ru.yml index fb8c6dde510..17b13fc7b44 100644 --- a/config/locales/activerecord.ru.yml +++ b/config/locales/activerecord.ru.yml @@ -29,6 +29,10 @@ ru: attributes: website: invalid: не является допустимым URL + import: + attributes: + data: + malformed: неверный формат status: attributes: reblog: diff --git a/config/locales/af.yml b/config/locales/af.yml index 72b1b3c0876..0903af744eb 100644 --- a/config/locales/af.yml +++ b/config/locales/af.yml @@ -27,6 +27,11 @@ af: back_to_limited: Beperk moderation: limited: Beperk + roles: + categories: + devops: DevOps + privileges: + view_devops: DevOps settings: about: title: Aangaande @@ -109,6 +114,13 @@ af: descriptions: account: Publieke plasings vanaf @%{acct} tag: 'Publieke plasings met die #%{hashtag} etiket' + sessions: + browsers: + blackberry: BlackBerry + uc_browser: UC Browser + platforms: + blackberry: BlackBerry + chrome_os: ChromeOS settings: edit_profile: Redigeer profiel preferences: Voorkeure diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 2e5c82a330b..278fc52e640 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -609,7 +609,6 @@ ar: manage_user_access: إدارة وصول المستخدم manage_users: إدارة المستخدمين view_dashboard: عرض لوحة التحكم - view_devops: DevOps view_devops_description: السماح للمستخدمين بالوصول إلى لوحة Sidekiq و pgHero title: الأدوار rules: @@ -1231,7 +1230,6 @@ ar: browser: المتصفح browsers: alipay: أليباي - blackberry: بلاك بيري chrome: كروم edge: مايكروسوفت إيدج electron: إلكترون @@ -1245,7 +1243,6 @@ ar: phantom_js: فانتوم جي آس qq: متصفح كيوكيو safari: سفاري - uc_browser: متصفح يوسي براوزر weibo: وايبو current_session: الجلسة الحالية description: "%{browser} على %{platform}" @@ -1254,8 +1251,6 @@ ar: platforms: adobe_air: أدوبي إيير android: أندرويد - blackberry: بلاك بيري - chrome_os: نظام كروم أواس firefox_os: نظام فايرفكس أواس ios: نظام آي أواس linux: لينكس diff --git a/config/locales/ast.yml b/config/locales/ast.yml index 18aa4894702..acbdeb65588 100644 --- a/config/locales/ast.yml +++ b/config/locales/ast.yml @@ -325,7 +325,6 @@ ast: browser: Restolador browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -336,7 +335,6 @@ ast: opera: Opera otter: Otter phantom_js: PhantomJS - uc_browser: UCBrowser weibo: Weibo current_session: Sesión actual description: "%{browser} en %{platform}" @@ -344,8 +342,6 @@ ast: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: GNU/Linux diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 104e256a0ea..c0287923fa7 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -602,7 +602,6 @@ bg: browser: Браузър browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Edge на Майкрософт electron: Electron @@ -616,7 +615,6 @@ bg: phantom_js: PhantomJS qq: Браузър QQ safari: Сафари - uc_browser: UCBrowser weibo: Weibo current_session: Текуща сесия description: "%{browser} на %{platform}" @@ -624,8 +622,6 @@ bg: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Оп. сист. Chrome firefox_os: Оп. сист. Firefox ios: iOS linux: Линукс diff --git a/config/locales/br.yml b/config/locales/br.yml index a6b971eb756..e7bc88eab14 100644 --- a/config/locales/br.yml +++ b/config/locales/br.yml @@ -249,7 +249,6 @@ br: browser: Merdeer browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -263,7 +262,6 @@ br: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo description: "%{browser} war %{platform}" platforms: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index b75af246329..1652ab8ee93 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -1097,7 +1097,7 @@ ca: public: Línies de temps públiques thread: Converses edit: - add_keyword: Afegeix paraula clau + add_keyword: Afegeix una paraula clau keywords: Paraules clau statuses: Publicacions individuals statuses_hint_html: Aquest filtre s'aplica a la selecció de publicacions individuals, independentment de si coincideixen amb les paraules clau següents. Revisa o elimina publicacions del filtre. @@ -1122,7 +1122,7 @@ ca: other: "%{count} publicacions individuals ocultades" title: Filtres new: - save: Desa el nou filtre + save: Desa el filtre nou title: Afegir un nou filtre statuses: back_to_filter: Tornar al filtre @@ -1387,7 +1387,7 @@ ca: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: Navegador UC weibo: Weibo current_session: Sessió actual description: "%{browser} de %{platform}" diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml index 93a92043ebd..483734feada 100644 --- a/config/locales/ckb.yml +++ b/config/locales/ckb.yml @@ -933,7 +933,6 @@ ckb: activity: دوایین چالاکی browser: وێبگەڕ browsers: - blackberry: بلاکبێری chrome: کرۆم edge: مایکرۆسۆفت ئیچ electron: ئەلکترۆن @@ -947,15 +946,12 @@ ckb: phantom_js: فانتۆم جەی ئێس qq: وێبگەڕی QQ safari: سافری - uc_browser: وێبگەڕی UC current_session: دانیشتنی ئێستا description: "%{browser} لەسەر %{platform}" explanation: ئەمانە وێبگەڕەکەن کە ئێستا چووەتە ژوورەوە بۆ ئەژمێری ماستۆدۆنی خۆت. ip: ئای‌پی platforms: android: ئەندرۆید - blackberry: بلاکبێری - chrome_os: سیستەمی کارگێڕی کرۆم firefox_os: سیستەمی کارگێڕی فایەرفۆکس linux: لینۆکس mac: ماک diff --git a/config/locales/co.yml b/config/locales/co.yml index 6e2066accad..c9d22cd1241 100644 --- a/config/locales/co.yml +++ b/config/locales/co.yml @@ -914,7 +914,6 @@ co: browser: Navigatore browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -928,7 +927,6 @@ co: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Sessione attuale description: "%{browser} nant’à %{platform}" @@ -937,8 +935,6 @@ co: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/cs.yml b/config/locales/cs.yml index b93ec307224..4a1674893bd 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -634,7 +634,7 @@ cs: other: "%{count} uživatelů" categories: administration: Administrace - devops: Devops + devops: DevOps invites: Pozvánky moderation: Moderování special: Speciální @@ -687,7 +687,7 @@ cs: view_audit_log_description: Umožňuje uživatelům vidět historii administrativních akcí na serveru view_dashboard: Zobrazit ovládací panel view_dashboard_description: Umožňuje uživatelům přístup k ovládacímu panelu a různým metrikám - view_devops: Devops + view_devops: DevOps view_devops_description: Umožňuje uživatelům přístup k ovládacím panelům Sidekiq a pgHero title: Role rules: @@ -1177,6 +1177,16 @@ cs: trending_now: Právě populární generic: all: Všechny + all_items_on_page_selected_html: + few: "%{count} položky na této stránce jsou vybrány." + many: "%{count} položek na této stránce je vybráno." + one: "%{count} položka na této stránce vybrána." + other: Všech %{count} položek na této stránce vybráno. + all_matching_items_selected_html: + few: "%{count} položky odpovídající vašemu hledání jsou vybrány." + many: "%{count} položek odpovídající vašemu hledání je vybráno." + one: "%{count} položka odpovídající vašemu hledání je vybrána." + other: Všech %{count} položek odpovídající vašemu hledání je vybráno. changes_saved_msg: Změny byly úspěšně uloženy! copy: Kopírovat delete: Smazat @@ -1429,7 +1439,7 @@ cs: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: Aktuální relace description: "%{browser} na systému %{platform}" @@ -1438,8 +1448,8 @@ cs: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS + blackberry: BlackBerry + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 88edb06d1b6..91ef6a1724a 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -773,7 +773,6 @@ cy: description: "%{browser} ar %{platform}" explanation: Dyma'r porwyr gwê sydd wedi mewngofnodi i'ch cyfrif Mastododon ar hyn o bryd. platforms: - chrome_os: OS Chrome firefox_os: OS Firefox mac: Mac other: platfform anhysbys diff --git a/config/locales/da.yml b/config/locales/da.yml index b09bb77f7e9..f9fd0038796 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -608,7 +608,6 @@ da: other: "%{count} brugere" categories: administration: Håndtering - devops: Devops invites: Invitationer moderation: Moderering special: Speciel @@ -659,7 +658,6 @@ da: view_audit_log_description: Tillader brugere at se en historik over administrative handlinger på serveren view_dashboard: Vis Dashboard view_dashboard_description: Tillader brugere at tilgå Dashboard'et og forskellige målinger - view_devops: Devops view_devops_description: Tillader brugere at tilgå Sidekiq- og pgHero-dashboards title: Roller rules: @@ -1373,7 +1371,6 @@ da: browser: Browser browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1384,6 @@ da: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCbrowser weibo: Weibo current_session: Aktuelle session description: "%{browser} på %{platform}" @@ -1396,8 +1392,6 @@ da: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/de.yml b/config/locales/de.yml index d6f8ba94ef7..7bc73dcb4d2 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -580,7 +580,7 @@ de: create_and_resolve: Mit Kommentar lösen create_and_unresolve: Mit Kommentar wieder öffnen delete: Löschen - placeholder: Bitte beschreiben, welche Maßnahmen ergriffen wurden oder andere damit verbundene Aktualisierungen … + placeholder: Bitte beschreibe, welche Maßnahmen ergriffen wurden oder andere damit verbundene Aktualisierungen … title: Notizen notes_description_html: Zeige und hinterlasse Notizen an andere Moderator_innen und dein zukünftiges Ich quick_actions_description_html: 'Führe eine schnelle Aktion aus oder scrolle nach unten, um gemeldete Inhalte zu sehen:' @@ -676,17 +676,17 @@ de: rules_hint: Es gibt einen eigenen Bereich für Regeln, die deine Benutzer*innen einhalten müssen. title: Über appearance: - preamble: Passen Sie Mastodons Weboberfläche an. - title: Darstellung + preamble: Passe die Weboberfläche von Mastodon an. + title: Erscheinungsbild branding: - preamble: Das Branding Ihres Servers unterscheidet ihn von anderen Servern im Netzwerk. Diese Informationen können in einer Vielzahl von Umgebungen angezeigt werden, z. B. in der Weboberfläche von Mastodon, in nativen Anwendungen, in Linkvorschauen auf anderen Websites und in Messaging-Apps und so weiter. Aus diesem Grund ist es am besten, diese Informationen klar, kurz und prägnant zu halten. + preamble: Das Branding deines Servers unterscheidet ihn von anderen Servern im Netzwerk. Diese Informationen können in einer Vielzahl von Umgebungen angezeigt werden, z. B. in der Weboberfläche von Mastodon, in nativen Anwendungen, in Linkvorschauen auf anderen Websites und in Messaging-Apps und so weiter. Aus diesem Grund ist es am besten, diese Informationen klar, kurz und prägnant zu halten. title: Branding content_retention: preamble: Steuern Sie, wie nutzergenerierte Inhalte in Mastodon gespeichert werden. title: Aufbewahrung von Inhalten discovery: follow_recommendations: Folgeempfehlungen - preamble: Das Auffinden interessanter Inhalte ist wichtig, um neue Nutzer einzubinden, die Mastodon noch nicht kennen. Bestimmen Sie, wie verschiedene Suchfunktionen auf Ihrem Server funktionieren. + preamble: Das Auffinden interessanter Inhalte ist wichtig, um neue Nutzer einzubinden, die Mastodon noch nicht kennen. Bestimme, wie verschiedene Suchfunktionen auf deinem Server funktionieren. profile_directory: Profilverzeichnis public_timelines: Öffentliche Timelines title: Entdecken @@ -796,7 +796,7 @@ de: not_discoverable: Der Autor hat sich nicht dafür entschieden, entdeckt zu werden shared_by: one: Einmal geteilt oder favorisiert - other: "%{friendly_count} mal geteilt oder favorisiert" + other: "%{friendly_count}-mal geteilt oder favorisiert" title: Angesagte Beiträge tags: current_score: Aktuelle Punktzahl %{score} @@ -889,7 +889,7 @@ de: remove: Alle Aliase aufheben appearance: advanced_web_interface: Fortgeschrittene Benutzeroberfläche - advanced_web_interface_hint: Wenn du mehr aus deiner Bildschirmbreite herausholen möchtest, kannst du mit der fortgeschrittenen Benutzeroberfläche weitere Spalten hinzufügen und dadurch mehr Informationen auf einmal sehen, z. B. deine Startseite, die Mitteilungen, die vereinigte Timeline sowie beliebig viele deiner Listen und Hashtags. + advanced_web_interface_hint: Wenn du mehr aus deiner Bildschirmbreite herausholen möchtest, kannst du mit der fortgeschrittenen Benutzeroberfläche weitere Spalten hinzufügen und dadurch mehr Informationen auf einmal sehen, z. B. deine Startseite, die Mitteilungen, die föderierte Timeline sowie beliebig viele deiner Listen und Hashtags. animations_and_accessibility: Animationen und Barrierefreiheit confirmation_dialogs: Bestätigungsfenster discovery: Entdecken @@ -1373,7 +1373,7 @@ de: browser: Browser browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1387,7 @@ de: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: Aktuelle Sitzung description: "%{browser} auf %{platform}" @@ -1396,7 +1396,7 @@ de: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry + blackberry: BlackBerry chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS @@ -1414,7 +1414,7 @@ de: account: Konto account_settings: Kontoeinstellungen aliases: Kontoaliase - appearance: Aussehen + appearance: Erscheinungsbild authorized_apps: Autorisierte Anwendungen back: Zurück zu Mastodon delete: Konto löschen @@ -1472,7 +1472,7 @@ de: show_more: Mehr anzeigen show_newer: Neuere anzeigen show_older: Ältere anzeigen - show_thread: Unterhaltung anzeigen + show_thread: Thread anzeigen sign_in_to_participate: Melde dich an, um an der Konversation teilzuhaben title: '%{name}: "%{quote}"' visibilities: diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml index 38d7a0c5282..e465007967f 100644 --- a/config/locales/devise.th.yml +++ b/config/locales/devise.th.yml @@ -91,7 +91,7 @@ th: signed_up: ยินดีต้อนรับ! คุณได้ลงทะเบียนสำเร็จ signed_up_but_inactive: คุณได้ลงทะเบียนสำเร็จ อย่างไรก็ตามเราไม่สามารถลงชื่อคุณเข้าได้เนื่องจากยังไม่ได้เปิดใช้งานบัญชีของคุณ signed_up_but_locked: คุณได้ลงทะเบียนสำเร็จ อย่างไรก็ตามเราไม่สามารถลงชื่อคุณเข้าได้เนื่องจากมีการล็อคบัญชีของคุณอยู่ - signed_up_but_pending: ส่งข้อความพร้อมลิงก์ยืนยันไปยังที่อยู่อีเมลของคุณแล้ว หลังจากคุณคลิกลิงก์ เราจะตรวจทานใบสมัครของคุณ คุณจะได้รับการแจ้งเตือนหากใบสมัครได้รับการอนุมัติ + signed_up_but_pending: ส่งข้อความพร้อมลิงก์ยืนยันไปยังที่อยู่อีเมลของคุณแล้ว หลังจากคุณคลิกลิงก์ เราจะตรวจทานใบสมัครของคุณ คุณจะได้รับการแจ้งเตือนหากมีการอนุมัติใบสมัคร signed_up_but_unconfirmed: ส่งข้อความพร้อมลิงก์ยืนยันไปยังที่อยู่อีเมลของคุณแล้ว โปรดไปตามลิงก์เพื่อเปิดใช้งานบัญชีของคุณ โปรดตรวจสอบโฟลเดอร์สแปมของคุณหากคุณไม่ได้รับอีเมลนี้ update_needs_confirmation: คุณได้อัปเดตบัญชีของคุณสำเร็จ แต่เราจำเป็นต้องยืนยันที่อยู่อีเมลใหม่ของคุณ โปรดตรวจสอบอีเมลของคุณแล้วไปตามลิงก์ยืนยันเพื่อยืนยันที่อยู่อีเมลใหม่ของคุณ โปรดตรวจสอบโฟลเดอร์สแปมของคุณหากคุณไม่ได้รับอีเมลนี้ updated: อัปเดตบัญชีของคุณสำเร็จ diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml index 954ef2a6ee8..203388823da 100644 --- a/config/locales/doorkeeper.ca.yml +++ b/config/locales/doorkeeper.ca.yml @@ -172,9 +172,9 @@ ca: write: modificar totes les dades del teu compte write:accounts: modifica el teu perfil write:blocks: bloqueja comptes i dominis - write:bookmarks: publicacions a marcadors + write:bookmarks: marcar publicacions write:conversations: silencia i esborra converses - write:favourites: afavorir publicacions + write:favourites: marcar publicacions write:filters: crear filtres write:follows: seguir usuaris write:lists: crear llistes diff --git a/config/locales/doorkeeper.eo.yml b/config/locales/doorkeeper.eo.yml index 419b58b94f5..e239da785c2 100644 --- a/config/locales/doorkeeper.eo.yml +++ b/config/locales/doorkeeper.eo.yml @@ -60,6 +60,7 @@ eo: error: title: Eraro okazis new: + review_permissions: Revizu permesojn title: Rajtigo bezonata show: title: Kopiu ĉi tiun rajtigan kodon kaj gluu ĝin al la aplikaĵo. @@ -69,6 +70,8 @@ eo: confirmations: revoke: Ĉu vi certas? index: + never_used: Neniam uzata + scopes: Permesoj superapp: Interna title: Viaj rajtigitaj aplikaĵoj errors: @@ -111,10 +114,13 @@ eo: all: Ĉio blocks: Blokita bookmarks: Legosignoj + conversations: Konversacioj favourites: Preferaĵoj filters: Filtriloj + follows: Sekvas lists: Listoj mutes: Silentigitaj + notifications: Sciigoj reports: Raportoj search: Serĉi statuses: Afiŝoj diff --git a/config/locales/el.yml b/config/locales/el.yml index 499347866b4..20d74a6a4d9 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -438,6 +438,8 @@ el: devops: Devops invites: Προσκλήσεις delete: Διαγραφή + privileges: + view_devops: DevOps rules: add_new: Προσθήκη κανόνα delete: Διαγραφή @@ -936,11 +938,15 @@ el: activity: Τελευταία δραστηριότητα browser: Φυλλομετρητής (Browser) browsers: + blackberry: BlackBerry generic: Άγνωστος φυλλομετρητής + uc_browser: UC Browser current_session: Τρέχουσα σύνδεση description: "%{browser} σε %{platform}" explanation: Αυτοί είναι οι φυλλομετρητές (browsers) που είναι συνδεδεμένοι στον λογαριασμό σου στο Mastodon αυτή τη στιγμή. platforms: + blackberry: BlackBerry + chrome_os: ChromeOS mac: Mac other: άγνωστη πλατφόρμα revoke: Ανακάλεσε diff --git a/config/locales/eo.yml b/config/locales/eo.yml index de18f97b2e0..5c890ffda26 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -317,6 +317,7 @@ eo: other: "%{count} pritraktotaj kradvortoj" resolved_reports: raportoj solvitaj software: Programo + sources: Fontoj de konto-kreado space: Memorspaca uzado title: Kontrolpanelo top_languages: Plej aktivaj lingvoj @@ -526,7 +527,6 @@ eo: other: "%{count} uzantoj" categories: administration: Administrado - devops: Programado kaj Operaciado invites: Invitoj moderation: Kontrolado special: Specialaj @@ -552,7 +552,6 @@ eo: manage_invites: Administri Invitojn manage_roles: Administri Rolojn manage_rules: Administri Regulojn - view_devops: Programado kaj Operaciado title: Roloj rules: add_new: Aldoni regulon @@ -689,7 +688,7 @@ eo: confirmation_dialogs: Konfirmaj fenestroj discovery: Eltrovo localization: - body: Mastodon estas tradukita per volontuloj. + body: Mastodon estas tradukita de volontuloj. guide_link: https://crowdin.com/project/mastodon guide_link_text: Ĉiu povas kontribui. sensitive_content: Tikla enhavo @@ -714,7 +713,7 @@ eo: delete_account_html: Se vi deziras forigi vian konton, vi povas fari tion ĉi tie. Vi bezonos konfirmi vian peton. description: prefix_invited_by_user: "@%{name} invitigi vin aligiĝi ĉi tiu servilo de Mastodon!" - prefix_sign_up: Registriĝi ĉe Mastodon hodiaŭ! + prefix_sign_up: Registriĝu ĉe Mastodon hodiaŭ! suffix: Kun konto, vi povos sekvi aliajn homojn, skribi afiŝojn kaj interŝanĝi mesaĝojn kun la uzantoj de iu ajn Mastodon'a servilo kaj multe pli! didnt_get_confirmation: Ĉu vi ne ricevis la instrukciojn por konfirmi? dont_have_your_security_key: Ne havas vi vian sekurecan ŝlosilon? @@ -722,7 +721,7 @@ eo: invalid_reset_password_token: Ĵetono por restarigi pasvorton nevalida aŭ eksvalida. Bonvolu peti novan. link_to_webauth: Uzi vian sekurecan ŝlosilon log_in_with: Ensaluti per - login: Saluti + login: Ensaluti logout: Adiaŭi migrate_account: Movi al alia konto migrate_account_html: Se vi deziras alidirekti ĉi tiun konton al alia, vi povas agordi ĝin ĉi tie. @@ -730,7 +729,7 @@ eo: providers: cas: CAS saml: SAML - register: Registriĝi + register: Krei konton registration_closed: "%{instance} ne estas akcepti nova uzantojn" resend_confirmation: Resendi la instrukciojn por konfirmi reset_password: Restarigi pasvorton @@ -957,6 +956,9 @@ eo: navigation: toggle_menu: Baskuli menuon notification_mailer: + admin: + sign_up: + subject: "%{name} registriĝis" favourite: body: "%{name} stelumis vian mesaĝon:" subject: "%{name} stelumis vian mesaĝon" @@ -1075,7 +1077,7 @@ eo: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: Nuna seanco description: "%{browser} en %{platform}" @@ -1155,7 +1157,7 @@ eo: show_newer: Montri pli novajn show_older: Montri pli malnovajn show_thread: Montri la mesaĝaron - sign_in_to_participate: Ensaluti por partopreni en la konversacio + sign_in_to_participate: Ensalutu por partopreni la konversacion title: "%{name}: “%{quote}”" visibilities: direct: Rekta diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index c3ddd744399..e0def87cad0 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -1397,7 +1397,7 @@ es-AR: adobe_air: Adobe Air android: Android blackberry: BlackBerry - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: GNU/Linux diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index c864536ce6d..ab0d9be1def 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -608,7 +608,6 @@ es-MX: other: "%{count} usuarios" categories: administration: Administración - devops: DevOps invites: Invitaciones moderation: Moderación special: Especial @@ -659,7 +658,6 @@ es-MX: view_audit_log_description: Permite a los usuarios ver un historial de acciones administrativas en el servidor view_dashboard: Ver Panel de Control view_dashboard_description: Permite a los usuarios acceder al panel de control y varias métricas - view_devops: DevOps view_devops_description: Permite a los usuarios acceder a los paneles de control Sidekiq y pgHero title: Roles rules: @@ -1373,7 +1371,6 @@ es-MX: browser: Navegador browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1384,6 @@ es-MX: phantom_js: PhantomJS qq: Navegador QQ safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Sesión actual description: "%{browser} en %{platform}" @@ -1396,8 +1392,6 @@ es-MX: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: GNU Linux diff --git a/config/locales/es.yml b/config/locales/es.yml index 6bd34034b90..94478df9b8a 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -608,7 +608,6 @@ es: other: "%{count} usuarios" categories: administration: Administración - devops: DevOps invites: Invitaciones moderation: Moderación special: Especial @@ -659,7 +658,6 @@ es: view_audit_log_description: Permite a los usuarios ver un historial de acciones administrativas en el servidor view_dashboard: Ver Panel de Control view_dashboard_description: Permite a los usuarios acceder al panel de control y varias métricas - view_devops: DevOps view_devops_description: Permite a los usuarios acceder a los paneles de control Sidekiq y pgHero title: Roles rules: @@ -1373,7 +1371,6 @@ es: browser: Navegador browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1384,6 @@ es: phantom_js: PhantomJS qq: Navegador QQ safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Sesión actual description: "%{browser} en %{platform}" @@ -1396,8 +1392,6 @@ es: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: GNU Linux diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 4a8d9bd5073..11dcec2bc93 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -608,7 +608,7 @@ eu: other: "%{count} erabiltzaile" categories: administration: Administrazioa - devops: Devops + devops: DevOps invites: Gonbidapenak moderation: Moderazioa special: Berezia @@ -659,7 +659,7 @@ eu: view_audit_log_description: Baimendu erabiltzaileek zerbitzariko administrazio-ekintzen historia ikustea view_dashboard: Ikusi aginte-panela view_dashboard_description: Baimendu erabiltzaileek aginte-panela eta hainbat estatistika ikustea - view_devops: Devops + view_devops: DevOps view_devops_description: Baimendu erabiltzaileek Sidekiq eta pgHero aginte-paneletara sarbidea izatea title: Rolak rules: @@ -1373,7 +1373,7 @@ eu: browser: Nabigatzailea browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1387,7 @@ eu: phantom_js: PhantomJS qq: QQ nabigatzailea safari: Safari - uc_browser: UCBrowser + uc_browser: UC nabigatzailea weibo: Weibo current_session: Uneko saioa description: "%{browser} - %{platform}" @@ -1396,7 +1396,7 @@ eu: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry + blackberry: BlackBerry chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 6c3690aee98..9601162dead 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -544,7 +544,6 @@ fa: add_new: افزودن نقش categories: administration: مدیریت - devops: دواپس invites: دعوت‌ها moderation: نظارت special: ویژه @@ -1104,7 +1103,6 @@ fa: browser: مرورگر browsers: alipay: علی‌پی - blackberry: بلک‌بری chrome: کروم edge: مایکروسافت اج electron: الکترون @@ -1118,7 +1116,6 @@ fa: phantom_js: فنتوم‌جی‌اس qq: مرورگر کیوکیو safari: سافاری - uc_browser: مرورگر یوسی weibo: وبیو current_session: نشست فعلی description: "%{browser} روی %{platform}" @@ -1127,8 +1124,6 @@ fa: platforms: adobe_air: ایر ادوبی android: اندروید - blackberry: بلک‌بری - chrome_os: سیستم‌عامل کروم firefox_os: سیستم‌عامل فایرفاکس ios: آی‌اواس linux: لینوکس diff --git a/config/locales/fi.yml b/config/locales/fi.yml index dc8703af6c6..3a72387e2e7 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -608,7 +608,7 @@ fi: other: "%{count} käyttäjää" categories: administration: Ylläpito - devops: Operaattorit + devops: DevOps invites: Kutsut moderation: Moderointi special: Erikois @@ -659,7 +659,7 @@ fi: view_audit_log_description: Sallii käyttäjien nähdä palvelimen hallinnollisten toimien historian view_dashboard: Näytä koontinäyttö view_dashboard_description: Sallii käyttäjien käyttää kojelautaa ja erilaisia mittareita - view_devops: Operaattorit + view_devops: DevOps view_devops_description: Sallii käyttäjille oikeuden käyttää Sidekiq ja pgHero dashboardeja title: Roolit rules: @@ -1065,7 +1065,7 @@ fi: content: Valitettavasti jokin meni pieleen meidän päässämme. title: Sivu ei ole oikein '503': Sivua ei voitu näyttää palvelimen väliaikaisen vian vuoksi. - noscript_html: Mastodon-selainsovelluksen käyttöön vaaditaan JavaScript. Voit vaihtoehtoisesti kokeilla jotakin omalle käyttöjärjestelmällesi tehtyä Mastodonsovellusta. + noscript_html: Käyttääksesi Mastodon-verkkopalvelua, ota JavaScript käyttöön. Vaihtoehtoisesti voit kokeilla myös jotakin juuri käyttämällesi alustalle kehitettyä Mastodon-sovellusta. existing_username_validator: not_found: paikallista käyttäjää ei löydy kyseisellä käyttäjänimellä not_found_multiple: "%{usernames} ei löytynyt" @@ -1373,7 +1373,7 @@ fi: browser: Selain browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,22 +1387,22 @@ fi: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: Nykyinen istunto - description: "%{browser}, %{platform}" + description: "%{browser} alustalla %{platform}" explanation: Nämä verkkoselaimet ovat tällä hetkellä kirjautuneet Mastodon-tilillesi. ip: IP-osoite platforms: - adobe_air: Adobe Air + adobe_air: Adobe AIR android: Android - blackberry: Blackberry - chrome_os: Chrome OS + blackberry: BlackBerry + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux mac: macOS - other: tuntematon järjestelmä + other: tuntematon alusta windows: Windows windows_mobile: Windows Mobile windows_phone: Windows Phone diff --git a/config/locales/fr.yml b/config/locales/fr.yml index a177d6fa5c5..191e14deb1e 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -608,7 +608,7 @@ fr: other: "%{count} utilisateur·rice·s" categories: administration: Administration - devops: Devops + devops: DevOps invites: Invitations moderation: Modération special: Spécial @@ -659,7 +659,7 @@ fr: view_audit_log_description: Permet aux utilisateur⋅rice⋅s de voir l'historique des opérations d'administration sur le serveur view_dashboard: Voir le tableau de bord view_dashboard_description: Permet aux utilisateur⋅rice⋅s d'accéder au tableau de bord et à diverses statistiques - view_devops: Devops + view_devops: DevOps view_devops_description: Permet aux utilisateur⋅rice⋅s d'accéder aux tableaux de bord Sidekiq et pgHero title: Rôles rules: @@ -1397,7 +1397,7 @@ fr: adobe_air: Adobe Air android: Android blackberry: BlackBerry - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/ga.yml b/config/locales/ga.yml index 33408ddb7f1..9df952ef1ee 100644 --- a/config/locales/ga.yml +++ b/config/locales/ga.yml @@ -1,7 +1,10 @@ --- ga: about: + about_mastodon_html: 'Líonra sóisialta a sheasfaidh an aimsir: Gan fógraíocht, gan faire chorparáideach, le leagan amach eiticiúil agus dílárú. Bíodh do chuid sonraí agatsa féin le Mastodon!' + contact_missing: Gan socrú contact_unavailable: N/B + hosted_on: Mastodon arna óstáil ar %{domain} title: Maidir le accounts: follow: Lean @@ -17,7 +20,7 @@ ga: admin: account_actions: action: Déan gníomh - title: Déan modhnóireacht ar %{acct} + title: Dean gníomh modhnóireachta ar %{acct} account_moderation_notes: create: Fág nóta accounts: @@ -30,12 +33,12 @@ ga: label: Athraigh ríomhphost new_email: Ríomhphost nua submit: Athraigh ríomhphost - title: Athraigh ríomhphost %{username} + title: Athraigh ríomhphost do %{username} change_role: - changed_msg: D'athraigh ró go rathúil! + changed_msg: Athraíodh ról go rathúil! label: Athraigh ról - no_role: Níl aon ról ann - title: Athraigh ról %{username} + no_role: Gan ról + title: Athraigh ról do %{username} confirm: Deimhnigh confirmed: Deimhnithe confirming: Ag deimhniú @@ -62,31 +65,48 @@ ga: local: Áitiúil remote: Cian promote: Ardaigh + protocol: Prótacal public: Poiblí + redownload: Athnuaigh próifíl reject: Diúltaigh + remove_avatar: Bain abhatár + remove_header: Bain ceanntásc + resend_confirmation: + success: Seoladh go rathúil ríomhphost deimhnithe! + reset: Athshocraigh + reset_password: Athshocraigh pasfhocal + resubscribe: Athchláraigh role: Ról search: Cuardaigh statuses: Postálacha + subscribe: Cláraigh title: Cuntais web: Gréasán action_logs: action_types: - assigned_to_self_report: Sann tuairisc - create_account_warning: Cruthaigh rabhadh + assigned_to_self_report: Sann Tuairisc + create_account_warning: Cruthaigh Rabhadh destroy_announcement: Scrios Fógra destroy_ip_block: Scrios riail IP - destroy_status: Scrios postáil + destroy_status: Scrios Postáil + remove_avatar_user: Bain Abhatár reopen_report: Athoscail tuairisc + reset_password_user: Athshocraigh Pasfhocal resolve_report: Réitigh tuairisc - unassigned_report: Cealaigh tuairisc a shann + unassigned_report: Díshann Tuairisc + update_announcement: Nuashonraigh Fógra + update_status: Nuashonraigh Postáil + update_user_role: Nuashonraigh Ról actions: - create_account_warning_html: Sheol %{name} rabhadh do %{target} + create_account_warning_html: Sheol %{name} rabhadh chuig %{target} deleted_account: cuntas scriosta announcements: live: Beo publish: Foilsigh custom_emojis: + created_msg: Cruthaíodh emoji go rathúil! delete: Scrios + destroyed_msg: Scriosadh emoji go rathúil! disable: Díchumasaigh disabled: Díchumasaithe emoji: Emoji @@ -98,6 +118,7 @@ ga: title: Deais website: Suíomh Gréasáin domain_blocks: + domain: Fearann new: severity: silence: Ciúnaigh @@ -115,6 +136,8 @@ ga: unavailable: Níl ar fáil moderation: all: Uile + purge: Glan + title: Cónascadh invites: filter: all: Uile @@ -134,10 +157,11 @@ ga: disabled: Díchumasaithe enable: Cumasaigh enabled: Ar chumas + save_and_enable: Sábháil agus cumasaigh status: Stádas reports: category: Catagóir - delete_and_resolve: Scrios postála + delete_and_resolve: Scrios postálacha no_one_assigned: Duine ar bith notes: delete: Scrios @@ -147,7 +171,7 @@ ga: roles: delete: Scrios privileges: - delete_user_data: Scrios sonraí úsáideora + delete_user_data: Scrios Sonraí Úsáideora rules: delete: Scrios site_uploads: @@ -156,17 +180,25 @@ ga: account: Údar deleted: Scriosta language: Teanga + media: + title: Meáin + metadata: Meiteashonraí open: Oscail postáil original_status: Bunphostáil + reblogs: Athbhlaganna + status_changed: Athraíodh postáil + trending: Ag treochtáil with_media: Le meáin strikes: actions: - delete_statuses: Scrios %{name} postála %{target} + delete_statuses: Scrios %{name} postálacha de chuid %{target} tags: review: Stádas athbhreithnithe trends: allow: Ceadaigh disallow: Dícheadaigh + preview_card_providers: + title: Foilsitheoirí statuses: allow: Ceadaigh postáil allow_account: Ceadaigh údar @@ -177,17 +209,17 @@ ga: admin_mailer: new_appeal: actions: - delete_statuses: chun postála acu a scrios + delete_statuses: a gcuid postálacha a scrios none: rabhadh auth: delete_account: Scrios cuntas - too_fast: Chuireadh foirm róthapa, bain triail arís. + too_fast: Cuireadh an fhoirm isteach róthapa, triail arís. deletes: proceed: Scrios cuntas disputes: strikes: appeal_submitted_at: Achomharc curtha isteach - appealed_msg: Bhí d'achomharc curtha isteach. Má ceadaítear é, cuirfidh ar an eolas tú. + appealed_msg: Cuireadh isteach d'achomharc. Má ceadófar é, cuirfear ar an eolas tú. appeals: submit: Cuir achomharc isteach title_actions: @@ -219,7 +251,7 @@ ga: statuses: content_warning: 'Rabhadh ábhair: %{warning}' show_more: Taispeáin níos mó - show_newer: Taispeáin níos déanaí + show_newer: Taispeáin níos nuaí show_thread: Taispeáin snáithe user_mailer: warning: diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 99f432ea422..24dc6e7ca38 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -634,7 +634,6 @@ gd: two: "%{count} chleachdaiche" categories: administration: Rianachd - devops: DevOps invites: Cuiridhean moderation: Maorsainneachd special: Sònraichte @@ -687,7 +686,6 @@ gd: view_audit_log_description: Leigidh seo le cleachdaichean coimhead air eachdraidh gnìomhan na rianachd air an fhrithealaiche view_dashboard: Coimhead air an deas-bhòrd view_dashboard_description: Leigidh seo le cleachdaichean an deas-bhòrd agus meatrachdan inntrigeadh - view_devops: DevOps view_devops_description: Leigidh seo le cleachdaichean na deas-bhùird aig Sidekiq is pgHero inntrigeadh title: Dreuchdan rules: @@ -1425,7 +1423,6 @@ gd: browser: Brabhsair browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1439,7 +1436,6 @@ gd: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: An seisean làithreach description: "%{browser} air %{platform}" @@ -1448,8 +1444,6 @@ gd: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/gl.yml b/config/locales/gl.yml index afdd5139463..cb15fc51370 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -11,7 +11,7 @@ gl: followers: one: Seguidora other: Seguidoras - following: Seguindo + following: A Seguir instance_actor_flash: Esta conta é un actor virtual utilizado para representar ó servidor mesmo e non a unha usuaria individual. Utilízase por motivos de federación e non debería estar suspendida. last_active: última actividade link_verified_on: A propiedade desta ligazón foi verificada en %{date} @@ -71,7 +71,7 @@ gl: enabled: Activado enabled_msg: Desbloqueada a conta de %{username} followers: Seguidoras - follows: Seguindo + follows: Segue header: Cabeceira inbox_url: URL da caixa de entrada invite_request_text: Razóns para unirte @@ -608,7 +608,6 @@ gl: other: "%{count} usuarias" categories: administration: Administración - devops: DevOps invites: Convites moderation: Moderación special: Especial @@ -659,7 +658,6 @@ gl: view_audit_log_description: Permite ver o historial de accións administrativas no servidor view_dashboard: Ver Taboleiro view_dashboard_description: Permite acceder ao taboleiro e varias métricas do servidor - view_devops: Devops view_devops_description: Permite acceder aos taboleiros Sidekiq e phHero title: Roles rules: @@ -1077,12 +1075,12 @@ gl: in_progress: Xerando o seu ficheiro... request: Solicite o ficheiro size: Tamaño - blocks: Bloqueos + blocks: Bloqueadas bookmarks: Marcadores csv: CSV domain_blocks: Bloqueos de dominio lists: Listaxes - mutes: Silenciados + mutes: Silenciadas storage: Almacenamento de multimedia featured_tags: add_new: Engadir novo @@ -1342,7 +1340,7 @@ gl: dormant: En repouso follow_selected_followers: Seguir seguidoras seleccionadas followers: Seguidoras - following: Seguindo + following: A Seguir invited: Convidado last_active: Último activo most_recent: Máis recente @@ -1373,7 +1371,6 @@ gl: browser: Navegador browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1384,6 @@ gl: phantom_js: PhantomJS qq: Navegador QQ safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Sesión actual description: "%{browser} en %{platform}" @@ -1396,8 +1392,6 @@ gl: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/he.yml b/config/locales/he.yml index 28cf52e1cd4..bc51c21ac99 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -634,7 +634,7 @@ he: two: "%{count} שני משתמשים" categories: administration: ניהול מערכת - devops: פיתוח + devops: DevOps invites: הזמנות moderation: פיקוח special: מיוחדים @@ -687,7 +687,7 @@ he: view_audit_log_description: מאפשר למשתשמשים לצפות בהיסטוריה של פעולות מנהלתיות על השרת view_dashboard: הצג לוח מחוונים view_dashboard_description: אפשר למשתמשים לגשת ללוח המחוונים - view_devops: פיתוח + view_devops: DevOps view_devops_description: מאפשר למשתמשים לגשת ללוחות המחוונים של Sidekiq ושל pgHero title: תפקידים rules: @@ -1424,7 +1424,7 @@ he: phantom_js: PhantomJS qq: דפדפן QQ safari: ספארי - uc_browser: UCBrowser + uc_browser: דפדפן UC weibo: Weibo current_session: חיבור נוכחי description: "%{browser} על %{platform}" @@ -1434,7 +1434,7 @@ he: adobe_air: אדובה אייר android: אנדרואיד blackberry: בלקברי - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: לינוקס diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 078668eba36..529d4dadf7b 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -608,7 +608,6 @@ hu: other: "%{count} felhasználó" categories: administration: Adminisztráció - devops: Devops invites: Meghívások moderation: Moderáció special: Speciális @@ -659,7 +658,6 @@ hu: view_audit_log_description: Lehetővé teszi, hogy a felhasználó megtekintse a kiszolgáló adminisztratív eseményeinek történetét view_dashboard: Irányítópult megtekintése view_dashboard_description: Lehetővé teszi, hogy a felhasználó elérje az irányítópultot és vele számos metrikát - view_devops: Devops view_devops_description: Lehetővé teszi, hogy a felhasználó elérje a Sidekiq és pgHero irányítópultjait title: Szerepek rules: @@ -1373,7 +1371,6 @@ hu: browser: Böngésző browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1384,6 @@ hu: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Jelenlegi munkamenet description: "%{browser} az alábbi platformon: %{platform}" @@ -1396,8 +1392,6 @@ hu: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/hy.yml b/config/locales/hy.yml index 5094ca898a1..e854fb44a00 100644 --- a/config/locales/hy.yml +++ b/config/locales/hy.yml @@ -716,7 +716,6 @@ hy: browser: Դիտարկիչ browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -730,7 +729,6 @@ hy: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Ընթացիկ սեսսիա description: "%{browser}, %{platform}" @@ -738,8 +736,6 @@ hy: platforms: adobe_air: Adobe Air android: Անդրոիդ - blackberry: Blackberry - chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: Լինուքս diff --git a/config/locales/id.yml b/config/locales/id.yml index b42ded815e9..95660e16dc5 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -595,7 +595,6 @@ id: other: "%{count} pengguna" categories: administration: Administrasi - devops: DevOps invites: Undangan moderation: Moderasi special: Khusus @@ -645,7 +644,6 @@ id: view_audit_log_description: Memungkinkan pengguna untuk melihat riwayat tindakan administratif di server view_dashboard: Lihat Dasbor view_dashboard_description: Memungkinkan pengguna untuk mengakses dasbor dan berbagai metrik - view_devops: DevOps view_devops_description: Memungkinkan pengguna untuk mengakses dasbor Sidekiq dan pgHero title: Peran rules: @@ -1347,7 +1345,6 @@ id: browser: Peramban browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1361,7 +1358,6 @@ id: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Sesi sekarang description: "%{browser} di %{platform}" @@ -1370,8 +1366,6 @@ id: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/io.yml b/config/locales/io.yml index 5a513f4f70f..f8d233475da 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -605,7 +605,6 @@ io: other: "%{count} uzanti" categories: administration: Administro - devops: Developeri invites: Inviti moderation: Jero special: Specala @@ -656,7 +655,6 @@ io: view_audit_log_description: Permisez uzanti vidar historio di administrala agi en la servilo view_dashboard: Videz chefpanelo view_dashboard_description: Permisez uzanti uzar chefpanelo e diversa opcioni - view_devops: Developeri view_devops_description: Permisez uzanti uzar chefpaneli Sidekiq e pgHero title: Roli rules: @@ -1355,7 +1353,6 @@ io: browser: Vidilo browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1369,7 +1366,6 @@ io: phantom_js: PhantomJS qq: Vidilo QQ safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Nuna sesiono description: "%{browser} che %{platform}" @@ -1378,8 +1374,6 @@ io: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/is.yml b/config/locales/is.yml index 37d8f21b13f..3aa43ac228e 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -608,7 +608,7 @@ is: other: "%{count} notendur" categories: administration: Stjórnun - devops: Kerfisstjórar + devops: DevOps invites: Boðsgestir moderation: Umsjón special: Sérstakt @@ -659,7 +659,7 @@ is: view_audit_log_description: Leyfir notendum að skoða feril stjórnunaraðgerða á netþjóninum view_dashboard: Skoða stjórnborð view_dashboard_description: Leyfir notendum að skoða stjórnborðið og sjá ýmsar mælingar - view_devops: Kerfisstjórar + view_devops: DevOps view_devops_description: Leyfir notendum að skoða Sidekiq og pgHero stjórnborð title: Hlutverk rules: @@ -1387,7 +1387,7 @@ is: phantom_js: PhantomJS qq: QQ vafri safari: Safari - uc_browser: UCBrowser + uc_browser: UC-vafrinn weibo: Weibo current_session: Núverandi seta description: "%{browser} á %{platform}" diff --git a/config/locales/it.yml b/config/locales/it.yml index d3bf4734bdb..76469eb6a47 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -608,7 +608,7 @@ it: other: "%{count} utenti" categories: administration: Amministrazione - devops: Devops + devops: DevOps invites: Inviti moderation: Moderazione special: Speciale @@ -659,7 +659,7 @@ it: view_audit_log_description: Consente agli utenti di vedere una cronologia delle azioni amministrative sul server view_dashboard: Mostra dashboard view_dashboard_description: Consente agli utenti di accedere alla dashboard e alle varie metriche - view_devops: Devops + view_devops: DevOps view_devops_description: Consente agli utenti di accedere alle dashboard Sidekiq e pgHero title: Ruoli rules: @@ -1375,7 +1375,7 @@ it: browser: Browser browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1389,7 +1389,7 @@ it: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: Sessione corrente description: "%{browser} su %{platform}" @@ -1398,7 +1398,7 @@ it: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry + blackberry: BlackBerry chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS diff --git a/config/locales/ja.yml b/config/locales/ja.yml index e6ba07305cf..a60f0298bc8 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1347,7 +1347,7 @@ ja: browser: ブラウザ browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1361,7 +1361,7 @@ ja: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: 現在のセッション description: "%{platform}上の%{browser}" @@ -1370,7 +1370,7 @@ ja: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry + blackberry: BlackBerry chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS diff --git a/config/locales/ka.yml b/config/locales/ka.yml index 5a2fb56a70d..464e8826885 100644 --- a/config/locales/ka.yml +++ b/config/locales/ka.yml @@ -403,7 +403,6 @@ ka: browser: ბრაუზერი browsers: alipay: ალიფეი - blackberry: ბლექბერი chrome: ქრომი edge: მაიკროსოფთ ედჯი electron: ელექტრონი @@ -417,7 +416,6 @@ ka: phantom_js: ფანტომჯეიესი qq: ქქ ბრაუზერი safari: საფარი - uc_browser: იუსიბიბრაუზერი weibo: ვეიბო current_session: მიმდინარე სესია description: "%{browser} %{platform}-ზე" @@ -426,8 +424,6 @@ ka: platforms: adobe_air: ედობ ეარი android: ანდროიდი - blackberry: ბლექბერი - chrome_os: ქრომო-ოსი firefox_os: ფაირფოქს-ოსი ios: აი-ოსი linux: ლინუქსი diff --git a/config/locales/kab.yml b/config/locales/kab.yml index 1cd5d72d61c..9c2539ce7c1 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -621,7 +621,6 @@ kab: browser: Iminig browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -635,7 +634,6 @@ kab: phantom_js: PhantomJS qq: Iminig QQ safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Tiγimit tamirant description: "%{browser} s %{platform}" @@ -643,8 +641,6 @@ kab: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/kk.yml b/config/locales/kk.yml index 1ac423e9937..a487070975c 100644 --- a/config/locales/kk.yml +++ b/config/locales/kk.yml @@ -630,7 +630,6 @@ kk: browser: Браузер browsers: alipay: Аlipay - blackberry: Blаckberry chrome: Chrоme edge: Microsоft Edge electron: Electrоn @@ -644,7 +643,6 @@ kk: phantom_js: PhаntomJS qq: QQ Brоwser safari: Safаri - uc_browser: UCBrоwser weibo: Weibо current_session: Қазіргі сессия description: "%{browser} - %{platform}" @@ -653,8 +651,6 @@ kk: platforms: adobe_air: Adobе Air android: Andrоid - blackberry: Blackbеrry - chrome_os: ChromеOS firefox_os: Firefоx OS ios: iОS linux: Lіnux diff --git a/config/locales/ko.yml b/config/locales/ko.yml index f222b088798..74f6f56a827 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -1363,7 +1363,7 @@ ko: phantom_js: 팬텀JS qq: QQ 브라우저 safari: 사파리 - uc_browser: UC브라우저 + uc_browser: UC 브라우저 weibo: 웨이보 current_session: 현재 세션 description: "%{platform}의 %{browser}" diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 4c2283c2169..1c1271c5d18 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -610,7 +610,6 @@ ku: other: "%{count} bikarhêner" categories: administration: Rêvebirî - devops: Devops invites: Vexwendin moderation: Çavdêrî special: Taybet @@ -661,7 +660,6 @@ ku: view_audit_log_description: Mafê dide bikarhêneran ku dîroka çalakiyên rêveberî yên li ser rajekarê bibînin view_dashboard: Destgehê nîşan bide view_dashboard_description: Mafê dide bikarhêneran ku bigihîjin destgehê û pîvanên cuda - view_devops: Pêşdebir view_devops_description: Mafê dide bikarhêneran ku bigihîjin destgehên Sidekiq û pgHero title: Rol rules: @@ -1368,7 +1366,6 @@ ku: browser: Gerok browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1382,7 +1379,6 @@ ku: phantom_js: PhantomJS qq: Geroka QQ safari: Safari - uc_browser: Geroka UCB weibo: Weibo current_session: Danişîna heyî description: "%{platform} ser %{browser}" @@ -1391,8 +1387,6 @@ ku: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/lv.yml b/config/locales/lv.yml index a7641064bfb..2c1eaef62e4 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -621,7 +621,7 @@ lv: zero: "%{count} lietotāju" categories: administration: Administrēšana - devops: Izstrādātāji + devops: DevOps invites: Uzaicinājumi moderation: Moderācija special: Īpašās @@ -673,7 +673,7 @@ lv: view_audit_log_description: Ļauj lietotājiem redzēt serverī veikto administratīvo darbību vēsturi view_dashboard: Skatīt Informācijas Paneli view_dashboard_description: Ļauj lietotājiem piekļūt informācijas panelim un dažādiem rādītājiem - view_devops: Izstrādātāji + view_devops: DevOps view_devops_description: Ļauj lietotājiem piekļūt Sidekiq un pgHero informācijas paneļiem title: Lomas rules: @@ -1399,7 +1399,7 @@ lv: browser: Pārlūks browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1413,7 +1413,7 @@ lv: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Pārlūks weibo: Weibo current_session: Pašreizējā sesija description: "%{browser} uz %{platform}" @@ -1422,8 +1422,8 @@ lv: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS + blackberry: BlackBerry + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 6d7f8d6aa7e..6b6f33c1624 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -608,7 +608,6 @@ nl: other: "%{count} gebruikers" categories: administration: Beheer - devops: Devops invites: Uitnodigingen moderation: Moderatie special: Speciaal @@ -659,7 +658,6 @@ nl: view_audit_log_description: Staat gebruikers toe om een geschiedenis van beheeracties op de server te bekijken view_dashboard: Dashboard bekijken view_dashboard_description: Geeft gebruikers toegang tot het dashboard en verschillende statistieken - view_devops: Devops view_devops_description: Geeft gebruikers toegang tot de dashboards van Sidekiq en pgHero title: Rollen rules: @@ -1387,7 +1385,7 @@ nl: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: QQ Browser weibo: Weibo current_session: Huidige sessie description: "%{browser} op %{platform}" @@ -1397,7 +1395,7 @@ nl: adobe_air: Adobe Air android: Android blackberry: Blackberry - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/nn.yml b/config/locales/nn.yml index 052e7fe8c65..4f07c685e91 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -275,7 +275,10 @@ nn: unassigned_report_html: "%{name} løyste ein rapport %{target}" unblock_email_account_html: "%{name} avblokkerte %{target} si e-postadresse" unsensitive_account_html: "%{name} avmarkerte %{target} sitt media som sensitivt" - update_custom_emoji_html: "%{name} oppdaterte emoji %{target}" + unsilence_account_html: "%{name} fjernet begrensningen av %{target}s konto" + update_announcement_html: "%{name} oppdaterte kunngjeringa %{target}" + update_custom_emoji_html: "%{name} oppdaterte emojien %{target}" + update_domain_block_html: "%{name} oppdaterte domeneblokkeringa for %{target}" update_ip_block_html: "%{name} endret regel for IP %{target}" update_status_html: "%{name} oppdaterte innlegg av %{target}" update_user_role_html: "%{name} endret %{target} -rolle" @@ -370,6 +373,7 @@ nn: destroyed_msg: Domeneblokkering har nå blitt angret domain: Domene edit: Rediger domeneblokkering + existing_domain_block: Du har allerede pålagt strengere begrensninger på %{name}. existing_domain_block_html: Du har allerede pålagt strengere begrensninger på %{name}, du kan være nødt til oppheve blokkeringen av den først. new: create: Lag blokkering @@ -381,7 +385,7 @@ nn: suspend: Utvis title: Ny domeneblokkering obfuscate: Obfuskere domenenavn - obfuscate_hint: Delvis skjule domenenavnet i listen hvis det er aktivert for å annonsere listen over domenebegrensninger + obfuscate_hint: Skjul deler av domenenavnet i listen hvis annonsering av listen over domenebegrensninger er slått på private_comment: Privat kommentar private_comment_hint: Kommenter angående denne domenebegrensningen for internt bruk av moderatorene. public_comment: Offentleg kommentar @@ -431,6 +435,7 @@ nn: comment: Internt notat policies: reject_media: Avvis media + silence: Begrens reason: Offentlig årsak title: Retningslinjer for innhold dashboard: @@ -512,6 +517,8 @@ nn: one: "%{count} notis" other: "%{count} notiser" action_taken_by: Handling gjort av + actions: + silence_description_html: Profilen vil kun være synlig for dem som allerede følger den eller manuelt slår den opp, noe som sterkt begrenser dens rekkevidde. Kan alltid tilbakestilles. are_you_sure: Er du sikker? assign_to_self: Tilegn til meg assigned: Tilsett moderator @@ -551,6 +558,8 @@ nn: administration: Administrasjon devops: DevOps invites: Invitasjoner + privileges: + view_devops: DevOps rules: add_new: Legg til et filter delete: Slett @@ -579,6 +588,9 @@ nn: no_status_selected: Ingen statusar vart endra sidan ingen vart valde title: Kontostatusar with_media: Med media + strikes: + actions: + silence: "%{name} begrenset %{target}s konto" system_checks: database_schema_check: message_html: Det venter på databaseoverføringer. Vennligst kjør disse for å sikre at applikasjonen oppfører seg som forventet @@ -595,6 +607,9 @@ nn: edit_preset: Endr åtvaringsoppsett title: Handsam åtvaringsoppsett admin_mailer: + new_appeal: + actions: + silence: for å begrense deres konto new_pending_account: body: Detaljer om den nye kontoen er nedenfor. Du kan godkjenne eller avvise denne søknaden. subject: Ny konto opp til vurdering på %{instance} (%{username}) @@ -671,6 +686,7 @@ nn: confirming: Ventar på stadfesting av e-post. pending: Søknaden din ventar på gjennomgang frå personalet vårt. Dette kan taka litt tid. Du får ein e-post om søknaden din vert godkjend. redirecting_to: Kontoen din er inaktiv fordi den for øyeblikket omdirigerer til %{acct}. + view_strikes: Vis tidligere advarsler mot kontoen din use_security_key: Bruk sikkerhetsnøkkel authorize_follow: already_following: Du fylgjer allereie denne kontoen @@ -724,6 +740,11 @@ nn: more_details_html: For fleire detaljar, sjå personvernsvilkåra. username_available: Brukarnamnet ditt vert tilgjengeleg igjen username_unavailable: Brukarnamnet ditt kjem til å halda seg utilgjengeleg + disputes: + strikes: + appeal_approved: Denne advarselen ble anket og er ikke lenger gyldig + title_actions: + silence: Begrensning av konto domain_validator: invalid_domain: er ikkje eit gangbart domenenamn errors: @@ -797,6 +818,8 @@ nn: html_validator: invalid_markup: 'rommar ugild HTML-kode: %{error}' imports: + errors: + over_rows_processing_limit: inneholder flere enn %{count} rader modes: merge: Set saman merge_long: Hald på eksisterande data og legg til nye @@ -998,7 +1021,7 @@ nn: phantom_js: PhantomJS qq: QQ-lesar safari: Safari - uc_browser: UC-lesar + uc_browser: QQ-lesar weibo: Weibo current_session: Noverande økt description: "%{browser} på %{platform}" @@ -1008,7 +1031,7 @@ nn: adobe_air: Adobe Air android: Android blackberry: BlackBerry - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: IOS linux: Linux diff --git a/config/locales/no.yml b/config/locales/no.yml index 0e379da21ad..7ce3d16d4f6 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -92,14 +92,14 @@ active: Aktive all: Alle pending: Avventer - silenced: Stilnet + silenced: Begrenset suspended: Utvist title: Moderasjon moderation_notes: Moderasjonsnotater most_recent_activity: Nyligste aktivitet most_recent_ip: Nyligste IP no_account_selected: Ingen brukere ble forandret da ingen var valgt - no_limits_imposed: Ingen grenser er tatt i bruk + no_limits_imposed: Ingen pålagte begrensninger no_role_assigned: Ingen rolle tildelt not_subscribed: Ikke abonnért pending: Avventer gjennomgang @@ -140,8 +140,8 @@ show: created_reports: Rapporter laget av denne kontoen targeted_reports: Rapporter laget om denne kontoen - silence: Målbind - silenced: Stilnet + silence: Begrens + silenced: Begrenset statuses: Statuser strikes: Tidligere advarsler subscribe: Abonnere @@ -154,9 +154,9 @@ unblocked_email_msg: Fjernet blokkering av %{username} sin e-postadresse unconfirmed_email: Ubekreftet E-postadresse undo_sensitized: Gjør om tving sensitiv - undo_silenced: Angre målbinding + undo_silenced: Angre begrensning undo_suspension: Angre utvisning - unsilenced_msg: Opphevde vellykket begrensningen av %{username} sin konto + unsilenced_msg: Opphevde begrensningen av %{username}s konto unsubscribe: Avslutt abonnementet unsuspended_msg: Opphevde vellykket suspenderingen av %{username} sin konto username: Brukernavn @@ -211,11 +211,12 @@ reset_password_user: Tilbakestill passord resolve_report: Løs rapport sensitive_account: Tving sensitiv konto - silence_account: Demp konto + silence_account: Begrens konto suspend_account: Suspender kontoen unassigned_report: Fjern tilordnet rapport unblock_email_account: Fjern blokkering av e-postadresse unsensitive_account: Angre tving sensitiv konto + unsilence_account: Angre begrensning av konto unsuspend_account: Opphev suspensjonen av kontoen update_announcement: Oppdater kunngjøringen update_custom_emoji: Oppdater tilpasset Emoji @@ -244,7 +245,8 @@ destroy_user_role_html: "%{name} slettet %{target} -rolle" reject_user_html: "%{name} avslo registrering fra %{target}" reset_password_user_html: "%{name} tilbakestille passordet for brukeren %{target}" - silence_account_html: "%{name} begrenset %{target} sin konto" + silence_account_html: "%{name} begrenset %{target}s konto" + unsilence_account_html: "%{name} fjernet begrensningen av %{target}s konto" update_custom_emoji_html: "%{name} oppdaterte emoji %{target}" update_ip_block_html: "%{name} endret regel for IP %{target}" update_status_html: "%{name} oppdaterte innlegg av %{target}" @@ -330,7 +332,8 @@ destroyed_msg: Domeneblokkering har nå blitt angret domain: Domene edit: Rediger domeneblokkering - existing_domain_block_html: Du har allerede pålagt strengere begrensninger på %{name}, du kan være nødt til oppheve blokkeringen av den først. + existing_domain_block: Du har allerede pålagt strengere begrensninger på %{name}. + existing_domain_block_html: Du har allerede pålagt strengere begrensninger på %{name}, du må oppheve blokkeringen av den først. new: create: Lag blokkering hint: Domeneblokkeringen vil ikke hindre opprettelse av kontooppføringer i databasen, men vil retroaktivt og automatisk benytte spesifikke moderasjonsmetoder på de kontoene. @@ -341,11 +344,11 @@ suspend: Utvis title: Ny domeneblokkering obfuscate: Obfuskere domenenavn - obfuscate_hint: Delvis skjule domenenavnet i listen hvis det er aktivert for å annonsere listen over domenebegrensninger + obfuscate_hint: Skjul deler av domenenavnet i listen hvis annonsering av listen over domenebegrensninger er slått på private_comment: Privat kommentar - private_comment_hint: Kommenter angående denne domenebegrensningen for internt bruk av moderatorene. + private_comment_hint: Kommentar angående denne domenebegrensningen for internt bruk av moderatorene. public_comment: Offentlig kommentar - public_comment_hint: Kommenter angående denne domenebegrensningen for offentligheten, hvis publisering av domenebegrensningslisten er slått på. + public_comment_hint: Kommentar angående denne domenebegrensningen for offentligheten, hvis publisering av listen over domenebegrensninger er slått på. reject_media: Avvis mediefiler reject_media_hint: Fjerner lokalt lagrede mediefiler og nekter å laste dem ned i fremtiden. Irrelevant for utvisninger reject_reports: Avslå rapporter @@ -386,6 +389,7 @@ comment: Internt notat policies: reject_media: Avvis media + silence: Begrens reason: Offentlig årsak title: Retningslinjer for innhold dashboard: @@ -455,7 +459,7 @@ pending: Avventer overgangens godkjenning save_and_enable: Lagre og skru på setup: Sett opp en overgangsforbindelse - signatures_not_enabled: Overganger vil ikke fungere riktig mens sikkermodus eller hvitelistingsmodus er skrudd på + signatures_not_enabled: Videreformidlere vil ikke fungere riktig mens sikkermodus eller begrenset føderasjon er aktiv status: Status title: Overganger report_notes: @@ -467,6 +471,8 @@ one: "%{count} notis" other: "%{count} notiser" action_taken_by: Handling utført av + actions: + silence_description_html: Profilen vil kun være synlig for dem som allerede følger den eller manuelt slår den opp, noe som sterkt begrenser dens rekkevidde. Kan alltid tilbakestilles. are_you_sure: Er du sikker? assign_to_self: Tilegn til meg assigned: Tilegnet moderator @@ -506,6 +512,8 @@ administration: Administrasjon devops: DevOps invites: Invitasjoner + privileges: + view_devops: DevOps rules: add_new: Legg til et filter delete: Slett @@ -534,6 +542,9 @@ no_status_selected: Ingen statuser ble endret da ingen ble valgt title: Kontostatuser with_media: Med media + strikes: + actions: + silence: "%{name} begrenset %{target}s konto" system_checks: database_schema_check: message_html: Det venter på databaseoverføringer. Vennligst kjør disse for å sikre at applikasjonen oppfører seg som forventet @@ -547,6 +558,9 @@ add_new: Legg til ny delete: Slett admin_mailer: + new_appeal: + actions: + silence: for å begrense deres konto new_pending_account: body: Detaljer om den nye kontoen er nedenfor. Du kan godkjenne eller avvise denne søknaden. subject: Ny konto opp til vurdering på %{instance} (%{username}) @@ -569,7 +583,7 @@ body: Mastodon er oversatt av frivillige. guide_link_text: Alle kan bidra. sensitive_content: Sensitivt innhold - toot_layout: Tut-utseende + toot_layout: Innleggsoppsett application_mailer: notification_preferences: Endre E-postinnstillingene salutation: "%{name}," @@ -621,6 +635,7 @@ confirming: Venter på at e-postbekreftelsen er fullført. pending: Søknaden din avventer gjennomgang av styret vårt. Dette kan ta litt tid. Du vil motta en E-post dersom søknaden din blir godkjent. redirecting_to: Kontoen din er inaktiv fordi den for øyeblikket omdirigerer til %{acct}. + view_strikes: Vis tidligere advarsler mot kontoen din use_security_key: Bruk sikkerhetsnøkkel authorize_follow: already_following: Du følger allerede denne kontoen @@ -673,6 +688,11 @@ more_details_html: For mere detaljer, se privatlivsretningslinjene. username_available: Brukernavnet ditt vil bli gjort tilgjengelig igjen username_unavailable: Brukernavnet ditt vil forbli utilgjengelig + disputes: + strikes: + appeal_approved: Denne advarselen ble anket og er ikke lenger gyldig + title_actions: + silence: Begrensning av konto domain_validator: invalid_domain: er ikke et gyldig domenenavn errors: @@ -710,6 +730,8 @@ storage: Medialagring featured_tags: add_new: Legg til ny + errors: + limit: Du har allerede fremhevet det maksimale antal hashtags hint_html: "Hva er utvalgte emneknagger? De vises frem tydelig på din offentlige profil, og lar folk bla i dine offentlige innlegg som spesifikt har de emneknaggene. De er et bra verktøy for å holde styr på kreative verk eller langtidsprosjekter." filters: contexts: @@ -740,6 +762,8 @@ one: Noe er ikke helt riktig ennå. Vennligst se etter en gang til other: Noe er ikke helt riktig ennå. Det er ennå %{count} feil å rette på imports: + errors: + over_rows_processing_limit: inneholder flere enn %{count} rader modes: merge: Slå sammen overwrite: Overskriv @@ -892,7 +916,7 @@ public_timelines: Offentlige tidslinjer reactions: errors: - limit_reached: Grensen for forskjellige reaksjoner nådd + limit_reached: Grensen for ulike reaksjoner nådd unrecognized_emoji: er ikke en gjenkjent emoji relationships: activity: Kontoaktivitet @@ -919,7 +943,7 @@ tag: 'Offentlige innlegg merket med #%{hashtag}' scheduled_statuses: over_daily_limit: Du har overskredet grensen på %{limit} planlagte tuter for den dagen - over_total_limit: Du har overskredet grensen på %{limit} planlagte tuter + over_total_limit: Du har overskredet grensen på %{limit} planlagte innlegg too_soon: Den planlagte datoen må være i fremtiden sessions: activity: Siste aktivitet @@ -950,7 +974,7 @@ adobe_air: Adobe Air android: Android blackberry: BlackBerry - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux @@ -1007,10 +1031,10 @@ errors: in_reply_not_found: Posten du prøver å svare ser ikke ut til eksisterer. open_in_web: Åpne i nettleser - over_character_limit: grense på %{max} tegn overskredet + over_character_limit: grensen på %{max} tegn overskredet pin_errors: direct: Innlegg som bare er synlige for nevnte brukere kan ikke festes - limit: Du har allerede festet det maksimale antall tuter + limit: Du har allerede festet det maksimale antall innlegg ownership: Kun egne tuter kan festes reblog: En fremheving kan ikke festes poll: @@ -1053,6 +1077,9 @@ pinned: Festet tut reblogged: fremhevde sensitive_content: Følsomt innhold + strikes: + errors: + too_late: Det er for sent å klage på denne advarselen tags: does_not_match_previous_name: samsvarer ikke med det forrige navnet themes: diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 37c470d314c..d6bf5a5314c 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -806,7 +806,6 @@ oc: browser: Navigator browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -820,7 +819,6 @@ oc: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Session en cors description: "%{browser} sus %{platform}" @@ -829,8 +827,6 @@ oc: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 72bd61bd397..dc96acee791 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -1,10 +1,10 @@ --- pl: about: - about_mastodon_html: Mastodon jest wolną i otwartą siecią społecznościową, zdecentralizowaną alternatywą dla zamkniętych, komercyjnych platform. + about_mastodon_html: 'Sieć społecznościowa przyszłości: Bez reklam, bez inwigilacji, zaprojektowana etycznie i zdecentralizowanie! Władaj swoimi danymi z Mastodonem!' contact_missing: Nie ustawiono contact_unavailable: Nie dotyczy - hosted_on: Mastodon uruchomiony na %{domain} + hosted_on: Mastodon hostowany na %{domain} title: O nas accounts: follow: Obserwuj @@ -63,7 +63,7 @@ pl: destroyed_msg: Dane %{username} są teraz w kolejce do natychmiastowego usunięcia disable: Dezaktywuj disable_sign_in_token_auth: Wyłącz uwierzytelnianie tokenu e-mail - disable_two_factor_authentication: Wyłącz uwierzytelnianie dwuetapowe + disable_two_factor_authentication: Wyłącz uwierzytelnianie dwuskładnikowe disabled: Dezaktywowano display_name: Wyświetlana nazwa domain: Domena @@ -81,7 +81,7 @@ pl: invite_request_text: Powody rejestracji invited_by: Zaproszony(-a) przez ip: Adres IP - joined: Dołączył(-a) + joined: Dołączono location: all: Wszystkie local: Lokalne @@ -135,13 +135,13 @@ pl: resubscribe: Ponów subskrypcję role: Rola search: Szukaj - search_same_email_domain: Inni użytkownicy z e-mail w tej domenie + search_same_email_domain: Inni użytkownicy z tym samym e-mail w tej domenie search_same_ip: Inni użytkownicy z tym samym IP security_measures: only_password: Tylko hasło password_and_2fa: Hasło i 2FA sensitive: Wrażliwe - sensitized: oznaczono jako wrażliwe + sensitized: Oznaczono jako wrażliwe shared_inbox_url: Adres udostępnianej skrzynki show: created_reports: Zgłoszenia tego użytkownika @@ -259,7 +259,7 @@ pl: destroy_status_html: "%{name} usunął(-ęła) wpis użytkownika %{target}" destroy_unavailable_domain_html: "%{name} wznowił(a) doręczanie do domeny %{target}" destroy_user_role_html: "%{name} usunął rolę %{target}" - disable_2fa_user_html: "%{name} wyłączył(a) uwierzytelnianie dwustopniowe użytkownikowi %{target}" + disable_2fa_user_html: "%{name} wyłączył(a) uwierzytelnianie dwuskładnikowe użytkownikowi %{target}" disable_custom_emoji_html: "%{name} wyłączył(a) emoji %{target}" disable_sign_in_token_auth_user_html: "%{name} wyłączył/a uwierzytelnianie tokenem e-mail dla %{target}" disable_user_html: "%{name} zablokował(a) możliwość logowania użytkownikowi %{target}" @@ -687,7 +687,7 @@ pl: view_audit_log_description: Pozwala użytkownikom zobaczyć historię działań administracyjnych na serwerze view_dashboard: Wyświetl panel view_dashboard_description: Pozwala użytkownikom na dostęp do panelu i różnych metryk - view_devops: Devops + view_devops: DevOps view_devops_description: Pozwala użytkownikom na dostęp do paneli Sidekiq i pgHero title: Role rules: @@ -1425,7 +1425,7 @@ pl: browser: Przeglądarka browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1439,7 +1439,7 @@ pl: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: Obecna sesja description: "%{browser} na %{platform}" @@ -1448,7 +1448,7 @@ pl: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry + blackberry: BlackBerry chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS @@ -1609,7 +1609,7 @@ pl: enabled_success: Pomyślnie aktywowano uwierzytelnianie dwuetapowe generate_recovery_codes: Generuj kody zapasowe lost_recovery_codes: Kody zapasowe pozwolą uzyskać dostęp do portalu, jeżeli utracisz dostęp do telefonu. Jeżeli utracisz dostęp do nich, możesz wygenerować je ponownie tutaj. Poprzednie zostaną unieważnione. - methods: Metody uwierzytelniania dwuetapowego + methods: Metody uwierzytelniania dwuskładnikowego otp: Aplikacja uwierzytelniająca recovery_codes: Przywróć kody zapasowe recovery_codes_regenerated: Pomyślnie wygenerowano ponownie kody zapasowe @@ -1682,7 +1682,7 @@ pl: invalid_otp_token: Kod uwierzytelniający jest niepoprawny otp_lost_help_html: Jeżeli utracisz dostęp do obu, możesz skontaktować się z %{email} seamless_external_login: Zalogowano z użyciem zewnętrznej usługi, więc ustawienia hasła i adresu e-mail nie są dostępne. - signed_in_as: 'Zalogowany jako:' + signed_in_as: 'Zalogowano jako:' verification: explanation_html: 'Możesz zweryfikować siebie jako właściciela stron, do których odnośniki znajdują się w metadanych. Aby to zrobić, strona musi zawierać odnośnik do Twojego profilu na Mastodonie. Odnośnik musi zawierać atrybut rel="me". Jego zawartość nie ma znaczenia. Przykład:' verification: Weryfikacja diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 8279f68f0e5..6d3fbf60ff7 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -610,7 +610,6 @@ pt-BR: other: "%{count} usuários" categories: administration: Administração - devops: Devops invites: Convites moderation: Moderação special: Especial @@ -661,7 +660,6 @@ pt-BR: view_audit_log_description: Permite aos usuários ver um histórico de ações administrativas no servidor view_dashboard: Ver painel view_dashboard_description: Permite que os usuários acessem o painel e várias métricas - view_devops: Devops view_devops_description: Permite aos usuários acessar os painéis da Sidekiq e pgHero title: Funções rules: @@ -810,6 +808,9 @@ pt-BR: trending_rank: 'Em alta #%{rank}' usable: Pode ser usado usage_comparison: Usado %{today} vezes hoje, em comparação com %{yesterday} de ontem + used_by_over_week: + one: Usado por uma pessoa na última semana + other: Usado por %{count} pessoas na última semana title: Em alta trending: Em alta warning_presets: @@ -1333,7 +1334,6 @@ pt-BR: browser: Navegador browsers: alipay: Alipay - blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1347,7 +1347,6 @@ pt-BR: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Sessão atual description: "%{browser} em %{platform}" @@ -1356,8 +1355,6 @@ pt-BR: platforms: adobe_air: Adobe Air android: Android - blackberry: BlackBerry - chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index e299cee8b8f..a477b07d0b4 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -1387,7 +1387,7 @@ pt-PT: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: Navegador UC weibo: Weibo current_session: Sessão atual description: "%{browser} em %{platform}" diff --git a/config/locales/ru.yml b/config/locales/ru.yml index cfdceff8e88..4ad5fc83aed 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -619,7 +619,6 @@ ru: other: "%{count} пользователей" categories: administration: Администрация - devops: DevOps invites: Приглашения moderation: Модерация special: Особые @@ -653,7 +652,6 @@ ru: view_audit_log: Посмотреть журнал аудита view_audit_log_description: Позволяет пользователям просматривать историю административных действий на сервере view_dashboard: Открыть панель управления - view_devops: DevOps title: Роли rules: add_new: Добавить правило @@ -1313,7 +1311,6 @@ ru: browser: Браузер browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1327,7 +1324,6 @@ ru: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Текущая сессия description: "%{browser} на %{platform}" @@ -1336,8 +1332,6 @@ ru: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/sc.yml b/config/locales/sc.yml index bf24b2686f0..00ccd22db9f 100644 --- a/config/locales/sc.yml +++ b/config/locales/sc.yml @@ -862,7 +862,6 @@ sc: browser: Navigadore browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -876,7 +875,6 @@ sc: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser weibo: Weibo current_session: Sessione atuale description: "%{browser} de %{platform}" @@ -885,8 +883,6 @@ sc: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/si.yml b/config/locales/si.yml index 2c41e40b881..42aaf6c8961 100644 --- a/config/locales/si.yml +++ b/config/locales/si.yml @@ -1194,7 +1194,6 @@ si: browser: අතිරික්සුව browsers: alipay: අලිපේ - blackberry: බ්ලැක්බෙරි chrome: ක්‍රෝම් edge: මයික්‍රොසොෆ්ට් එඩ්ගේ electron: ඉලෙක්ට්‍රෝන් @@ -1207,7 +1206,6 @@ si: otter: ඔටර් qq: කියුකියු අතිරික්සුව safari: සෆාරි - uc_browser: යූසී අතිරික්සුව weibo: වෙයිබො current_session: වත්මන් සැසිය description: "%{browser} මත %{platform}" @@ -1216,8 +1214,6 @@ si: platforms: adobe_air: ඇඩෝබි එයාර් android: ඇන්ඩ්‍රොයිඩ් - blackberry: බ්ලැක්බෙරි - chrome_os: ක්‍රෝම් ඕඑස් firefox_os: ෆයර්ෆොක්ස් ඕඑස් ios: අයිඕඑස් linux: ලිනක්ස් diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml index d91d990001e..301ae876466 100644 --- a/config/locales/simple_form.ar.yml +++ b/config/locales/simple_form.ar.yml @@ -64,9 +64,36 @@ ar: domain_allow: domain: سيكون بإمكان هذا النطاق جلب البيانات من هذا الخادم ومعالجة وتخزين البيانات الواردة منه email_domain_block: + domain: يمكن أن يكون هذا اسم المجال الذي يظهر في عنوان البريد الإلكتروني أو سجل MX الذي يستخدمه. سيتم التحقق منه عند التسجيل. with_dns_records: سوف تُبذل محاولة لحل سجلات DNS الخاصة بالنطاق المعني، كما ستُمنع النتائج + featured_tag: + name: 'فيما يلي بعض الوسوم التي استخدمتها مؤخراً:' + filters: + action: اختر الإجراء الذي سينفذ عند تطابق المشاركة فلتر التصفية + actions: + hide: إخفاء المحتويات التي تم تصفيتها، والتصرف كما لو أنها غير موجودة + warn: إخفاء المحتوى الذي تم تصفيته خلف تحذير يذكر عنوان الفلتر form_admin_settings: + backups_retention_period: الاحتفاظ بأرشيف المستخدم الذي تم إنشاؤه لعدد محدد من الأيام. + bootstrap_timeline_accounts: سيتم تثبيت هذه الحسابات على قمة التوصيات للمستخدمين الجدد. + closed_registrations_message: ما سيعرض عند إغلاق التسجيلات + content_cache_retention_period: سيتم حذف المشاركات من الخوادم الأخرى بعد عدد الأيام المحدد عند تعيينها إلى قيمة موجبة. قد يكون هذا لا رجعة فيه. + custom_css: يمكنك تطبيق أساليب مخصصة على نسخة الويب من ماستدون. + mascot: تجاوز الرسوم التوضيحية في واجهة الويب المتقدمة. + media_cache_retention_period: سيتم حذف ملفات الوسائط التي تم تنزيلها بعد عدد الأيام المحدد عند تعيينها إلى قيمة موجبة، وإعادة تنزيلها عند الطلب. + profile_directory: دليل الملف الشخصي يسرد جميع المستخدمين الذين اختاروا الدخول ليكونوا قابلين للاكتشاف. + require_invite_text: عندما تتطلب التسجيلات الموافقة اليدوية، اجعل إدخال النص "لماذا تريد الانضمام ؟" إلزاميا بدلا من اختياري + site_contact_email: كيف يمكن للأشخاص أن يصلوا إليك للحصول على استفسارات قانونية أو استفسارات دعم. site_contact_username: كيف يمكن للناس أن يصلوا إليك في ماستدون. + site_extended_description: أي معلومات إضافية قد تكون مفيدة للزوار والمستخدمين. يمكن تنظيمها مع بناء بنية Markdown. + site_short_description: وصف قصير للمساعدة في التعرف على الخادم الخاص بك. من يقوم بتشغيله، ولمن ؟ + site_terms: استخدم سياسة الخصوصية الخاصة بك أو اتركها فارغة لاستخدام الافتراضي. يمكن هيكلتها مع بناء الجملة المصغرة مارك داون. + site_title: كيف يمكن للناس الرجوع إلى الخادم الخاص بك إلى جانب اسم النطاق. + theme: الشكل الذي يشاهده الزوار الجدد و الغير مسجلين الدخول. + thumbnail: عرض حوالي 2:1 صورة إلى جانب معلومات الخادم الخاص بك. + timeline_preview: الزوار الذين سجلوا خروجهم سيكونون قادرين على تصفح أحدث المشاركات العامة المتاحة على الخادم. + trendable_by_default: تخطي مراجعة المحتوى التريند اليدوي. لا يزال من الممكن الإزالة اللاحقة للعناصر الفردية من التريندات. + trends: تظهر التريندز أي المشاركات وعلامات وقصص الأخبار التي تجذب الانتباه على الخادم الخاص بك. form_challenge: current_password: إنك بصدد الدخول إلى منطقة آمنة imports: @@ -91,6 +118,13 @@ ar: name: يمكنك فقط تغيير غلاف الحروف ، على سبيل المثال ، لجعلها أكثر قابلية للقراءة user: chosen_languages: إن تم اختيارها، فلن تظهر على الخيوط العامة إلّا الرسائل المنشورة في تلك اللغات + role: الوظيفة تتحكم في الصلاحيات التي يملكها المستخدم + user_role: + color: اللون الذي سيتم استخدامه للوظيفه في جميع وحدات واجهة المستخدم، كـ RGB بتنسيق hex + highlighted: وهذا يجعل الوظيفه مرئيا علنا + name: الاسم العام للوظيفه، إذا تم تعيين الوظيفه ليتم عرضه كشارة + permissions_as_keys: سيكون للمستخدمين الذين لديهم هذه الوظيفة حق الصلاحيه إلى... + position: وتقرر الوظيفة الأعلى تسوية النزاعات في حالات معينة، ولا يمكن القيام ببعض الإجراءات إلا على أساس الوظائف ذات الأولوية الأقل labels: account: fields: diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml index 2ece2bd80e1..a9c59b2efaa 100644 --- a/config/locales/simple_form.de.yml +++ b/config/locales/simple_form.de.yml @@ -51,13 +51,13 @@ de: setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge) setting_always_send_emails: Normalerweise werden Benachrichtigungen nicht per E-Mail verschickt, wenn du gerade auf Mastodon aktiv bist setting_default_sensitive: Medien, die mit einer Inhaltswarnung (NSFW) versehen worden sind, werden – je nach Einstellung – erst nach einem zusätzlichen Klick angezeigt - setting_display_media_default: Verberge alle Medien, die mit einer Inhaltswarnung (NSFW) versehen sind - setting_display_media_hide_all: Alle Medien immer verstecken + setting_display_media_default: Alle Medien verbergen, die mit einer Inhaltswarnung (NSFW) versehen sind + setting_display_media_hide_all: Alle Medien immer verbergen setting_display_media_show_all: Alle Medien immer anzeigen setting_hide_network: Wem du folgst und wer dir folgt, wird in deinem Profil nicht angezeigt setting_noindex: Betrifft alle öffentlichen Daten deines Profils, z. B. deine Beiträge, Account-Empfehlungen und „Über mich“ setting_show_application: Die Anwendung die du nutzt wird in der detaillierten Ansicht deiner Beiträge angezeigt - setting_use_blurhash: Die Farbverläufe basieren auf den Farben der versteckten Medien, aber verstecken jegliche Details + setting_use_blurhash: Die Farbverläufe basieren auf den Farben der verborgenen Medien, aber verstecken jegliche Details setting_use_pending_items: Neue Beiträge hinter einem Klick verstecken, anstatt automatisch zu scrollen username: Dein Benutzername wird auf %{domain} einzigartig sein whole_word: Wenn das Wort oder die Formulierung nur aus Buchstaben oder Zahlen besteht, tritt der Filter nur dann in Kraft, wenn er exakt dieser Zeichenfolge entspricht @@ -78,22 +78,22 @@ de: bootstrap_timeline_accounts: Diese Konten werden bei den Folge-Empfehlungen für neue Nutzerinnen und Nutzer oben angeheftet. closed_registrations_message: Wird angezeigt, wenn Anmeldungen geschlossen sind content_cache_retention_period: Beiträge von anderen Servern werden nach der angegebenen Anzahl von Tagen, wenn sie auf einen positiven Wert gesetzt werden, gelöscht. Dies kann eventuell nicht rückgängig gemacht werden. - custom_css: Sie können benutzerdefinierte Stile auf die Web-Version von Mastodon anwenden. + custom_css: Du kannst benutzerdefinierte Stile auf die Web-Version von Mastodon anwenden. mascot: Überschreibt die Abbildung in der erweiterten Weboberfläche. media_cache_retention_period: Heruntergeladene Mediendateien werden nach der angegebenen Anzahl von Tagen, wenn sie auf einen positiven Wert gesetzt werden, gelöscht und bei Bedarf erneut heruntergeladen. profile_directory: Das Profilverzeichnis listet alle Benutzer auf, die sich für die Auffindbarkeit entschieden haben. - require_invite_text: Wenn Anmeldungen eine manuelle Genehmigung erfordern, machen Sie die Texteingabe „Warum möchten Sie beitreten?” obligatorisch und nicht optional. - site_contact_email: Wie man Sie bei rechtlichen oder unterstützenden Fragen erreichen kann. - site_contact_username: Wie man Sie auf Mastodon erreichen kann. + require_invite_text: Wenn Registrierungen eine manuelle Genehmigung erfordern, dann werden Nutzer einen Grund für ihre Registrierung angeben müssen + site_contact_email: Wie man dich oder dein Team bei rechtlichen oder unterstützenden Fragen erreichen kann. + site_contact_username: Wie man dich oder dein Team auf Mastodon erreichen kann. site_extended_description: Alle zusätzlichen Informationen, die für Besucher und Nutzer nützlich sein könnten. Kann mit der Markdown-Syntax strukturiert werden. - site_short_description: Eine kurze Beschreibung zur eindeutigen Identifizierung Ihres Servers. Wer betreibt ihn, für wen ist er bestimmt? - site_terms: Verwenden Sie Ihre eigene Datenschutzrichtlinie oder lassen Sie sie leer, um die Standardeinstellung zu verwenden. Kann mit Markdown-Syntax strukturiert werden. - site_title: Wie Personen neben dem Domainnamen auf Ihren Server verweisen können. - theme: Design, das abgemeldete und neue Benutzer*innen. + site_short_description: Eine kurze Beschreibung zur eindeutigen Identifizierung des Servers. Wer betreibt ihn, für wen ist er bestimmt? + site_terms: Verwende eine eigene Datenschutzrichtlinie oder lasse das Feld leer, um die Standardeinstellung zu verwenden. Kann mit Markdown-Syntax strukturiert werden. + site_title: Wie Personen neben dem Domainnamen auf deinen Server verweisen können. + theme: Das Design, das abgemeldete Besucher und neue Benutzer sehen. thumbnail: Ein Bild ungefähr im 2:1-Format, das neben den Server-Informationen angezeigt wird. timeline_preview: Ausgeloggte Besucherinnen und Besucher können die neuesten öffentlichen Beiträge auf dem Server ansehen. trendable_by_default: Manuelles Überprüfen angesagter Inhalte überspringen. Einzelne Elemente können später noch aus den Trends entfernt werden. - trends: Trends zeigen, welche Beiträge, Hashtags und Nachrichten auf Ihrem Server an Bedeutung gewinnen. + trends: Trends zeigen, welche Beiträge, Hashtags und Nachrichten auf deinem Server immer beliebter werden. form_challenge: current_password: Du betrittst einen sicheren Bereich imports: @@ -197,7 +197,7 @@ de: setting_default_privacy: Beitragssichtbarkeit setting_default_sensitive: Eigene Medien immer mit einer Inhaltswarnung (NSFW) versehen setting_delete_modal: Bestätigungsdialog anzeigen, bevor ein Beitrag gelöscht wird - setting_disable_swiping: Deaktiviere Wischgesten + setting_disable_swiping: Wischgesten deaktivieren setting_display_media: Medien-Anzeige setting_display_media_default: Standard setting_display_media_hide_all: Alle Medien verstecken @@ -211,7 +211,7 @@ de: setting_theme: Design setting_trends: Heutige Trends anzeigen setting_unfollow_modal: Bestätigungsdialog anzeigen, bevor jemandem entfolgt wird - setting_use_blurhash: Farbverlauf für versteckte Medien anzeigen + setting_use_blurhash: Farbverlauf für verborgene Medien anzeigen setting_use_pending_items: Langsamer Modus severity: Schweregrad sign_in_token_attempt: Sicherheitscode diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml index 0bb1264a34a..342c3140392 100644 --- a/config/locales/simple_form.eo.yml +++ b/config/locales/simple_form.eo.yml @@ -75,7 +75,7 @@ eo: comment: Laŭvola. Memoru, kial vi aldonis ĉi tiun regulon. severities: no_access: Bloki aliron al ĉiuj rimedoj - sign_up_requires_approval: Novaj registriĝoj devigos vian aprobon + sign_up_requires_approval: Novaj registriĝoj bezonos vian aprobon severity: Elektu, kio okazos pri petoj de ĉi tiu IP rule: text: Priskribu regulon aŭ neceson por uzantoj en ĉi tiu servilo. Provu fari ĝin mallonga kaj simpla @@ -182,6 +182,8 @@ eo: actions: hide: Kaŝi komplete warn: Kaŝi malantaŭ averto + form_admin_settings: + registrations_mode: Kiu povas krei konton interactions: must_be_follower: Bloki sciigojn de nesekvantoj must_be_following: Bloki sciigojn de homoj, kiujn vi ne sekvas diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml index 5196fb2c226..7d005171ac7 100644 --- a/config/locales/simple_form.no.yml +++ b/config/locales/simple_form.no.yml @@ -12,10 +12,10 @@ admin_account_action: include_statuses: Brukeren vil se hvilke tuter som forårsaket moderator-handlingen eller -advarselen send_email_notification: Brukeren vil motta en forklaring på hva som har skjedd med deres bruker - text_html: Valgfritt. Du kan bruke tut syntaks. Du kan legge til advarsels-forhåndsinnstillinger for å spare tid + text_html: Valgfritt. Du kan bruke innlegg-syntaks. Du kan legge til advarsels-forhåndsinnstillinger for å spare tid type_html: Velg hva du vil gjøre med %{acct} types: - disable: Forhindre brukeren å bruke kontoen sin, men ikke slett eller skjule innholdet deres. + disable: Forhindre brukeren fra å bruke kontoen sin, men ikke slett eller skjul innholdet deres. none: Bruk dette for å sende en advarsel til brukeren uten å utløse noen andre handlinger. sensitive: Tving alle denne brukerens medievedlegg til å bli markert som følsom. silence: Hindre brukeren i å kunne skrive offentlig synlighet, skjule sine innlegg og varsler for personer som ikke kan følge dem. @@ -60,6 +60,7 @@ domain_allow: domain: Dette domenet vil være i stand til å hente data fra denne serveren og dets innkommende data vil bli prosessert og lagret email_domain_block: + domain: Dette kan være domenenavnet som vises i e-postadressen eller MX-oppføringen den bruker. De vil bli sjekket ved oppretting av konto. with_dns_records: Et forsøk på å løse det gitte domenets DNS-poster vil bli gjort, og resultatene vil også bli svartelistet form_challenge: current_password: Du går inn i et sikkert område @@ -104,7 +105,7 @@ disable: Deaktiver pålogging none: Ikke gjør noe sensitive: Sensitiv - silence: Stilne + silence: Begrens suspend: Suspender og ugjenkallelig slett brukerdata warning_preset_id: Bruk en advarsels-forhåndsinnstilling announcement: diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml index ba8cb7e1218..d2bb4dfbd7f 100644 --- a/config/locales/simple_form.pt-BR.yml +++ b/config/locales/simple_form.pt-BR.yml @@ -77,6 +77,10 @@ pt-BR: backups_retention_period: Manter os arquivos de usuário gerados pelo número de dias especificados. bootstrap_timeline_accounts: Estas contas serão fixadas no topo das recomendações de novos usuários para seguir. closed_registrations_message: Exibido quando as inscrições estiverem fechadas + content_cache_retention_period: Postagens de outros servidores serão excluídas após o número de dias especificados, quando definido com um valor positivo. Isso pode ser irreversível. + custom_css: Você pode aplicar estilos personalizados na versão da web do Mastodon. + mascot: Substitui a ilustração na interface web avançada. + media_cache_retention_period: Os arquivos de mídia baixados serão excluídos após o número especificado de dias, quando definido para um valor positivo, e baixados novamente na demanda. site_contact_username: Como as pessoas podem chegar até você no Mastodon. site_extended_description: Quaisquer informações adicionais que possam ser úteis para os visitantes e seus usuários. Podem ser estruturadas com formato Markdown. site_title: Como as pessoas podem se referir ao seu servidor além do nome do domínio. diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml index 85c47dae986..18a3b032ff9 100644 --- a/config/locales/simple_form.sk.yml +++ b/config/locales/simple_form.sk.yml @@ -52,6 +52,9 @@ sk: data: CSV súbor vyexportovaný z iného Mastodon serveru invite_request: text: Toto pomôže s vyhodnocovaním tvojej žiadosti + ip_block: + severities: + sign_up_block: Nové registrácie nebudú možné sessions: otp: 'Napíš sem dvoj-faktorový kód z telefónu, alebo použi jeden z tvojích obnovovacích kódov:' tag: diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index f23712d9f98..3083f44a3ba 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -33,7 +33,7 @@ th: autofollow: ผู้คนที่ลงทะเบียนผ่านคำเชิญจะติดตามคุณโดยอัตโนมัติ avatar: PNG, GIF หรือ JPG สูงสุด %{size} จะถูกย่อขนาดเป็น %{dimensions}px bot: ส่งสัญญาณให้ผู้อื่นว่าบัญชีทำการกระทำแบบอัตโนมัติเป็นหลักและอาจไม่ได้รับการสังเกตการณ์ - context: บริบทจำนวนหนึ่งหรือมากกว่าที่ตัวกรองควรใช้ + context: หนึ่งหรือหลายบริบทที่ตัวกรองควรนำไปใช้ current_password: เพื่อวัตถุประสงค์ด้านความปลอดภัย โปรดป้อนรหัสผ่านของบัญชีปัจจุบัน current_username: เพื่อยืนยัน โปรดป้อนชื่อผู้ใช้ของบัญชีปัจจุบัน digest: ส่งเฉพาะหลังจากไม่มีการใช้งานเป็นเวลานานและในกรณีที่คุณได้รับข้อความส่วนบุคคลใด ๆ เมื่อคุณไม่อยู่เท่านั้น @@ -74,17 +74,24 @@ th: hide: ซ่อนเนื้อหาที่กรองอยู่อย่างสมบูรณ์ ทำเสมือนว่าไม่มีเนื้อหาอยู่ warn: ซ่อนเนื้อหาที่กรองอยู่หลังคำเตือนที่กล่าวถึงชื่อเรื่องของตัวกรอง form_admin_settings: + backups_retention_period: เก็บการเก็บถาวรผู้ใช้ที่สร้างขึ้นตามจำนวนวันที่ระบุ bootstrap_timeline_accounts: จะปักหมุดบัญชีเหล่านี้ไว้ด้านบนสุดของคำแนะนำการติดตามของผู้ใช้ใหม่ closed_registrations_message: แสดงเมื่อมีการปิดการลงทะเบียน + content_cache_retention_period: จะลบโพสต์จากเซิร์ฟเวอร์อื่น ๆ หลังจากจำนวนวันที่ระบุเมื่อตั้งเป็นค่าบวก นี่อาจย้อนกลับไม่ได้ + custom_css: คุณสามารถนำไปใช้ลักษณะที่กำหนดเองใน Mastodon รุ่นเว็บ mascot: เขียนทับภาพประกอบในส่วนติดต่อเว็บขั้นสูง + media_cache_retention_period: จะลบไฟล์สื่อที่ดาวน์โหลดหลังจากจำนวนวันที่ระบุเมื่อตั้งเป็นค่าบวก และดาวน์โหลดใหม่ตามความต้องการ profile_directory: ไดเรกทอรีโปรไฟล์แสดงรายการผู้ใช้ทั้งหมดที่ได้เลือกรับให้สามารถค้นพบได้ site_contact_email: วิธีที่ผู้คนสามารถเข้าถึงคุณสำหรับการสอบถามด้านกฎหมายหรือการสนับสนุน site_contact_username: วิธีที่ผู้คนสามารถเข้าถึงคุณใน Mastodon + site_extended_description: ข้อมูลเพิ่มเติมใด ๆ ที่อาจเป็นประโยชน์กับผู้เยี่ยมชมและผู้ใช้ของคุณ สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown + site_short_description: คำอธิบายแบบสั้นเพื่อช่วยระบุเซิร์ฟเวอร์ของคุณโดยเฉพาะ ผู้ดำเนินการเซิร์ฟเวอร์ เซิร์ฟเวอร์สำหรับใคร? site_terms: ใช้นโยบายความเป็นส่วนตัวของคุณเองหรือเว้นว่างไว้เพื่อใช้ค่าเริ่มต้น สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown site_title: วิธีที่ผู้คนอาจอ้างอิงถึงเซิร์ฟเวอร์ของคุณนอกเหนือจากชื่อโดเมนของเซิร์ฟเวอร์ theme: ชุดรูปแบบที่ผู้เยี่ยมชมที่ออกจากระบบและผู้ใช้ใหม่เห็น thumbnail: แสดงภาพ 2:1 โดยประมาณควบคู่ไปกับข้อมูลเซิร์ฟเวอร์ของคุณ timeline_preview: ผู้เยี่ยมชมที่ออกจากระบบจะสามารถเรียกดูโพสต์สาธารณะล่าสุดที่มีในเซิร์ฟเวอร์ + trendable_by_default: ข้ามการตรวจทานเนื้อหาที่กำลังนิยมด้วยตนเอง ยังคงสามารถเอาแต่ละรายการออกจากแนวโน้มได้หลังเกิดเหตุ trends: แนวโน้มแสดงว่าโพสต์, แฮชแท็ก และเรื่องข่าวใดกำลังได้รับความสนใจในเซิร์ฟเวอร์ของคุณ form_challenge: current_password: คุณกำลังเข้าสู่พื้นที่ปลอดภัย @@ -147,7 +154,7 @@ th: announcement: all_day: เหตุการณ์ตลอดทั้งวัน ends_at: การสิ้นสุดเหตุการณ์ - scheduled_at: จัดกำหนดการเผยแพร่ + scheduled_at: จัดกำหนดการสำหรับการเผยแพร่ starts_at: การเริ่มต้นเหตุการณ์ text: ประกาศ appeal: diff --git a/config/locales/sk.yml b/config/locales/sk.yml index e1b2ae99a6a..51c44712262 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -5,6 +5,7 @@ sk: contact_missing: Nezadaný contact_unavailable: Neuvedený/á hosted_on: Mastodon hostovaný na %{domain} + title: O accounts: follow: Následuj followers: @@ -534,6 +535,7 @@ sk: didnt_get_confirmation: Neobdržal/a si kroky na potvrdenie? forgot_password: Zabudnuté heslo? invalid_reset_password_token: Token na obnovu hesla vypršal. Prosím vypítaj si nový. + log_in_with: Prihlás sa s login: Prihlás sa logout: Odhlás sa migrate_account: Presúvam sa na iný účet @@ -845,7 +847,6 @@ sk: activity: Najnovšia aktivita browser: Prehliadač browsers: - blackberry: RIM Blackberry chrome: Google Chrome firefox: Mozilla Firefox generic: Neznámy prehliadač @@ -859,7 +860,6 @@ sk: explanation: Tieto sú prehliadače ktoré sú teraz prihlásené na tvoj Mastodon účet. ip: IP adresa platforms: - chrome_os: Google ChromeOS ios: Apple iOS linux: GNU/Linux mac: MacOSX diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 4b196cbf08f..7967723ae94 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -634,7 +634,7 @@ sl: two: "%{count} uporabnika" categories: administration: Upravljanje - devops: Razvojniki + devops: DevOps invites: Povabila moderation: Moderiranje special: Posebno @@ -687,7 +687,7 @@ sl: view_audit_log_description: Omogoča, da uporabnik vidi zgodovino skrbniških opravil na strežniku view_dashboard: Pokaži nadzorno ploščo view_dashboard_description: Omogoča uporabnikom, da dostopajo do nadzorne plošče in različnih meritev - view_devops: Razvojniki + view_devops: DevOps view_devops_description: Omogoča uporabnikom, da dostopajo do nadzornih plošč Sidekiq in phHero title: Vloge rules: @@ -1449,7 +1449,7 @@ sl: adobe_air: Adobe Air android: Android blackberry: BlackBerry - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/sq.yml b/config/locales/sq.yml index ceb57ec4f84..5dfdf806cf4 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -1368,7 +1368,7 @@ sq: browser: Shfletues browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1382,7 +1382,7 @@ sq: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UCBrowser + uc_browser: Shfletues UC weibo: Weibo current_session: Sesioni i tanishëm description: "%{browser} në %{platform}" @@ -1391,7 +1391,7 @@ sq: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry + blackberry: BlackBerry chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml index 0d4b6581df5..cd142af7727 100644 --- a/config/locales/sr-Latn.yml +++ b/config/locales/sr-Latn.yml @@ -296,7 +296,6 @@ sr-Latn: activity: Poslednja aktivnost browser: Veb čitač browsers: - blackberry: Blekberi chrome: Hrom generic: Nepoznati veb čitač current_session: Trenutna sesija @@ -305,8 +304,6 @@ sr-Latn: platforms: adobe_air: Adobe Air-a android: Androida - blackberry: Blekberija - chrome_os: Hrom OS-a firefox_os: Fajerfoks OS-a linux: Linuksa mac: Mac-a diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 36bd3ebf477..acb2289e7c7 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -445,7 +445,6 @@ sr: browser: Веб читач browsers: alipay: Алипеј - blackberry: Блекберија chrome: Хром edge: Мајкрософт Еџ electron: Електрон @@ -459,7 +458,6 @@ sr: phantom_js: ФантомЏејЕс qq: КјуКју Претраживач safari: Сафари - uc_browser: УЦПретраживач weibo: Веибо current_session: Тренутна сесија description: "%{browser} са %{platform}" @@ -467,8 +465,6 @@ sr: platforms: adobe_air: Адоб Ер-а android: Андроида - blackberry: Блекберија - chrome_os: Хром ОС-а firefox_os: Фајерфокс ОС-а ios: иОС-а linux: Линукса diff --git a/config/locales/sv.yml b/config/locales/sv.yml index cf311b3cb61..bd3c1693aa9 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -608,7 +608,7 @@ sv: other: "%{count} användare" categories: administration: Administration - devops: Devops + devops: DevOps invites: Inbjudningar moderation: Moderering special: Särskild @@ -659,7 +659,7 @@ sv: view_audit_log_description: Tillåter användare att se historiken över administrativa åtgärder på servern view_dashboard: Visa instrumentpanel view_dashboard_description: Ger användare tillgång till instrumentpanelen och olika mätvärden - view_devops: Devops + view_devops: DevOps view_devops_description: Ger användare tillgång till instrumentpanelerna Sidekiq och pgHero title: Roller rules: @@ -1373,7 +1373,7 @@ sv: browser: Webbläsare browsers: alipay: Alipay - blackberry: Blackberry + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1387,7 @@ sv: phantom_js: PhantomJS qq: QQ browser safari: Safari - uc_browser: UCBrowser + uc_browser: UC Browser weibo: Weibo current_session: Nuvarande session description: "%{browser} på %{platform}" @@ -1396,8 +1396,8 @@ sv: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS + blackberry: BlackBerry + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/th.yml b/config/locales/th.yml index 8f5fa3ccd2d..9a4c665ec67 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -11,7 +11,7 @@ th: followers: other: ผู้ติดตาม following: กำลังติดตาม - instance_actor_flash: บัญชีนี้เป็นตัวดำเนินการเสมือนที่ใช้เพื่อเป็นตัวแทนของเซิร์ฟเวอร์เองและไม่ใช่ผู้ใช้รายบุคคลใด ๆ บัญชีใช้สำหรับวัตถุประสงค์ในการติดต่อกับภายนอกและไม่ควรได้รับการระงับ + instance_actor_flash: บัญชีนี้เป็นตัวดำเนินการเสมือนที่ใช้เพื่อเป็นตัวแทนของเซิร์ฟเวอร์เองและไม่ใช่ผู้ใช้รายบุคคลใด ๆ มีการใช้บัญชีสำหรับวัตถุประสงค์ในการติดต่อกับภายนอกและไม่ควรได้รับการระงับ last_active: ใช้งานล่าสุด link_verified_on: ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ %{date} nothing_here: ไม่มีสิ่งใดที่นี่! @@ -296,8 +296,8 @@ th: title: ประกาศใหม่ publish: เผยแพร่ published_msg: เผยแพร่ประกาศสำเร็จ! - scheduled_for: จัดกำหนดไว้สำหรับ %{time} - scheduled_msg: จัดกำหนดการเผยแพร่ประกาศแล้ว! + scheduled_for: จัดกำหนดการไว้สำหรับ %{time} + scheduled_msg: จัดกำหนดการสำหรับการเผยแพร่ประกาศแล้ว! title: ประกาศ unpublish: เลิกเผยแพร่ unpublished_msg: เลิกเผยแพร่ประกาศสำเร็จ! @@ -377,7 +377,7 @@ th: existing_domain_block_html: คุณได้กำหนดขีดจำกัดที่เข้มงวดกว่าใน %{name} ไปแล้ว คุณจำเป็นต้อง เลิกปิดกั้น ก่อน new: create: สร้างการปิดกั้น - hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะใช้วิธีการควบคุมที่เฉพาะเจาะจงกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ + hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะนำไปใช้วิธีการควบคุมที่เฉพาะเจาะจงกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ severity: desc_html: "ทำให้เงียบ จะทำให้โพสต์ของบัญชีไม่ปรากฏแก่ใครก็ตามที่ไม่ได้กำลังติดตามบัญชี ระงับ จะเอาเนื้อหา, สื่อ และข้อมูลโปรไฟล์ทั้งหมดของบัญชีออก ใช้ ไม่มี หากคุณเพียงแค่ต้องการปฏิเสธไฟล์สื่อ" noop: ไม่มี @@ -590,6 +590,7 @@ th: other: "%{count} ผู้ใช้" categories: administration: การดูแล + devops: DevOps invites: คำเชิญ moderation: การควบคุม special: พิเศษ @@ -637,6 +638,7 @@ th: view_audit_log_description: อนุญาตให้ผู้ใช้ดูประวัติการกระทำการดูแลในเซิร์ฟเวอร์ view_dashboard: ดูแดชบอร์ด view_dashboard_description: อนุญาตให้ผู้ใช้เข้าถึงแดชบอร์ดและเมตริกต่าง ๆ + view_devops: DevOps view_devops_description: อนุญาตให้ผู้ใช้เข้าถึงแดชบอร์ด Sidekiq และ pgHero title: บทบาท rules: @@ -716,6 +718,8 @@ th: appeal_approved: อุทธรณ์แล้ว appeal_pending: รอดำเนินการการอุทธรณ์ system_checks: + database_schema_check: + message_html: มีการโยกย้ายฐานข้อมูลที่รอดำเนินการ โปรดเรียกใช้การโยกย้ายเพื่อให้แน่ใจว่าแอปพลิเคชันทำงานตามที่คาดไว้ elasticsearch_running_check: message_html: ไม่สามารถเชื่อมต่อกับ Elasticsearch โปรดตรวจสอบว่าซอฟต์แวร์กำลังทำงาน หรือปิดใช้งานการค้นหาข้อความแบบเต็ม elasticsearch_version_check: @@ -804,6 +808,8 @@ th: other: "%{count} เหตุการณ์ที่เปิดใช้งาน" events: เหตุการณ์ new: เว็บฮุคใหม่ + rotate_secret: สับเปลี่ยนข้อมูลลับ + secret: ข้อมูลลับการเซ็น status: สถานะ title: เว็บฮุค webhook: เว็บฮุค @@ -914,7 +920,7 @@ th: account_status: สถานะบัญชี confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์ functional: บัญชีของคุณทำงานได้อย่างเต็มที่ - pending: ใบสมัครของคุณกำลังรอดำเนินการตรวจทานโดยพนักงานของเรา นี่อาจใช้เวลาสักครู่ คุณจะได้รับอีเมลหากใบสมัครของคุณได้รับการอนุมัติ + pending: ใบสมัครของคุณกำลังรอดำเนินการตรวจทานโดยพนักงานของเรา นี่อาจใช้เวลาสักครู่ คุณจะได้รับอีเมลหากมีการอนุมัติใบสมัครของคุณ redirecting_to: บัญชีของคุณไม่ได้ใช้งานเนื่องจากบัญชีกำลังเปลี่ยนเส้นทางไปยัง %{acct} ในปัจจุบัน view_strikes: ดูการดำเนินการที่ผ่านมากับบัญชีของคุณ too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง @@ -982,7 +988,7 @@ th: appeal_approved: อุทธรณ์การดำเนินการนี้สำเร็จและไม่มีผลบังคับอีกต่อไป appeal_rejected: ปฏิเสธการอุทธรณ์แล้ว appeal_submitted_at: ส่งการอุทธรณ์แล้ว - appealed_msg: ส่งการอุทธรณ์ของคุณแล้ว หากการอุทธรณ์ได้รับการอนุมัติ คุณจะได้รับการแจ้งเตือน + appealed_msg: ส่งการอุทธรณ์ของคุณแล้ว หากมีการอนุมัติการอุทธรณ์ คุณจะได้รับการแจ้งเตือน appeals: submit: ส่งการอุทธรณ์ approve_appeal: อนุมัติการอุทธรณ์ @@ -1042,6 +1048,8 @@ th: storage: ที่เก็บข้อมูลสื่อ featured_tags: add_new: เพิ่มใหม่ + errors: + limit: คุณได้แนะนำแฮชแท็กถึงจำนวนสูงสุดไปแล้ว filters: contexts: account: โปรไฟล์ @@ -1054,6 +1062,7 @@ th: keywords: คำสำคัญ title: แก้ไขตัวกรอง errors: + deprecated_api_multiple_keywords: ไม่สามารถเปลี่ยนพารามิเตอร์เหล่านี้จากแอปพลิเคชันนี้เนื่องจากพารามิเตอร์นำไปใช้กับคำสำคัญของตัวกรองมากกว่าหนึ่ง ใช้แอปพลิเคชันที่ใหม่กว่าหรือส่วนติดต่อเว็บ invalid_context: ไม่มีหรือบริบทที่ให้มาไม่ถูกต้อง index: contexts: กรองใน %{contexts} @@ -1074,6 +1083,7 @@ th: batch: remove: เอาออกจากตัวกรอง index: + hint: ตัวกรองนี้นำไปใช้เพื่อเลือกแต่ละโพสต์โดยไม่คำนึงถึงเกณฑ์อื่น ๆ คุณสามารถเพิ่มโพสต์เพิ่มเติมไปยังตัวกรองนี้ได้จากส่วนติดต่อเว็บ title: โพสต์ที่กรองอยู่ footer: trending_now: กำลังนิยม @@ -1239,6 +1249,7 @@ th: trillion: ล้านล้าน otp_authentication: code_hint: ป้อนรหัสที่สร้างโดยแอปตัวรับรองความถูกต้องของคุณเพื่อยืนยัน + description_html: หากคุณเปิดใช้งาน การรับรองความถูกต้องด้วยสองปัจจัย โดยใช้แอปตัวรับรองความถูกต้อง การเข้าสู่ระบบจะต้องการให้คุณอยู่ในความครอบครองโทรศัพท์ของคุณ ซึ่งจะสร้างโทเคนสำหรับให้คุณป้อน enable: เปิดใช้งาน instructions_html: "สแกนรหัส QR นี้ลงใน Google Authenticator หรือแอป TOTP ที่คล้ายกันในโทรศัพท์ของคุณ จากนี้ไป แอปนั้นจะสร้างโทเคนที่คุณจะต้องป้อนเมื่อเข้าสู่ระบบ" manual_instructions: 'หากคุณไม่สามารถสแกนรหัส QR และจำเป็นต้องป้อนรหัสด้วยตนเอง นี่คือรหัสลับแบบข้อความธรรมดา:' @@ -1298,12 +1309,15 @@ th: account: โพสต์สาธารณะจาก @%{acct} tag: 'โพสต์สาธารณะที่ได้รับการแท็ก #%{hashtag}' scheduled_statuses: - too_soon: วันที่ตามกำหนดการต้องอยู่ในอนาคต + over_daily_limit: คุณมีโพสต์ที่จัดกำหนดการไว้เกินขีดจำกัดที่ %{limit} สำหรับวันนี้ + over_total_limit: คุณมีโพสต์ที่จัดกำหนดการไว้เกินขีดจำกัดที่ %{limit} + too_soon: วันที่จัดกำหนดการต้องอยู่ในอนาคต sessions: activity: กิจกรรมล่าสุด browser: เบราว์เซอร์ browsers: alipay: Alipay + blackberry: BlackBerry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1317,6 +1331,7 @@ th: phantom_js: PhantomJS qq: เบราว์เซอร์ QQ safari: Safari + uc_browser: เบราว์เซอร์ UC weibo: Weibo current_session: เซสชันปัจจุบัน description: "%{browser} ใน %{platform}" @@ -1325,11 +1340,12 @@ th: platforms: adobe_air: Adobe Air android: Android - chrome_os: Chrome OS + blackberry: BlackBerry + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux - mac: Mac + mac: macOS other: แพลตฟอร์มที่ไม่รู้จัก windows: Windows windows_mobile: Windows Mobile @@ -1379,8 +1395,10 @@ th: errors: in_reply_not_found: ดูเหมือนว่าจะไม่มีโพสต์ที่คุณกำลังพยายามตอบกลับอยู่ open_in_web: เปิดในเว็บ + over_character_limit: เกินขีดจำกัดตัวอักษรที่ %{max} pin_errors: direct: ไม่สามารถปักหมุดโพสต์ที่ปรากฏแก่ผู้ใช้ที่กล่าวถึงเท่านั้น + limit: คุณได้ปักหมุดโพสต์ถึงจำนวนสูงสุดไปแล้ว ownership: ไม่สามารถปักหมุดโพสต์ของคนอื่น reblog: ไม่สามารถปักหมุดการดัน poll: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index b041b63f1a6..cc2193a6863 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -608,7 +608,6 @@ tr: other: "%{count} kullanıcı" categories: administration: Yönetim - devops: Devops invites: Davetler moderation: Denetim special: Özel @@ -659,7 +658,6 @@ tr: view_audit_log_description: Kullanıcıların sunucudaki yönetsel eylemlerin bir tarihçesini görüntülemesine izin verir view_dashboard: Ana Paneli Görüntüleme view_dashboard_description: Kullanıcıların ana panele ve çeşitli ölçütlere erişmesine izin verir - view_devops: Devops view_devops_description: Kullanıcıların Sidekiq ve pgHero panellerine erişmesine izin verir title: Roller rules: @@ -1373,7 +1371,6 @@ tr: browser: Tarayıcı browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Microsoft Edge electron: Electron @@ -1387,7 +1384,6 @@ tr: phantom_js: PhantomJS qq: QQ Browser safari: Safari - uc_browser: UC Browser weibo: Weibo current_session: Geçerli oturum description: "%{platform} - %{browser}" @@ -1396,8 +1392,6 @@ tr: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/tt.yml b/config/locales/tt.yml index 40a0207e5b6..b2986602db8 100644 --- a/config/locales/tt.yml +++ b/config/locales/tt.yml @@ -189,7 +189,6 @@ tt: browser: Браузер browsers: alipay: Аlipay - blackberry: Blаckberry chrome: Chrоme edge: Microsоft Edge electron: Electrоn @@ -202,15 +201,12 @@ tt: phantom_js: PhаntomJS qq: QQ Brоwser safari: Safаri - uc_browser: UCBrоwser weibo: Weibо description: "%{browser} - %{platform}" ip: ІР platforms: adobe_air: Adobе Air android: Andrоid - blackberry: Blаckberry - chrome_os: ChromеOS firefox_os: Firеfox OS ios: iОS linux: Lіnux diff --git a/config/locales/uk.yml b/config/locales/uk.yml index df73233dfe4..94ac3f2b8a1 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -634,7 +634,6 @@ uk: other: "%{count} користувача" categories: administration: Адміністрування - devops: DevOps invites: Запрошення moderation: Модерація special: Спеціальні @@ -687,7 +686,6 @@ uk: view_audit_log_description: Дозволяє користувачам бачити історію адміністративних дій на сервері view_dashboard: Переглядати панель керування view_dashboard_description: Дозволяє користувачам доступ до панелі керування та різних метрик - view_devops: DevOps view_devops_description: Дозволяє користувачам доступ до Sidekiq і панелі pgHero title: Ролі rules: @@ -1425,7 +1423,6 @@ uk: browser: Браузер browsers: alipay: Alipay - blackberry: Blackberry chrome: Хром edge: Microsoft Edge electron: Electron @@ -1439,7 +1436,6 @@ uk: phantom_js: PhantomJS qq: QQ Browser safari: Сафарі - uc_browser: UCBrowser weibo: Weibo current_session: Активна сесія description: "%{browser} на %{platform}" @@ -1448,8 +1444,6 @@ uk: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/vi.yml b/config/locales/vi.yml index f1b84de8609..b3e37438f34 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -595,7 +595,6 @@ vi: other: "%{count} người" categories: administration: Quản trị viên - devops: Nhà phát triển invites: Lời mời moderation: Kiểm duyệt special: Đặc biệt @@ -645,7 +644,6 @@ vi: view_audit_log_description: Cho phép xem lịch sử của các hành động quản trị trên máy chủ view_dashboard: Xem quản trị view_dashboard_description: Cho phép truy cập trang tổng quan và các chỉ số khác - view_devops: Nhà phát triển view_devops_description: Cho phép truy cập trang tổng quan Sidekiq và pgHero title: Danh sách vai trò rules: @@ -1347,7 +1345,6 @@ vi: browser: Trình duyệt browsers: alipay: Alipay - blackberry: Blackberry chrome: Chrome edge: Edge electron: Electron @@ -1361,7 +1358,6 @@ vi: phantom_js: PhantomJS qq: QQ safari: Safari - uc_browser: UC weibo: Weibo current_session: Phiên hiện tại description: "%{browser} trên %{platform}" @@ -1370,8 +1366,6 @@ vi: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: Chrome OS firefox_os: Hệ điều hành Firefox ios: iOS linux: Linux diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index a6c75ea713d..4da6b699978 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -1007,7 +1007,7 @@ zh-CN: appeal: 申诉 appeal_approved: 此次处罚已申诉成功并不再生效 appeal_rejected: 此次申诉已被驳回 - appeal_submitted_at: 申诉已提交 + appeal_submitted_at: 已提出申诉 appealed_msg: 你的申诉已经提交。如果申诉通过,你将收到通知。 appeals: submit: 提交申诉 @@ -1361,7 +1361,7 @@ zh-CN: phantom_js: PhantomJS qq: QQ浏览器 safari: Safari - uc_browser: UC浏览器 + uc_browser: UC 浏览器 weibo: 新浪微博 current_session: 当前会话 description: "%{platform} 上的 %{browser}" @@ -1371,7 +1371,7 @@ zh-CN: adobe_air: Adobe Air android: Android blackberry: 黑莓 - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index acc6de3adea..92489882d08 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -893,7 +893,6 @@ zh-HK: browser: 瀏覽器 browsers: alipay: 支付寶 - blackberry: 黑莓機 chrome: Chrome 瀏覽器 edge: Microsoft Edge 瀏覽器 electron: Electron 瀏覽器 @@ -907,7 +906,6 @@ zh-HK: phantom_js: PhantomJS 瀏覽器 qq: QQ瀏覽器 safari: Safari 瀏覽器 - uc_browser: UC瀏覽器 weibo: 新浪微博 current_session: 目前的作業階段 description: "%{platform} 上的 %{browser}" @@ -916,8 +914,6 @@ zh-HK: platforms: adobe_air: Adobe Air android: Android - blackberry: Blackberry - chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 5953c2275bb..c9596c04036 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -597,7 +597,7 @@ zh-TW: other: "%{count} 個使用者" categories: administration: 管理員 - devops: Devops + devops: DevOps invites: 邀請 moderation: 站務 special: 特殊 @@ -647,7 +647,7 @@ zh-TW: view_audit_log_description: 允許使用者檢視伺服器上的管理動作歷史 view_dashboard: 檢視儀表板 view_dashboard_description: 允許使用者存取儀表板與各種指標 - view_devops: Devops + view_devops: DevOps view_devops_description: 允許使用者存取 Sidekiq 與 pgHero 儀表板 title: 角色 rules: @@ -1349,7 +1349,6 @@ zh-TW: browser: 瀏覽器 browsers: alipay: 支付寶 - blackberry: 黑莓機 chrome: Chrome 瀏覽器 edge: Microsoft Edge 瀏覽器 electron: Electron 瀏覽器 @@ -1372,8 +1371,7 @@ zh-TW: platforms: adobe_air: Adobe Air android: Android - blackberry: 黑莓機 (Blackberry) - chrome_os: Chrome OS + chrome_os: ChromeOS firefox_os: Firefox OS ios: iOS linux: Linux From 1af482659d6f3094934a202c6394247c491d514c Mon Sep 17 00:00:00 2001 From: Arthur Isac <94634250+v-aisac@users.noreply.github.com> Date: Sun, 13 Nov 2022 21:58:40 +0200 Subject: [PATCH 104/144] Copied Spaces support from packer .rake (#20573) --- lib/tasks/mastodon.rake | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 3ec685c7434..c1e5bd2b454 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -142,7 +142,40 @@ namespace :mastodon do prompt.say "\n" if prompt.yes?('Do you want to store uploaded files on the cloud?', default: false) - case prompt.select('Provider', ['Amazon S3', 'Wasabi', 'Minio', 'Google Cloud Storage']) + case prompt.select('Provider', ['DigitalOcean Spaces', 'Amazon S3', 'Wasabi', 'Minio', 'Google Cloud Storage']) + when 'DigitalOcean Spaces' + env['S3_ENABLED'] = 'true' + env['S3_PROTOCOL'] = 'https' + + env['S3_BUCKET'] = prompt.ask('Space name:') do |q| + q.required true + q.default "files.#{env['LOCAL_DOMAIN']}" + q.modify :strip + end + + env['S3_REGION'] = prompt.ask('Space region:') do |q| + q.required true + q.default 'nyc3' + q.modify :strip + end + + env['S3_HOSTNAME'] = prompt.ask('Space endpoint:') do |q| + q.required true + q.default 'nyc3.digitaloceanspaces.com' + q.modify :strip + end + + env['S3_ENDPOINT'] = "https://#{env['S3_HOSTNAME']}" + + env['AWS_ACCESS_KEY_ID'] = prompt.ask('Space access key:') do |q| + q.required true + q.modify :strip + end + + env['AWS_SECRET_ACCESS_KEY'] = prompt.ask('Space secret key:') do |q| + q.required true + q.modify :strip + end when 'Amazon S3' env['S3_ENABLED'] = 'true' env['S3_PROTOCOL'] = 'https' From 3d3bd344cb30929756e4b6ddcadddb20e16d172f Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 13 Nov 2022 20:58:54 +0100 Subject: [PATCH 105/144] Fix announcement dates not being validated client-side (#20577) --- app/views/admin/announcements/edit.html.haml | 2 +- app/views/admin/announcements/new.html.haml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/admin/announcements/edit.html.haml b/app/views/admin/announcements/edit.html.haml index e20a839b954..66c8d31a799 100644 --- a/app/views/admin/announcements/edit.html.haml +++ b/app/views/admin/announcements/edit.html.haml @@ -4,7 +4,7 @@ - content_for :header_tags do = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' -= simple_form_for @announcement, url: admin_announcement_path(@announcement) do |f| += simple_form_for @announcement, url: admin_announcement_path(@announcement), html: { novalidate: false } do |f| = render 'shared/error_messages', object: @announcement .fields-group diff --git a/app/views/admin/announcements/new.html.haml b/app/views/admin/announcements/new.html.haml index d5881b7aa10..57b7d5e0c6f 100644 --- a/app/views/admin/announcements/new.html.haml +++ b/app/views/admin/announcements/new.html.haml @@ -4,7 +4,7 @@ - content_for :header_tags do = javascript_pack_tag 'admin', async: true, crossorigin: 'anonymous' -= simple_form_for @announcement, url: admin_announcements_path do |f| += simple_form_for @announcement, url: admin_announcements_path, html: { novalidate: false } do |f| = render 'shared/error_messages', object: @announcement .fields-group From cd5e98dbdb33a26c93c6bd81c6b1c74369befc25 Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 13 Nov 2022 20:59:49 +0100 Subject: [PATCH 106/144] Fix public/local timeline posts not being properly filtered (#20567) * Fix streaming server using wrong property name for matching filters Late in the PR, the `filter_results` property has been renamed to `filtered`, but the change has not been reflected in the streaming server code. * Fix filter_action attribute being an integer instead of a string --- streaming/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/streaming/index.js b/streaming/index.js index a55181bad2d..f8857ae5321 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -681,7 +681,7 @@ const startWorker = async (workerId) => { queries.push(client.query('SELECT 1 FROM account_domain_blocks WHERE account_id = $1 AND domain = $2', [req.accountId, accountDomain])); } - if (!unpackedPayload.filter_results && !req.cachedFilters) { + if (!unpackedPayload.filtered && !req.cachedFilters) { queries.push(client.query('SELECT filter.id AS id, filter.phrase AS title, filter.context AS context, filter.expires_at AS expires_at, filter.action AS filter_action, keyword.keyword AS keyword, keyword.whole_word AS whole_word FROM custom_filter_keywords keyword JOIN custom_filters filter ON keyword.custom_filter_id = filter.id WHERE filter.account_id = $1 AND filter.expires_at IS NULL OR filter.expires_at > NOW()', [req.accountId])); } @@ -692,7 +692,7 @@ const startWorker = async (workerId) => { return; } - if (!unpackedPayload.filter_results && !req.cachedFilters) { + if (!unpackedPayload.filtered && !req.cachedFilters) { const filterRows = values[accountDomain ? 2 : 1].rows; req.cachedFilters = filterRows.reduce((cache, row) => { @@ -707,7 +707,7 @@ const startWorker = async (workerId) => { title: row.title, context: row.context, expires_at: row.expires_at, - filter_action: row.filter_action, + filter_action: ['warn', 'hide'][row.filter_action], }, }; } @@ -735,18 +735,18 @@ const startWorker = async (workerId) => { } // Check filters - if (req.cachedFilters && !unpackedPayload.filter_results) { + if (req.cachedFilters && !unpackedPayload.filtered) { const status = unpackedPayload; const searchContent = ([status.spoiler_text || '', status.content].concat((status.poll && status.poll.options) ? status.poll.options.map(option => option.title) : [])).concat(status.media_attachments.map(att => att.description)).join('\n\n').replace(//g, '\n').replace(/<\/p>

/g, '\n\n'); const searchIndex = JSDOM.fragment(searchContent).textContent; const now = new Date(); - payload.filter_results = []; + payload.filtered = []; Object.values(req.cachedFilters).forEach((cachedFilter) => { if ((cachedFilter.expires_at === null || cachedFilter.expires_at > now)) { const keyword_matches = searchIndex.match(cachedFilter.regexp); if (keyword_matches) { - payload.filter_results.push({ + payload.filtered.push({ filter: cachedFilter.repr, keyword_matches, }); From a6186da983edcf00e92950dae188123c66c1205d Mon Sep 17 00:00:00 2001 From: Nicholas La Roux Date: Mon, 14 Nov 2022 05:00:38 +0900 Subject: [PATCH 107/144] Clean up GitHub sourced gem entry (#20542) --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 34899967b31..07c300510cc 100644 --- a/Gemfile +++ b/Gemfile @@ -92,7 +92,7 @@ gem 'tty-prompt', '~> 0.23', require: false gem 'twitter-text', '~> 3.1.0' gem 'tzinfo-data', '~> 1.2022' gem 'webpacker', '~> 5.4' -gem 'webpush', git: 'https://github.com/ClearlyClaire/webpush.git', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9' +gem 'webpush', github: 'ClearlyClaire/webpush', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9' gem 'webauthn', '~> 2.5' gem 'json-ld' From bd806a3090f793b8a967d79e06019ec0a3ad17bf Mon Sep 17 00:00:00 2001 From: Claire Date: Sun, 13 Nov 2022 21:01:38 +0100 Subject: [PATCH 108/144] Update fix-duplicates (#20502) Fixes #19133 --- lib/mastodon/maintenance_cli.rb | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/lib/mastodon/maintenance_cli.rb b/lib/mastodon/maintenance_cli.rb index 6e5242bffdd..0b5049c14f0 100644 --- a/lib/mastodon/maintenance_cli.rb +++ b/lib/mastodon/maintenance_cli.rb @@ -14,7 +14,7 @@ module Mastodon end MIN_SUPPORTED_VERSION = 2019_10_01_213028 # rubocop:disable Style/NumericLiterals - MAX_SUPPORTED_VERSION = 2022_03_16_233212 # rubocop:disable Style/NumericLiterals + MAX_SUPPORTED_VERSION = 2022_11_04_133904 # rubocop:disable Style/NumericLiterals # Stubs to enjoy ActiveRecord queries while not depending on a particular # version of the code/database @@ -45,6 +45,7 @@ module Mastodon class FollowRecommendationSuppression < ApplicationRecord; end class CanonicalEmailBlock < ApplicationRecord; end class Appeal < ApplicationRecord; end + class Webhook < ApplicationRecord; end class PreviewCard < ApplicationRecord self.inheritance_column = false @@ -182,6 +183,7 @@ module Mastodon deduplicate_accounts! deduplicate_tags! deduplicate_webauthn_credentials! + deduplicate_webhooks! Scenic.database.refresh_materialized_view('instances', concurrently: true, cascade: false) if ActiveRecord::Migrator.current_version >= 2020_12_06_004238 Rails.cache.clear @@ -497,6 +499,7 @@ module Mastodon def deduplicate_tags! remove_index_if_exists!(:tags, 'index_tags_on_name_lower') + remove_index_if_exists!(:tags, 'index_tags_on_lower_btree') @prompt.say 'Deduplicating tags…' ActiveRecord::Base.connection.select_all("SELECT string_agg(id::text, ',') AS ids FROM tags GROUP BY lower((name)::text) HAVING count(*) > 1").each do |row| @@ -509,11 +512,10 @@ module Mastodon end @prompt.say 'Restoring tags indexes…' - ActiveRecord::Base.connection.add_index :tags, 'lower((name)::text)', name: 'index_tags_on_name_lower', unique: true - - if ActiveRecord::Base.connection.indexes(:tags).any? { |i| i.name == 'index_tags_on_name_lower_btree' } - @prompt.say 'Reindexing textual indexes on tags…' - ActiveRecord::Base.connection.execute('REINDEX INDEX index_tags_on_name_lower_btree;') + if ActiveRecord::Migrator.current_version < 20210421121431 + ActiveRecord::Base.connection.add_index :tags, 'lower((name)::text)', name: 'index_tags_on_name_lower', unique: true + else + ActiveRecord::Base.connection.execute 'CREATE UNIQUE INDEX CONCURRENTLY index_tags_on_name_lower_btree ON tags (lower(name) text_pattern_ops)' end end @@ -531,6 +533,20 @@ module Mastodon ActiveRecord::Base.connection.add_index :webauthn_credentials, ['external_id'], name: 'index_webauthn_credentials_on_external_id', unique: true end + def deduplicate_webhooks! + return unless ActiveRecord::Base.connection.table_exists?(:webhooks) + + remove_index_if_exists!(:webhooks, 'index_webhooks_on_url') + + @prompt.say 'Deduplicating webhooks…' + ActiveRecord::Base.connection.select_all("SELECT string_agg(id::text, ',') AS ids FROM webhooks GROUP BY url HAVING count(*) > 1").each do |row| + Webhooks.where(id: row['ids'].split(',')).sort_by(&:id).reverse.drop(1).each(&:destroy) + end + + @prompt.say 'Restoring webhooks indexes…' + ActiveRecord::Base.connection.add_index :webhooks, ['url'], name: 'index_webhooks_on_url', unique: true + end + def deduplicate_local_accounts!(accounts) accounts = accounts.sort_by(&:id).reverse From c2231539c78103e000ef5edeeade9d3bbe54ac8d Mon Sep 17 00:00:00 2001 From: Emily Strickland Date: Sun, 13 Nov 2022 12:02:09 -0800 Subject: [PATCH 109/144] Test blank account field verifiability (#20458) * Test blank account field verifiability This change tests the need for #20428, which ensures that we guard against a situation in which `at_xpath` returns `nil`. * Test verifiability of blank fields for remote account profiles This adds a counterpart test for remote account profiles' fields' verifiability when those fields are blank. I previously added the same test for local accounts. --- spec/models/account/field_spec.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/spec/models/account/field_spec.rb b/spec/models/account/field_spec.rb index fcb2a884a19..b4beec0483b 100644 --- a/spec/models/account/field_spec.rb +++ b/spec/models/account/field_spec.rb @@ -89,6 +89,14 @@ RSpec.describe Account::Field, type: :model do expect(subject.verifiable?).to be false end end + + context 'for text which is blank' do + let(:value) { '' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end end context 'for remote accounts' do @@ -133,6 +141,14 @@ RSpec.describe Account::Field, type: :model do expect(subject.verifiable?).to be false end end + + context 'for text which is blank' do + let(:value) { '' } + + it 'returns false' do + expect(subject.verifiable?).to be false + end + end end end end From e62b514e958ca2bfc08944b2368c6d41417f9e8a Mon Sep 17 00:00:00 2001 From: Samuel Kaiser Date: Sun, 13 Nov 2022 21:02:28 +0100 Subject: [PATCH 110/144] Stick batch table toolbar to the top (#20442) Fixes #20441 --- app/javascript/styles/mastodon/tables.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/javascript/styles/mastodon/tables.scss b/app/javascript/styles/mastodon/tables.scss index 39211910fb0..b644b38f158 100644 --- a/app/javascript/styles/mastodon/tables.scss +++ b/app/javascript/styles/mastodon/tables.scss @@ -178,6 +178,9 @@ a.table-action-link { } &__toolbar { + position: sticky; + top: 0; + z-index: 1; border: 1px solid darken($ui-base-color, 8%); background: $ui-base-color; border-radius: 4px 0 0; From 82c663300a90f83ac2ff0f3652fd536caac2364f Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Sun, 13 Nov 2022 21:05:30 +0100 Subject: [PATCH 111/144] Helm: support statsd publishing (#20455) * Allow statsd publishing from Helm * Apply suggestions from code review Co-authored-by: Erik Sundell Co-authored-by: Erik Sundell --- chart/templates/configmap-env.yaml | 3 +++ chart/values.yaml | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/chart/templates/configmap-env.yaml b/chart/templates/configmap-env.yaml index 00e60f31577..82a6a31e4ac 100644 --- a/chart/templates/configmap-env.yaml +++ b/chart/templates/configmap-env.yaml @@ -310,3 +310,6 @@ data: LDAP_UID_CONVERSION_REPLACE: {{ .Values.externalAuth.ldap.uid_conversion.replace }} {{- end }} {{- end }} + {{- with .Values.mastodon.metrics.statsd.address }} + STATSD_ADDR: {{ . }} + {{- end }} diff --git a/chart/values.yaml b/chart/values.yaml index 5cee86e0ec6..af1c7cbfc76 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -101,6 +101,11 @@ mastodon: web: port: 3000 + metrics: + statsd: + # Enable statsd publishing via STATSD_ADDR environment variable + address: "" + ingress: enabled: true annotations: From ad66bbed6291fa1cd3aee21e184d3ec7610688fa Mon Sep 17 00:00:00 2001 From: Cees-Jan Kiewiet Date: Sun, 13 Nov 2022 12:06:03 -0800 Subject: [PATCH 112/144] Add the option to configure external postgresql port (#20370) While the normal assumption of port `5432` for a postgresql server is pretty reliable I found that DigitalOcean puts them on a somewhat random port. This adds the ability to specify the port in the helm chart. --- chart/Chart.yaml | 2 +- chart/templates/configmap-env.yaml | 3 ++- chart/values.yaml | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/chart/Chart.yaml b/chart/Chart.yaml index c8ed0c9f97b..7080095f2de 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 2.2.0 +version: 2.3.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/chart/templates/configmap-env.yaml b/chart/templates/configmap-env.yaml index 82a6a31e4ac..5d0b96db8a4 100644 --- a/chart/templates/configmap-env.yaml +++ b/chart/templates/configmap-env.yaml @@ -7,12 +7,13 @@ metadata: data: {{- if .Values.postgresql.enabled }} DB_HOST: {{ template "mastodon.postgresql.fullname" . }} + DB_PORT: "5432" {{- else }} DB_HOST: {{ .Values.postgresql.postgresqlHostname }} + DB_PORT: {{ .Values.postgresql.postgresqlPort | default "5432" | quote }} {{- end }} DB_NAME: {{ .Values.postgresql.auth.database }} DB_POOL: {{ .Values.mastodon.sidekiq.concurrency | quote }} - DB_PORT: "5432" DB_USER: {{ .Values.postgresql.auth.username }} DEFAULT_LOCALE: {{ .Values.mastodon.locale }} {{- if .Values.elasticsearch.enabled }} diff --git a/chart/values.yaml b/chart/values.yaml index af1c7cbfc76..07171fc1a8e 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -149,6 +149,7 @@ postgresql: # must match those of that external postgres instance enabled: true # postgresqlHostname: preexisting-postgresql + # postgresqlPort: 5432 auth: database: mastodon_production username: mastodon From 07229089a63151a941e3bf9ff8e2fb5037b14b43 Mon Sep 17 00:00:00 2001 From: trwnh Date: Sun, 13 Nov 2022 14:10:20 -0600 Subject: [PATCH 113/144] Change in-app links to keep you in-app (#20540) * Change in-app links to keep you in-app * refactor Permalink into Link * rewrite link hrefs in status content * please linter * please linter again --- app/javascript/mastodon/components/account.js | 6 +-- .../mastodon/components/admin/Trends.js | 2 +- app/javascript/mastodon/components/hashtag.js | 10 ++--- .../mastodon/components/permalink.js | 40 ------------------- app/javascript/mastodon/components/status.js | 8 ++-- .../mastodon/components/status_content.js | 8 ++-- .../account/components/featured_tags.js | 1 - .../account_gallery/components/media_item.js | 2 +- .../account_timeline/components/moved_note.js | 8 ++-- .../compose/components/navigation_bar.js | 10 ++--- .../compose/components/reply_indicator.js | 2 +- .../components/conversation.js | 4 +- .../directory/components/account_card.js | 6 +-- .../components/account.js | 6 +-- .../components/account_authorize.js | 6 +-- .../components/follow_request.js | 6 +-- .../notifications/components/notification.js | 6 +-- .../picture_in_picture/components/footer.js | 2 +- .../status/components/detailed_status.js | 4 +- .../features/ui/components/boost_modal.js | 4 +- .../mastodon/features/ui/components/header.js | 5 +-- 21 files changed, 52 insertions(+), 94 deletions(-) delete mode 100644 app/javascript/mastodon/components/permalink.js diff --git a/app/javascript/mastodon/components/account.js b/app/javascript/mastodon/components/account.js index 51d2b8ba2c5..7aebb124cb6 100644 --- a/app/javascript/mastodon/components/account.js +++ b/app/javascript/mastodon/components/account.js @@ -3,13 +3,13 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import Avatar from './avatar'; import DisplayName from './display_name'; -import Permalink from './permalink'; import IconButton from './icon_button'; import { defineMessages, injectIntl } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { me } from '../initial_state'; import RelativeTimestamp from './relative_timestamp'; import Skeleton from 'mastodon/components/skeleton'; +import { Link } from 'react-router-dom'; const messages = defineMessages({ follow: { id: 'account.follow', defaultMessage: 'Follow' }, @@ -140,11 +140,11 @@ class Account extends ImmutablePureComponent { return (

- +
{mute_expires_at} -
+
{buttons} diff --git a/app/javascript/mastodon/components/admin/Trends.js b/app/javascript/mastodon/components/admin/Trends.js index 635bdf37d56..9530c2a5be6 100644 --- a/app/javascript/mastodon/components/admin/Trends.js +++ b/app/javascript/mastodon/components/admin/Trends.js @@ -50,7 +50,7 @@ export default class Trends extends React.PureComponent { day.uses)} diff --git a/app/javascript/mastodon/components/hashtag.js b/app/javascript/mastodon/components/hashtag.js index 75220211ecc..e516fc0867d 100644 --- a/app/javascript/mastodon/components/hashtag.js +++ b/app/javascript/mastodon/components/hashtag.js @@ -4,7 +4,7 @@ import { Sparklines, SparklinesCurve } from 'react-sparklines'; import { FormattedMessage } from 'react-intl'; import PropTypes from 'prop-types'; import ImmutablePropTypes from 'react-immutable-proptypes'; -import Permalink from './permalink'; +import { Link } from 'react-router-dom'; import ShortNumber from 'mastodon/components/short_number'; import Skeleton from 'mastodon/components/skeleton'; import classNames from 'classnames'; @@ -53,7 +53,6 @@ export const accountsCountRenderer = (displayNumber, pluralReady) => ( export const ImmutableHashtag = ({ hashtag }) => ( day.get('uses')).toArray()} @@ -64,12 +63,12 @@ ImmutableHashtag.propTypes = { hashtag: ImmutablePropTypes.map.isRequired, }; -const Hashtag = ({ name, href, to, people, uses, history, className, description, withGraph }) => ( +const Hashtag = ({ name, to, people, uses, history, className, description, withGraph }) => (
- + {name ? #{name} : } - + {description ? ( {description} @@ -98,7 +97,6 @@ const Hashtag = ({ name, href, to, people, uses, history, className, description Hashtag.propTypes = { name: PropTypes.string, - href: PropTypes.string, to: PropTypes.string, people: PropTypes.number, description: PropTypes.node, diff --git a/app/javascript/mastodon/components/permalink.js b/app/javascript/mastodon/components/permalink.js deleted file mode 100644 index b369e98126d..00000000000 --- a/app/javascript/mastodon/components/permalink.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; - -export default class Permalink extends React.PureComponent { - - static contextTypes = { - router: PropTypes.object, - }; - - static propTypes = { - className: PropTypes.string, - href: PropTypes.string.isRequired, - to: PropTypes.string.isRequired, - children: PropTypes.node, - onInterceptClick: PropTypes.func, - }; - - handleClick = e => { - if (this.props.onInterceptClick && this.props.onInterceptClick()) { - e.preventDefault(); - return; - } - - if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) { - e.preventDefault(); - this.context.router.history.push(this.props.to); - } - } - - render () { - const { href, children, className, onInterceptClick, ...other } = this.props; - - return ( - - {children} - - ); - } - -} diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js index d1235550fe7..a1384ba5838 100644 --- a/app/javascript/mastodon/components/status.js +++ b/app/javascript/mastodon/components/status.js @@ -378,7 +378,7 @@ class Status extends ImmutablePureComponent { prepend = (
- }} /> + }} />
); @@ -392,7 +392,7 @@ class Status extends ImmutablePureComponent { prepend = (
- }} /> + }} />
); } @@ -511,12 +511,12 @@ class Status extends ImmutablePureComponent {
- + {status.get('edited_at') && *} - +
{statusAvatar}
diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js index 139e8ed16e5..2a933c0a74e 100644 --- a/app/javascript/mastodon/components/status_content.js +++ b/app/javascript/mastodon/components/status_content.js @@ -2,7 +2,7 @@ import React from 'react'; import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import { FormattedMessage, injectIntl } from 'react-intl'; -import Permalink from './permalink'; +import { Link } from 'react-router-dom'; import classnames from 'classnames'; import PollContainer from 'mastodon/containers/poll_container'; import Icon from 'mastodon/components/icon'; @@ -91,8 +91,10 @@ class StatusContent extends React.PureComponent { if (mention) { link.addEventListener('click', this.onMentionClick.bind(this, mention), false); link.setAttribute('title', mention.get('acct')); + link.setAttribute('href', `/@${mention.get('acct')}`); } else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) { link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false); + link.setAttribute('href', `/tags/${link.text.slice(1)}`); } else { link.setAttribute('title', link.href); link.classList.add('unhandled-link'); @@ -242,9 +244,9 @@ class StatusContent extends React.PureComponent { let mentionsPlaceholder = ''; const mentionLinks = status.get('mentions').map(item => ( - + @{item.get('username')} - + )).reduce((aggregate, item) => [...aggregate, item, ' '], []); const toggleText = hidden ? : ; diff --git a/app/javascript/mastodon/features/account/components/featured_tags.js b/app/javascript/mastodon/features/account/components/featured_tags.js index 8194c063a2e..24a3f217145 100644 --- a/app/javascript/mastodon/features/account/components/featured_tags.js +++ b/app/javascript/mastodon/features/account/components/featured_tags.js @@ -39,7 +39,6 @@ class FeaturedTags extends ImmutablePureComponent { -
+
- +
-
+ - +
); diff --git a/app/javascript/mastodon/features/compose/components/navigation_bar.js b/app/javascript/mastodon/features/compose/components/navigation_bar.js index 372765ca4d1..be979af505e 100644 --- a/app/javascript/mastodon/features/compose/components/navigation_bar.js +++ b/app/javascript/mastodon/features/compose/components/navigation_bar.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import ImmutablePropTypes from 'react-immutable-proptypes'; import ActionBar from './action_bar'; import Avatar from '../../../components/avatar'; -import Permalink from '../../../components/permalink'; +import { Link } from 'react-router-dom'; import IconButton from '../../../components/icon_button'; import { FormattedMessage } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; @@ -19,15 +19,15 @@ export default class NavigationBar extends ImmutablePureComponent { render () { return (
- + {this.props.account.get('acct')} - + diff --git a/app/javascript/mastodon/features/compose/components/reply_indicator.js b/app/javascript/mastodon/features/compose/components/reply_indicator.js index 863defb768f..fc236882ad0 100644 --- a/app/javascript/mastodon/features/compose/components/reply_indicator.js +++ b/app/javascript/mastodon/features/compose/components/reply_indicator.js @@ -50,7 +50,7 @@ class ReplyIndicator extends ImmutablePureComponent {
- +
diff --git a/app/javascript/mastodon/features/direct_timeline/components/conversation.js b/app/javascript/mastodon/features/direct_timeline/components/conversation.js index 77ff2ce7b3b..4a770970d0e 100644 --- a/app/javascript/mastodon/features/direct_timeline/components/conversation.js +++ b/app/javascript/mastodon/features/direct_timeline/components/conversation.js @@ -7,7 +7,7 @@ import AttachmentList from 'mastodon/components/attachment_list'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container'; import AvatarComposite from 'mastodon/components/avatar_composite'; -import Permalink from 'mastodon/components/permalink'; +import { Link } from 'react-router-dom'; import IconButton from 'mastodon/components/icon_button'; import RelativeTimestamp from 'mastodon/components/relative_timestamp'; import { HotKeys } from 'react-hotkeys'; @@ -133,7 +133,7 @@ class Conversation extends ImmutablePureComponent { menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDelete }); - const names = accounts.map(a => ).reduce((prev, cur) => [prev, ', ', cur]); + const names = accounts.map(a => ).reduce((prev, cur) => [prev, ', ', cur]); const handlers = { reply: this.handleReply, diff --git a/app/javascript/mastodon/features/directory/components/account_card.js b/app/javascript/mastodon/features/directory/components/account_card.js index e7eeb225483..977f0c32c9f 100644 --- a/app/javascript/mastodon/features/directory/components/account_card.js +++ b/app/javascript/mastodon/features/directory/components/account_card.js @@ -6,7 +6,7 @@ import { connect } from 'react-redux'; import { makeGetAccount } from 'mastodon/selectors'; import Avatar from 'mastodon/components/avatar'; import DisplayName from 'mastodon/components/display_name'; -import Permalink from 'mastodon/components/permalink'; +import { Link } from 'react-router-dom'; import Button from 'mastodon/components/button'; import { FormattedMessage, injectIntl, defineMessages } from 'react-intl'; import { autoPlayGif, me, unfollowModal } from 'mastodon/initial_state'; @@ -169,7 +169,7 @@ class AccountCard extends ImmutablePureComponent { return (
- +
- + {account.get('note').length > 0 && (
- +
{getFirstSentence(account.get('note_plain'))}
-
+
{button} diff --git a/app/javascript/mastodon/features/follow_requests/components/account_authorize.js b/app/javascript/mastodon/features/follow_requests/components/account_authorize.js index 263a7ae1626..d41f331e5e1 100644 --- a/app/javascript/mastodon/features/follow_requests/components/account_authorize.js +++ b/app/javascript/mastodon/features/follow_requests/components/account_authorize.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import ImmutablePropTypes from 'react-immutable-proptypes'; -import Permalink from '../../../components/permalink'; +import { Link } from 'react-router-dom'; import Avatar from '../../../components/avatar'; import DisplayName from '../../../components/display_name'; import IconButton from '../../../components/icon_button'; @@ -30,10 +30,10 @@ class AccountAuthorize extends ImmutablePureComponent { return (
- +
-
+
diff --git a/app/javascript/mastodon/features/notifications/components/follow_request.js b/app/javascript/mastodon/features/notifications/components/follow_request.js index 9ef3fde7eb0..08de875e362 100644 --- a/app/javascript/mastodon/features/notifications/components/follow_request.js +++ b/app/javascript/mastodon/features/notifications/components/follow_request.js @@ -3,7 +3,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import Avatar from 'mastodon/components/avatar'; import DisplayName from 'mastodon/components/display_name'; -import Permalink from 'mastodon/components/permalink'; +import { Link } from 'react-router-dom'; import IconButton from 'mastodon/components/icon_button'; import { defineMessages, injectIntl } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; @@ -42,10 +42,10 @@ class FollowRequest extends ImmutablePureComponent { return (
- +
-
+
diff --git a/app/javascript/mastodon/features/notifications/components/notification.js b/app/javascript/mastodon/features/notifications/components/notification.js index 5974e378e44..ea2c9c0a42e 100644 --- a/app/javascript/mastodon/features/notifications/components/notification.js +++ b/app/javascript/mastodon/features/notifications/components/notification.js @@ -10,7 +10,7 @@ import AccountContainer from 'mastodon/containers/account_container'; import Report from './report'; import FollowRequestContainer from '../containers/follow_request_container'; import Icon from 'mastodon/components/icon'; -import Permalink from 'mastodon/components/permalink'; +import { Link } from 'react-router-dom'; import classNames from 'classnames'; const messages = defineMessages({ @@ -378,7 +378,7 @@ class Notification extends ImmutablePureComponent { const targetAccount = report.get('target_account'); const targetDisplayNameHtml = { __html: targetAccount.get('display_name_html') }; - const targetLink = ; + const targetLink = ; return ( @@ -403,7 +403,7 @@ class Notification extends ImmutablePureComponent { const { notification } = this.props; const account = notification.get('account'); const displayNameHtml = { __html: account.get('display_name_html') }; - const link = ; + const link = ; switch(notification.get('type')) { case 'follow': diff --git a/app/javascript/mastodon/features/picture_in_picture/components/footer.js b/app/javascript/mastodon/features/picture_in_picture/components/footer.js index 5b875dc302b..0dff834c3d9 100644 --- a/app/javascript/mastodon/features/picture_in_picture/components/footer.js +++ b/app/javascript/mastodon/features/picture_in_picture/components/footer.js @@ -184,7 +184,7 @@ class Footer extends ImmutablePureComponent { - {withOpenButton && } + {withOpenButton && }
); } diff --git a/app/javascript/mastodon/features/status/components/detailed_status.js b/app/javascript/mastodon/features/status/components/detailed_status.js index 1a2aab81926..c62910e0eef 100644 --- a/app/javascript/mastodon/features/status/components/detailed_status.js +++ b/app/javascript/mastodon/features/status/components/detailed_status.js @@ -261,7 +261,7 @@ class DetailedStatus extends ImmutablePureComponent { return (
- +
@@ -276,7 +276,7 @@ class DetailedStatus extends ImmutablePureComponent { {media}
- + {edited}{visibilityLink}{applicationLink}{reblogLink} · {favouriteLink}
diff --git a/app/javascript/mastodon/features/ui/components/boost_modal.js b/app/javascript/mastodon/features/ui/components/boost_modal.js index d7a6d711ea7..077ce7b35cf 100644 --- a/app/javascript/mastodon/features/ui/components/boost_modal.js +++ b/app/javascript/mastodon/features/ui/components/boost_modal.js @@ -98,12 +98,12 @@ class BoostModal extends ImmutablePureComponent {
- + - +
diff --git a/app/javascript/mastodon/features/ui/components/header.js b/app/javascript/mastodon/features/ui/components/header.js index a1c281315c1..4e109080ee7 100644 --- a/app/javascript/mastodon/features/ui/components/header.js +++ b/app/javascript/mastodon/features/ui/components/header.js @@ -4,16 +4,15 @@ import { Link, withRouter } from 'react-router-dom'; import { FormattedMessage } from 'react-intl'; import { registrationsOpen, me } from 'mastodon/initial_state'; import Avatar from 'mastodon/components/avatar'; -import Permalink from 'mastodon/components/permalink'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; const Account = connect(state => ({ account: state.getIn(['accounts', me]), }))(({ account }) => ( - + - + )); export default @withRouter From 87fbd08f74451c18d2fdbef551d5933a78375b63 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sun, 13 Nov 2022 22:22:07 +0100 Subject: [PATCH 114/144] helm: Add helm chart tests (#20394) * helm: Fix consistent list indentation * helm: Add helm lint and helm template tests * helm: Add helm template --validate test * helm: Add helm install test --- .github/workflows/test-chart.yml | 138 +++++++++++++++++++++ chart/.helmignore | 15 ++- chart/README.md | 2 +- chart/dev-values.yaml | 25 ++++ chart/templates/cronjob-media-remove.yaml | 14 +-- chart/templates/deployment-sidekiq.yaml | 14 +-- chart/templates/job-assets-precompile.yaml | 14 +-- chart/templates/job-chewy-upgrade.yaml | 14 +-- chart/templates/job-db-migrate.yaml | 14 +-- 9 files changed, 213 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/test-chart.yml create mode 100644 chart/dev-values.yaml diff --git a/.github/workflows/test-chart.yml b/.github/workflows/test-chart.yml new file mode 100644 index 00000000000..b9ff808559e --- /dev/null +++ b/.github/workflows/test-chart.yml @@ -0,0 +1,138 @@ +# This is a GitHub workflow defining a set of jobs with a set of steps. +# ref: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions +# +name: Test chart + +on: + pull_request: + paths: + - "chart/**" + - "!**.md" + - ".github/workflows/test-chart.yml" + push: + paths: + - "chart/**" + - "!**.md" + - ".github/workflows/test-chart.yml" + branches-ignore: + - "dependabot/**" + workflow_dispatch: + +permissions: + contents: read + +defaults: + run: + working-directory: chart + +jobs: + lint-templates: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: "3.x" + + - name: Install dependencies (yamllint) + run: pip install yamllint + + - run: helm dependency update + + - name: helm lint + run: | + helm lint . \ + --values dev-values.yaml + + - name: helm template + run: | + helm template . \ + --values dev-values.yaml \ + --output-dir rendered-templates + + - name: yamllint (only on templates we manage) + run: | + rm -rf rendered-templates/mastodon/charts + + yamllint rendered-templates \ + --config-data "{rules: {indentation: {spaces: 2}, line-length: disable}}" + + # This job helps us validate that rendered templates are valid k8s resources + # against a k8s api-server, via "helm template --validate", but also that a + # basic configuration can be used to successfully startup mastodon. + # + test-install: + runs-on: ubuntu-22.04 + timeout-minutes: 15 + + strategy: + fail-fast: false + matrix: + include: + # k3s-channel reference: https://update.k3s.io/v1-release/channels + - k3s-channel: latest + - k3s-channel: stable + + # This represents the oldest configuration we test against. + # + # The k8s version chosen is based on the oldest still supported k8s + # version among two managed k8s services, GKE, EKS. + # - GKE: https://endoflife.date/google-kubernetes-engine + # - EKS: https://endoflife.date/amazon-eks + # + # The helm client's version can influence what helper functions is + # available for use in the templates, currently we need v3.6.0 or + # higher. + # + - k3s-channel: v1.21 + helm-version: v3.6.0 + + steps: + - uses: actions/checkout@v3 + + # This action starts a k8s cluster with NetworkPolicy enforcement and + # installs both kubectl and helm. + # + # ref: https://github.com/jupyterhub/action-k3s-helm#readme + # + - uses: jupyterhub/action-k3s-helm@v3 + with: + k3s-channel: ${{ matrix.k3s-channel }} + helm-version: ${{ matrix.helm-version }} + metrics-enabled: false + traefik-enabled: false + docker-enabled: false + + - run: helm dependency update + + # Validate rendered helm templates against the k8s api-server + - name: helm template --validate + run: | + helm template --validate mastodon . \ + --values dev-values.yaml + + - name: helm install + run: | + helm install mastodon . \ + --values dev-values.yaml \ + --timeout 10m + + # This actions provides a report about the state of the k8s cluster, + # providing logs etc on anything that has failed and workloads marked as + # important. + # + # ref: https://github.com/jupyterhub/action-k8s-namespace-report#readme + # + - name: Kubernetes namespace report + uses: jupyterhub/action-k8s-namespace-report@v1 + if: always() + with: + important-workloads: >- + deploy/mastodon-sidekiq + deploy/mastodon-streaming + deploy/mastodon-web + job/mastodon-assets-precompile + job/mastodon-chewy-upgrade + job/mastodon-create-admin + job/mastodon-db-migrate diff --git a/chart/.helmignore b/chart/.helmignore index 886747ed0b4..0cbed473aa7 100644 --- a/chart/.helmignore +++ b/chart/.helmignore @@ -1,3 +1,17 @@ +# A helm chart's templates and default values can be packaged into a .tgz file. +# When doing that, not everything should be bundled into the .tgz file. This +# file describes what to not bundle. +# +# Manually added by us +# -------------------- +# +dev-values.yaml +mastodon-*.tgz + + +# Boilerplate .helmignore from `helm create mastodon` +# --------------------------------------------------- +# # Patterns to ignore when building packages. # This supports shell glob matching, relative path matching, and # negation (prefixed with !). Only one pattern per line. @@ -21,4 +35,3 @@ .idea/ *.tmproj .vscode/ -mastodon-*.tgz diff --git a/chart/README.md b/chart/README.md index 272d59a81f5..78d75368ccf 100644 --- a/chart/README.md +++ b/chart/README.md @@ -7,7 +7,7 @@ Kubernetes cluster. The basic usage is: 1. `helm dep update` 1. `helm install --namespace mastodon --create-namespace my-mastodon ./ -f path/to/additional/values.yaml` -This chart has been tested on Helm 3.0.1 and above. +This chart is tested with k8s 1.21+ and helm 3.6.0+. # Configuration diff --git a/chart/dev-values.yaml b/chart/dev-values.yaml new file mode 100644 index 00000000000..b3a963ea114 --- /dev/null +++ b/chart/dev-values.yaml @@ -0,0 +1,25 @@ +# Chart values used for testing the Helm chart. +# +mastodon: + secrets: + secret_key_base: dummy-secret_key_base + otp_secret: dummy-otp_secret + vapid: + private_key: dummy-vapid-private_key + public_key: dummy-vapid-public_key + +# ref: https://github.com/bitnami/charts/tree/main/bitnami/redis#parameters +redis: + replica: + replicaCount: 1 + +# ref: https://github.com/bitnami/charts/tree/main/bitnami/elasticsearch#parameters +elasticsearch: + master: + replicaCount: 1 + data: + replicaCount: 1 + coordinating: + replicaCount: 1 + ingest: + replicaCount: 1 diff --git a/chart/templates/cronjob-media-remove.yaml b/chart/templates/cronjob-media-remove.yaml index b175f0ee75a..41f1feb8256 100644 --- a/chart/templates/cronjob-media-remove.yaml +++ b/chart/templates/cronjob-media-remove.yaml @@ -25,13 +25,13 @@ spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: app.kubernetes.io/part-of - operator: In - values: - - rails - topologyKey: kubernetes.io/hostname + - labelSelector: + matchExpressions: + - key: app.kubernetes.io/part-of + operator: In + values: + - rails + topologyKey: kubernetes.io/hostname {{- end }} volumes: - name: assets diff --git a/chart/templates/deployment-sidekiq.yaml b/chart/templates/deployment-sidekiq.yaml index 878b01150f8..94af99b112e 100644 --- a/chart/templates/deployment-sidekiq.yaml +++ b/chart/templates/deployment-sidekiq.yaml @@ -42,13 +42,13 @@ spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: app.kubernetes.io/part-of - operator: In - values: - - rails - topologyKey: kubernetes.io/hostname + - labelSelector: + matchExpressions: + - key: app.kubernetes.io/part-of + operator: In + values: + - rails + topologyKey: kubernetes.io/hostname {{- end }} volumes: - name: assets diff --git a/chart/templates/job-assets-precompile.yaml b/chart/templates/job-assets-precompile.yaml index 30d54b76f50..bc5ff7bfb82 100644 --- a/chart/templates/job-assets-precompile.yaml +++ b/chart/templates/job-assets-precompile.yaml @@ -25,13 +25,13 @@ spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: app.kubernetes.io/part-of - operator: In - values: - - rails - topologyKey: kubernetes.io/hostname + - labelSelector: + matchExpressions: + - key: app.kubernetes.io/part-of + operator: In + values: + - rails + topologyKey: kubernetes.io/hostname {{- end }} volumes: - name: assets diff --git a/chart/templates/job-chewy-upgrade.yaml b/chart/templates/job-chewy-upgrade.yaml index 5b22a861054..f86a4e34f66 100644 --- a/chart/templates/job-chewy-upgrade.yaml +++ b/chart/templates/job-chewy-upgrade.yaml @@ -26,13 +26,13 @@ spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: app.kubernetes.io/part-of - operator: In - values: - - rails - topologyKey: kubernetes.io/hostname + - labelSelector: + matchExpressions: + - key: app.kubernetes.io/part-of + operator: In + values: + - rails + topologyKey: kubernetes.io/hostname {{- end }} volumes: - name: assets diff --git a/chart/templates/job-db-migrate.yaml b/chart/templates/job-db-migrate.yaml index db09c6ea2b2..41324fbd0c5 100644 --- a/chart/templates/job-db-migrate.yaml +++ b/chart/templates/job-db-migrate.yaml @@ -25,13 +25,13 @@ spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: app.kubernetes.io/part-of - operator: In - values: - - rails - topologyKey: kubernetes.io/hostname + - labelSelector: + matchExpressions: + - key: app.kubernetes.io/part-of + operator: In + values: + - rails + topologyKey: kubernetes.io/hostname {{- end }} volumes: - name: assets From 24b2c60beb73ff932b9539587e162283e99fd35d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 00:38:56 +0100 Subject: [PATCH 115/144] Fix icons having an image role (#20600) --- app/javascript/mastodon/components/icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/mastodon/components/icon.js b/app/javascript/mastodon/components/icon.js index d8a17722fed..d3d7c591d67 100644 --- a/app/javascript/mastodon/components/icon.js +++ b/app/javascript/mastodon/components/icon.js @@ -14,7 +14,7 @@ export default class Icon extends React.PureComponent { const { id, className, fixedWidth, ...other } = this.props; return ( - + ); } From d0b7bd42501fcf704dbfead4cc1c08ced49371a8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 00:43:24 +0100 Subject: [PATCH 116/144] Fix wrong cut-off point for "Read more" in web UI (#20599) --- .../mastodon/components/status_content.js | 27 +++++++++++-------- .../styles/mastodon/components.scss | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js index 2a933c0a74e..fbc66eabf39 100644 --- a/app/javascript/mastodon/components/status_content.js +++ b/app/javascript/mastodon/components/status_content.js @@ -8,7 +8,7 @@ import PollContainer from 'mastodon/containers/poll_container'; import Icon from 'mastodon/components/icon'; import { autoPlayGif, languages as preloadedLanguages, translationEnabled } from 'mastodon/initial_state'; -const MAX_HEIGHT = 642; // 20px * 32 (+ 2px padding at the top) +const MAX_HEIGHT = 706; // 22px * 32 (+ 2px padding at the top) class TranslateButton extends React.PureComponent { @@ -77,16 +77,21 @@ class StatusContent extends React.PureComponent { return; } + const { status, onCollapsedToggle } = this.props; const links = node.querySelectorAll('a'); + let link, mention; + for (var i = 0; i < links.length; ++i) { - let link = links[i]; + link = links[i]; + if (link.classList.contains('status-link')) { continue; } + link.classList.add('status-link'); - let mention = this.props.status.get('mentions').find(item => link.href === item.get('url')); + mention = this.props.status.get('mentions').find(item => link.href === item.get('url')); if (mention) { link.addEventListener('click', this.onMentionClick.bind(this, mention), false); @@ -101,16 +106,16 @@ class StatusContent extends React.PureComponent { } } - if (this.props.status.get('collapsed', null) === null) { - let collapsed = - this.props.collapsable - && this.props.onClick + if (status.get('collapsed', null) === null && onCollapsedToggle) { + const { collapsable, onClick } = this.props; + + const collapsed = + collapsable + && onClick && node.clientHeight > MAX_HEIGHT - && this.props.status.get('spoiler_text').length === 0; + && status.get('spoiler_text').length === 0; - if(this.props.onCollapsedToggle) this.props.onCollapsedToggle(collapsed); - - this.props.status.set('collapsed', collapsed); + onCollapsedToggle(collapsed); } } diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 8b43604c8f6..606e2035571 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -964,7 +964,7 @@ } .status__content.status__content--collapsed { - max-height: 20px * 15; // 15 lines is roughly above 500 characters + max-height: 22px * 15; // 15 lines is roughly above 500 characters } .status__content__read-more-button { From 9d039209cc0791ec09ebdbb93da4d63f815e1b07 Mon Sep 17 00:00:00 2001 From: Matt Corallo <649246+TheBlueMatt@users.noreply.github.com> Date: Mon, 14 Nov 2022 04:26:49 +0000 Subject: [PATCH 117/144] Add `Cache-Control` header to openstack-stored files (#20610) When storing files in S3, paperclip is configured with a Cache-Control header indicating the file is immutable, however no such header was added when using OpenStack storage. Luckily Paperclip's fog integration makes this trivial, with a simple `fog_file` `Cache-Control` default doing the trick. --- config/initializers/paperclip.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb index 5c182ade489..a2285427c80 100644 --- a/config/initializers/paperclip.rb +++ b/config/initializers/paperclip.rb @@ -125,6 +125,8 @@ elsif ENV['SWIFT_ENABLED'] == 'true' openstack_region: ENV['SWIFT_REGION'], openstack_cache_ttl: ENV.fetch('SWIFT_CACHE_TTL') { 60 }, }, + + fog_file: { 'Cache-Control' => 'public, max-age=315576000, immutable' }, fog_directory: ENV['SWIFT_CONTAINER'], fog_host: ENV['SWIFT_OBJECT_URL'], From 147d8bd8fc7aa8b55cd5a9103941c52441ed4365 Mon Sep 17 00:00:00 2001 From: Hampton Lintorn-Catlin Date: Sun, 13 Nov 2022 23:52:13 -0500 Subject: [PATCH 118/144] Support UTF-8 Characters in Domains During CSV Import (#20592) * Support UTF-8 Characters in Domains During Import * Update Changelong --- CHANGELOG.md | 1 + app/services/import_service.rb | 2 +- spec/fixtures/files/utf8-followers.txt | 1 + spec/services/import_service_spec.rb | 23 +++++++++++++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 spec/fixtures/files/utf8-followers.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 72f62a1dc3e..93f05a6500d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -185,6 +185,7 @@ Some of the features in this release have been funded through the [NGI0 Discover - Fix `CDN_HOST` not being used in some asset URLs ([tribela](https://github.com/mastodon/mastodon/pull/18662)) - Fix `CAS_DISPLAY_NAME`, `SAML_DISPLAY_NAME` and `OIDC_DISPLAY_NAME` being ignored ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18568)) - Fix various typos in comments throughout the codebase ([luzpaz](https://github.com/mastodon/mastodon/pull/18604)) +- Fix CSV upload no longer breaks if an server domain includes UTF-8 characters ([HamptonMakes]()) ### Security diff --git a/app/services/import_service.rb b/app/services/import_service.rb index ece5b9ef04b..2f48abc364a 100644 --- a/app/services/import_service.rb +++ b/app/services/import_service.rb @@ -136,7 +136,7 @@ class ImportService < BaseService end def import_data - Paperclip.io_adapters.for(@import.data).read + Paperclip.io_adapters.for(@import.data).read.force_encoding(Encoding::UTF_8) end def relations_map_for_account(account, account_ids) diff --git a/spec/fixtures/files/utf8-followers.txt b/spec/fixtures/files/utf8-followers.txt new file mode 100644 index 00000000000..9d4fe3485b7 --- /dev/null +++ b/spec/fixtures/files/utf8-followers.txt @@ -0,0 +1 @@ +@nare@թութ.հայ diff --git a/spec/services/import_service_spec.rb b/spec/services/import_service_spec.rb index 764225aa729..e2d182920e5 100644 --- a/spec/services/import_service_spec.rb +++ b/spec/services/import_service_spec.rb @@ -172,6 +172,29 @@ RSpec.describe ImportService, type: :service do end end + # Based on the bug report 20571 where UTF-8 encoded domains were rejecting import of their users + # + # https://github.com/mastodon/mastodon/issues/20571 + context 'utf-8 encoded domains' do + subject { ImportService.new } + + let!(:nare) { Fabricate(:account, username: 'nare', domain: 'թութ.հայ', locked: false, protocol: :activitypub, inbox_url: 'https://թութ.հայ/inbox') } + + # Make sure to not actually go to the remote server + before do + stub_request(:post, "https://թութ.հայ/inbox").to_return(status: 200) + end + + let(:csv) { attachment_fixture('utf8-followers.txt') } + let(:import) { Import.create(account: account, type: 'following', data: csv) } + + it 'follows the listed account' do + expect(account.follow_requests.count).to eq 0 + subject.call(import) + expect(account.follow_requests.count).to eq 1 + end + end + context 'import bookmarks' do subject { ImportService.new } From 6da9df774ea9973124fe7e2f5a9dd0862a22acd8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 06:05:10 +0100 Subject: [PATCH 119/144] Fix dropdown menu on profiles not being accessible on narrow screens in web UI (#20620) --- .../mastodon/features/account/components/header.js | 2 -- app/javascript/styles/mastodon/components.scss | 12 ++++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/javascript/mastodon/features/account/components/header.js b/app/javascript/mastodon/features/account/components/header.js index c38eea55b34..1825e0de635 100644 --- a/app/javascript/mastodon/features/account/components/header.js +++ b/app/javascript/mastodon/features/account/components/header.js @@ -314,8 +314,6 @@ class Header extends ImmutablePureComponent {
-
- {!suspended && (
{!hidden && ( diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 606e2035571..c3011f7c9d7 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -7026,8 +7026,11 @@ noscript { &__tabs { display: flex; align-items: flex-start; + justify-content: space-between; margin-top: -55px; padding-top: 10px; + gap: 8px; + overflow: hidden; &__buttons { display: flex; @@ -7036,6 +7039,15 @@ noscript { padding-top: 55px; overflow: hidden; + .button { + flex-shrink: 1; + white-space: nowrap; + + @media screen and (max-width: $no-gap-breakpoint) { + min-width: 0; + } + } + .icon-button { border: 1px solid lighten($ui-base-color, 12%); border-radius: 4px; From 2e2ba39abf3163bddf2f54bb3c358b60304ba6b4 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 06:28:19 +0100 Subject: [PATCH 120/144] Fix rules with same priority being sorted non-deterministically (#20623) --- app/models/rule.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/rule.rb b/app/models/rule.rb index 7b62f2b3544..602e5d5874e 100644 --- a/app/models/rule.rb +++ b/app/models/rule.rb @@ -18,5 +18,5 @@ class Rule < ApplicationRecord validates :text, presence: true, length: { maximum: 300 } - scope :ordered, -> { kept.order(priority: :asc) } + scope :ordered, -> { kept.order(priority: :asc, id: :asc) } end From 167d86d21dbd8dab120555e12c2a3a5e5432d632 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 06:56:15 +0100 Subject: [PATCH 121/144] Fix `role_ids` not accepting arrays in admin API (#20625) Fix #19157 --- app/controllers/api/v2/admin/accounts_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/v2/admin/accounts_controller.rb b/app/controllers/api/v2/admin/accounts_controller.rb index bcc1a07339f..b25831aa09e 100644 --- a/app/controllers/api/v2/admin/accounts_controller.rb +++ b/app/controllers/api/v2/admin/accounts_controller.rb @@ -33,7 +33,7 @@ class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController end def filter_params - params.permit(*FILTER_PARAMS) + params.permit(*FILTER_PARAMS, role_ids: []) end def pagination_params(core_params) From 5c826c408db86c3b4abf4959c092ad4c5c807896 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 07:13:14 +0100 Subject: [PATCH 122/144] Fix image type not being set after conversion for convertible image types (#20624) --- app/models/media_attachment.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index 7aa8658d909..d2bdc55f0f6 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -82,6 +82,7 @@ class MediaAttachment < ApplicationRecord IMAGE_CONVERTED_STYLES = { original: { format: 'jpeg', + content_type: 'image/jpeg', }.merge(IMAGE_STYLES[:original]).freeze, small: { From b31afc62943b79bf97338040e39123b9dd68f31f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 08:06:06 +0100 Subject: [PATCH 123/144] Fix error when passing unknown filter param in REST API (#20626) Fix #19156 --- app/controllers/api/base_controller.rb | 2 +- app/models/account_filter.rb | 10 ++++++---- app/models/admin/action_log_filter.rb | 2 +- app/models/admin/appeal_filter.rb | 4 ++-- app/models/admin/status_filter.rb | 2 +- app/models/announcement_filter.rb | 2 +- app/models/custom_emoji_filter.rb | 2 +- app/models/instance_filter.rb | 4 ++-- app/models/invite_filter.rb | 2 +- app/models/relationship_filter.rb | 12 ++++++------ app/models/report_filter.rb | 4 ++-- app/models/trends/preview_card_filter.rb | 2 +- app/models/trends/preview_card_provider_filter.rb | 4 ++-- app/models/trends/status_filter.rb | 2 +- lib/exceptions.rb | 1 + spec/models/custom_emoji_filter_spec.rb | 4 ++-- 16 files changed, 31 insertions(+), 28 deletions(-) diff --git a/app/controllers/api/base_controller.rb b/app/controllers/api/base_controller.rb index 3f3e1ca7bdc..665425f2965 100644 --- a/app/controllers/api/base_controller.rb +++ b/app/controllers/api/base_controller.rb @@ -57,7 +57,7 @@ class Api::BaseController < ApplicationController render json: { error: I18n.t('errors.429') }, status: 429 end - rescue_from ActionController::ParameterMissing do |e| + rescue_from ActionController::ParameterMissing, Mastodon::InvalidParameterError do |e| render json: { error: e.to_s }, status: 400 end diff --git a/app/models/account_filter.rb b/app/models/account_filter.rb index e214e0bad22..e09ce4ec267 100644 --- a/app/models/account_filter.rb +++ b/app/models/account_filter.rb @@ -57,7 +57,7 @@ class AccountFilter when 'order' order_scope(value) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end @@ -68,7 +68,7 @@ class AccountFilter when 'remote' Account.remote else - raise "Unknown origin: #{value}" + raise Mastodon::InvalidParameterError, "Unknown origin: #{value}" end end @@ -84,8 +84,10 @@ class AccountFilter accounts_with_users.merge(User.disabled) when 'silenced' Account.silenced + when 'sensitized' + Account.sensitized else - raise "Unknown status: #{value}" + raise Mastodon::InvalidParameterError, "Unknown status: #{value}" end end @@ -96,7 +98,7 @@ class AccountFilter when 'recent' Account.recent else - raise "Unknown order: #{value}" + raise Mastodon::InvalidParameterError, "Unknown order: #{value}" end end diff --git a/app/models/admin/action_log_filter.rb b/app/models/admin/action_log_filter.rb index edb391e2e86..f89d452ef4f 100644 --- a/app/models/admin/action_log_filter.rb +++ b/app/models/admin/action_log_filter.rb @@ -95,7 +95,7 @@ class Admin::ActionLogFilter account = Account.find_or_initialize_by(id: value) Admin::ActionLog.where(target: [account, account.user].compact) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end end diff --git a/app/models/admin/appeal_filter.rb b/app/models/admin/appeal_filter.rb index b163d2e5686..f5dcc0f54df 100644 --- a/app/models/admin/appeal_filter.rb +++ b/app/models/admin/appeal_filter.rb @@ -30,7 +30,7 @@ class Admin::AppealFilter when 'status' status_scope(value) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end @@ -43,7 +43,7 @@ class Admin::AppealFilter when 'pending' Appeal.pending else - raise "Unknown status: #{value}" + raise Mastodon::InvalidParameterError, "Unknown status: #{value}" end end end diff --git a/app/models/admin/status_filter.rb b/app/models/admin/status_filter.rb index d7a16f760db..4d439e9a1ce 100644 --- a/app/models/admin/status_filter.rb +++ b/app/models/admin/status_filter.rb @@ -32,7 +32,7 @@ class Admin::StatusFilter when 'media' Status.joins(:media_attachments).merge(@account.media_attachments.reorder(nil)).group(:id).reorder('statuses.id desc') else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end end diff --git a/app/models/announcement_filter.rb b/app/models/announcement_filter.rb index 950852460d6..85c3b1d2cea 100644 --- a/app/models/announcement_filter.rb +++ b/app/models/announcement_filter.rb @@ -33,7 +33,7 @@ class AnnouncementFilter when 'unpublished' Announcement.unpublished else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end end diff --git a/app/models/custom_emoji_filter.rb b/app/models/custom_emoji_filter.rb index 414e1fcddd2..ed7a8dda15c 100644 --- a/app/models/custom_emoji_filter.rb +++ b/app/models/custom_emoji_filter.rb @@ -39,7 +39,7 @@ class CustomEmojiFilter when 'shortcode' CustomEmoji.search(value.strip) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end end diff --git a/app/models/instance_filter.rb b/app/models/instance_filter.rb index e7e5166a1ac..1d94c919f96 100644 --- a/app/models/instance_filter.rb +++ b/app/models/instance_filter.rb @@ -36,7 +36,7 @@ class InstanceFilter when 'availability' availability_scope(value) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end @@ -47,7 +47,7 @@ class InstanceFilter when 'unavailable' Instance.joins(:unavailable_domain) else - raise "Unknown availability: #{value}" + raise Mastodon::InvalidParameterError, "Unknown availability: #{value}" end end end diff --git a/app/models/invite_filter.rb b/app/models/invite_filter.rb index 9685d4abb5f..c1edb3871fe 100644 --- a/app/models/invite_filter.rb +++ b/app/models/invite_filter.rb @@ -31,7 +31,7 @@ class InviteFilter when 'expired' Invite.expired else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end end diff --git a/app/models/relationship_filter.rb b/app/models/relationship_filter.rb index 9135ff144c9..249fe3df8e1 100644 --- a/app/models/relationship_filter.rb +++ b/app/models/relationship_filter.rb @@ -53,7 +53,7 @@ class RelationshipFilter when 'activity' activity_scope(value) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end @@ -68,7 +68,7 @@ class RelationshipFilter when 'invited' Account.joins(user: :invite).merge(Invite.where(user: account.user)).eager_load(:account_stat).reorder(nil) else - raise "Unknown relationship: #{value}" + raise Mastodon::InvalidParameterError, "Unknown relationship: #{value}" end end @@ -83,7 +83,7 @@ class RelationshipFilter when 'remote' Account.remote else - raise "Unknown location: #{value}" + raise Mastodon::InvalidParameterError, "Unknown location: #{value}" end end @@ -94,7 +94,7 @@ class RelationshipFilter when 'primary' Account.where(moved_to_account_id: nil) else - raise "Unknown status: #{value}" + raise Mastodon::InvalidParameterError, "Unknown status: #{value}" end end @@ -105,7 +105,7 @@ class RelationshipFilter when 'recent' params[:relationship] == 'invited' ? Account.recent : Follow.recent else - raise "Unknown order: #{value}" + raise Mastodon::InvalidParameterError, "Unknown order: #{value}" end end @@ -114,7 +114,7 @@ class RelationshipFilter when 'dormant' AccountStat.where(last_status_at: nil).or(AccountStat.where(AccountStat.arel_table[:last_status_at].lt(1.month.ago))) else - raise "Unknown activity: #{value}" + raise Mastodon::InvalidParameterError, "Unknown activity: #{value}" end end end diff --git a/app/models/report_filter.rb b/app/models/report_filter.rb index dc444a5520f..c9b3bce2d12 100644 --- a/app/models/report_filter.rb +++ b/app/models/report_filter.rb @@ -38,7 +38,7 @@ class ReportFilter when :target_origin target_origin_scope(value) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end @@ -49,7 +49,7 @@ class ReportFilter when :remote Report.where(target_account: Account.remote) else - raise "Unknown value: #{value}" + raise Mastodon::InvalidParameterError, "Unknown value: #{value}" end end end diff --git a/app/models/trends/preview_card_filter.rb b/app/models/trends/preview_card_filter.rb index 0a81146d4cb..f0214c3f0f6 100644 --- a/app/models/trends/preview_card_filter.rb +++ b/app/models/trends/preview_card_filter.rb @@ -40,7 +40,7 @@ class Trends::PreviewCardFilter when 'locale' PreviewCardTrend.where(language: value) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end diff --git a/app/models/trends/preview_card_provider_filter.rb b/app/models/trends/preview_card_provider_filter.rb index abfdd07e887..219793f01e9 100644 --- a/app/models/trends/preview_card_provider_filter.rb +++ b/app/models/trends/preview_card_provider_filter.rb @@ -30,7 +30,7 @@ class Trends::PreviewCardProviderFilter when 'status' status_scope(value) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end @@ -43,7 +43,7 @@ class Trends::PreviewCardProviderFilter when 'pending_review' PreviewCardProvider.pending_review else - raise "Unknown status: #{value}" + raise Mastodon::InvalidParameterError, "Unknown status: #{value}" end end end diff --git a/app/models/trends/status_filter.rb b/app/models/trends/status_filter.rb index cb0f75d679f..de435a02661 100644 --- a/app/models/trends/status_filter.rb +++ b/app/models/trends/status_filter.rb @@ -40,7 +40,7 @@ class Trends::StatusFilter when 'locale' StatusTrend.where(language: value) else - raise "Unknown filter: #{key}" + raise Mastodon::InvalidParameterError, "Unknown filter: #{key}" end end diff --git a/lib/exceptions.rb b/lib/exceptions.rb index 3c5ba226b19..d3b92f4a093 100644 --- a/lib/exceptions.rb +++ b/lib/exceptions.rb @@ -11,6 +11,7 @@ module Mastodon class RaceConditionError < Error; end class RateLimitExceededError < Error; end class SyntaxError < Error; end + class InvalidParameterError < Error; end class UnexpectedResponseError < Error attr_reader :response diff --git a/spec/models/custom_emoji_filter_spec.rb b/spec/models/custom_emoji_filter_spec.rb index d859f5c5f50..2b1b5dc542f 100644 --- a/spec/models/custom_emoji_filter_spec.rb +++ b/spec/models/custom_emoji_filter_spec.rb @@ -50,10 +50,10 @@ RSpec.describe CustomEmojiFilter do context 'else' do let(:params) { { else: 'else' } } - it 'raises RuntimeError' do + it 'raises Mastodon::InvalidParameterError' do expect do subject - end.to raise_error(RuntimeError, /Unknown filter: else/) + end.to raise_error(Mastodon::InvalidParameterError, /Unknown filter: else/) end end end From 523e106cbf2f0cd846d0514e7a5b38ea6c62fe8b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 08:06:17 +0100 Subject: [PATCH 124/144] Fix style of username in navigation bar above compose form in web UI (#20628) Regression from #20540 --- app/javascript/styles/mastodon/components.scss | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index c3011f7c9d7..119bbe8e6c3 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1869,9 +1869,6 @@ a.account__display-name { a { color: inherit; - } - - .permalink { text-decoration: none; } From 552d69ad96fec7ebfca46a97c50355678e114223 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 08:07:14 +0100 Subject: [PATCH 125/144] Fix error when invalid domain name is submitted (#19474) Fix #19175 --- app/models/concerns/domain_normalizable.rb | 2 + .../v1/admin/domain_allows_controller_spec.rb | 44 ++++++++++++------- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/app/models/concerns/domain_normalizable.rb b/app/models/concerns/domain_normalizable.rb index fb84058fc27..8e244c1d87c 100644 --- a/app/models/concerns/domain_normalizable.rb +++ b/app/models/concerns/domain_normalizable.rb @@ -11,5 +11,7 @@ module DomainNormalizable def normalize_domain self.domain = TagManager.instance.normalize_domain(domain&.strip) + rescue Addressable::URI::InvalidURIError + errors.add(:domain, :invalid) end end diff --git a/spec/controllers/api/v1/admin/domain_allows_controller_spec.rb b/spec/controllers/api/v1/admin/domain_allows_controller_spec.rb index 26a391a60c7..8100363f6b6 100644 --- a/spec/controllers/api/v1/admin/domain_allows_controller_spec.rb +++ b/spec/controllers/api/v1/admin/domain_allows_controller_spec.rb @@ -94,25 +94,37 @@ RSpec.describe Api::V1::Admin::DomainAllowsController, type: :controller do describe 'POST #create' do let!(:domain_allow) { Fabricate(:domain_allow, domain: 'example.com') } - before do - post :create, params: { domain: 'foo.bar.com' } + context do + before do + post :create, params: { domain: 'foo.bar.com' } + end + + it_behaves_like 'forbidden for wrong scope', 'write:statuses' + it_behaves_like 'forbidden for wrong role', '' + it_behaves_like 'forbidden for wrong role', 'Moderator' + + it 'returns http success' do + expect(response).to have_http_status(200) + end + + it 'returns expected domain name' do + json = body_as_json + expect(json[:domain]).to eq 'foo.bar.com' + end + + it 'creates a domain block' do + expect(DomainAllow.find_by(domain: 'foo.bar.com')).to_not be_nil + end end - it_behaves_like 'forbidden for wrong scope', 'write:statuses' - it_behaves_like 'forbidden for wrong role', '' - it_behaves_like 'forbidden for wrong role', 'Moderator' + context 'with invalid domain name' do + before do + post :create, params: { domain: 'foo bar' } + end - it 'returns http success' do - expect(response).to have_http_status(200) - end - - it 'returns expected domain name' do - json = body_as_json - expect(json[:domain]).to eq 'foo.bar.com' - end - - it 'creates a domain block' do - expect(DomainAllow.find_by(domain: 'foo.bar.com')).to_not be_nil + it 'returns http unprocessable entity' do + expect(response).to have_http_status(422) + end end end end From 1e83092e47fff6fa28aafbb0e1d7fc3bd69b3087 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 08:33:24 +0100 Subject: [PATCH 126/144] Update AUTHORS.md (#20630) --- AUTHORS.md | 1121 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 768 insertions(+), 353 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index 9fc5f44f18f..18b9f2d7086 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -15,32 +15,32 @@ and provided thanks to the work of the following contributors: * [noellabo](https://github.com/noellabo) * [abcang](https://github.com/abcang) * [yiskah](https://github.com/yiskah) +* [tribela](https://github.com/tribela) * [mayaeh](https://github.com/mayaeh) * [nolanlawson](https://github.com/nolanlawson) * [ysksn](https://github.com/ysksn) -* [tribela](https://github.com/tribela) * [sorin-davidoi](https://github.com/sorin-davidoi) * [lynlynlynx](https://github.com/lynlynlynx) * [m4sk1n](mailto:me@m4sk.in) * [Marcin Mikołajczak](mailto:me@m4sk.in) -* [renatolond](https://github.com/renatolond) * [shleeable](https://github.com/shleeable) -* [alpaca-tc](https://github.com/alpaca-tc) +* [renatolond](https://github.com/renatolond) * [zunda](https://github.com/zunda) +* [alpaca-tc](https://github.com/alpaca-tc) * [nclm](https://github.com/nclm) * [ineffyble](https://github.com/ineffyble) * [ariasuni](https://github.com/ariasuni) * [Masoud Abkenar](mailto:ampbox@gmail.com) * [blackle](https://github.com/blackle) * [Quent-in](https://github.com/Quent-in) -* [JantsoP](https://github.com/JantsoP) * [Brawaru](https://github.com/Brawaru) +* [JantsoP](https://github.com/JantsoP) +* [trwnh](https://github.com/trwnh) * [nullkal](https://github.com/nullkal) * [yookoala](https://github.com/yookoala) * [dunn](https://github.com/dunn) * [Aditoo17](https://github.com/Aditoo17) * [Quenty31](https://github.com/Quenty31) -* [marek-lach](https://github.com/marek-lach) * [shuheiktgw](https://github.com/shuheiktgw) * [ashfurrow](https://github.com/ashfurrow) * [danhunsaker](https://github.com/danhunsaker) @@ -48,7 +48,6 @@ and provided thanks to the work of the following contributors: * [Jeroen](mailto:jeroenpraat@users.noreply.github.com) * [takayamaki](https://github.com/takayamaki) * [masarakki](https://github.com/masarakki) -* [trwnh](https://github.com/trwnh) * [ticky](https://github.com/ticky) * [ThisIsMissEm](https://github.com/ThisIsMissEm) * [hinaloe](https://github.com/hinaloe) @@ -57,16 +56,19 @@ and provided thanks to the work of the following contributors: * [Wonderfall](https://github.com/Wonderfall) * [matteoaquila](https://github.com/matteoaquila) * [yukimochi](https://github.com/yukimochi) -* [palindromordnilap](https://github.com/palindromordnilap) +* [nightpool](https://github.com/nightpool) +* [alixrossi](https://github.com/alixrossi) * [rkarabut](https://github.com/rkarabut) * [jeroenpraat](mailto:jeroenpraat@users.noreply.github.com) -* [nightpool](https://github.com/nightpool) +* [marek-lach](https://github.com/marek-lach) * [Artoria2e5](https://github.com/Artoria2e5) +* [rinsuki](https://github.com/rinsuki) * [marrus-sh](https://github.com/marrus-sh) * [krainboltgreene](https://github.com/krainboltgreene) * [pfigel](https://github.com/pfigel) * [BoFFire](https://github.com/BoFFire) * [Aldarone](https://github.com/Aldarone) +* [deepy](https://github.com/deepy) * [clworld](https://github.com/clworld) * [MasterGroosha](https://github.com/MasterGroosha) * [dracos](https://github.com/dracos) @@ -75,7 +77,6 @@ and provided thanks to the work of the following contributors: * [Sylvhem](https://github.com/Sylvhem) * [koyuawsmbrtn](https://github.com/koyuawsmbrtn) * [MitarashiDango](https://github.com/MitarashiDango) -* [rinsuki](https://github.com/rinsuki) * [angristan](https://github.com/angristan) * [JeanGauthier](https://github.com/JeanGauthier) * [kschaper](https://github.com/kschaper) @@ -87,14 +88,15 @@ and provided thanks to the work of the following contributors: * [MightyPork](https://github.com/MightyPork) * [ashleyhull-versent](https://github.com/ashleyhull-versent) * [yhirano55](https://github.com/yhirano55) +* [mashirozx](https://github.com/mashirozx) * [devkral](https://github.com/devkral) * [camponez](https://github.com/camponez) * [Hugo Gameiro](mailto:hmgameiro@gmail.com) +* [Marek Ľach](mailto:graweeld@googlemail.com) * [SerCom_KC](mailto:szescxz@gmail.com) * [aschmitz](https://github.com/aschmitz) * [mfmfuyu](https://github.com/mfmfuyu) * [kedamaDQ](https://github.com/kedamaDQ) -* [mashirozx](https://github.com/mashirozx) * [fpiesche](https://github.com/fpiesche) * [gandaro](https://github.com/gandaro) * [johnsudaar](https://github.com/johnsudaar) @@ -106,8 +108,10 @@ and provided thanks to the work of the following contributors: * [hikari-no-yume](https://github.com/hikari-no-yume) * [seefood](https://github.com/seefood) * [jackjennings](https://github.com/jackjennings) +* [sunny](https://github.com/sunny) * [puckipedia](https://github.com/puckipedia) -* [spla](mailto:spla@mastodont.cat) +* [splaGit](https://github.com/splaGit) +* [tateisu](https://github.com/tateisu) * [walf443](https://github.com/walf443) * [JoelQ](https://github.com/JoelQ) * [mistydemeo](https://github.com/mistydemeo) @@ -118,13 +122,15 @@ and provided thanks to the work of the following contributors: * [tsuwatch](https://github.com/tsuwatch) * [progval](https://github.com/progval) * [victorhck](https://github.com/victorhck) +* [Izorkin](https://github.com/Izorkin) * [manuelviens](mailto:manuelviens@users.noreply.github.com) -* [tateisu](https://github.com/tateisu) * [fvh-P](https://github.com/fvh-P) * [lfuelling](https://github.com/lfuelling) * [rtucker](https://github.com/rtucker) * [Anna e só](mailto:contraexemplos@gmail.com) +* [danieljakots](https://github.com/danieljakots) * [dariusk](https://github.com/dariusk) +* [Gomasy](https://github.com/Gomasy) * [kazu9su](https://github.com/kazu9su) * [komic](https://github.com/komic) * [lmorchard](https://github.com/lmorchard) @@ -137,6 +143,7 @@ and provided thanks to the work of the following contributors: * [goofy-bz](mailto:goofy@babelzilla.org) * [kadiix](https://github.com/kadiix) * [kodacs](https://github.com/kodacs) +* [luzpaz](https://github.com/luzpaz) * [marcin mikołajczak](mailto:me@m4sk.in) * [berkes](https://github.com/berkes) * [KScl](https://github.com/KScl) @@ -145,23 +152,26 @@ and provided thanks to the work of the following contributors: * [AA4ch1](https://github.com/AA4ch1) * [alexgleason](https://github.com/alexgleason) * [cpytel](https://github.com/cpytel) +* [cutls](https://github.com/cutls) * [northerner](https://github.com/northerner) * [weex](https://github.com/weex) +* [erbridge](https://github.com/erbridge) * [fhemberger](https://github.com/fhemberger) -* [Gomasy](https://github.com/Gomasy) * [greysteil](https://github.com/greysteil) * [henrycatalinismith](https://github.com/henrycatalinismith) +* [HolgerHuo](https://github.com/HolgerHuo) * [d6rkaiz](https://github.com/d6rkaiz) * [ladyisatis](https://github.com/ladyisatis) * [JMendyk](https://github.com/JMendyk) +* [kescherCode](https://github.com/kescherCode) * [JohnD28](https://github.com/JohnD28) * [znz](https://github.com/znz) * [saper](https://github.com/saper) * [Naouak](https://github.com/Naouak) * [pawelngei](https://github.com/pawelngei) +* [rgroothuijsen](https://github.com/rgroothuijsen) * [reneklacan](https://github.com/reneklacan) * [ekiru](https://github.com/ekiru) -* [Izorkin](https://github.com/Izorkin) * [unasuke](https://github.com/unasuke) * [geta6](https://github.com/geta6) * [happycoloredbanana](https://github.com/happycoloredbanana) @@ -174,7 +184,6 @@ and provided thanks to the work of the following contributors: * [aji-su](https://github.com/aji-su) * [ikuradon](https://github.com/ikuradon) * [nzws](https://github.com/nzws) -* [duxovni](https://github.com/duxovni) * [SuperSandro2000](https://github.com/SuperSandro2000) * [178inaba](https://github.com/178inaba) * [acid-chicken](https://github.com/acid-chicken) @@ -183,7 +192,6 @@ and provided thanks to the work of the following contributors: * [aablinov](https://github.com/aablinov) * [stalker314314](https://github.com/stalker314314) * [cohosh](https://github.com/cohosh) -* [cutls](https://github.com/cutls) * [huertanix](https://github.com/huertanix) * [eleboucher](https://github.com/eleboucher) * [halkeye](https://github.com/halkeye) @@ -191,6 +199,7 @@ and provided thanks to the work of the following contributors: * [treby](https://github.com/treby) * [jpdevries](https://github.com/jpdevries) * [gdpelican](https://github.com/gdpelican) +* [pbzweihander](https://github.com/pbzweihander) * [MonaLisaOverrdrive](https://github.com/MonaLisaOverrdrive) * [Kurtis Rainbolt-Greene](mailto:me@kurtisrainboltgreene.name) * [panarom](https://github.com/panarom) @@ -201,7 +210,6 @@ and provided thanks to the work of the following contributors: * [pierreozoux](https://github.com/pierreozoux) * [qguv](https://github.com/qguv) * [Ram Lmn](mailto:ramlmn@users.noreply.github.com) -* [rgroothuijsen](https://github.com/rgroothuijsen) * [Sascha](mailto:sascha@serenitylabs.cloud) * [harukasan](https://github.com/harukasan) * [stamak](https://github.com/stamak) @@ -217,11 +225,14 @@ and provided thanks to the work of the following contributors: * [chr-1x](https://github.com/chr-1x) * [esetomo](https://github.com/esetomo) * [foxiehkins](https://github.com/foxiehkins) +* [gol-cha](https://github.com/gol-cha) * [highemerly](https://github.com/highemerly) * [hoodie](mailto:hoodiekitten@outlook.com) * [kaiyou](https://github.com/kaiyou) * [007lva](https://github.com/007lva) * [luzi82](https://github.com/luzi82) +* [prplecake](https://github.com/prplecake) +* [duxovni](https://github.com/duxovni) * [slice](https://github.com/slice) * [tmm576](https://github.com/tmm576) * [unsmell](mailto:unsmell@users.noreply.github.com) @@ -251,25 +262,27 @@ and provided thanks to the work of the following contributors: * [cdutson](https://github.com/cdutson) * [farlistener](https://github.com/farlistener) * [baby-gnu](https://github.com/baby-gnu) -* [danieljakots](https://github.com/danieljakots) * [divergentdave](https://github.com/divergentdave) * [DavidLibeau](https://github.com/DavidLibeau) * [dmerejkowsky](https://github.com/dmerejkowsky) * [ddevault](https://github.com/ddevault) +* [emilyst](https://github.com/emilyst) +* [consideRatio](https://github.com/consideRatio) * [Fjoerfoks](https://github.com/Fjoerfoks) * [fmauNeko](https://github.com/fmauNeko) * [gloaec](https://github.com/gloaec) * [unstabler](https://github.com/unstabler) * [potato4d](https://github.com/potato4d) * [h-izumi](https://github.com/h-izumi) -* [HolgerHuo](https://github.com/HolgerHuo) * [ErikXXon](https://github.com/ErikXXon) * [ian-kelling](https://github.com/ian-kelling) * [eltociear](https://github.com/eltociear) * [immae](https://github.com/immae) * [J0WI](https://github.com/J0WI) -* [vahnj](https://github.com/vahnj) +* [koboldunderlord](https://github.com/koboldunderlord) * [foozmeat](https://github.com/foozmeat) +* [jgsmith](https://github.com/jgsmith) +* [raggi](https://github.com/raggi) * [jasonrhodes](https://github.com/jasonrhodes) * [Jason Snell](mailto:jason@newrelic.com) * [jviide](https://github.com/jviide) @@ -287,21 +300,25 @@ and provided thanks to the work of the following contributors: * [Markus Amalthea Magnuson](mailto:markus.magnuson@gmail.com) * [madmath03](https://github.com/madmath03) * [mig5](https://github.com/mig5) +* [mohe2015](https://github.com/mohe2015) * [moritzheiber](https://github.com/moritzheiber) * [Nathaniel Suchy](mailto:me@lunorian.is) * [ndarville](https://github.com/ndarville) * [NimaBoscarino](https://github.com/NimaBoscarino) * [aquarla](https://github.com/aquarla) * [Abzol](https://github.com/Abzol) +* [unextro](https://github.com/unextro) * [PatOnTheBack](https://github.com/PatOnTheBack) * [xPaw](https://github.com/xPaw) * [petzah](https://github.com/petzah) * [PeterDaveHello](https://github.com/PeterDaveHello) * [ignisf](https://github.com/ignisf) +* [postmodern](https://github.com/postmodern) * [lumenwrites](https://github.com/lumenwrites) * [remram44](https://github.com/remram44) * [sts10](https://github.com/sts10) * [u1-liquid](https://github.com/u1-liquid) +* [SISheogorath](https://github.com/SISheogorath) * [rosylilly](https://github.com/rosylilly) * [withshubh](https://github.com/withshubh) * [sim6](https://github.com/sim6) @@ -328,23 +345,23 @@ and provided thanks to the work of the following contributors: * [bsky](mailto:me@imbsky.net) * [codl](https://github.com/codl) * [cpsdqs](https://github.com/cpsdqs) +* [dogelover911](https://github.com/dogelover911) * [barzamin](https://github.com/barzamin) -* [gol-cha](https://github.com/gol-cha) * [gunchleoc](https://github.com/gunchleoc) * [fhalna](https://github.com/fhalna) * [haoyayoi](https://github.com/haoyayoi) +* [helloworldstack](https://github.com/helloworldstack) * [ik11235](https://github.com/ik11235) * [kawax](https://github.com/kawax) * [shrft](https://github.com/shrft) * [luigi](mailto:lvargas@rankia.com) -* [luzpaz](https://github.com/luzpaz) * [mbajur](https://github.com/mbajur) * [matsurai25](https://github.com/matsurai25) * [mecab](https://github.com/mecab) * [nicobz25](https://github.com/nicobz25) * [niwatori24](https://github.com/niwatori24) * [noiob](https://github.com/noiob) -* [oliverkeeble](https://github.com/oliverkeeble) +* [oliverkeeble](mailto:oliverkeeble@users.noreply.github.com) * [partev](https://github.com/partev) * [pinfort](https://github.com/pinfort) * [rbaumert](https://github.com/rbaumert) @@ -360,7 +377,7 @@ and provided thanks to the work of the following contributors: * [clarfonthey](https://github.com/clarfonthey) * [cygnan](https://github.com/cygnan) * [Awea](https://github.com/Awea) -* [eai04191](https://github.com/eai04191) +* [single-right-quote](https://github.com/single-right-quote) * [8398a7](https://github.com/8398a7) * [857b](https://github.com/857b) * [insom](https://github.com/insom) @@ -373,9 +390,10 @@ and provided thanks to the work of the following contributors: * [unleashed](https://github.com/unleashed) * [alxrcs](https://github.com/alxrcs) * [console-cowboy](https://github.com/console-cowboy) +* [Saiv46](https://github.com/Saiv46) * [Alkarex](https://github.com/Alkarex) * [a2](https://github.com/a2) -* [alfiedotwtf](https://github.com/alfiedotwtf) +* [Alfie John](mailto:33c6c91f3bb4a391082e8a29642cafaf@alfie.wtf) * [0xa](https://github.com/0xa) * [ashpieboop](https://github.com/ashpieboop) * [virtualpain](https://github.com/virtualpain) @@ -391,24 +409,34 @@ and provided thanks to the work of the following contributors: * [orlea](https://github.com/orlea) * [armandfardeau](https://github.com/armandfardeau) * [raboof](https://github.com/raboof) +* [v-aisac](https://github.com/v-aisac) +* [gi-yt](https://github.com/gi-yt) +* [boahc077](https://github.com/boahc077) * [aldatsa](https://github.com/aldatsa) * [jumbosushi](https://github.com/jumbosushi) * [acuteaura](https://github.com/acuteaura) * [ayumin](https://github.com/ayumin) * [bzg](https://github.com/bzg) * [BastienDurel](https://github.com/BastienDurel) +* [bearice](https://github.com/bearice) * [li-bei](https://github.com/li-bei) +* [hardillb](https://github.com/hardillb) * [Benedikt Geißler](mailto:benedikt@g5r.eu) * [BenisonSebastian](https://github.com/BenisonSebastian) * [Blake](mailto:blake.barnett@postmates.com) * [Brad Janke](mailto:brad.janke@gmail.com) +* [braydofficial](https://github.com/braydofficial) * [bclindner](https://github.com/bclindner) * [brycied00d](https://github.com/brycied00d) * [carlosjs23](https://github.com/carlosjs23) +* [WyriHaximus](https://github.com/WyriHaximus) * [cgxxx](https://github.com/cgxxx) * [kibitan](https://github.com/kibitan) +* [cdzombak](https://github.com/cdzombak) * [chrisheninger](https://github.com/chrisheninger) * [chris-martin](https://github.com/chris-martin) +* [offbyone](https://github.com/offbyone) +* [cclauss](https://github.com/cclauss) * [DoubleMalt](https://github.com/DoubleMalt) * [Moosh-be](https://github.com/Moosh-be) * [cchoi12](https://github.com/cchoi12) @@ -417,6 +445,8 @@ and provided thanks to the work of the following contributors: * [csu](https://github.com/csu) * [kklleemm](https://github.com/kklleemm) * [colindean](https://github.com/colindean) +* [CommanderRoot](https://github.com/CommanderRoot) +* [connorshea](https://github.com/connorshea) * [DeeUnderscore](https://github.com/DeeUnderscore) * [dachinat](https://github.com/dachinat) * [Daggertooth](mailto:dev@monsterpit.net) @@ -428,35 +458,40 @@ and provided thanks to the work of the following contributors: * [dar5hak](https://github.com/dar5hak) * [kant](https://github.com/kant) * [maxolasersquad](https://github.com/maxolasersquad) -* [singingwolfboy](https://github.com/singingwolfboy) -* [caldwell](https://github.com/caldwell) -* [davidcelis](https://github.com/davidcelis) -* [davefp](https://github.com/davefp) -* [hannahwhy](https://github.com/hannahwhy) -* [debanshuk](https://github.com/debanshuk) -* [mascali33](https://github.com/mascali33) -* [DerekNonGeneric](https://github.com/DerekNonGeneric) -* [dblandin](https://github.com/dblandin) -* [Aranaur](https://github.com/Aranaur) -* [dtschust](https://github.com/dtschust) -* [Dryusdan](https://github.com/Dryusdan) -* [d3vgru](https://github.com/d3vgru) -* [Elizafox](https://github.com/Elizafox) -* [enewhuis](https://github.com/enewhuis) -* [ericblade](https://github.com/ericblade) -* [mikoim](https://github.com/mikoim) -* [espenronnevik](https://github.com/espenronnevik) +* [David Baumgold](mailto:david@davidbaumgold.com) +* [David Caldwell](mailto:david+github@porkrind.org) +* [David Celis](mailto:me@davidcel.is) +* [David Hewitt](mailto:davidmhewitt@users.noreply.github.com) +* [David Underwood](mailto:davefp@gmail.com) +* [David Yip](mailto:yipdw@member.fsf.org) +* [Debanshu Kundu](mailto:debanshu.kundu@joshtechnologygroup.com) +* [Denis Teyssier](mailto:admin@mascali.ovh) +* [Derek Lewis](mailto:derekcecillewis@gmail.com) +* [Devon Blandin](mailto:dblandin@gmail.com) +* [Drew Gates](mailto:aranaur@users.noreply.github.com) +* [Drew Schuster](mailto:dtschust@gmail.com) +* [Dryusdan](mailto:dryusdan@dryusdan.fr) +* [Eai](mailto:eai@mizle.net) +* [Ed Knutson](mailto:knutsoned@gmail.com) +* [Effy Elden](mailto:effy@effy.space) +* [Elizabeth Myers](mailto:elizabeth@interlinked.me) +* [Eric](mailto:enewhuis@gmail.com) +* [Eric Blade](mailto:blade.eric@gmail.com) +* [Eshin Kunishima](mailto:mikoim@users.noreply.github.com) +* [Espen Rønnevik](mailto:espen@ronnevik.net) * [Expenses](mailto:expenses@airmail.cc) -* [fabianonline](https://github.com/fabianonline) -* [shello](https://github.com/shello) -* [Finariel](https://github.com/Finariel) -* [siuying](https://github.com/siuying) -* [zoc](https://github.com/zoc) -* [fwenzel](https://github.com/fwenzel) -* [gabrielrumiranda](https://github.com/gabrielrumiranda) -* [GenbuHase](https://github.com/GenbuHase) -* [nilsding](https://github.com/nilsding) -* [hattori6789](https://github.com/hattori6789) +* [Fabian Schlenz](mailto:mail@fabianonline.de) +* [Faye Duxovni](mailto:duxovni@duxovni.org) +* [Filipe Rodrigues](mailto:shello@shello.org) +* [Finariel](mailto:finariel@gmail.com) +* [Francis Chong](mailto:francis@ignition.hk) +* [Franck Zoccolo](mailto:franck@zoccolo.com) +* [Fred Wenzel](mailto:fwenzel@users.noreply.github.com) +* [Gabriel Rubens](mailto:gabrielrumiranda@gmail.com) +* [Gaelan Steele](mailto:gbs@canishe.com) +* [Genbu Hase](mailto:hasegenbu@gmail.com) +* [Georg Gadinger](mailto:nilsding@nilsding.org) +* [George Hattori](mailto:hattori6789@users.noreply.github.com) * [Gergely Nagy](mailto:algernon@users.noreply.github.com) * [Giuseppe Pignataro](mailto:rogepix@gmail.com) * [Greg V](mailto:greg@unrelenting.technology) @@ -466,7 +501,9 @@ and provided thanks to the work of the following contributors: * [György Nádudvari](mailto:reedcourty@users.noreply.github.com) * [HIKARU KOBORI](mailto:hk.uec.univ@gmail.com) * [Haelwenn Monnier](mailto:lanodan@users.noreply.github.com) +* [Hampton Lintorn-Catlin](mailto:hcatlin@gmail.com) * [Harmon](mailto:harmon758@gmail.com) +* [Hayden](mailto:contact@winisreallybored.com) * [HellPie](mailto:hellpie@users.noreply.github.com) * [Herbert Kagumba](mailto:habukagumba@gmail.com) * [Hiroe Jun](mailto:jun.hiroe@gmail.com) @@ -479,6 +516,7 @@ and provided thanks to the work of the following contributors: * [Ian McDowell](mailto:me@ianmcdowell.net) * [Iijima Yasushi](mailto:kurage.cc@gmail.com) * [Ingo Blechschmidt](mailto:iblech@web.de) +* [Irie Aoi](mailto:eai@mizle.net) * [J Yeary](mailto:usbsnowcrash@users.noreply.github.com) * [Jack Michaud](mailto:jack-michaud@users.noreply.github.com) * [Jakub Mendyk](mailto:jakubmendyk.szkola@gmail.com) @@ -493,6 +531,7 @@ and provided thanks to the work of the following contributors: * [Jo Decker](mailto:trolldecker@users.noreply.github.com) * [Joan Montané](mailto:jmontane@users.noreply.github.com) * [Joe](mailto:401283+htmlbyjoe@users.noreply.github.com) +* [Joe Friedl](mailto:stuff@joefriedl.net) * [Jonathan Klee](mailto:klee.jonathan@gmail.com) * [Jordan Guerder](mailto:jguerder@fr.pulseheberg.net) * [Joseph Mingrone](mailto:jehops@users.noreply.github.com) @@ -502,6 +541,7 @@ and provided thanks to the work of the following contributors: * [Julien](mailto:tiwy57@users.noreply.github.com) * [Julien Deswaef](mailto:juego@requiem4tv.com) * [June Sallou](mailto:jnsll@users.noreply.github.com) +* [Justin Thomas](mailto:justin@jdt.io) * [Jérémy Benoist](mailto:j0k3r@users.noreply.github.com) * [KEINOS](mailto:github@keinos.com) * [Kairui Song | 宋恺睿](mailto:ryncsn@gmail.com) @@ -522,6 +562,7 @@ and provided thanks to the work of the following contributors: * [Mantas](mailto:mistermantas@users.noreply.github.com) * [Mareena Kunjachan](mailto:mareenakunjachan@gmail.com) * [Marek Lach](mailto:marek.brohatwack.lach@gmail.com) +* [Markus Petzsch](mailto:markus@petzsch.eu) * [Markus R](mailto:wirehack7@users.noreply.github.com) * [Marty McGuire](mailto:schmartissimo@gmail.com) * [Marvin Kopf](mailto:marvinkopf@posteo.de) @@ -531,12 +572,15 @@ and provided thanks to the work of the following contributors: * [Mathias B](mailto:10813340+mathias-b@users.noreply.github.com) * [Mathieu Brunot](mailto:mb.mathieu.brunot@gmail.com) * [Matt](mailto:matt-auckland@users.noreply.github.com) +* [Matt Corallo](mailto:649246+thebluematt@users.noreply.github.com) * [Matt Sweetman](mailto:webroo@gmail.com) +* [Matthias Bethke](mailto:matthias@towiski.de) * [Matthias Beyer](mailto:mail@beyermatthias.de) * [Matthias Jouan](mailto:matthias.jouan@gmail.com) * [Matthieu Paret](mailto:matthieuparet69@gmail.com) * [Maxime BORGES](mailto:maxime.borges@gmail.com) * [Mayu Laierlence](mailto:minacle@live.com) +* [Meisam](mailto:39205857+mftabriz@users.noreply.github.com) * [Michael Deeb](mailto:michaeldeeb@me.com) * [Michael Vieira](mailto:dtox94@gmail.com) * [Michel](mailto:michel@cyweo.com) @@ -558,6 +602,7 @@ and provided thanks to the work of the following contributors: * [Nanamachi](mailto:town7.haruki@gmail.com) * [Nathaniel Ekoniak](mailto:nekoniak@ennate.tech) * [NecroTechno](mailto:necrotechno@riseup.net) +* [Nicholas La Roux](mailto:larouxn@gmail.com) * [Nick Gerakines](mailto:nick@gerakines.net) * [Nicolai von Neudeck](mailto:nicolai@vonneudeck.com) * [Ninetailed](mailto:ninetailed@gmail.com) @@ -575,18 +620,25 @@ and provided thanks to the work of the following contributors: * [PatrickRWells](mailto:32802366+patrickrwells@users.noreply.github.com) * [Paul](mailto:naydex.mc+github@gmail.com) * [Pete Keen](mailto:pete@petekeen.net) +* [Pierre Bourdon](mailto:delroth@gmail.com) * [Pierre-Morgan Gate](mailto:pgate@users.noreply.github.com) * [Ratmir Karabut](mailto:rkarabut@sfmodern.ru) * [Reto Kromer](mailto:retokromer@users.noreply.github.com) +* [Rob Petti](mailto:rob.petti@gmail.com) * [Rob Watson](mailto:rfwatson@users.noreply.github.com) +* [Robert Laurenz](mailto:8169746+laurenzcodes@users.noreply.github.com) * [Rohan Sharma](mailto:i.am.lone.survivor@protonmail.com) +* [Roni Laukkarinen](mailto:roni@laukkarinen.info) * [Ryan Freebern](mailto:ryan@freebern.org) * [Ryan Wade](mailto:ryan.wade@protonmail.com) * [Ryo Kajiwara](mailto:kfe-fecn6.prussian@s01.info) * [S.H](mailto:gamelinks007@gmail.com) +* [SJang1](mailto:git@sjang.dev) * [Sadiq Saif](mailto:staticsafe@users.noreply.github.com) * [Sam Hewitt](mailto:hewittsamuel@gmail.com) +* [Samuel Kaiser](mailto:sk22@mailbox.org) * [Sara Aimée Smiseth](mailto:51710585+sarasmiseth@users.noreply.github.com) +* [Sara Golemon](mailto:pollita@php.net) * [Satoshi KOJIMA](mailto:skoji@mac.com) * [ScienJus](mailto:i@scienjus.com) * [Scott Larkin](mailto:scott@codeclimate.com) @@ -607,6 +659,7 @@ and provided thanks to the work of the following contributors: * [Spanky](mailto:2788886+spankyworks@users.noreply.github.com) * [Stanislas](mailto:stanislas.lange@pm.me) * [StefOfficiel](mailto:pichard.stephane@free.fr) +* [Stefano Pigozzi](mailto:ste.pigozzi@gmail.com) * [Steven Tappert](mailto:admin@dark-it.net) * [Stéphane Guillou](mailto:stephane.guillou@member.fsf.org) * [Su Yang](mailto:soulteary@users.noreply.github.com) @@ -619,13 +672,16 @@ and provided thanks to the work of the following contributors: * [TakesxiSximada](mailto:takesxi.sximada@gmail.com) * [Tao Bror Bojlén](mailto:brortao@users.noreply.github.com) * [Taras Gogol](mailto:taras2358@gmail.com) +* [The Stranjer](mailto:791672+thestranjer@users.noreply.github.com) * [TheInventrix](mailto:theinventrix@users.noreply.github.com) * [TheMainOne](mailto:50847364+theevilskeleton@users.noreply.github.com) * [Thomas Alberola](mailto:thomas@needacoffee.fr) +* [Thomas Citharel](mailto:github@tcit.fr) * [Toby Deshane](mailto:fortyseven@users.noreply.github.com) * [Toby Pinder](mailto:gigitrix@gmail.com) * [Tomonori Murakami](mailto:crosslife777@gmail.com) * [TomoyaShibata](mailto:wind.of.hometown@gmail.com) +* [Tony Jiang](mailto:yujiang99@gmail.com) * [Treyssat-Vincent Nino](mailto:treyssatvincent@users.noreply.github.com) * [Truong Nguyen](mailto:truongnmt.dev@gmail.com) * [Udo Kramer](mailto:optik@fluffel.io) @@ -634,6 +690,7 @@ and provided thanks to the work of the following contributors: * [Ushitora Anqou](mailto:ushitora_anqou@yahoo.co.jp) * [Valentin Lorentz](mailto:progval+git@progval.net) * [Vladimir Mincev](mailto:vladimir@canicinteractive.com) +* [Vyr Cossont](mailto:vyrcossont@users.noreply.github.com) * [Waldir Pimenta](mailto:waldyrious@gmail.com) * [Wenceslao Páez Chávez](mailto:wcpaez@gmail.com) * [Wesley Ellis](mailto:tahnok@gmail.com) @@ -648,10 +705,12 @@ and provided thanks to the work of the following contributors: * [YaQ](mailto:i_k_o_m_a_7@yahoo.co.jp) * [Yanaken](mailto:yanakend@gmail.com) * [Yann Klis](mailto:yann.klis@gmail.com) +* [Yarden Shoham](mailto:hrsi88@gmail.com) * [Yağızhan](mailto:35808275+yagizhan49@users.noreply.github.com) * [Yeechan Lu](mailto:wz.bluesnow@gmail.com) * [Your Name](mailto:lorenzd@gmail.com) * [Yusuke Abe](mailto:moonset20@gmail.com) +* [Zach Flanders](mailto:zachflanders@gmail.com) * [Zach Neill](mailto:neillz@berea.edu) * [Zachary Spector](mailto:logicaldash@gmail.com) * [ZiiX](mailto:ziix@users.noreply.github.com) @@ -666,8 +725,8 @@ and provided thanks to the work of the following contributors: * [chrolis](mailto:chrolis@users.noreply.github.com) * [cormo](mailto:cormorant2+github@gmail.com) * [d0p1](mailto:dopi-sama@hush.com) -* [dogelover911](mailto:84288771+dogelover911@users.noreply.github.com) * [dxwc](mailto:dxwc@users.noreply.github.com) +* [eai04191](mailto:eai@mizle.net) * [evilny0](mailto:evilny0@moomoocamp.net) * [febrezo](mailto:felixbrezo@gmail.com) * [fsubal](mailto:fsubal@users.noreply.github.com) @@ -678,7 +737,6 @@ and provided thanks to the work of the following contributors: * [hakoai](mailto:hk--76@qa2.so-net.ne.jp) * [haosbvnker](mailto:github@chaosbunker.com) * [heguro](mailto:65112898+heguro@users.noreply.github.com) -* [helloworldstack](mailto:66512512+helloworldstack@users.noreply.github.com) * [ichi_i](mailto:51489410+ichi-i@users.noreply.github.com) * [isati](mailto:phil@juchnowi.cz) * [jacob](mailto:jacobherringtondeveloper@gmail.com) @@ -688,15 +746,18 @@ and provided thanks to the work of the following contributors: * [jooops](mailto:joops@autistici.org) * [jukper](mailto:jukkaperanto@gmail.com) * [jumoru](mailto:jumoru@mailbox.org) +* [k.bigwheel (kazufumi nishida)](mailto:k.bigwheel+eng@gmail.com) * [kaias1jp](mailto:kaias1jp@gmail.com) * [karlyeurl](mailto:karl.yeurl@gmail.com) * [kawaguchi](mailto:jiikko@users.noreply.github.com) * [kedama](mailto:32974885+kedamadq@users.noreply.github.com) +* [keiya](mailto:keiya_21@yahoo.co.jp) * [kuro5hin](mailto:rusty@kuro5hin.org) * [leo60228](mailto:leo@60228.dev) * [matildepark](mailto:matilde.park@pm.me) * [maxypy](mailto:maxime@mpigou.fr) * [mhe](mailto:mail@marcus-herrmann.com) +* [mickkael](mailto:19755421+mickkael@users.noreply.github.com) * [mike castleman](mailto:m@mlcastle.net) * [mimikun](mailto:dzdzble_effort_311@outlook.jp) * [mohemohe](mailto:mohemohe@users.noreply.github.com) @@ -707,9 +768,11 @@ and provided thanks to the work of the following contributors: * [notozeki](mailto:notozeki@users.noreply.github.com) * [ntl-purism](mailto:57806346+ntl-purism@users.noreply.github.com) * [nzws](mailto:git-yuzu@svk.jp) +* [pea-sys](mailto:49807271+pea-sys@users.noreply.github.com) * [potpro](mailto:pptppctt@gmail.com) * [proxy](mailto:51172302+3n-k1@users.noreply.github.com) * [rch850](mailto:rich850@gmail.com) +* [rcombs](mailto:rcombs@rcombs.me) * [roikale](mailto:roikale@users.noreply.github.com) * [rysiekpl](mailto:rysiek@hackerspace.pl) * [sasanquaneuf](mailto:sasanquaneuf@gmail.com) @@ -726,13 +789,13 @@ and provided thanks to the work of the following contributors: * [tmyt](mailto:shigure@refy.net) * [trevDev()](mailto:trev@trevdev.ca) * [tsia](mailto:github@tsia.de) +* [txt-file](mailto:44214237+txt-file@users.noreply.github.com) * [utam0k](mailto:k0ma@utam0k.jp) * [vpzomtrrfrt](mailto:vpzomtrrfrt@gmail.com) * [walfie](mailto:walfington@gmail.com) * [y-temp4](mailto:y.temp4@gmail.com) * [ymmtmdk](mailto:ymmtmdk@gmail.com) * [yoshipc](mailto:yoooo@yoshipc.net) -* [zunda](mailto:zundan@gmail.com) * [Özcan Zafer AYAN](mailto:ozcanzaferayan@gmail.com) * [ばん](mailto:detteiu0321@gmail.com) * [ふるふる](mailto:frfs@users.noreply.github.com) @@ -752,599 +815,951 @@ This document is provided for informational purposes only. Since it is only upda Following people have contributed to translation of Mastodon: - GunChleoc (*Scottish Gaelic*) -- ケインツロ 👾 (KNTRO) (*Spanish, Argentina*) -- Sveinn í Felli (sveinki) (*Icelandic*) +- ケインツロ ⚧️👾🛸 (KNTRO) (*Spanish, Argentina*) - Hồ Nhất Duy (honhatduy) (*Vietnamese*) +- Sveinn í Felli (sveinki) (*Icelandic*) +- Kristaps (Kristaps_M) (*Latvian*) +- NCAA (*Danish, French*) - Zoltán Gera (gerazo) (*Hungarian*) -- Kristaps_M (*Latvian*) -- NCAA (*French, Danish*) -- adrmzz (*Sardinian*) -- Xosé M. (XoseM) (*Spanish, Galician*) -- Ramdziana F Y (rafeyu) (*Indonesian*) -- Jeong Arm (Kjwon15) (*Spanish, Japanese, Korean, Esperanto*) +- ghose (XoseM) (*Galician, Spanish*) +- Jeong Arm (Kjwon15) (*Korean, Esperanto, Japanese, Spanish*) - Emanuel Pina (emanuelpina) (*Portuguese*) -- qezwan (*Persian, Sorani (Kurdish)*) -- Besnik_b (*Albanian*) -- ButterflyOfFire (BoFFire) (*French, Arabic, Kabyle*) +- Reyzadren (*Ido, Malay*) - Thai Localization (thl10n) (*Thai*) -- Cyax (Cyaxares) (*Kurmanji (Kurdish)*) -- taicv (*Vietnamese*) -- Daniele Lira Mereb (danilmereb) (*Portuguese, Brazilian*) -- spla (*Spanish, Catalan*) -- Evert Prants (IcyDiamond) (*Estonian*) -- koyu (*German*) -- Alix Rossi (palindromordnilap) (*French, Esperanto, Corsican*) +- Besnik_b (*Albanian*) - Joene (joenepraat) (*Dutch*) +- Cyax (Cyaxares) (*Kurmanji (Kurdish)*) +- adrmzz (*Sardinian*) +- Ramdziana F Y (rafeyu) (*Indonesian*) +- xatier (*Chinese Traditional, Chinese Traditional, Hong Kong*) +- qezwan (*Sorani (Kurdish), Persian*) +- spla (*Catalan, Spanish*) +- ButterflyOfFire (BoFFire) (*Arabic, French, Kabyle*) +- Martin (miles) (*Slovenian*) +- නාමල් ජයසිංහ (nimnaya) (*Sinhala*) +- Asier Iturralde Sarasola (aldatsa) (*Basque*) +- Ondřej Pokorný (unextro) (*Czech*) +- Roboron (*Spanish*) +- taicv (*Vietnamese*) +- koyu (*German*) +- Daniele Lira Mereb (danilmereb) (*Portuguese, Brazilian*) +- T. E. Kalaycı (tekrei) (*Turkish*) +- Evert Prants (IcyDiamond) (*Estonian*) +- Yair Mahalalel (yairm) (*Hebrew*) +- Ihor Hordiichuk (ihor_ck) (*Ukrainian*) +- Alessandro Levati (Oct326) (*Italian*) +- Kimmo Kujansuu (mrkujansuu) (*Finnish*) +- Alix Rossi (palindromordnilap) (*Corsican, Esperanto, French*) +- Danial Behzadi (danialbehzadi) (*Persian*) - stan ionut (stanionut12) (*Romanian*) - Mastodon 中文译者 (mastodon-linguist) (*Chinese Simplified*) - Kristijan Tkalec (lapor) (*Slovenian*) -- Danial Behzadi (danialbehzadi) (*Persian*) -- Asier Iturralde Sarasola (aldatsa) (*Basque*) +Alexander Sorokin (Brawaru) (*Russian, Vietnamese, Swedish, Portuguese, Tamil, Kabyle, Polish, Italian, Catalan, Armenian, Hungarian, Albanian, Greek, Galician, Korean, Ukrainian, German, Danish, French*) - ManeraKai (*Arabic*) - мачко (ma4ko) (*Bulgarian*) -- Roboron (*Spanish*) -- Alessandro Levati (Oct326) (*Italian*) -- xatier (*Chinese Traditional, Chinese Traditional, Hong Kong*) -- Ondřej Pokorný (unextro) (*Czech*) -- Alexander Sorokin (Brawaru) (*French, Catalan, Danish, German, Greek, Hungarian, Armenian, Korean, Portuguese, Russian, Albanian, Swedish, Ukrainian, Vietnamese, Galician*) - kamee (*Armenian*) -- Michal Stanke (mstanke) (*Czech*) +- Yamagishi Kazutoshi (ykzts) (*Japanese, Icelandic, Sorani (Kurdish), Albanian, Vietnamese, Chinese Simplified*) +- Takeçi (polygoat) (*French, Italian*) +- REMOVED_USER (*Czech*) - borys_sh (*Ukrainian*) - Imre Kristoffer Eilertsen (DandelionSprout) (*Norwegian*) -- yeft (*Chinese Traditional, Chinese Traditional, Hong Kong*) +- Marek Ľach (mareklach) (*Slovak, Polish*) +- yeft (*Chinese Traditional, Hong Kong, Chinese Traditional*) +- D. Cederberg (cederberget) (*Swedish*) - Miguel Mayol (mitcoes) (*Spanish, Catalan*) -- Marek Ľach (mareklach) (*Polish, Slovak*) -- Manuel Viens (manuelviens) (*French*) -- Kimmo Kujansuu (mrkujansuu) (*Finnish*) -- Koala Yeung (yookoala) (*Chinese Traditional, Hong Kong*) - enolp (*Asturian*) +- Manuel Viens (manuelviens) (*French*) +- cybergene (*Japanese*) +- REMOVED_USER (*Turkish*) +- xpil (*Polish, Scottish Gaelic*) +- Balázs Meskó (mesko.balazs) (*Hungarian, Czech*) +- Koala Yeung (yookoala) (*Chinese Traditional, Hong Kong*) - Osoitz (*Basque*) -- Peterandre (*Norwegian, Norwegian Nynorsk*) -- tzium (*Sardinian*) +- Amir Rubinstein - TAU (AmirrTAU) (*Hebrew, Indonesian*) - Maya Minatsuki (mayaeh) (*Japanese*) -- Mélanie Chauvel (ariasuni) (*French, Arabic, Czech, German, Greek, Hungarian, Slovenian, Ukrainian, Chinese Simplified, Portuguese, Brazilian, Persian, Norwegian Nynorsk, Esperanto, Breton, Corsican, Sardinian, Kabyle*) -- T. E. Kalaycı (tekrei) (*Turkish*) -- Takeçi (polygoat) (*French, Italian*) +- Peterandre (*Norwegian Nynorsk, Norwegian*) +Mélanie Chauvel (ariasuni) (*French, Esperanto, Norwegian Nynorsk, Persian, Kabyle, Sardinian, Corsican, Breton, Portuguese, Brazilian, Arabic, Chinese Simplified, Ukrainian, Slovenian, Greek, German, Czech, Hungarian*) +- tzium (*Sardinian*) +- Diluns (*Occitan*) - Galician Translator (Galician_translator) (*Galician*) +- Marcin Mikołajczak (mkljczkk) (*Polish, Czech, Russian*) +- Jeff Huang (s8321414) (*Chinese Traditional*) +- Pixelcode (realpixelcode) (*German*) +- Allen Zhong (AstroProfundis) (*Chinese Simplified*) - lamnatos (*Greek*) - Sean Young (assanges) (*Chinese Traditional*) +- retiolus (*Catalan, French, Spanish*) - tolstoevsky (*Russian*) -- Ihor Hordiichuk (ihor_ck) (*Ukrainian*) - Ali Demirtaş (alidemirtas) (*Turkish*) -- Jasmine Cam Andrever (gourmas) (*Cornish*) +- J. Cam Andrever-Wright (gourmas) (*Cornish*) - coxde (*Chinese Simplified*) +- Dremski (*Bulgarian*) - gagik_ (*Armenian*) - Masoud Abkenar (mabkenar) (*Persian*) - arshat (*Kazakh*) -- Marcin Mikołajczak (mkljczkk) (*Czech, Polish, Russian*) -- Jeff Huang (s8321414) (*Chinese Traditional*) +- Ira (seefood) (*Hebrew*) +- Linerly (*Indonesian*) - Blak Ouille (BlakOuille16) (*French*) - e (diveedd) (*Kurmanji (Kurdish)*) - Em St Cenydd (cancennau) (*Welsh*) -- Diluns (*Occitan*) -- Nurul Azeera Hidayah @ Muhammad Nur Hidayat Yasuyoshi (MNH48.moe) (mnh48) (*Malay*) -- Tagomago (tagomago) (*French, Spanish*) -- Jurica (ahjk) (*Croatian*) -- Aditoo17 (*Czech*) - Tigran (tigransimonyan) (*Armenian*) +- Draacoun (*Portuguese, Brazilian*) +- REMOVED_USER (*Turkish*) +- Nurul Azeera Hidayah @ Muhammad Nur Hidayat Yasuyoshi (MNH48.moe) (mnh48) (*Malay*) +- Tagomago (tagomago) (*Spanish, French*) +- Ashun (ashune) (*Croatian*) +- Aditoo17 (*Czech*) - vishnuvaratharajan (*Tamil*) - pulmonarycosignerkindness (*Swedish*) - calypsoopenmail (*French*) -- cybergene (cyber-gene) (*Japanese*) +- REMOVED_USER (*Kabyle*) +- snerk (*Norwegian Nynorsk*) +- Sebastian (SebastianBerlin) (*German*) +- lisawe (*Norwegian*) +- serratrad (*Catalan*) - Bran_Ruz (*Breton*) +- ViktorOn (*Russian, Danish*) - Gearguy (*Finnish*) +- Andi Chandler (andibing) (*English, United Kingdom*) +- Tor Egil Hoftun Kvæstad (Taloran) (*Norwegian Nynorsk*) - GiorgioHerbie (*Italian*) -- Balázs Meskó (mesko.balazs) (*Czech, Hungarian*) -- Martin (miles) (*Slovenian*) +- හෙළබස සමූහය (HelaBasa) (*Sinhala*) +- kat (katktv) (*Ukrainian, Russian*) +- Yi-Jyun Pan (pan93412) (*Chinese Traditional*) +- Fjoerfoks (fryskefirefox) (*Frisian, Dutch*) +- Eshagh (eshagh79) (*Persian*) - regulartranslator (*Portuguese, Brazilian*) - Saederup92 (*Danish*) -- ozzii (*French, Serbian (Cyrillic)*) +- ozzii (Serbian (Cyrillic), French) - Irfan (Irfan_Radz) (*Malay*) -- Yi-Jyun Pan (pan93412) (*Chinese Traditional*) - ClearlyClaire (*French, Icelandic*) +- Sokratis Alichanidis (alichani) (*Greek*) +- Jiří Podhorecký (trendspotter) (*Czech*) - Akarshan Biswas (biswasab) (*Bengali, Sanskrit*) +- Robert Wolniak (Szkodnix) (*Polish*) +- Jan Lindblom (janlindblom) (*Swedish*) +- Dewi (Unkorneg) (*Breton, French*) - Kristoffer Grundström (Umeaboy) (*Swedish*) - Rafael H L Moretti (Moretti) (*Portuguese, Brazilian*) - d5Ziif3K (*Ukrainian*) -- හෙළබස (HelaBasa) (*Sinhala*) -- xpil (*Polish*) -- Rojdayek (*Kurmanji (Kurdish)*) +- Nemu (Dormemulo) (*Esperanto, French, Italian, Ido, Afrikaans*) +- Johan Mynhardt (johanmynhardt) (*Afrikaans*) +- Rojdayek (Kurmanji (Kurdish)) +- REMOVED_USER (*Portuguese, Brazilian*) +- GCardo (*Portuguese, Brazilian*) - christalleras (*Norwegian Nynorsk*) -- Allen Zhong (AstroProfundis) (*Chinese Simplified*) -- Taloran (*Norwegian Nynorsk*) -- Sokratis Alichanidis (alichani) (*Greek*) +- diorama (*Italian*) +- Jaz-Michael King (jazmichaelking) (*Welsh*) - Catalina (catalina.st) (*Romanian*) -- otrapersona (*Spanish, Spanish, Mexico*) - Ryo (DrRyo) (*Korean*) -- Mauzi (*German, Swedish*) +- otrapersona (*Spanish, Mexico, Spanish*) +- Frontier Translation Ltd. (frontier-translation) (*Chinese Simplified*) +- Mauzi (*Swedish, German*) +- Clopsy87 (*Italian*) - atarashiako (*Chinese Simplified*) - erictapen (*German*) +- zhen liao (az0189re) (*Chinese Simplified*) - 101010 (101010pl) (*Polish*) -- Jaz-Michael King (jazmichaelking) (*Welsh*) +- REMOVED_USER (*Norwegian*) - axi (*Finnish*) - silkevicious (*Italian*) - Floxu (fredrikdim1) (*Norwegian Nynorsk*) -- NadieAishi (*Spanish, Spanish, Mexico*) +- Nic Dafis (nicdafis) (*Welsh*) +- NadieAishi (*Spanish, Mexico, Spanish*) +- 戸渡生野 (aomyouza2543) (*Thai*) +- Tjipke van der Heide (vancha) (*Frisian*) +- Erik Mogensen (mogsie) (*Norwegian*) +- pomoch (*Chinese Traditional, Hong Kong*) +- Alexandre Brito (alexbrito) (*Portuguese, Brazilian*) - Bertil Hedkvist (Berrahed) (*Swedish*) - William(ѕ)ⁿ (wmlgr) (*Spanish*) -- Eshagh (eshagh79) (*Persian*) - LNDDYL (*Chinese Traditional*) +- tanketom (*Norwegian Nynorsk*) - norayr (*Armenian*) +- l3ycle (*German*) +- strubbl (*German*) - Satnam S Virdi (pika10singh) (*Punjabi*) - Tiago Epifânio (tfve) (*Portuguese*) - Mentor Gashi (mentorgashi.com) (*Albanian*) +- Sid (autinerd1) (*Dutch, German*) - carolinagiorno (*Portuguese, Brazilian*) +- Em_i (emiliencoss) (*French*) +- Liam O (liamoshan) (*Irish*) - Hayk Khachatryan (brutusromanus123) (*Armenian*) - Roby Thomas (roby.thomas) (*Malayalam*) +- ThonyVezbe (*Breton*) +- Percy (kecrily) (*Chinese Simplified*) - Bharat Kumar (Marwari) (*Hindi*) - Austra Muizniece (aus_m) (*Latvian*) -- ThonyVezbe (*Breton*) +- Urubu Lageano (urubulageano) (*Portuguese, Brazilian*) - Just Spanish (7_7) (*Spanish, Mexico*) - v4vachan (*Malayalam*) - bilfri (*Danish*) +- IamHappy (mrmx2013) (*Ukrainian*) - dkdarshan760 (*Sanskrit*) - Timur Seber (seber) (*Tatar*) - Slimane Selyan AMIRI (SelyanKab) (*Kabyle*) - VaiTon (*Italian*) -- Vik (ViktorOn) (*Danish, Russian*) - tykayn (*French*) -- GCardo (*Portuguese, Brazilian*) +- Abdulaziz Aljaber (kuwaitna) (*Arabic*) - taoxvx (*Danish*) -- Hrach Mkrtchyan (mhrach87) (*Armenian*) +- Hrach Mkrtchyan (hrachmk) (*Armenian*) - sabri (thetomatoisavegetable) (*Spanish, Spanish, Argentina*) -- Dewi (Unkorneg) (*French, Breton*) - CoelacanthusHex (*Chinese Simplified*) - Rhys Harrison (rhedders) (*Esperanto*) -- syncopams (*Chinese Simplified, Chinese Traditional, Chinese Traditional, Hong Kong*) +- syncopams (*Chinese Traditional, Hong Kong, Chinese Traditional, Chinese Simplified*) - SteinarK (*Norwegian Nynorsk*) +- REMOVED_USER (*Standard Moroccan Tamazight*) - Maxine B. Vågnes (vagnes) (*Norwegian, Norwegian Nynorsk*) -- Hakim Oubouali (zenata1) (*Standard Moroccan Tamazight*) +- Rikard Linde (rikardlinde) (*Swedish*) - ahangarha (*Persian*) - Lalo Tafolla (lalotafo) (*Spanish, Spanish, Mexico*) -- dashersyed (*Urdu (Pakistan)*) +- Larissa Cruz (larissacruz) (*Portuguese, Brazilian*) +- dashersyed (Urdu (Pakistan)) +- camerongreer21 (*English, United Kingdom*) +- REMOVED_USER (*Ukrainian*) - Conight Wang (xfddwhh) (*Chinese Simplified*) - liffon (*Swedish*) - Damjan Dimitrioski (gnud) (*Macedonian*) -- Rikard Linde (rikardlinde) (*Swedish*) - rondnunes (*Portuguese, Brazilian*) -- strubbl (*German*) - PPNplus (*Thai*) -- Frontier Translation Ltd. (frontier-translation) (*Chinese Simplified*) -- shioko (*Chinese Simplified*) -- Kahina Mess (K_hina) (*Kabyle*) -- ZiriSut (*Kabyle*) -- Groosha (groosha) (*Russian*) -- Hexandcube (hexandcube) (*Polish*) -- Gwenn (Belvar) (*Breton*) +- Steven Ritchie (Steaph38) (*Scottish Gaelic*) - 游荡 (MamaShip) (*Chinese Simplified*) -- StanleyFrew (*French*) -- mynameismonkey (*Welsh*) - Edward Navarro (EdwardNavarro) (*Spanish*) +- shioko (*Chinese Simplified*) +- gnu-ewm (*Polish*) +- Kahina Mess (K_hina) (*Kabyle*) +- Hexandcube (hexandcube) (*Polish*) +- Scott Starkey (yekrats) (*Esperanto*) +- ZiriSut (*Kabyle*) +- FreddyG (*Esperanto*) +- mynameismonkey (*Welsh*) +- Groosha (groosha) (*Russian*) +- Gwenn (Belvar) (*Breton*) +- StanleyFrew (*French*) +- cathalgarvey (*Irish*) - Nikita Epifanov (Nikets) (*Russian*) +- REMOVED_USER (*Finnish*) - jaranta (*Finnish*) - Slobodan Simić (Слободан Симић) (slsimic) (*Serbian (Cyrillic)*) -- retiolus (*Catalan*) -- iVampireSP (*Chinese Simplified, Chinese Traditional*) +- iVampireSP (*Chinese Traditional, Chinese Simplified*) - Felicia Jongleur (midsommar) (*Swedish*) - Denys (dector) (*Ukrainian*) - Mo_der Steven (SakuraPuare) (*Chinese Simplified*) +- REMOVED_USER (*German*) +- Kishin Sagume (kishinsagi) (*Chinese Simplified*) +- bennepharaoh (*Chinese Simplified*) - Vanege (*Esperanto*) +- hibiya inemuri (hibiya) (*Korean*) - Jess Rafn (therealyez) (*Danish*) - Stasiek Michalski (hellcp) (*Polish*) - dxwc (*Bengali*) -- Filbert Salim (gamesbert6) (*Indonesian*) +- Heran Membingung (heranmembingung) (*Indonesian*) +- Parodper (*Galician*) +- rbnval (*Catalan*) - Liboide (*Spanish*) +- hemnaren (*Norwegian Nynorsk*) - jmontane (*Catalan*) +- Andy Kleinert (AndyKl) (*German*) - Chris Kay (chriskarasoulis) (*Greek*) +- CrowdinBRUH (*Vietnamese*) +- Rhoslyn Prys (Rhoslyn) (*Welsh*) +- abidin toumi (Zet24) (*Arabic*) - Johan Schiff (schyffel) (*Swedish*) - Rex_sa (rex07) (*Arabic*) +- amedcj (*Kurmanji (Kurdish)*) - Arunmozhi (tecoholic) (*Tamil*) - zer0-x (ZER0-X) (*Arabic*) -- kat (katktv) (*Russian, Ukrainian*) +- staticnoisexyz (*Czech*) - Lauren Liberda (selfisekai) (*Polish*) +- Michael Zeevi (maze88) (*Hebrew*) - oti4500 (*Hungarian, Ukrainian*) - Delta (Delta-Time) (*Japanese*) -- Michael Zeevi (maze88) (*Hebrew*) +- Marc Antoine Thevenet (MATsxm) (*French*) +- AlexKoala (alexkoala) (*Korean*) - SarfarazAhmed (*Urdu (Pakistan)*) +- Ahmad Dakhlallah (MIUIArabia) (*Arabic*) - Mats Gunnar Ahlqvist (goqbi) (*Swedish*) - diazepan (*Spanish, Spanish, Argentina*) +- Tiger:blank (tsagaanbar) (*Chinese Simplified*) +- REMOVED_USER (*Chinese Simplified*) - marzuquccen (*Kabyle*) - atriix (*Swedish*) +- Laur (melaur) (*Romanian*) - VictorCorreia (victorcorreia1984) (*Afrikaans*) - Remito (remitocat) (*Japanese*) -- AlexKoala (alexkoala) (*Korean*) - Juan José Salvador Piedra (JuanjoSalvador) (*Spanish*) -- BurekzFinezt (*Serbian (Cyrillic)*) +- REMOVED_USER (*Norwegian*) - 森の子リスのミーコの大冒険 (Phroneris) (*Japanese*) +- Gim_Garam (*Korean*) +- BurekzFinezt (*Serbian (Cyrillic)*) +- Pēteris Caune (cuu508) (*Latvian*) - asnomgtu (*Hungarian*) +- bendigeidfran (*Welsh*) - SHeija (*Finnish*) - Врабац (Slovorad) (*Serbian (Cyrillic)*) - Dženan (Dzenan) (*Swedish*) -- Jack R (isaac.97_WT) (*Spanish*) +- Gabriel Beecham (lancet) (*Irish*) - antonyho (*Chinese Traditional, Hong Kong*) -- FreddyG (*Esperanto*) -- andruhov (*Russian, Ukrainian*) +- Jack R (isaac.97_WT) (*Spanish*) +- Henrik Mattsson-Mårn (rchk) (*Swedish*) +- Oguzhan Aydin (aoguzhan) (*Turkish*) +- Soran730 (*Chinese Simplified*) +- andruhov (*Ukrainian, Russian*) +- 北䑓如法 (Nyoho) (*Japanese*) - phena109 (*Chinese Traditional, Hong Kong*) -- Aryamik Sharma (Aryamik) (*Swedish, Hindi*) +- Aryamik Sharma (Aryamik) (*Hindi, Swedish*) - Unmual (*Spanish*) +- Tobias Bannert (toba) (*German*) - Adrián Graña (alaris83) (*Spanish*) -- cruz2020 (*Portuguese*) - vpei (*Chinese Simplified*) +- cruz2020 (*Portuguese*) +- papapep (h9f2ycHh-ktOd6_Y) (*Catalan*) +- Roj (roj1512) (*Sorani (Kurdish), Kurmanji (Kurdish)*) - るいーね (ruine) (*Japanese*) +- aujawindar (*Norwegian Nynorsk*) +- irithys (*Chinese Simplified*) - Sam Tux (imahbub) (*Bengali*) - igordrozniak (*Polish*) +- Johannes Nilsson (nlssn) (*Swedish*) - Michał Sidor (michcioperz) (*Polish*) - Isaac Huang (caasih) (*Chinese Traditional*) - AW Unad (awcodify) (*Indonesian*) - 1Alino (*Slovak*) - Cutls (cutls) (*Japanese*) -- Goudarz Jafari (Goudarz) (*Persian*) -- Parodper (*Galician*) +- Goudarz Jafari (GoudarzJafari) (*Persian*) +- Daniel Strömholm (stromholm) (*Swedish*) - 1 (Ipsumry) (*Spanish*) - Falling Snowdin (tghgg) (*Vietnamese*) +- Paulino Michelazzo (pmichelazzo) (*Portuguese, Brazilian*) +- Y.Yamashiro (uist1idrju3i) (*Japanese*) - Rasmus Lindroth (RasmusLindroth) (*Swedish*) - Gianfranco Fronteddu (gianfro.gianfro) (*Sardinian*) - Andrea Lo Iacono (niels0n) (*Italian*) - fucsia (*Italian*) - Vedran Serbu (SerenoXGen) (*Croatian*) +- Raphael Das Gupta (das-g) (*Esperanto, German*) +- yanchan09 (*Estonian*) +- ainmeolai (*Irish*) +- REMOVED_USER (*Norwegian*) +- mian42 (*Bulgarian*) - Kinshuk Sunil (kinshuksunil) (*Hindi*) -- Ullas Joseph (ullasjoseph) (*Malayalam*) - al_._ (*German, Russian*) -- Matthías Páll Gissurarson (icetritlo) (*Icelandic*) -- Percy (kecrily) (*Chinese Simplified*) -- Yu-Pai Liu (tedliou) (*Chinese Traditional*) -- KcKcZi (*Chinese Simplified*) -- Amarin Cemthong (acitmaster) (*Thai*) -- Johannes Nilsson (nlssn) (*Swedish*) +- Ullas Joseph (ullasjoseph) (*Malayalam*) +- sanoth (*Swedish*) +- Aftab Alam (iaftabalam) (*Hindi*) +- frumble (*German*) - juanda097 (juanda-097) (*Spanish*) +- Matthías Páll Gissurarson (icetritlo) (*Icelandic*) +- Russian Retro (retrograde) (*Russian*) +- KcKcZi (*Chinese Simplified*) +- Yu-Pai Liu (tedliou) (*Chinese Traditional*) +- Amarin Cemthong (acitmaster) (*Thai*) +- Etinew (*Hebrew*) - xsml (*Chinese Simplified*) +- S.J. L. (samijuhanilii) (*Finnish*) - Anunnakey (*Macedonian*) - erikkemp (*Dutch*) +- Tsl (muun) (*Chinese Simplified*) +- Renato "Lond" Cerqueira (renatolond) (*Portuguese, Brazilian*) +- Úna-Minh Kavanagh (yunitex) (*Irish*) +- kongk (*Norwegian Nynorsk*) - erikstl (*Esperanto*) - twpenguin (*Chinese Traditional*) +- JeremyStarTM (*German*) - Po-chiang Chao (bobchao) (*Chinese Traditional*) - Marcus Myge (mygg-priv) (*Norwegian*) - Esther (esthermations) (*Portuguese*) +- Jiri Grönroos (spammemoreplease) (*Finnish*) - MadeInSteak (*Finnish*) +- witoharmuth (*Swedish*) +- MESHAL45 (*Arabic*) +- mcdutchie (*Dutch*) +- Michal Špondr (michalspondr) (*Czech*) - t_aus_m (*German*) -- serapolis (*Japanese, Chinese Simplified, Chinese Traditional, Chinese Traditional, Hong Kong*) +- kaki7777 (*Japanese, Chinese Traditional*) - Heimen Stoffels (Vistaus) (*Dutch*) +- serapolis (*Chinese Traditional, Hong Kong, Chinese Traditional, Japanese, Chinese Simplified*) - Rajarshi Guha (rajarshiguha) (*Bengali*) +- Amir Reza (ElAmir) (*Persian*) +- REMOVED_USER (*Norwegian*) +- MohammadSaleh Kamyab (mskf1383) (*Persian*) +- REMOVED_USER (*Romanian*) - Gopal Sharma (gopalvirat) (*Hindi*) +- Вероніка Някшу (pampushkaveronica) (*Russian, Romanian*) - Linnéa (lesbian_subnet) (*Swedish*) -- 北䑓如法 (Nyoho) (*Japanese*) -- abidin toumi (Zet24) (*Arabic*) -- Tofiq Abdula (Xwla) (*Sorani (Kurdish)*) +- Valentin (HDValentin) (*German*) +- dragnucs2 (*Arabic*) - Carlos Solís (csolisr) (*Esperanto*) -- Yamagishi Kazutoshi (ykzts) (*Japanese, Vietnamese, Icelandic, Sorani (Kurdish)*) +- Tofiq Abdula (Xwla) (*Sorani (Kurdish)*) +- halcek (*Slovak*) +- Tobias Kunze (rixxian) (*German*) - Parthan S Ramanujam (parthan) (*Tamil*) - Kasper Nymand (KasperNymand) (*Danish*) -- subram (*Turkish*) - TS (morte) (*Finnish*) -- SensDeViata (*Ukrainian*) +- REMOVED_USER (*German*) +- REMOVED_USER (*Basque*) +- subram (*Turkish*) +- Gudwin (*Spanish, Mexico, Spanish*) - Ptrcmd (ptrcmd) (*Chinese Traditional*) +- shmuelHal (*Hebrew*) +- SensDeViata (*Ukrainian*) - megaleo (*Portuguese, Brazilian*) +- Acursen (*German*) +- NurKai Kai (nurkaiyttv) (*German*) +- Guttorm (ghveem) (*Norwegian Nynorsk*) - SergioFMiranda (*Portuguese, Brazilian*) -- hiroTS (*Chinese Traditional*) +- Danni Lundgren (dannilundgren) (*Danish*) - Vivek K J (Vivekkj) (*Malayalam*) -- arielcostas3 (*Galician*) -- johne32rus23 (*Russian*) -- AzureNya (*Chinese Simplified*) -- OctolinGamer (octolingamer) (*Portuguese, Brazilian*) +- hiroTS (*Chinese Traditional*) +- teadesu (*Portuguese, Brazilian*) +- petartrajkov (*Macedonian*) +- Ariel Costas (arielcostas3) (*Galician*) +- Ch. (sftblw) (*Korean*) +- Rintan (*Japanese*) +- Jair Henrique (jairhenrique) (*Portuguese, Brazilian*) +- sorcun (*Turkish*) - filippodb (*Italian*) +- johne32rus23 (*Russian*) +- OctolinGamer (octolingamer) (*Portuguese, Brazilian*) +- AzureNya (*Chinese Simplified*) - Ram varma (ram4varma) (*Tamil*) +- REMOVED_USER (Sorani (Kurdish)) +- REMOVED_USER (*Portuguese, Brazilian*) +- seanmhade (*Irish*) - sanser (*Russian*) -- Y.Yamashiro (uist1idrju3i) (*Japanese*) +- Vijay (vijayatmin) (*Tamil*) +- Anomalion (*German*) - Pukima (Pukimaa) (*German*) -- diorama (*Italian*) -- frumble (*German*) +- Curtis Lee (CansCurtis) (*Chinese Traditional*) +- โบโลน่าไวรัส (nullxyz_) (*Thai*) +- ふぁーらんど (farland1717) (*Japanese*) +- 3wen (*Breton*) +- rlafuente (*Portuguese*) +- Ильзира Рахматуллина (rahmatullinailzira53) (*Tatar*) +- Code Man (codemansrc) (*Russian*) +- Philip Gillißen (guerda) (*German*) - Daniel Dimitrov (daniel.dimitrov) (*Bulgarian*) +- Anton (atjn) (*Danish*) - kekkepikkuni (*Tamil*) - MODcraft (*Chinese Simplified*) - oorsutri (*Tamil*) +- wortfeld (*German*) - Neo_Chen (NeoChen1024) (*Chinese Traditional*) +- Stereopolex (*Polish*) +- NxOne14 (*Bulgarian*) +- Juan Ortiz (Kloido) (*Spanish, Catalan*) - Nithin V (Nithin896) (*Tamil*) +- strikeCunny2245 (*Icelandic*) - Miro Rauhala (mirorauhala) (*Finnish*) +- nicoduesing (duconi) (*German, Esperanto*) +- Gnonthgol (*Norwegian Nynorsk*) +- WKobes (*Dutch*) - Oymate (*Bengali*) +- mikwee (*Hebrew*) +- EzigboOmenana (*Igbo, Cornish*) +- yan Wato (janWato) (*Hindi*) +- Papuass (*Latvian*) +- Vincent Orback (vincentorback) (*Swedish*) +- chettoy (*Chinese Simplified*) +- 19 (nineteen) (*Chinese Simplified*) - ಚಿರಾಗ್ ನಟರಾಜ್ (chiraag-nataraj) (*Kannada*) +- Layik Hama (layik) (*Sorani (Kurdish)*) - Guillaume Turchini (orion78fr) (*French*) +- Andri Yngvason (andryng) (*Icelandic*) - Aswin C (officialcjunior) (*Malayalam*) -- Ganesh D (auntgd) (*Marathi*) - Yuval Nehemia (yuvalne) (*Hebrew*) - mawoka-myblock (mawoka) (*German*) -- dragnucs2 (*Arabic*) +- Ganesh D (auntgd) (*Marathi*) +- Lens0021 (lens0021) (*Korean*) +- An Gafraíoch (angafraioch) (*Irish*) +- Michael Smith (michaelshmitty) (*Dutch*) - Ryan Ho (koungho) (*Chinese Traditional*) -- Tejas Harad (h_tejas) (*Marathi*) +- tunisiano187 (*French*) +- Peter van Mever (SpacemanSpiff) (*Dutch*) - Pedro Henrique (exploronauta) (*Portuguese, Brazilian*) -- Amir Reza (ElAmir) (*Persian*) -- Tatsuto "Laminne" Yamamoto (laminne) (*Japanese*) +- REMOVED_USER (*Esperanto, Italian, Japanese*) +- Tejas Harad (h_tejas) (*Marathi*) +- Balázs Meskó (meskobalazs) (*Hungarian*) - Vasanthan (vasanthan) (*Tamil*) +- Tatsuto "Laminne" Yamamoto (laminne) (*Japanese*) +- slbtty (shenlebantongying) (*Chinese Simplified*) - 硫酸鶏 (acid_chicken) (*Japanese*) - programizer (*German*) +- guessimmaterialgrl (*Chinese Simplified*) - clarmin b8 (clarminb8) (*Sorani (Kurdish)*) +- Maria Riegler (riegler3m) (*German*) - manukp (*Malayalam*) -- psymyn (*Hebrew*) - earth dweller (sanethoughtyt) (*Marathi*) +- psymyn (*Hebrew*) +- Aaraon Thomas (aaraon) (*Portuguese, Brazilian*) +- Rafael Viana (rafacnec) (*Portuguese, Brazilian*) - Marek Ľach (marek-lach) (*Slovak*) - meijerivoi (toilet) (*Finnish*) - essaar (*Tamil*) -- Nemuj (Dentrado) (*Japanese, Esperanto*) - serubeena (*Swedish*) -- Rintan (*Japanese*) -- Karol Kosek (krkkPL) (*Polish*) +- RqndomHax (*French*) +- REMOVED_USER (*Polish*) +- ギャラ (gyara) (*Chinese Simplified, Japanese*) - Khó͘ Tiatlêng (khotiatleng) (*Chinese Traditional, Taigi*) -- valarivan (*Tamil*) -- Hernik (hernik27) (*Czech*) - revarioba (*Spanish*) - friedbeans (*Croatian*) +- An (AnTheMaker) (*German*) - kuchengrab (*German*) +- Hernik (hernik27) (*Czech*) +- valarivan (*Tamil*) +- אדם לוין (adamlevin) (*Hebrew*) +- Vít Horčička (legvita123) (*Czech*) - Abi Turi (abi123) (*Georgian*) +- Thomas Munkholt (munkholt) (*Danish*) +- pparescasellas (*Catalan*) - Hinaloe (hinaloe) (*Japanese*) -- Sebastián Andil (Selrond) (*Slovak*) - Ifnuth (*German*) -- Asbjørn Olling (a2) (*Danish*) +- Sebastián Andil (Selrond) (*Slovak*) +- boni777 (*Chinese Simplified*) - KEINOS (*Japanese*) -- Balázs Meskó (meskobalazs) (*Hungarian*) -- Artem Mikhalitsin (artemmikhalitsin) (*Russian*) -- Algustionesa Yoshi (algustionesa) (*Indonesian*) -- Bottle (suryasalem2010) (*Tamil*) +- Asbjørn Olling (a2) (*Danish*) +- REMOVED_USER (*Chinese Traditional, Hong Kong*) +- DarkShy Community (ponyfrost.mc) (*Russian*) +- Dennis Reimund (reimunddennis7) (*German*) +- jocafeli (*Spanish, Mexico*) - Wrya ali (John12) (*Sorani (Kurdish)*) +- Bottle (suryasalem2010) (*Tamil*) +- Algustionesa Yoshi (algustionesa) (*Indonesian*) - JzshAC (*Chinese Simplified*) +- Artem Mikhalitsin (artemmikhalitsin) (*Russian*) - siamano (*Thai, Esperanto*) -- gnu-ewm (*Polish*) -- Antillion (antillion99) (*Spanish*) +- KARARTI44 (kararti44) (*Turkish*) +- c0c (*Irish*) +- Stefano S. (Sting1_JP) (*Italian*) +- tommil (*Finnish*) +- Ignacio Lis (ilis) (*Galician*) - Steven Tappert (sammy8806) (*German*) -- Reg3xp (*Persian*) +- Antillion (antillion99) (*Spanish*) +- K.B.Dharun Krishna (kbdharun) (*Tamil*) - Wassim EL BOUHAMIDI (elbouhamidiw) (*Arabic*) +- Reg3xp (*Persian*) +- florentVgn (*French*) +- Matt (Exbu) (*Dutch*) - Maciej Błędkowski (mble) (*Polish*) - gowthamanb (*Tamil*) - hiphipvargas (*Portuguese*) -- tunisiano187 (*French*) +- GabuVictor (*Portuguese, Brazilian*) +- Pverte (*French*) +- REMOVED_USER (*Spanish*) +- Surindaku (*Chinese Simplified*) - Arttu Ylhävuori (arttu.ylhavuori) (*Finnish*) -- Ch. (sftblw) (*Korean*) -- eorn (*Breton*) +- Pabllo Soares (pabllosoarez) (*Portuguese, Brazilian*) - Jona (88wcJoWl) (*Spanish*) -- Mikkel B. Goldschmidt (mikkelbjoern) (*Danish*) -- Timo Tijhof (Krinkle) (*Dutch*) - Ka2n (kaanmetu) (*Turkish*) - tctovsli (*Norwegian Nynorsk*) -- mecqor labi (mecqorlabi) (*Persian*) -- Odyssey346 (alexader612) (*Norwegian*) -- vjasiegd (*Polish*) -- Eban (ebanDev) (*French, Esperanto*) +- Timo Tijhof (Krinkle) (*Dutch*) - SamitiMed (samiti3d) (*Thai*) +- Mikkel B. Goldschmidt (mikkelbjoern) (*Danish*) +- Odyssey346 (alexader612) (*Norwegian*) +- mecqor labi (mecqorlabi) (*Persian*) +- Cù Huy Phúc Khang (taamee) (*Vietnamese*) +- Oskari Lavinto (olavinto) (*Finnish*) +- Philippe Lemaire (philippe-lemaire) (*Esperanto*) +- vjasiegd (*Polish*) +- Eban (ebanDev) (*Esperanto, French*) - Nícolas Lavinicki (nclavinicki) (*Portuguese, Brazilian*) +- REMOVED_USER (*Portuguese, Brazilian*) - Rekan Adl (rekan-adl1) (*Sorani (Kurdish)*) -- Antara2Cinta (Se7enTime) (*Indonesian*) -- Yassine Aït-El-Mouden (yaitelmouden) (*Standard Moroccan Tamazight*) - VSx86 (*Russian*) - umelard (*Hebrew*) +- Antara2Cinta (Se7enTime) (*Indonesian*) +- Lucas_NL (*Dutch*) +- Yassine Aït-El-Mouden (yaitelmouden) (*Standard Moroccan Tamazight*) +- Mathieu Marquer (slasherfun) (*French*) +- Haerul Fuad (Dokuwiki) (*Indonesian*) - parnikkapore (*Thai*) -- Lagash (lagash) (*Esperanto*) +- Michelle M (MichelleMMM) (*Dutch*) +- malbona (*Esperanto*) - Sherwan Othman (sherwanothman11) (*Sorani (Kurdish)*) -- SKELET (*Danish*) -- Exbu (*Dutch*) +- Lagash (lagash) (*Esperanto*) - Chine Sebastien (chine.sebastien) (*French*) -- Fei Yang (Fei1Yang) (*Chinese Traditional*) +- bgme (*Chinese Simplified*) +- Rafael V. (Rafaeeel) (*Portuguese, Brazilian*) +- SKELET (*Danish*) - A A (sebastien.chine) (*French*) +- Project Z (projectz.1338) (*German*) +- Fei Yang (Fei1Yang) (*Chinese Traditional*) - Ğani (freegnu) (*Tatar*) -- enipra (*Armenian*) -- Renato "Lond" Cerqueira (renatolond) (*Portuguese, Brazilian*) - musix (*Persian*) -- ギャラ (gyara) (*Japanese, Chinese Simplified*) +- REMOVED_USER (*German*) - ALEM FARID (faridatcemlulaqbayli) (*Kabyle*) +- Jean-Pierre MÉRESSE (Jipem) (*French*) +- enipra (*Armenian*) +- Serhiy Dmytryshyn (dies) (*Ukrainian*) +- Eric Brulatout (ebrulato) (*Esperanto*) - Hougo (hougo) (*French*) -- Mordi Sacks (MordiSacks) (*Hebrew*) -- Trinsec (*Dutch*) -- Adrián Lattes (haztecaso) (*Spanish*) +- Sonstwer (*German*) +- Pedro Fernandes (djprmf) (*Portuguese*) +- REMOVED_USER (*Norwegian*) - Tigran's Tips (tigrank08) (*Armenian*) - 亜緯丹穂 (ayiniho) (*Japanese*) +- maisui (*Chinese Simplified*) +- Trinsec (*Dutch*) +- Adrián Lattes (haztecaso) (*Spanish*) +- webkinzfrog (*Polish*) - ybardapurkar (*Marathi*) +- Mordi Sacks (MordiSacks) (*Hebrew*) +- Manuel Tassi (Mannivu) (*Italian*) - Szabolcs Gál (galszabolcs810624) (*Hungarian*) -- Vladislav Săcrieriu (vladislavs14) (*Romanian*) +- rikrise (*Swedish*) +- when_hurts (*German*) +- Wojciech Bigosinski (wbigos2) (*Polish*) +- Vladislav S (vladislavs) (*Romanian*) +- mikslatvis (*Latvian*) +- MartinAlstad (*Norwegian*) - TracyJacks (*Chinese Simplified*) - rasheedgm (*Kannada*) -- danreznik (*Hebrew*) - Cirelli (cirelli94) (*Italian*) +- danreznik (*Hebrew*) +- iraline (*Portuguese, Brazilian*) +- Seán Mór (seanmor3) (*Irish*) +- vianaweb (*Portuguese, Brazilian*) - Siddharastro Doraku (sidharastro) (*Spanish, Mexico*) -- lexxai (*Ukrainian*) +- REMOVED_USER (*Spanish*) - omquylzu (*Latvian*) +- Arthegor (*French*) - Navjot Singh (nspeaks) (*Hindi*) - mkljczk (*Polish*) - Belkacem Mohammed (belkacem77) (*Kabyle*) +- Showfom (*Chinese Simplified*) +- xemyst (*Catalan*) +- lexxai (*Ukrainian*) - c6ristian (*German*) -- damascene (*Arabic*) +- svetlozaurus (*Bulgarian*) - Ozai (*German*) +- damascene (*Arabic*) +- Jan Ainali (Ainali) (*Swedish*) - Sahak Petrosyan (petrosyan) (*Armenian*) +- Metehan Özyürek (MetehanOzyurek) (*Turkish*) +- Сау Рэмсон (sawrams) (*Russian*) +- metehan-arslan (*Turkish*) - Viorel-Cătălin Răpițeanu (rapiteanu) (*Romanian*) -- Siddhartha Sarathi Basu (quinoa_biryani) (*Bengali*) +- Sébastien SERRE (sebastienserre) (*French*) +- Eugen Caruntu (eugencaruntu) (*Romanian*) +- Kevin Scannell (kscanne) (*Irish*) - Pachara Chantawong (pachara2202) (*Thai*) -- Skew (noan.perrot) (*French*) +- bensch.dev (*German*) +- LIZH (*French*) +- Siddhartha Sarathi Basu (quinoa_biryani) (*Bengali*) +- Overflow Cat (OverflowCat) (*Chinese Traditional, Chinese Simplified*) +- Stephan Voeth (svoeth) (*German*) - Zijian Zhao (jobs2512821228) (*Chinese Simplified*) -- Overflow Cat (OverflowCat) (*Chinese Simplified, Chinese Traditional*) +- bugboy-20 (*Esperanto, Italian*) +- SouthFox (*Chinese Simplified*) +- Noan (SkewRam) (*French*) - dbeaver (*German*) -- zordsdavini (*Lithuanian*) -- Guru Prasath Anandapadmanaban (guruprasath) (*Tamil*) - turtle836 (*German*) +- Guru Prasath Anandapadmanaban (guruprasath) (*Tamil*) +- zordsdavini (*Lithuanian*) +- Susanna Ånäs (susanna.anas) (*Finnish*) +- Alessandro (alephoto85) (*Italian*) - Marcepanek_ (thekingmarcepan) (*Polish*) -- Feruz Oripov (FeruzOripov) (*Russian*) +- Choi Younsoo (usagicore) (*Korean*) - Yann Aguettaz (yann-a) (*French*) +- zylosophe (*French*) +- Celso Fernandes (Celsof) (*Portuguese, Brazilian*) +- Feruz Oripov (FeruzOripov) (*Russian*) +- REMOVED_USER (*French*) +- Bui Huy Quang (bhuyquang1) (*Vietnamese*) +- bogomilshopov (*Bulgarian*) +- REMOVED_USER (*Burmese*) +- Kaede (kaedech) (*Japanese*) - Mick Onio (xgc.redes) (*Asturian*) - Malik Mann (dermalikmann) (*German*) - padulafacundo (*Spanish*) -- dadosch (*German*) -- hg6 (*Hindi*) -- Tianqi Zhang (tina.zhang040609) (*Chinese Simplified*) - r3dsp1 (*Chinese Traditional, Hong Kong*) -- johannes hove-henriksen (J0hsHH) (*Norwegian*) +- dadosch (*German*) +- Tianqi Zhang (tina.zhang040609) (*Chinese Simplified*) +- HybridGlucose (*Chinese Traditional*) +- vmichalak (*French*) +- hg6 (*Hindi*) +- marivisales (*Portuguese, Brazilian*) - Orlando Murcio (Atos20) (*Spanish, Mexico*) -- cenegd (*Chinese Simplified*) -- Youngeon Lee (YoungeonLee) (*Korean*) -- shdy (*German*) -- Umi (mtrumi) (*Chinese Simplified, Chinese Traditional, Hong Kong*) +- maa123 (*Japanese*) +- Julian Doser (julian21) (*English, United Kingdom, German*) +- johannes hove-henriksen (J0hsHH) (*Norwegian*) +- Alexander Ivanov (Saiv46) (*Russian*) +- unstable.icu (*Chinese Simplified*) - Padraic Calpin (padraic-padraic) (*Slovenian*) -- Ильзира Рахматуллина (rahmatullinailzira53) (*Tatar*) +- Youngeon Lee (YoungeonLee) (*Korean*) +- LeJun (le-jun) (*French*) +- shdy (*German*) +- REMOVED_USER (*French*) +- Yonjae Lee (yonjlee) (*Korean*) +- cenegd (*Chinese Simplified*) - piupiupiudiu (*Chinese Simplified*) -- Pixelcode (realpixelcode) (*German*) -- Dennis Reimund (reimunddennis7) (*German*) +- Umi (mtrumi) (*Chinese Traditional, Hong Kong, Chinese Simplified*) - Yogesh K S (yogi) (*Kannada*) +- Ulong32 (*Japanese*) - Adithya K (adithyak04) (*Malayalam*) - DAI JIE (daijie) (*Chinese Simplified*) +- Mihael Budeč (milli.pretili) (*Croatian*) - Hugh Liu (youloveonlymeh) (*Chinese Simplified*) -- Rakino (rakino) (*Chinese Simplified*) - ZQYD (*Chinese Simplified*) - X.M (kimonoki) (*Chinese Simplified*) -- boni777 (*Chinese Simplified*) +- Rakino (rakino) (*Chinese Simplified*) +- paziy Georgi (paziygeorgi4) (*Dutch*) +- Komeil Parseh (mmdbalkhi) (*Persian*) - Jothipazhani Nagarajan (jothipazhani.n) (*Tamil*) -- Miquel Sabaté Solà (mssola) (*Catalan*) +- tikky9 (*Portuguese, Brazilian*) +- horsm (*Finnish*) +- BenJule (*German*) - Stanisław Jelnicki (JelNiSlaw) (*Polish*) +- Yananas (wangyanyan.hy) (*Chinese Simplified*) +- Vivamus (elaaksu) (*Turkish*) +- ihealyou (*Italian*) - AmazighNM (*Kabyle*) -- alnd hezh (alndhezh) (*Sorani (Kurdish)*) -- CloudSet (*Chinese Simplified*) -- Clash Clans (KURD12345) (*Sorani (Kurdish)*) -- Metehan Özyürek (MetehanOzyurek) (*Turkish*) -- Paula SIMON (EncoreEutIlFalluQueJeLeSusse) (*French*) -- Solid Rhino (SolidRhino) (*Dutch*) +- Miquel Sabaté Solà (mssola) (*Catalan*) +- residuum (*German*) - nua_kr (*Korean*) +- Andrea Mazzilli (andreamazzilli) (*Italian*) +- Paula SIMON (EncoreEutIlFalluQueJeLeSusse) (*French*) - hallomaurits (*Dutch*) -- 林水溶 (shuiRong) (*Chinese Simplified*) -- rikrise (*Swedish*) -- Takeshi Umeda (noellabo) (*Japanese*) -- k_taka (peaceroad) (*Japanese*) -- Sébastien Feugère (smonff) (*French*) -- Hallo Abdullah (hallo_hamza12) (*Sorani (Kurdish)*) +- Erfan Kheyrollahi Qaroğlu (ekm507) (*Persian*) +- REMOVED_USER (*Galician, Spanish*) +- alnd hezh (alndhezh) (*Sorani (Kurdish)*) +- Clash Clans (KURD12345) (*Sorani (Kurdish)*) +- ruok (*Chinese Simplified*) +- Frederik-FJ (*German*) +- CloudSet (*Chinese Simplified*) +- Solid Rhino (SolidRhino) (*Dutch*) - hussama (*Portuguese, Brazilian*) -- EzigboOmenana (*Cornish*) -- Robert Yano (throwcalmbobaway) (*Spanish, Mexico*) -- Yasin İsa YILDIRIM (redsfyre) (*Turkish*) -- PifyZ (*French*) -- Tagada (Tagadda) (*French*) -- eichkat3r (*German*) -- Ashok314 (ashok314) (*Hindi*) -- Zlr- (cZeler) (*French*) +- jazzynico (*French*) +- k_taka (peaceroad) (*Japanese*) +- 林水溶 (shuiRong) (*Chinese Simplified*) +- Peter Lutz (theellutzo) (*German*) +- Sébastien Feugère (smonff) (*French*) +- AnalGoddess770 (*Hebrew*) +- Sven Goller (svengoller) (*German*) +- Ahmet (ahmetlii) (*Turkish*) +- hosted22 (*German*) +- Hallo Abdullah (hallo_hamza12) (*Sorani (Kurdish)*) +- Karam Hamada (TheKaram) (*Arabic*) +- Takeshi Umeda (noellabo) (*Japanese*) - SnDer (*Dutch*) -- OminousCry (*Russian*) -- Adam Sapiński (Adamos9898) (*Polish*) -- Tom_ (*Czech*) +- Robert Yano (throwcalmbobaway) (*Spanish, Mexico*) +- Gustav Lindqvist (Reedyn) (*Swedish*) +- Dagur Ammendrup (dagurp) (*Icelandic*) - shafouz (*Portuguese, Brazilian*) -- Shrinivasan T (tshrinivasan) (*Tamil*) -- Kk (kishorkumara3) (*Kannada*) -- Swati Sani (swatisani) (*Urdu (Pakistan)*) -- papayaisnotafood (*Chinese Traditional*) -- さっかりんにーさん (saccharin23) (*Japanese*) +- Miguel Branco (mglbranco) (*Galician*) +- Sergey Panteleev (saundefined) (*Russian*) +- Tom_ (*Czech*) +- Zlr- (cZeler) (*French*) +- Ashok314 (ashok314) (*Hindi*) +- PifyZ (*French*) +- Zeyi Fan (fanzeyi) (*Chinese Simplified*) +- OminousCry (*Russian, Ukrainian*) +- Adam Sapiński (Adamos9898) (*Polish*) +- eichkat3r (*German*) +- Yasin İsa YILDIRIM (redsfyre) (*Turkish*) +- Tagada (Tagadda) (*French*) +- gasrios (*Portuguese, Brazilian*) +- 夜楓Yoka (Yoka2627) (*Chinese Simplified*) +- AniCommieDDR (*Russian*) +- Nathaël Noguès (NatNgs) (*French*) - Daniel M. (daniconil) (*Catalan*) - César Daniel Cavanzo Quintero (LeinadCQ) (*Esperanto*) -- Nathaël Noguès (NatNgs) (*French*) -- 夜楓Yoka (Yoka2627) (*Chinese Simplified*) +- Noam Tamim (noamtm) (*Hebrew*) +- papayaisnotafood (*Chinese Traditional*) +- さっかりんにーさん (saccharin23) (*Japanese*) +- Marcin Wolski (martinwolski) (*Polish*) +- REMOVED_USER (*Chinese Simplified*) +- Kk (kishorkumara3) (*Kannada*) +- Shrinivasan T (tshrinivasan) (*Tamil*) +- REMOVED_USER (Urdu (Pakistan)) +- Kakarico Bra (kakarico20) (*Portuguese, Brazilian*) +- Swati Sani (swatisani) (*Urdu (Pakistan)*) +- 快乐的老鼠宝宝 (LaoShuBaby) (*Chinese Simplified, Chinese Traditional*) - Mt Front (mtfront) (*Chinese Simplified*) -- Artem (Artem4ik) (*Russian*) -- Robin van der Vliet (RobinvanderVliet) (*Esperanto*) -- Tradjincal (tradjincal) (*French*) - SusVersiva (*Catalan*) +- REMOVED_USER (*Portuguese, Brazilian*) +- Avinash Mg (hatman290) (*Malayalam*) +- kruijs (*Dutch*) +- Artem (Artem4ik) (*Russian*) - Zinkokooo (*Basque*) -- Marvin (magicmarvman) (*German*) +- 劉昌賢 (twcctz500) (*Chinese Traditional*) - Vikatakavi (*Kannada*) +- Tradjincal (tradjincal) (*French*) +- Robin van der Vliet (RobinvanderVliet) (*Esperanto*) +- Marvin (magicmarvman) (*German*) - pullopen (*Chinese Simplified*) -- sergioaraujo1 (*Portuguese, Brazilian*) -- prabhjot (*Hindi*) -- CyberAmoeba (pseudoobscura) (*Chinese Simplified*) -- mmokhi (*Persian*) +- Tealk (*German*) +- tibequadorian (*German*) +- Henk Bulder (henkbulder) (*Dutch*) +- Edison Lee (edisonlee55) (*Chinese Traditional*) +- mpdude (*German*) +- Rijk van Geijtenbeek (rvangeijtenbeek) (*Dutch*) - Entelekheia-ousia (*Chinese Simplified*) +- REMOVED_USER (*Spanish*) +- sergioaraujo1 (*Portuguese, Brazilian*) - Livingston Samuel (livingston) (*Tamil*) +- mmokhi (*Persian*) - tsundoker (*Malayalam*) -- skaaarrr (*German*) -- Pierre Morvan (Iriep) (*Breton*) +- CyberAmoeba (pseudoobscura) (*Chinese Simplified*) +- prabhjot (*Hindi*) +- Ikka Putri (ikka240290) (*Indonesian, Danish, English, United Kingdom*) - Paz Galindo (paz.almendra.g) (*Spanish*) -- fedot (*Russian*) -- mkljczk (mykylyjczyk) (*Polish*) - Ricardo Colin (rysard) (*Spanish*) -- Philipp Fischbeck (PFischbeck) (*German*) +- Pierre Morvan (Iriep) (*Breton*) - oscfd (*Spanish*) +- Thies Mueller (thies00) (*German*) +- Lyra (teromene) (*French*) +- Kedr (lava20121991) (*Esperanto*) +- mkljczk (mykylyjczyk) (*Polish*) +- fedot (*Russian*) +- Philipp Fischbeck (PFischbeck) (*German*) +- Hasan Berkay Çağır (berkaycagir) (*Turkish*) +- Silvestri Nicola (nick99silver) (*Italian*) +- skaaarrr (*German*) +- Mo Rijndael (mo_rijndael) (*Russian*) +- tsesunnaallun (orezraey) (*Portuguese, Brazilian*) +- Lukas Fülling (lfuelling) (*German*) +- Algo (algovigura) (*Indonesian*) +- REMOVED_USER (*Spanish*) +- setthemfree (*Ukrainian*) +- i fly (ifly3years) (*Chinese Simplified*) +- ralozkolya (*Georgian*) - Zoé Bőle (zoe1337) (*German*) +- Ville Rantanen (vrntnn) (*Finnish*) - GaggiX (*Italian*) - JackXu (Merman-Jack) (*Chinese Simplified*) -- Lukas Fülling (lfuelling) (*German*) -- ralozkolya (*Georgian*) -- Jason Gibson (barberpike606) (*Slovenian, Chinese Simplified*) -- Dremski (*Bulgarian*) -- Kaede (kaedech) (*Japanese*) -- Aymeric (AymBroussier) (*French*) -- mashirozx (*Chinese Simplified*) -- María José Vera (mjverap) (*Spanish*) -- asala4544 (*Basque*) -- ronee (*Kurmanji (Kurdish)*) -- qwerty287 (*German*) -- pezcurrel (*Italian*) -- Anoop (anoopp) (*Malayalam*) +- ceonia (*Chinese Traditional, Hong Kong*) +- Emirhan Yavuz (takomlii) (*Turkish*) +- teezeh (*German*) +- MevLyshkin (Leinnan) (*Polish*) - Apple (blackteaovo) (*Chinese Simplified*) -- Lilian Nabati (Lilounab49) (*French*) -- ru_mactunnag (*Scottish Gaelic*) -- Nocta (*French*) +- qwerty287 (*German*) - Tangcuyu (*Chinese Simplified*) -- Dennis Reimund (reimund_dennis) (*German*) -- Albatroz Jeremias (albjeremias) (*Portuguese*) -- Xurxo Guerra (xguerrap) (*Galician*) -- Samir Tighzert (samir_t7) (*Kabyle*) +- Nocta (*French*) +- ru_mactunnag (*Scottish Gaelic*) +- Lilian Nabati (Lilounab49) (*French*) - lokalisoija (*Finnish*) +- Dennis Reimund (reimund_dennis) (*German*) +- ronee (*Kurmanji (Kurdish)*) +- EricVogt_ (*Spanish*) +- yu miao (metaxx.dev) (*Chinese Simplified*) +- Anoop (anoopp) (*Malayalam*) +- Samir Tighzert (samir_t7) (*Kabyle*) +- sn02 (*German*) +- Yui Karasuma (yui87) (*Japanese*) +- asala4544 (*Basque*) +- Thibaut Rousseau (thiht44) (*French*) +- Jason Gibson (barberpike606) (*Slovenian, Chinese Simplified*) +- Sugar NO (g1024116707) (*Chinese Simplified*) +- Aymeric (AymBroussier) (*French*) +- pezcurrel (*Italian*) +- Xurxo Guerra (xguerrap) (*Galician*) +- nicosomb (*French*) +- Albatroz Jeremias (albjeremias) (*Portuguese*) +- María José Vera (mjverap) (*Spanish*) +- mashirozx (*Chinese Simplified*) - codl (*French*) -- thisdudeisvegan (braydofficial) (*German*) -- tamaina (*Japanese*) -- Matias Lavik (matiaslavik) (*Norwegian Nynorsk*) -- Aman Alam (aalam) (*Punjabi*) -- Holger Huo (holgerhuo) (*Chinese Simplified*) -- Amith Raj Shetty (amithraj1989) (*Kannada*) -- mimikun (*Japanese*) -- Ragnars Eggerts (rmegg1933) (*Latvian*) -- ÀŘǾŚ PÀŚĦÀÍ (arospashai) (*Sorani (Kurdish)*) -- smedvedev (*Russian*) -- Sais Lakshmanan (Saislakshmanan) (*Tamil*) -- Mohammad Adnan Mahmood (adnanmig) (*Arabic*) -- OpenAlgeria (*Arabic*) -- Trond Boksasp (boksasp) (*Norwegian*) - Doug (douglasalvespe) (*Portuguese, Brazilian*) -- Mohd Bilal (mdb571) (*Malayalam*) -- Fleva (*Sardinian*) -- xpac1985 (xpac) (*German*) -- mikel (mikelalas) (*Spanish*) +- Matias Lavik (matiaslavik) (*Norwegian Nynorsk*) - random_person (*Spanish*) +- whoeta (wh0eta) (*Russian*) +- xpac1985 (xpac) (*German*) +- thisdudeisvegan (braydofficial) (*German*) +- Fleva (*Sardinian*) +- Anonymous (Anonymous666) (*Russian*) +- Mohammad Adnan Mahmood (adnanmig) (*Arabic*) +- ÀŘǾŚ PÀŚĦÀÍ (arospashai) (*Sorani (Kurdish)*) +- mikel (mikelalas) (*Spanish*) +- Trond Boksasp (boksasp) (*Norwegian*) - asretro (*Chinese Traditional, Hong Kong*) -- Arĝentakato (argxentakato) (*Japanese*) -- Nithya Mary (nithyamary25) (*Tamil*) -- Azad ahmad (dashty) (*Sorani (Kurdish)*) +- Holger Huo (holgerhuo) (*Chinese Simplified*) +- Aman Alam (aalam) (*Punjabi*) +- smedvedev (*Russian*) +- Jay Lonnquist (crowkeep) (*Japanese*) +- mimikun (*Japanese*) +- Mohd Bilal (mdb571) (*Malayalam*) +- veer66 (*Thai*) +- OpenAlgeria (*Arabic*) +- Rave (nayumi-464812844) (*Vietnamese*) +- ReavedNetwork (*German*) +- Michael (Discostu36) (*German*) +- tamaina (*Japanese*) +- sk22 (*German*) +- Ragnars Eggerts (rmegg1933) (*Latvian*) +- Sais Lakshmanan (Saislakshmanan) (*Tamil*) +- Amith Raj Shetty (amithraj1989) (*Kannada*) - Bartek Fijałkowski (brateq) (*Polish*) -- ebrezhoneg (*Breton*) -- maksutheam (*Finnish*) -- majorblazr (*Danish*) -- Jill H. (kokakiwi) (*French*) -- Patrice Boivin (patriceboivin58) (*French*) -- centumix (*Japanese*) -- 江尚寒 (jiangshanghan) (*Chinese Simplified*) -- hud5634j (*Spanish*) -- おさ (osapon) (*Japanese*) -- Jiniux (*Italian*) -- Hannah (Aniqueper1) (*Chinese Simplified*) -- Ni Futchi (futchitwo) (*Japanese*) -- dobrado (*Portuguese, Brazilian*) -- dcapillae (*Spanish*) -- Ranj A Abdulqadir (RanjAhmed) (*Sorani (Kurdish)*) -- Kurdish Translator (Kurdish.boy) (*Sorani (Kurdish)*) -- Amir Kurdo (kuraking202) (*Sorani (Kurdish)*) -- umonaca (*Chinese Simplified*) -- Jari Ronkainen (ronchaine) (*Finnish*) -- djoerd (*Dutch*) -- Savarín Electrográfico Marmota Intergalactica (herrero.maty) (*Spanish*) -- 于晚霞 (xissshawww) (*Chinese Simplified*) -- tateisu (*Japanese*) -- NeverMine17 (*Russian*) -- soheilkhanalipur (*Persian*) -- SamOak (*Portuguese, Brazilian*) -- kavitha129 (*Tamil*) -- Salh_haji6 (*Sorani (Kurdish)*) -- Brodi (brodi1) (*Dutch*) +- Asbeltrion (*Spanish*) +- Michael Horstmann (mhrstmnn) (*German*) +- Joffrey Abeilard (Abeilard14) (*French*) - capiscuas (*Spanish*) -- HSD Channel (kvdbve34) (*Russian*) -- Abijeet Patro (Abijeet) (*Basque*) +- djoerd (*Dutch*) +- REMOVED_USER (*Spanish*) +- NeverMine17 (*Russian*) +- songxianj (songxian_jiang) (*Chinese Simplified*) - Ács Zoltán (zoli111) (*Hungarian*) -- Benjamin Cobb (benjamincobb) (*German*) +- haaninjo (*Swedish*) +- REMOVED_USER (*Esperanto*) +- Philip Molares (DerMolly) (*German*) +- ChalkPE (amato0617) (*Korean*) +- ebrezhoneg (*Breton*) +- 디떱 (diddub) (*Korean*) +- Hans (hansj) (*German*) +- Nithya Mary (nithyamary25) (*Tamil*) +- kavitha129 (*Tamil*) - waweic (*German*) - Aries (orlea) (*Japanese*) +- おさ (osapon) (*Japanese*) +- Abijeet Patro (Abijeet) (*Basque*) +- centumix (*Japanese*) +- Martin Müller (muellermartin) (*German*) +- tateisu (*Japanese*) +- Arĝentakato (argxentakato) (*Japanese*) +- Benjamin Cobb (benjamincobb) (*German*) +- deanerschnitzel (*German*) +- Jill H. (kokakiwi) (*French*) +- maksutheam (*Finnish*) +- d0p1 (d0p1s4m4) (*French*) +- majorblazr (*Danish*) +- Patrice Boivin (patriceboivin58) (*French*) +- 江尚寒 (jiangshanghan) (*Chinese Simplified*) +- HSD Channel (kvdbve34) (*Russian*) +- alwyn joe (iomedivh200) (*Chinese Simplified*) +- ZHY (sheepzh) (*Chinese Simplified*) +- Bei Li (libei) (*Chinese Simplified*) +- Aluo (Aluo_rbszd) (*Chinese Simplified*) +- clarkzjw (*Chinese Simplified*) +- Noah Luppe (noahlup) (*German*) +- araghunde (*Galician*) +- BratishkaErik (*Russian*) +- Bunny9568 (*Chinese Simplified*) +- SamOak (*Portuguese, Brazilian*) +- Ranj A Abdulqadir (RanjAhmed) (*Sorani (Kurdish)*) +- Amir Kurdo (kuraking202) (*Sorani (Kurdish)*) +- 于晚霞 (xissshawww) (*Chinese Simplified*) +- Fyuoxyjidyho Moiodyyiodyhi (fyuodchiodmoiidiiduh86) (*Chinese Simplified*) +- RPD0911 (*Hungarian*) +- dcapillae (*Spanish*) +- dobrado (*Portuguese, Brazilian*) +- Hannah (Aniqueper1) (*Chinese Simplified*) +- Azad ahmad (dashty) (*Sorani (Kurdish)*) +- Uri Chachick (urich.404) (*Hebrew*) +- Bnoru (*Portuguese, Brazilian*) +- Jiniux (*Italian*) +- REMOVED_USER (*German*) +- Salh_haji6 (Sorani (Kurdish)) +- Kurdish Translator (*Kurdish.boy) (Sorani (Kurdish)*) +- Beagle (beagleworks) (*Japanese*) +- hud5634j (*Spanish*) +- Kisaragi Hiu (flyingfeather1501) (*Chinese Traditional*) +- Dominik Ziegler (dodomedia) (*German*) +- soheilkhanalipur (*Persian*) +- Brodi (brodi1) (*Dutch*) +- Savarín Electrográfico Marmota Intergalactica (herrero.maty) (*Spanish*) +- Ni Futchi (futchitwo) (*Japanese*) +- Zois Lee (gcnwm) (*Chinese Simplified*) +- Arnold Marko (atomicmind) (*Slovenian*) +- scholzco (*German*) +- Jari Ronkainen (ronchaine) (*Finnish*) +- umonaca (*Chinese Simplified*) From 457c37e47ae51e09dfbfe687616415b3c8be13af Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 14 Nov 2022 08:33:48 +0100 Subject: [PATCH 127/144] Fix index name in fix-duplicates task (#20632) --- lib/mastodon/maintenance_cli.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mastodon/maintenance_cli.rb b/lib/mastodon/maintenance_cli.rb index 0b5049c14f0..85937da8126 100644 --- a/lib/mastodon/maintenance_cli.rb +++ b/lib/mastodon/maintenance_cli.rb @@ -499,7 +499,7 @@ module Mastodon def deduplicate_tags! remove_index_if_exists!(:tags, 'index_tags_on_name_lower') - remove_index_if_exists!(:tags, 'index_tags_on_lower_btree') + remove_index_if_exists!(:tags, 'index_tags_on_name_lower_btree') @prompt.say 'Deduplicating tags…' ActiveRecord::Base.connection.select_all("SELECT string_agg(id::text, ',') AS ids FROM tags GROUP BY lower((name)::text) HAVING count(*) > 1").each do |row| From b59ce0a60ff4f90bb16a8c3338ad37218af052b8 Mon Sep 17 00:00:00 2001 From: trwnh Date: Mon, 14 Nov 2022 01:34:07 -0600 Subject: [PATCH 128/144] Move V2 Filter methods under /api/v2 prefix (#20622) * Move V2 Filter methods under /api/v2 prefix * move over the tests too --- .../{v1 => v2}/filters/keywords_controller.rb | 2 +- .../{v1 => v2}/filters/statuses_controller.rb | 2 +- app/javascript/mastodon/actions/filters.js | 2 +- config/routes.rb | 20 +++++++++---------- .../filters/keywords_controller_spec.rb | 2 +- .../filters/statuses_controller_spec.rb | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) rename app/controllers/api/{v1 => v2}/filters/keywords_controller.rb (95%) rename app/controllers/api/{v1 => v2}/filters/statuses_controller.rb (95%) rename spec/controllers/api/{v1 => v2}/filters/keywords_controller_spec.rb (98%) rename spec/controllers/api/{v1 => v2}/filters/statuses_controller_spec.rb (98%) diff --git a/app/controllers/api/v1/filters/keywords_controller.rb b/app/controllers/api/v2/filters/keywords_controller.rb similarity index 95% rename from app/controllers/api/v1/filters/keywords_controller.rb rename to app/controllers/api/v2/filters/keywords_controller.rb index d3718a1371d..c63e1d986b1 100644 --- a/app/controllers/api/v1/filters/keywords_controller.rb +++ b/app/controllers/api/v2/filters/keywords_controller.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::V1::Filters::KeywordsController < Api::BaseController +class Api::V2::Filters::KeywordsController < Api::BaseController before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show] before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show] before_action :require_user! diff --git a/app/controllers/api/v1/filters/statuses_controller.rb b/app/controllers/api/v2/filters/statuses_controller.rb similarity index 95% rename from app/controllers/api/v1/filters/statuses_controller.rb rename to app/controllers/api/v2/filters/statuses_controller.rb index b6bed306fca..755c14cffa8 100644 --- a/app/controllers/api/v1/filters/statuses_controller.rb +++ b/app/controllers/api/v2/filters/statuses_controller.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::V1::Filters::StatusesController < Api::BaseController +class Api::V2::Filters::StatusesController < Api::BaseController before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show] before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show] before_action :require_user! diff --git a/app/javascript/mastodon/actions/filters.js b/app/javascript/mastodon/actions/filters.js index 76326802eae..e9c609fc87c 100644 --- a/app/javascript/mastodon/actions/filters.js +++ b/app/javascript/mastodon/actions/filters.js @@ -43,7 +43,7 @@ export const fetchFilters = () => (dispatch, getState) => { export const createFilterStatus = (params, onSuccess, onFail) => (dispatch, getState) => { dispatch(createFilterStatusRequest()); - api(getState).post(`/api/v1/filters/${params.filter_id}/statuses`, params).then(response => { + api(getState).post(`/api/v2/filters/${params.filter_id}/statuses`, params).then(response => { dispatch(createFilterStatusSuccess(response.data)); if (onSuccess) onSuccess(); }).catch(error => { diff --git a/config/routes.rb b/config/routes.rb index d8af292bfc7..f095ff65514 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -493,18 +493,10 @@ Rails.application.routes.draw do resources :bookmarks, only: [:index] resources :reports, only: [:create] resources :trends, only: [:index], controller: 'trends/tags' - resources :filters, only: [:index, :create, :show, :update, :destroy] do - resources :keywords, only: [:index, :create], controller: 'filters/keywords' - resources :statuses, only: [:index, :create], controller: 'filters/statuses' - end + resources :filters, only: [:index, :create, :show, :update, :destroy] resources :endorsements, only: [:index] resources :markers, only: [:index, :create] - namespace :filters do - resources :keywords, only: [:show, :update, :destroy] - resources :statuses, only: [:show, :destroy] - end - namespace :apps do get :verify_credentials, to: 'credentials#show' end @@ -660,8 +652,16 @@ Rails.application.routes.draw do resources :media, only: [:create] resources :suggestions, only: [:index] - resources :filters, only: [:index, :create, :show, :update, :destroy] resource :instance, only: [:show] + resources :filters, only: [:index, :create, :show, :update, :destroy] do + resources :keywords, only: [:index, :create], controller: 'filters/keywords' + resources :statuses, only: [:index, :create], controller: 'filters/statuses' + end + + namespace :filters do + resources :keywords, only: [:show, :update, :destroy] + resources :statuses, only: [:show, :destroy] + end namespace :admin do resources :accounts, only: [:index] diff --git a/spec/controllers/api/v1/filters/keywords_controller_spec.rb b/spec/controllers/api/v2/filters/keywords_controller_spec.rb similarity index 98% rename from spec/controllers/api/v1/filters/keywords_controller_spec.rb rename to spec/controllers/api/v2/filters/keywords_controller_spec.rb index aecb4e41c93..1201a4ca233 100644 --- a/spec/controllers/api/v1/filters/keywords_controller_spec.rb +++ b/spec/controllers/api/v2/filters/keywords_controller_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe Api::V1::Filters::KeywordsController, type: :controller do +RSpec.describe Api::V2::Filters::KeywordsController, type: :controller do render_views let(:user) { Fabricate(:user) } diff --git a/spec/controllers/api/v1/filters/statuses_controller_spec.rb b/spec/controllers/api/v2/filters/statuses_controller_spec.rb similarity index 98% rename from spec/controllers/api/v1/filters/statuses_controller_spec.rb rename to spec/controllers/api/v2/filters/statuses_controller_spec.rb index 3b2399dd898..9740c1eb30a 100644 --- a/spec/controllers/api/v1/filters/statuses_controller_spec.rb +++ b/spec/controllers/api/v2/filters/statuses_controller_spec.rb @@ -1,6 +1,6 @@ require 'rails_helper' -RSpec.describe Api::V1::Filters::StatusesController, type: :controller do +RSpec.describe Api::V2::Filters::StatusesController, type: :controller do render_views let(:user) { Fabricate(:user) } From 75299a042c8ead006a059fe13abf790580252660 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 08:50:14 +0100 Subject: [PATCH 129/144] Bump version to 4.0.0rc4 (#20634) --- CHANGELOG.md | 12 +++++++++--- lib/mastodon/version.rb | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 93f05a6500d..20da71f802a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -58,12 +58,13 @@ Some of the features in this release have been funded through the [NGI0 Discover - Add reputation and followers score boost to SQL-only account search ([Gargron](https://github.com/mastodon/mastodon/pull/19251)) - Add Scots, Balaibalan, Láadan, Lingua Franca Nova, Lojban, Toki Pona to languages list ([VyrCossont](https://github.com/mastodon/mastodon/pull/20168)) - Set autocomplete hints for e-mail, password and OTP fields ([rcombs](https://github.com/mastodon/mastodon/pull/19833), [offbyone](https://github.com/mastodon/mastodon/pull/19946), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20071)) +- Add support for DigitalOcean Spaces in setup wizard ([v-aisac](https://github.com/mastodon/mastodon/pull/20573)) ### Changed - **Change brand color and logotypes** ([Gargron](https://github.com/mastodon/mastodon/pull/18592), [Gargron](https://github.com/mastodon/mastodon/pull/18639), [Gargron](https://github.com/mastodon/mastodon/pull/18691), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18634), [Gargron](https://github.com/mastodon/mastodon/pull/19254), [mayaeh](https://github.com/mastodon/mastodon/pull/18710)) - **Change post editing to be enabled in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/19103)) -- **Change web UI to work for logged-out users** ([Gargron](https://github.com/mastodon/mastodon/pull/18961), [Gargron](https://github.com/mastodon/mastodon/pull/19250), [Gargron](https://github.com/mastodon/mastodon/pull/19294), [Gargron](https://github.com/mastodon/mastodon/pull/19306), [Gargron](https://github.com/mastodon/mastodon/pull/19315), [ykzts](https://github.com/mastodon/mastodon/pull/19322), [Gargron](https://github.com/mastodon/mastodon/pull/19412), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19437), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19415), [Gargron](https://github.com/mastodon/mastodon/pull/19348), [Gargron](https://github.com/mastodon/mastodon/pull/19295), [Gargron](https://github.com/mastodon/mastodon/pull/19422), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19414), [Gargron](https://github.com/mastodon/mastodon/pull/19319), [Gargron](https://github.com/mastodon/mastodon/pull/19345), [Gargron](https://github.com/mastodon/mastodon/pull/19310), [Gargron](https://github.com/mastodon/mastodon/pull/19301), [Gargron](https://github.com/mastodon/mastodon/pull/19423), [ykzts](https://github.com/mastodon/mastodon/pull/19471), [ykzts](https://github.com/mastodon/mastodon/pull/19333), [ykzts](https://github.com/mastodon/mastodon/pull/19337), [ykzts](https://github.com/mastodon/mastodon/pull/19272), [ykzts](https://github.com/mastodon/mastodon/pull/19468), [Gargron](https://github.com/mastodon/mastodon/pull/19466), [Gargron](https://github.com/mastodon/mastodon/pull/19457), [Gargron](https://github.com/mastodon/mastodon/pull/19426), [Gargron](https://github.com/mastodon/mastodon/pull/19427), [Gargron](https://github.com/mastodon/mastodon/pull/19421), [Gargron](https://github.com/mastodon/mastodon/pull/19417), [Gargron](https://github.com/mastodon/mastodon/pull/19413), [Gargron](https://github.com/mastodon/mastodon/pull/19397), [Gargron](https://github.com/mastodon/mastodon/pull/19387), [Gargron](https://github.com/mastodon/mastodon/pull/19396), [Gargron](https://github.com/mastodon/mastodon/pull/19385), [ykzts](https://github.com/mastodon/mastodon/pull/19334), [ykzts](https://github.com/mastodon/mastodon/pull/19329), [Gargron](https://github.com/mastodon/mastodon/pull/19324), [Gargron](https://github.com/mastodon/mastodon/pull/19318), [Gargron](https://github.com/mastodon/mastodon/pull/19316), [Gargron](https://github.com/mastodon/mastodon/pull/19263), [trwnh](https://github.com/mastodon/mastodon/pull/19305), [ykzts](https://github.com/mastodon/mastodon/pull/19273), [Gargron](https://github.com/mastodon/mastodon/pull/19801), [Gargron](https://github.com/mastodon/mastodon/pull/19790), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19773), [Gargron](https://github.com/mastodon/mastodon/pull/19798), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19724), [Gargron](https://github.com/mastodon/mastodon/pull/19709), [Gargron](https://github.com/mastodon/mastodon/pull/19514), [Gargron](https://github.com/mastodon/mastodon/pull/19562), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19981), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19978), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20148), [Gargron](https://github.com/mastodon/mastodon/pull/20302)) +- **Change web UI to work for logged-out users** ([Gargron](https://github.com/mastodon/mastodon/pull/18961), [Gargron](https://github.com/mastodon/mastodon/pull/19250), [Gargron](https://github.com/mastodon/mastodon/pull/19294), [Gargron](https://github.com/mastodon/mastodon/pull/19306), [Gargron](https://github.com/mastodon/mastodon/pull/19315), [ykzts](https://github.com/mastodon/mastodon/pull/19322), [Gargron](https://github.com/mastodon/mastodon/pull/19412), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19437), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19415), [Gargron](https://github.com/mastodon/mastodon/pull/19348), [Gargron](https://github.com/mastodon/mastodon/pull/19295), [Gargron](https://github.com/mastodon/mastodon/pull/19422), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19414), [Gargron](https://github.com/mastodon/mastodon/pull/19319), [Gargron](https://github.com/mastodon/mastodon/pull/19345), [Gargron](https://github.com/mastodon/mastodon/pull/19310), [Gargron](https://github.com/mastodon/mastodon/pull/19301), [Gargron](https://github.com/mastodon/mastodon/pull/19423), [ykzts](https://github.com/mastodon/mastodon/pull/19471), [ykzts](https://github.com/mastodon/mastodon/pull/19333), [ykzts](https://github.com/mastodon/mastodon/pull/19337), [ykzts](https://github.com/mastodon/mastodon/pull/19272), [ykzts](https://github.com/mastodon/mastodon/pull/19468), [Gargron](https://github.com/mastodon/mastodon/pull/19466), [Gargron](https://github.com/mastodon/mastodon/pull/19457), [Gargron](https://github.com/mastodon/mastodon/pull/19426), [Gargron](https://github.com/mastodon/mastodon/pull/19427), [Gargron](https://github.com/mastodon/mastodon/pull/19421), [Gargron](https://github.com/mastodon/mastodon/pull/19417), [Gargron](https://github.com/mastodon/mastodon/pull/19413), [Gargron](https://github.com/mastodon/mastodon/pull/19397), [Gargron](https://github.com/mastodon/mastodon/pull/19387), [Gargron](https://github.com/mastodon/mastodon/pull/19396), [Gargron](https://github.com/mastodon/mastodon/pull/19385), [ykzts](https://github.com/mastodon/mastodon/pull/19334), [ykzts](https://github.com/mastodon/mastodon/pull/19329), [Gargron](https://github.com/mastodon/mastodon/pull/19324), [Gargron](https://github.com/mastodon/mastodon/pull/19318), [Gargron](https://github.com/mastodon/mastodon/pull/19316), [Gargron](https://github.com/mastodon/mastodon/pull/19263), [trwnh](https://github.com/mastodon/mastodon/pull/19305), [ykzts](https://github.com/mastodon/mastodon/pull/19273), [Gargron](https://github.com/mastodon/mastodon/pull/19801), [Gargron](https://github.com/mastodon/mastodon/pull/19790), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19773), [Gargron](https://github.com/mastodon/mastodon/pull/19798), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19724), [Gargron](https://github.com/mastodon/mastodon/pull/19709), [Gargron](https://github.com/mastodon/mastodon/pull/19514), [Gargron](https://github.com/mastodon/mastodon/pull/19562), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19981), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19978), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20148), [Gargron](https://github.com/mastodon/mastodon/pull/20302), [cutls](https://github.com/mastodon/mastodon/pull/20400)) - The web app can now be accessed without being logged in - No more `/web` prefix on web app paths - Profiles, posts, and other public pages now use the same interface for logged in and logged out users @@ -79,7 +80,7 @@ Some of the features in this release have been funded through the [NGI0 Discover - Change label of publish button to be "Publish" again in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18583)) - Change language to be carried over on reply in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18557)) - Change "Unfollow" to "Cancel follow request" when request still pending in web UI ([prplecake](https://github.com/mastodon/mastodon/pull/19363)) -- **Change post filtering system** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18058), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19050), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18894), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19051), [noellabo](https://github.com/mastodon/mastodon/pull/18923), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18956), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18744), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19878)) +- **Change post filtering system** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18058), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19050), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18894), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19051), [noellabo](https://github.com/mastodon/mastodon/pull/18923), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18956), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18744), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19878), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20567)) - Filtered keywords and phrases can now be grouped into named categories - Filtered posts show which exact filter was hit - Individual posts can be added to a filter @@ -105,6 +106,8 @@ Some of the features in this release have been funded through the [NGI0 Discover - Change incoming activity processing to happen in `ingress` queue ([Gargron](https://github.com/mastodon/mastodon/pull/20264)) - Change notifications to not link show preview cards in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20335)) - Change amount of replies returned for logged out users in REST API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20355)) +- Change in-app links to keep you in-app in web UI ([trwnh](https://github.com/mastodon/mastodon/pull/20540), [Gargron](https://github.com/mastodon/mastodon/pull/20628)) +- Change table header to be sticky in admin UI ([sk22](https://github.com/mastodon/mastodon/pull/20442)) ### Removed @@ -117,6 +120,9 @@ Some of the features in this release have been funded through the [NGI0 Discover ### Fixed +- Fix rules with same priority being sorted non-deterministically ([Gargron](https://github.com/mastodon/mastodon/pull/20623)) +- Fix error when invalid domain name is submitted ([Gargron](https://github.com/mastodon/mastodon/pull/19474)) +- Fix icons having an image role ([Gargron](https://github.com/mastodon/mastodon/pull/20600)) - Fix connections to IPv6-only servers ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20108)) - Fix unnecessary service worker registration and preloading when logged out in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20341)) - Fix unnecessary and slow regex construction ([raggi](https://github.com/mastodon/mastodon/pull/20215)) @@ -185,7 +191,7 @@ Some of the features in this release have been funded through the [NGI0 Discover - Fix `CDN_HOST` not being used in some asset URLs ([tribela](https://github.com/mastodon/mastodon/pull/18662)) - Fix `CAS_DISPLAY_NAME`, `SAML_DISPLAY_NAME` and `OIDC_DISPLAY_NAME` being ignored ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18568)) - Fix various typos in comments throughout the codebase ([luzpaz](https://github.com/mastodon/mastodon/pull/18604)) -- Fix CSV upload no longer breaks if an server domain includes UTF-8 characters ([HamptonMakes]()) +- Fix CSV import error when rows include unicode characters ([HamptonMakes](https://github.com/mastodon/mastodon/pull/20592)) ### Security diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 60a22b234b3..cbf1087dd54 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc3' + 'rc4' end def suffix From 9fd866f38ef31032abb319eb5db9ee5778a02440 Mon Sep 17 00:00:00 2001 From: Samuel Kaiser Date: Sun, 13 Nov 2022 21:02:28 +0100 Subject: [PATCH 130/144] [Glitch] Stick batch table toolbar to the top Port e62b514e958ca2bfc08944b2368c6d41417f9e8a to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/styles/tables.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/javascript/flavours/glitch/styles/tables.scss b/app/javascript/flavours/glitch/styles/tables.scss index 9192557905c..14daf591e7d 100644 --- a/app/javascript/flavours/glitch/styles/tables.scss +++ b/app/javascript/flavours/glitch/styles/tables.scss @@ -178,6 +178,9 @@ a.table-action-link { } &__toolbar { + position: sticky; + top: 0; + z-index: 1; border: 1px solid darken($ui-base-color, 8%); background: $ui-base-color; border-radius: 4px 0 0; From 9db90d2ebee1b0f5e3361e47349471d36b25d415 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 14 Nov 2022 06:05:10 +0100 Subject: [PATCH 131/144] [Glitch] Fix dropdown menu on profiles not being accessible on narrow screens in web UI Port 6da9df774ea9973124fe7e2f5a9dd0862a22acd8 to glitch-soc Signed-off-by: Claire --- .../glitch/features/account/components/header.js | 2 -- .../flavours/glitch/styles/components/accounts.scss | 12 ++++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/javascript/flavours/glitch/features/account/components/header.js b/app/javascript/flavours/glitch/features/account/components/header.js index 93831b3e70a..47c074ec3d9 100644 --- a/app/javascript/flavours/glitch/features/account/components/header.js +++ b/app/javascript/flavours/glitch/features/account/components/header.js @@ -317,8 +317,6 @@ class Header extends ImmutablePureComponent {