From 89a6b76f999635e077e9469efd9d94cd6c6d6222 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 10 Nov 2022 14:21:31 +0100 Subject: [PATCH 01/56] =?UTF-8?q?Fix=20color=20of=20the=20=E2=80=9CNo=20de?= =?UTF-8?q?scription=20added=E2=80=9C=20media=20upload=20warning=20on=20li?= =?UTF-8?q?ght=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 1214d2519f..928af8453e 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 02/56] 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 648811d6c1..d577b3bf3c 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 4d06ad0796..5e36fab51e 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 71e7cb33d8..05c5b28c86 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 b907871604dbaef131ecc407b8ad29b754e3b1ac Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Thu, 10 Nov 2022 19:09:54 +0100 Subject: [PATCH 03/56] 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 25c8388e16..7d76b82751 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 edcc973bcd..19a1c4ff09 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 170025b504..16f319fe0b 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 04/56] 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 05/56] 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 71bb002ef2..207780b345 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 dd707a4d04..57051870f8 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 7f03c9e23e..a5007222c2 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 fb58b1ade0..23d4676b3d 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 06/56] 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 6120a7f3a9..b1c77f6bf9 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 07/56] 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 811d98a225..0866382973 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 16f319fe0b..c19ab9ed2f 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 08/56] 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 23d4676b3d..5fb316396c 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 09/56] 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 3106a3ecdb..d1235550fe 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 10/56] 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 0000000000..03bcf93e39 --- /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 0000000000..a1e7b403e0 --- /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 11/56] 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 b1c77f6bf9..c8ed0c9f97 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 19a1c4ff09..272d59a81f 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 c19ab9ed2f..9e1c592197 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 12/56] 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 d0337ce0cd..f882217fba 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 13/56] 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 676ec2a799..b43b6f1a7c 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 14/56] 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 c694908c53..4f05a64f51 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 12da91cf97..00e60f3157 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 9e1c592197..5cee86e0ec 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 f41a0f1971..48b134949c 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 80e1dcf520..76089ebac0 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 511c1802a9..8c89929774 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 15/56] 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 d74f90b2bc..e84a0eeb1c 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 16/56] 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 322548747b..fff073cedb 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 17/56] 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 b43b6f1a7c..6290a1746a 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 62a7cf5086..0000000000 --- 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 bb4e5b01f4..9eb7ad691d 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 5c04108e4c..8b628beea2 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 18/56] 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 d3566e32d4..b175f0ee75 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 57051870f8..878b01150f 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 a5007222c2..5d565765eb 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 5fb316396c..ec67481bf1 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 3f9aa8a93b..b23b2cb168 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 0866382973..e5c5e1dc67 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 9bdec2ab7c..30d54b76f5 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 556133dd32..5b22a86105 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 94d39dcbb5..f28cdab418 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 e1544d2b66..db09c6ea2b 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 58b2179df0..36d555898e 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 52398f0daf..9865346eaa 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 d7ac936ce5..d1776ac590 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 19/56] 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 5587fc261a..217c9b2397 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 20/56] 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 48b134949c..dc53195359 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 76089ebac0..3ec685c743 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 21/56] 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 f882217fba..69a7ee91f9 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 22/56] 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 3f51c4bd0a..9963054b39 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 23/56] 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 a3ddc76362..1841dc8bfd 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 24/56] 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 d2543b18d6..ccc7c10346 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 25/56] 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 1c3a6df025..c22c20c57a 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 26/56] 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 8328362725..15d017642c 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 ecbf6afc0b..8b43604c8f 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 27/56] 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 2bd22438c9..72f62a1dc3 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 1c0372cf4e..f7ea661d7d 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 2de9846516..b8cb247991 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 2b0b84b8f3..60a22b234b 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 28/56] 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 0cfd9167cd..e9b8b4adba 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 a8c0a28ef5..0d197abfcd 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 7b19cd2ac9..3048056591 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 a6e090f4c8..7aa8658d90 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 b5d3f9c8fe..56ca62d5ec 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 15b24e2bdf..d61fe60208 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 d3b81d4d52..167131fdd9 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 29/56] =?UTF-8?q?Remove=20=E2=80=9CNo=20description=20adde?= =?UTF-8?q?d=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 0b2dcf08f3..97ac54da91 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 30/56] 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 298f2111de..b059566061 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 31/56] 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 97ac54da91..b08307adee 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 1108aec305..05cd2ecc1f 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 ad384bd0b5..afb8b40c10 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 32/56] 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 e84a0eeb1c..ffc8dce80b 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 33/56] 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 15d017642c..e59f737386 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 34/56] 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 cc3a8f3df4..fc7359cfc4 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 35/56] 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 dd198f3991..96d934a8f2 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 36/56] 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 37/56] 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 95822b7b04..854312fdf5 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 60d62c8cd2..ddbc30f1eb 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 a895c9ecf0..78555dc2dd 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 c83c1087c8..58a48f4aec 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 28540094e6..766c608774 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 c420bb929e..5acbd0ecc6 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 3ac6a5d5f3..ea63eedb3b 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 24b66101cf..ee8c5e224d 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 2435b72bf1..4b518c24cd 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 d48b3206a8..190e68f2b9 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 fb00390e1f..0d1149ef1b 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 88ece14792..35060645cd 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 10e33f2a93..54ba68ba9a 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 fe88710934..f6beca1819 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 36af2ad49c..b005f80905 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 cec8eb73a3..01a2821bc4 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 0717d45ab6..deb539d0bf 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 a01bf0c040..ffa2c6185b 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 133ee0792b..f93577b466 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 ab7d708bf0..ff7dba9f76 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 c55de8b9ab..e0d6e2931e 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 18a8b42262..2c36c4efa7 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 7a03798c3b..a982d5bfee 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 421041e6d0..eeb5d9ee73 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 0c45b6f421..5a194103f0 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 dab5921959..f22f7abbcd 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 3492aa54a5..06683f9835 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 6a9260064c..3410a8b7d7 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 644574f387..f11b063b80 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 992205a7e1..6879f7a0c2 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 f04760ed14..83fe0b368d 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 85202e1d57..452cc2cdb2 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 8af39e2c6c..5643e2ea95 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 13ecae298b..1c35ab6023 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 bee531e4f6..67f9c0c0a4 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 4489053e67..6a294928d5 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 a2062244b8..4af4edb169 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 67bbbfbe74..eea0939cd3 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 aca810561f..b5dc4e0f1b 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 d371077630..39e84e0040 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 20fe24f839..47a5671087 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 f93a67546b..6bd43ffe8f 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 9a6977f904..a504ebb99c 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 7338d186c7..55ba91487c 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 b74659820a..a2ace7deb9 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 be731c6d1f..d6b18ff623 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 14bb2cc33f..d9fb7eb9c2 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 64f1014598..89c3aee4e7 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 4c58706337..0d965819e1 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 e93b4e00b1..0517ce02a0 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 b2ed1fa375..63cb293e13 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 a0a9c2de43..7d25ac6084 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 9f1c20fb85..7757f061fd 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 9d874fd864..e82321eae3 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 1704568b76..83e0ec9c36 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 4736519af6..ff8be31ee4 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 a34bef1ea0..8d86745413 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 d90153a95f..a8585c042d 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 307d4c7c01..9cef980e65 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 65ca4f5117..ab241a4221 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 02a0ceca98..828efe9f94 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 7808a45931..2f76585f87 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 fb341a979e..db5c67b207 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 d81dd7cdd1..01ed9e336e 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 36b6158cd2..ea927e364a 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 f775226244..1c13c76cde 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 f874b75221..bbc1aa0c3c 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 76c5798202..a450225a5b 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 f53d140bca..cdcca16975 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 4aa2c86e3e..aae597974a 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 7e669bd184..d35f9bb02e 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 fbd34dfaf3..dd4fa8683b 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 d90153a95f..a8585c042d 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 c01242e76c..a69becb950 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 a1f4a2732e..a3ae8a0510 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 669a4eb0cc..1d99fc4dff 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 0440900788..77279ba01a 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 e3df3cd826..1ed5e58726 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 18e95f4a01..fc36699c7a 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 d90153a95f..a8585c042d 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 c5cdcb2f58..3273dae14f 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 0d8da88a69..3702a7ffeb 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 5dfe7e2222..11847e1b24 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 6c9617e609..448cc9e778 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 41a19303ab..804fb6c0ad 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 fb83d0f717..10c137e835 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 37a8ea506f..495cfdca49 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 e3086e089f..a5ac8dbf74 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 601d6dcd9b..123e7cd9b1 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 b75a3fd59a..35d63da498 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 c1a7d39c8a..e651708c22 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 ca48e0fe0c..02774dd394 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 9697215b59..8c6ebf5e6a 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 23d1928868..0d1d9efb19 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 6da0bb29c6..be6cea8718 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 ca3402f476..9dd6b21364 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 2548bdb234..002ca95194 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 ac4a09b340..72b1b3c087 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 9489aa7c5e..2e5c82a330 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 83a5df302f..104e256a0e 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 eb096ff333..b93ec30722 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 d97b31640a..d6f8ba94ef 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 c3773bcae7..515afa037a 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 ef03d18104..9a51d07576 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 eaee27b888..07a115cc7d 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 cd949d772d..45e5e47f85 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 6553e3cd61..be0f98ae11 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 e465007967..38d7a0c528 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 36ce203517..e500e1d9e8 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 7bfcec48a4..ba52a2ac37 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 3f0ea6b7b7..1f13709bee 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 34b4fafaa9..419b58b94f 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 e645f20b2b..3526bab0e1 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 e45dd0245a..d86fbe793d 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 5267b7fa25..1a27f62329 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 fc7fc9edf6..26540146f5 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 4cabba4989..de18f97b2e 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 d4a77a992d..4a8d9bd507 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 3c4239f776..33408ddb7f 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 6c53ff2538..28cf52e1cd 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 a26156ffa7..b42ded815e 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 558c0d8944..f222b08879 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 ddebd9e5dc..a7641064bf 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 88b224c3e9..6d7f8d6aa7 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 e3915a0992..052e7fe8c6 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 d891cd537d..0e379da21a 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 ec794492b4..8279f68f0e 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 e408079daa..b06630a513 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 b972a1d001..d91d990001 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 2a23ea0577..cee3f423e0 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 ae59a591d6..2ece2bd80e 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 617fb593cb..89e78c9b05 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 e5db78c4d8..b084034264 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 44f25f2c48..34c60a553c 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 196222e22a..b214e856ab 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 c5736311c0..82abda07ee 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 8b5b1dce3a..337b691a23 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 c074b89453..b6e6da78fa 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 aa2d6ef8d9..ba8cb7e121 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 c7ef18b3ac..30d0b24e4b 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 1084309177..8e2a40a040 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 021def2fd7..f23712d9f9 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 793a39b001..1a8aefda80 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 efb8a7a780..f19dc24b04 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 fb68ac0ad4..4b196cbf08 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 c2a249b59f..cf311b3cb6 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 a941977e61..8f5fa3ccd2 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 ec8ba1c9bc..df73233dfe 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 09f1002c2a..a6c75ea713 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 9c0c2a74de..5953c2275b 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 38/56] 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 47bd9b0563..c6278f4cb5 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 39/56] 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 54b65bfc8c..c007eb4b57 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 4c731be430..a3ddc76362 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 7059c555f3..ab8a65720a 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 6117e6e5bc..8bed346383 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 3a2097d2fb..92cffc5a2a 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 464aa57742..6edf7b4e9e 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 40/56] 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 e63c853fb8..b429cdd7b5 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 41/56] 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 3d8b761e61..ffe5de2625 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 ef0ca1fcde..cddf42dac5 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 42/56] 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 ab8a65720a..7059c555f3 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 43/56] =?UTF-8?q?Add=20=E2=80=9CGlitch-only=E2=80=9D=20lab?= =?UTF-8?q?el=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 ffe5de2625..cdc506cf45 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 cddf42dac5..8eecee4e97 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 9b6424c79c..3983b563b4 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 f5e4481253..0d7d49dc87 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 89bd4f459f..a252289b0d 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 cf604d0432..fb3d21060c 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 92cffc5a2a..d167a16005 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 fd1c64bbb3..0ad39886ff 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 44/56] =?UTF-8?q?Add=20extended=20description=20for=20glit?= =?UTF-8?q?ch-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 0ad39886ff..c6e7d54ca0 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 45/56] 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 58c5587231..a95efc94cc 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 46/56] 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 0000000000..c7bfa3d586 --- /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 0000000000..1a7a4e46e5 --- /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 1294c26ce1..9f2cdd3f3e 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 4cdc81a248..c559ee0eca 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 126eae0841..e1068bb583 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 47/56] =?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 22828c7d18..6489c2f805 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 48/56] [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 366a98d82b..800832dc8e 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 49/56] [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 f1e10df342..b8095f8192 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 50/56] [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 b8095f8192..14a6effbbb 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 51/56] [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 8eecee4e97..01b7a11e95 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 52/56] [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 4129c8236e..f97eb64b41 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 c6cc6c6154..6664a5756c 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 53/56] =?UTF-8?q?[Glitch]=20Remove=20=E2=80=9CNo=20descrip?= =?UTF-8?q?tion=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 94ac6c4996..c276d339d7 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 54/56] [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 3d385eee2b..72e13d9d68 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 55/56] [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 c276d339d7..6528bbc84c 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 d6256fe966..f3ca4ce7bb 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 460af39553..18e437bbc8 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 56/56] [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 f97eb64b41..57f295ea97 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') : }

))}