From 9fbe95278920e54859e00859dc1e5f31df4e2371 Mon Sep 17 00:00:00 2001 From: Shlee Date: Tue, 15 Mar 2022 23:40:32 +1030 Subject: [PATCH 01/73] Update config.yml (#17800) --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6d89e670a..5d4829fa1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,7 +23,7 @@ executors: environment: POSTGRES_USER: root POSTGRES_HOST_AUTH_METHOD: trust - - image: circleci/redis:6-alpine + - image: cimg/redis:6.2 commands: install-system-dependencies: From 82e1c6216e28f02e71270543ff44a26eeff771b5 Mon Sep 17 00:00:00 2001 From: Shlee Date: Tue, 15 Mar 2022 23:41:09 +1030 Subject: [PATCH 02/73] Update config.yml (#17799) --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5d4829fa1..4fcc8c618 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,8 +1,8 @@ version: 2.1 orbs: - ruby: circleci/ruby@1.2.0 - node: circleci/node@4.7.0 + ruby: circleci/ruby@1.4.0 + node: circleci/node@5.0.1 executors: default: From 9b139d4ef9105d31292566e8c210759a2da5e0f7 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 15 Mar 2022 19:07:25 +0100 Subject: [PATCH 03/73] =?UTF-8?q?Fix=20=E2=80=9Cedited=20at=E2=80=9D=20in?= =?UTF-8?q?=20public=20pages=20not=20being=20properly=20localized=20(#1780?= =?UTF-8?q?6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #17804 --- app/views/admin/reports/_status.html.haml | 2 +- app/views/statuses/_detailed_status.html.haml | 2 +- app/views/statuses/_simple_status.html.haml | 2 +- config/locales/en.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/admin/reports/_status.html.haml b/app/views/admin/reports/_status.html.haml index 1c033c4c3..7538cfd54 100644 --- a/app/views/admin/reports/_status.html.haml +++ b/app/views/admin/reports/_status.html.haml @@ -29,7 +29,7 @@ %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at) - if status.edited? · - = t('statuses.edited_at', date: l(status.edited_at)) + = t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted')) - if status.discarded? · %span.negative-hint= t('admin.statuses.deleted') diff --git a/app/views/statuses/_detailed_status.html.haml b/app/views/statuses/_detailed_status.html.haml index 6ccf3725a..fd7e034b1 100644 --- a/app/views/statuses/_detailed_status.html.haml +++ b/app/views/statuses/_detailed_status.html.haml @@ -44,7 +44,7 @@ %time.formatted{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at) · - if status.edited? - = t('statuses.edited_at', date: l(status.edited_at)) + = t('statuses.edited_at_html', date: content_tag(:time, l(status.edited_at), datetime: status.edited_at.iso8601, title: l(status.edited_at), class: 'formatted')) · %span.detailed-status__visibility-icon = visibility_icon status diff --git a/app/views/statuses/_simple_status.html.haml b/app/views/statuses/_simple_status.html.haml index 5dd265b59..8ffd3cb74 100644 --- a/app/views/statuses/_simple_status.html.haml +++ b/app/views/statuses/_simple_status.html.haml @@ -8,7 +8,7 @@ = visibility_icon status %time.time-ago{ datetime: status.created_at.iso8601, title: l(status.created_at) }= l(status.created_at) - if status.edited? - %abbr{ title: t('statuses.edited_at', date: l(status.edited_at.to_date)) } + %abbr{ title: t('statuses.edited_at_html', date: l(status.edited_at.to_date)) } * %data.dt-published{ value: status.created_at.to_time.iso8601 } diff --git a/config/locales/en.yml b/config/locales/en.yml index cdc66bd68..d4a42e867 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1438,7 +1438,7 @@ en: disallowed_hashtags: one: 'contained a disallowed hashtag: %{tags}' other: 'contained the disallowed hashtags: %{tags}' - edited_at: Edited %{date} + edited_at_html: Edited %{date} errors: in_reply_not_found: The post you are trying to reply to does not appear to exist. open_in_web: Open in web From 895212bb2f05762453ab14c9424e80bae169b75d Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 15 Mar 2022 20:27:49 +0100 Subject: [PATCH 04/73] Fix PgHero suggesting migrations (#17807) * Fix PgHero suggesting migrations Fixes #17768 * Keep migration suggestions in development env --- config/initializers/pghero.rb | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/initializers/pghero.rb diff --git a/config/initializers/pghero.rb b/config/initializers/pghero.rb new file mode 100644 index 000000000..0c77d6d0f --- /dev/null +++ b/config/initializers/pghero.rb @@ -0,0 +1 @@ +PgHero.show_migrations = Rails.env.development? From e798c1c64cf417b88379e1d381592a8920fdeeab Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Wed, 16 Mar 2022 04:38:29 +0900 Subject: [PATCH 05/73] Replace metadata-action type to match (#17802) --- .github/workflows/build-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index f8b4a751d..bae185484 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -30,7 +30,7 @@ jobs: latest=auto tags: | type=edge,branch=main - type=semver,pattern={{ raw }} + type=match,pattern=v(.*),group=0 type=ref,event=pr - uses: docker/build-push-action@v2 with: From c9b3cf8510df4698b66055c4f46757cc78d01597 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 17 Mar 2022 00:46:49 +0100 Subject: [PATCH 06/73] Fix searching already-known converted activities by URL (#17814) Fixes #17813 --- app/lib/activitypub/activity/update.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/lib/activitypub/activity/update.rb b/app/lib/activitypub/activity/update.rb index 5802ead5d..5b3238ece 100644 --- a/app/lib/activitypub/activity/update.rb +++ b/app/lib/activitypub/activity/update.rb @@ -8,6 +8,8 @@ class ActivityPub::Activity::Update < ActivityPub::Activity update_account elsif equals_or_includes_any?(@object['type'], %w(Note Question)) update_status + elsif converted_object_type? + Status.find_by(uri: object_uri, account_id: @account.id) end end From 779efc7656a5ad938324425f09a539c917cf6cfa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 17 Mar 2022 01:33:25 +0100 Subject: [PATCH 07/73] New Crowdin updates (#17771) * New translations en.json (Cornish) * New translations en.json (Kannada) * New translations en.json (Scottish Gaelic) * New translations en.json (Asturian) * New translations en.json (Serbian (Latin)) * New translations en.json (Kurmanji (Kurdish)) * New translations en.json (Sorani (Kurdish)) * New translations en.json (Corsican) * New translations en.json (Sardinian) * New translations en.json (Sanskrit) * New translations en.json (Kabyle) * New translations en.json (Ido) * New translations en.json (Taigi) * New translations en.json (Silesian) * New translations en.json (Standard Moroccan Tamazight) * New translations simple_form.en.yml (Romanian) * New translations simple_form.en.yml (French) * New translations simple_form.en.yml (Albanian) * New translations doorkeeper.en.yml (Asturian) * New translations doorkeeper.en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Serbian (Cyrillic)) * New translations simple_form.en.yml (Swedish) * New translations simple_form.en.yml (Galician) * New translations simple_form.en.yml (Icelandic) * New translations simple_form.en.yml (Chinese Traditional) * New translations simple_form.en.yml (Ukrainian) * New translations simple_form.en.yml (Turkish) * New translations simple_form.en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Sinhala) * New translations simple_form.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 (Sorani (Kurdish)) * New translations simple_form.en.yml (Corsican) * New translations simple_form.en.yml (Sardinian) * New translations simple_form.en.yml (Malayalam) * New translations simple_form.en.yml (Kabyle) * New translations simple_form.en.yml (Ido) * New translations simple_form.en.yml (Standard Moroccan Tamazight) * New translations simple_form.en.yml (Breton) * New translations simple_form.en.yml (Welsh) * New translations simple_form.en.yml (Tatar) * New translations simple_form.en.yml (Croatian) * New translations simple_form.en.yml (Portuguese, Brazilian) * 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 (Norwegian Nynorsk) * New translations simple_form.en.yml (Chinese Traditional, Hong Kong) * New translations simple_form.en.yml (Kazakh) * New translations simple_form.en.yml (Estonian) * New translations simple_form.en.yml (Latvian) * New translations simple_form.en.yml (Esperanto) * New translations activerecord.en.yml (Icelandic) * New translations devise.en.yml (Icelandic) * New translations doorkeeper.en.yml (Serbian (Cyrillic)) * New translations doorkeeper.en.yml (Dutch) * New translations doorkeeper.en.yml (Norwegian) * New translations doorkeeper.en.yml (Polish) * New translations doorkeeper.en.yml (Portuguese) * New translations doorkeeper.en.yml (Russian) * New translations doorkeeper.en.yml (Slovak) * New translations doorkeeper.en.yml (Slovenian) * New translations doorkeeper.en.yml (Albanian) * New translations doorkeeper.en.yml (Swedish) * New translations doorkeeper.en.yml (Turkish) * New translations doorkeeper.en.yml (Chinese Traditional) * New translations doorkeeper.en.yml (Galician) * New translations doorkeeper.en.yml (Persian) * New translations doorkeeper.en.yml (Georgian) * New translations activerecord.en.yml (Welsh) * New translations doorkeeper.en.yml (Bulgarian) * New translations activerecord.en.yml (Scottish Gaelic) * New translations devise.en.yml (Scottish Gaelic) * New translations activerecord.en.yml (Asturian) * New translations doorkeeper.en.yml (Korean) * New translations devise.en.yml (Asturian) * New translations doorkeeper.en.yml (Romanian) * New translations doorkeeper.en.yml (French) * New translations doorkeeper.en.yml (Spanish) * New translations doorkeeper.en.yml (Arabic) * New translations doorkeeper.en.yml (Catalan) * New translations doorkeeper.en.yml (Japanese) * New translations doorkeeper.en.yml (Czech) * New translations doorkeeper.en.yml (Danish) * New translations doorkeeper.en.yml (German) * New translations doorkeeper.en.yml (Greek) * New translations doorkeeper.en.yml (Finnish) * New translations doorkeeper.en.yml (Hebrew) * New translations doorkeeper.en.yml (Hungarian) * New translations doorkeeper.en.yml (Armenian) * New translations doorkeeper.en.yml (Italian) * New translations doorkeeper.en.yml (Tamil) * New translations doorkeeper.en.yml (Spanish, Argentina) * New translations activerecord.en.yml (Romanian) * New translations doorkeeper.en.yml (Sardinian) * New translations doorkeeper.en.yml (Kabyle) * New translations doorkeeper.en.yml (Ido) * New translations doorkeeper.en.yml (Standard Moroccan Tamazight) * New translations activerecord.en.yml (French) * New translations devise.en.yml (Esperanto) * New translations devise.en.yml (Romanian) * New translations doorkeeper.en.yml (Sorani (Kurdish)) * New translations devise.en.yml (French) * New translations activerecord.en.yml (Spanish) * New translations devise.en.yml (Spanish) * New translations activerecord.en.yml (Arabic) * New translations devise.en.yml (Arabic) * New translations activerecord.en.yml (Bulgarian) * New translations devise.en.yml (Bulgarian) * New translations doorkeeper.en.yml (Corsican) * New translations doorkeeper.en.yml (Kurmanji (Kurdish)) * New translations doorkeeper.en.yml (Spanish, Mexico) * New translations doorkeeper.en.yml (Marathi) * New translations doorkeeper.en.yml (Thai) * New translations doorkeeper.en.yml (Croatian) * New translations doorkeeper.en.yml (Norwegian Nynorsk) * New translations doorkeeper.en.yml (Kazakh) * New translations doorkeeper.en.yml (Estonian) * New translations doorkeeper.en.yml (Latvian) * New translations doorkeeper.en.yml (Hindi) * New translations doorkeeper.en.yml (Welsh) * New translations doorkeeper.en.yml (Serbian (Latin)) * New translations doorkeeper.en.yml (Esperanto) * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong) * New translations doorkeeper.en.yml (Tatar) * New translations doorkeeper.en.yml (Malayalam) * New translations doorkeeper.en.yml (Breton) * New translations doorkeeper.en.yml (Sinhala) * New translations doorkeeper.en.yml (Occitan) * New translations activerecord.en.yml (Czech) * New translations devise.en.yml (Polish) * New translations activerecord.en.yml (Dutch) * New translations devise.en.yml (Dutch) * New translations activerecord.en.yml (Norwegian) * New translations devise.en.yml (Norwegian) * New translations activerecord.en.yml (Polish) * New translations activerecord.en.yml (Portuguese) * New translations devise.en.yml (Portuguese) * New translations activerecord.en.yml (Russian) * New translations devise.en.yml (Russian) * New translations activerecord.en.yml (Slovak) * New translations devise.en.yml (Slovak) * New translations activerecord.en.yml (Slovenian) * New translations devise.en.yml (Slovenian) * New translations activerecord.en.yml (Albanian) * New translations devise.en.yml (Albanian) * New translations activerecord.en.yml (Serbian (Cyrillic)) * New translations devise.en.yml (Korean) * New translations devise.en.yml (Czech) * New translations activerecord.en.yml (Hebrew) * New translations activerecord.en.yml (German) * New translations devise.en.yml (German) * New translations activerecord.en.yml (Greek) * New translations devise.en.yml (Greek) * New translations activerecord.en.yml (Basque) * New translations devise.en.yml (Basque) * New translations activerecord.en.yml (Finnish) * New translations devise.en.yml (Finnish) * New translations devise.en.yml (Hebrew) * New translations activerecord.en.yml (Korean) * New translations activerecord.en.yml (Hungarian) * New translations devise.en.yml (Hungarian) * New translations activerecord.en.yml (Armenian) * New translations devise.en.yml (Armenian) * New translations activerecord.en.yml (Italian) * New translations devise.en.yml (Italian) * New translations activerecord.en.yml (Japanese) * New translations devise.en.yml (Japanese) * New translations activerecord.en.yml (Georgian) * New translations devise.en.yml (Georgian) * New translations devise.en.yml (Serbian (Cyrillic)) * New translations activerecord.en.yml (Swedish) * New translations devise.en.yml (Norwegian Nynorsk) * New translations activerecord.en.yml (Bengali) * New translations devise.en.yml (Bengali) * New translations activerecord.en.yml (Marathi) * New translations devise.en.yml (Thai) * New translations activerecord.en.yml (Croatian) * New translations devise.en.yml (Croatian) * New translations activerecord.en.yml (Norwegian Nynorsk) * New translations activerecord.en.yml (Kazakh) * New translations activerecord.en.yml (Spanish, Mexico) * New translations devise.en.yml (Kazakh) * New translations activerecord.en.yml (Estonian) * New translations devise.en.yml (Estonian) * New translations activerecord.en.yml (Latvian) * New translations devise.en.yml (Latvian) * New translations activerecord.en.yml (Hindi) * New translations devise.en.yml (Hindi) * New translations devise.en.yml (Spanish, Mexico) * New translations devise.en.yml (Spanish, Argentina) * New translations devise.en.yml (Swedish) * New translations activerecord.en.yml (Vietnamese) * New translations activerecord.en.yml (Turkish) * New translations devise.en.yml (Turkish) * New translations activerecord.en.yml (Ukrainian) * New translations devise.en.yml (Ukrainian) * New translations activerecord.en.yml (Chinese Simplified) * New translations activerecord.en.yml (Chinese Traditional) * New translations devise.en.yml (Chinese Traditional) * New translations devise.en.yml (Urdu (Pakistan)) * New translations devise.en.yml (Vietnamese) * New translations activerecord.en.yml (Spanish, Argentina) * New translations activerecord.en.yml (Galician) * New translations devise.en.yml (Galician) * New translations activerecord.en.yml (Portuguese, Brazilian) * New translations devise.en.yml (Portuguese, Brazilian) * New translations activerecord.en.yml (Indonesian) * New translations devise.en.yml (Indonesian) * New translations activerecord.en.yml (Persian) * New translations devise.en.yml (Persian) * New translations activerecord.en.yml (Tamil) * New translations devise.en.yml (Tamil) * New translations devise.en.yml (Welsh) * New translations activerecord.en.yml (Sorani (Kurdish)) * New translations devise.en.yml (Sorani (Kurdish)) * New translations activerecord.en.yml (Corsican) * New translations devise.en.yml (Corsican) * New translations activerecord.en.yml (Sardinian) * New translations devise.en.yml (Sardinian) * New translations activerecord.en.yml (Kabyle) * New translations activerecord.en.yml (Kurmanji (Kurdish)) * New translations devise.en.yml (Kabyle) * New translations devise.en.yml (Ido) * New translations activerecord.en.yml (Standard Moroccan Tamazight) * New translations devise.en.yml (Kurmanji (Kurdish)) * New translations devise.en.yml (Serbian (Latin)) * New translations activerecord.en.yml (Esperanto) * New translations activerecord.en.yml (Breton) * New translations activerecord.en.yml (Chinese Traditional, Hong Kong) * New translations devise.en.yml (Chinese Traditional, Hong Kong) * New translations activerecord.en.yml (Tatar) * New translations devise.en.yml (Tatar) * New translations activerecord.en.yml (Malayalam) * New translations devise.en.yml (Malayalam) * New translations devise.en.yml (Breton) * New translations activerecord.en.yml (Serbian (Latin)) * New translations activerecord.en.yml (Sinhala) * New translations devise.en.yml (Sinhala) * New translations devise.en.yml (Kannada) * New translations activerecord.en.yml (Occitan) * New translations devise.en.yml (Occitan) * New translations devise.en.yml (Standard Moroccan Tamazight) * Run `bundle exec i18n-tasks normalize` * Run `yarn manage:translations` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/ca.json | 196 +- app/javascript/mastodon/locales/ckb.json | 543 ++++ app/javascript/mastodon/locales/es-MX.json | 2 +- app/javascript/mastodon/locales/eu.json | 88 +- app/javascript/mastodon/locales/gl.json | 8 +- app/javascript/mastodon/locales/ko.json | 4 +- app/javascript/mastodon/locales/ku.json | 1080 +++---- app/javascript/mastodon/locales/th.json | 6 +- app/javascript/mastodon/locales/uk.json | 4 +- .../mastodon/locales/whitelist_ckb.json | 2 + app/javascript/mastodon/locales/zh-CN.json | 2 +- config/locales/activerecord.ca.yml | 4 +- config/locales/activerecord.ckb.yml | 17 + config/locales/activerecord.da.yml | 4 +- config/locales/activerecord.ku.yml | 23 +- config/locales/activerecord.th.yml | 2 +- config/locales/ar.yml | 1 - config/locales/ca.yml | 2 +- config/locales/ckb.yml | 1213 ++++++++ config/locales/da.yml | 3 +- config/locales/de.yml | 1 - config/locales/devise.ca.yml | 2 +- config/locales/devise.ckb.yml | 115 + config/locales/devise.da.yml | 38 +- config/locales/devise.ku.yml | 178 +- config/locales/devise.zh-CN.yml | 12 +- config/locales/doorkeeper.ckb.yml | 143 + config/locales/doorkeeper.eu.yml | 37 + config/locales/doorkeeper.id.yml | 4 + config/locales/doorkeeper.ku.yml | 240 +- config/locales/doorkeeper.pt-BR.yml | 21 + config/locales/doorkeeper.uk.yml | 16 + config/locales/doorkeeper.vi.yml | 2 +- config/locales/doorkeeper.zh-CN.yml | 14 +- config/locales/el.yml | 2 +- config/locales/es-AR.yml | 2 +- config/locales/es-MX.yml | 3 +- config/locales/es.yml | 2 +- config/locales/eu.yml | 35 + config/locales/fa.yml | 1 - config/locales/fi.yml | 1 - config/locales/fr.yml | 1 - config/locales/gd.yml | 1 - config/locales/gl.yml | 3 +- config/locales/he.yml | 1 - config/locales/hu.yml | 2 +- config/locales/id.yml | 21 +- config/locales/is.yml | 2 +- config/locales/it.yml | 2 +- config/locales/ja.yml | 18 +- config/locales/kab.yml | 1 - config/locales/kmr.yml | 35 +- config/locales/ko.yml | 13 +- config/locales/ku.yml | 2477 ++++++++++------- config/locales/lv.yml | 2 +- config/locales/pl.yml | 1 - config/locales/pt-BR.yml | 5 + config/locales/pt-PT.yml | 3 +- config/locales/ru.yml | 12 +- config/locales/simple_form.ckb.yml | 206 ++ config/locales/simple_form.da.yml | 98 +- config/locales/simple_form.eu.yml | 9 + config/locales/simple_form.id.yml | 1 + config/locales/simple_form.ku.yml | 350 +-- config/locales/simple_form.th.yml | 2 +- config/locales/simple_form.vi.yml | 14 +- config/locales/simple_form.zh-CN.yml | 9 +- config/locales/sl.yml | 2 +- config/locales/sq.yml | 1 - config/locales/sv.yml | 2 +- config/locales/th.yml | 24 +- config/locales/tr.yml | 2 +- config/locales/uk.yml | 3 +- config/locales/vi.yml | 47 +- config/locales/zh-CN.yml | 171 +- config/locales/zh-TW.yml | 4 +- 76 files changed, 5360 insertions(+), 2258 deletions(-) create mode 100644 app/javascript/mastodon/locales/ckb.json create mode 100644 app/javascript/mastodon/locales/whitelist_ckb.json create mode 100644 config/locales/activerecord.ckb.yml create mode 100644 config/locales/ckb.yml create mode 100644 config/locales/devise.ckb.yml create mode 100644 config/locales/doorkeeper.ckb.yml create mode 100644 config/locales/simple_form.ckb.yml diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 0437d0b41..287fd0771 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -9,10 +9,10 @@ "account.browse_more_on_origin_server": "Navega més en el perfil original", "account.cancel_follow_request": "Anul·la la sol·licitud de seguiment", "account.direct": "Missatge directe @{name}", - "account.disable_notifications": "Deixa de notificar-me els tuts de @{name}", - "account.domain_blocked": "Domini ocult", + "account.disable_notifications": "Deixa de notificar-me les publicacions de @{name}", + "account.domain_blocked": "Domini bloquejat", "account.edit_profile": "Edita el perfil", - "account.enable_notifications": "Notifica’m els tuts de @{name}", + "account.enable_notifications": "Notifica’m les publicacions de @{name}", "account.endorse": "Recomana en el teu perfil", "account.follow": "Segueix", "account.followers": "Seguidors", @@ -27,20 +27,20 @@ "account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}", "account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.", "account.media": "Mèdia", - "account.mention": "Esmentar @{name}", + "account.mention": "Esmenta @{name}", "account.moved_to": "{name} s'ha mogut a:", "account.mute": "Silencia @{name}", - "account.mute_notifications": "Notificacions desactivades de @{name}", + "account.mute_notifications": "Notificacions silenciades de @{name}", "account.muted": "Silenciat", - "account.posts": "Tuts", - "account.posts_with_replies": "Tuts i respostes", + "account.posts": "Publicacions", + "account.posts_with_replies": "Publicacions i respostes", "account.report": "Informar sobre @{name}", "account.requested": "Esperant aprovació. Clic per a cancel·lar la petició de seguiment", "account.share": "Comparteix el perfil de @{name}", "account.show_reblogs": "Mostra els impulsos de @{name}", "account.statuses_counter": "{count, plural, one {{counter} Tut} other {{counter} Tuts}}", "account.unblock": "Desbloqueja @{name}", - "account.unblock_domain": "Mostra {domain}", + "account.unblock_domain": "Desbloqueja el domini {domain}", "account.unblock_short": "Desbloqueja", "account.unendorse": "No recomanar en el perfil", "account.unfollow": "Deixa de seguir", @@ -53,7 +53,7 @@ "admin.dashboard.retention.average": "Mitjana", "admin.dashboard.retention.cohort": "Registres mes", "admin.dashboard.retention.cohort_size": "Nous usuaris", - "alert.rate_limited.message": "Si us plau torna-ho a provar després de {retry_time, time, medium}.", + "alert.rate_limited.message": "Si us plau prova-ho després de {retry_time, time, medium}.", "alert.rate_limited.title": "Límit de freqüència", "alert.unexpected.message": "S'ha produït un error inesperat.", "alert.unexpected.title": "Vaja!", @@ -72,14 +72,14 @@ "column.community": "Línia de temps local", "column.direct": "Missatges directes", "column.directory": "Navega els perfils", - "column.domain_blocks": "Dominis ocults", + "column.domain_blocks": "Dominis bloquejats", "column.favourites": "Favorits", - "column.follow_requests": "Peticions per seguir-te", + "column.follow_requests": "Peticions per a seguir-te", "column.home": "Inici", "column.lists": "Llistes", "column.mutes": "Usuaris silenciats", "column.notifications": "Notificacions", - "column.pins": "Tuts fixats", + "column.pins": "Publicacions fixades", "column.public": "Línia de temps federada", "column_back_button.label": "Enrere", "column_header.hide_settings": "Amaga la configuració", @@ -92,10 +92,10 @@ "community.column_settings.local_only": "Només local", "community.column_settings.media_only": "Només multimèdia", "community.column_settings.remote_only": "Només remot", - "compose_form.direct_message_warning": "Aquest tut només serà enviat als usuaris esmentats.", + "compose_form.direct_message_warning": "Aquesta publicació només serà enviat als usuaris esmentats.", "compose_form.direct_message_warning_learn_more": "Aprèn més", - "compose_form.hashtag_warning": "Aquesta tut no es mostrarà en cap etiqueta ja que no està llistat. Només els tuts públics poden ser cercats per etiqueta.", - "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges a seguidors.", + "compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta ja que no està llistada. Només les publicacions públiques poden ser cercades per etiqueta.", + "compose_form.lock_disclaimer": "El teu compte no està bloquejat {locked}. Tothom pot seguir-te i veure els teus missatges només a seguidors.", "compose_form.lock_disclaimer.lock": "bloquejat", "compose_form.placeholder": "En què penses?", "compose_form.poll.add_option": "Afegir una opció", @@ -107,23 +107,23 @@ "compose_form.publish": "Publicar", "compose_form.publish_loud": "{publish}!", "compose_form.save_changes": "Desa els canvis", - "compose_form.sensitive.hide": "Marcar mèdia com a sensible", - "compose_form.sensitive.marked": "Mèdia marcat com a sensible", - "compose_form.sensitive.unmarked": "Mèdia no està marcat com a sensible", - "compose_form.spoiler.marked": "Text es ocult sota l'avís", - "compose_form.spoiler.unmarked": "Text no ocult", + "compose_form.sensitive.hide": "{count, plural, one {Marca mèdia com a sensible} other {Marca mèdia com a sensible}}", + "compose_form.sensitive.marked": "{count, plural, one {Mèdia està marcat com a sensible} other {Mèdia estan marcats com a sensible}}", + "compose_form.sensitive.unmarked": "{count, plural, one {Mèdia no està marcada com a sensible} other {Mèdia no estan marcats com a sensibles}}", + "compose_form.spoiler.marked": "Treu l'avís de contingut", + "compose_form.spoiler.unmarked": "Afegeix avís de contingut", "compose_form.spoiler_placeholder": "Escriu l'avís aquí", "confirmation_modal.cancel": "Cancel·la", - "confirmations.block.block_and_report": "Bloquejar i informar", + "confirmations.block.block_and_report": "Bloqueja i informa", "confirmations.block.confirm": "Bloqueja", "confirmations.block.message": "Estàs segur que vols bloquejar a {name}?", "confirmations.delete.confirm": "Suprimeix", - "confirmations.delete.message": "Estàs segur que vols suprimir aquest tut?", + "confirmations.delete.message": "Estàs segur que vols suprimir aquesta publicació?", "confirmations.delete_list.confirm": "Suprimeix", "confirmations.delete_list.message": "Estàs segur que vols suprimir permanentment aquesta llista?", "confirmations.discard_edit_media.confirm": "Descarta", "confirmations.discard_edit_media.message": "Tens canvis no desats de la descripciò de mèdia o previsualització, els vols descartar?", - "confirmations.domain_block.confirm": "Amaga tot el domini", + "confirmations.domain_block.confirm": "Bloqueja el domini sencer", "confirmations.domain_block.message": "Estàs segur, realment segur que vols bloquejar totalment {domain}? En la majoria dels casos bloquejar o silenciar uns pocs objectius és suficient i preferible. No veuràs contingut d’aquest domini en cap de les línies de temps ni en les notificacions. Els teus seguidors d’aquest domini seran eliminats.", "confirmations.logout.confirm": "Tancar sessió", "confirmations.logout.message": "Segur que vols tancar la sessió?", @@ -131,7 +131,7 @@ "confirmations.mute.explanation": "Això amagarà les seves publicacions i les que els mencionen però encara els permetrà veure les teves i seguir-te.", "confirmations.mute.message": "Estàs segur que vols silenciar {name}?", "confirmations.redraft.confirm": "Esborrar i refer", - "confirmations.redraft.message": "Estàs segur que vols esborrar aquest tut i tornar a redactar-lo? Perdràs tots els impulsos i favorits, i les respostes al tut original es quedaran orfes.", + "confirmations.redraft.message": "Estàs segur que vols esborrar aquesta publicació i tornar a redactar-la? Perdràs tots els impulsos i favorits, i les respostes a la publicació original es quedaran orfes.", "confirmations.reply.confirm": "Respon", "confirmations.reply.message": "Responen ara es sobreescriurà el missatge que estàs editant. Estàs segur que vols continuar?", "confirmations.unfollow.confirm": "Deixa de seguir", @@ -145,14 +145,14 @@ "directory.new_arrivals": "Arribades noves", "directory.recently_active": "Recentment actius", "embed.instructions": "Incrusta aquest tut al lloc web copiant el codi a continuació.", - "embed.preview": "Aquí tenim quin aspecte tindrà:", + "embed.preview": "Aquí està quin aspecte tindrà:", "emoji_button.activity": "Activitat", "emoji_button.custom": "Personalitzat", "emoji_button.flags": "Banderes", "emoji_button.food": "Menjar i beure", "emoji_button.label": "Insereix un emoji", "emoji_button.nature": "Natura", - "emoji_button.not_found": "Emojis no!! (╯°□°)╯︵ ┻━┻", + "emoji_button.not_found": "No s'han trobat emojis coincidents", "emoji_button.objects": "Objectes", "emoji_button.people": "Gent", "emoji_button.recent": "Usats freqüentment", @@ -161,26 +161,26 @@ "emoji_button.symbols": "Símbols", "emoji_button.travel": "Viatges i Llocs", "empty_column.account_suspended": "Compte suspès", - "empty_column.account_timeline": "No hi ha tuts aquí!", + "empty_column.account_timeline": "No hi ha publicacions aquí!", "empty_column.account_unavailable": "Perfil no disponible", "empty_column.blocks": "Encara no has bloquejat cap usuari.", - "empty_column.bookmarked_statuses": "Encara no tens marcat cap tut. Quan marquis un apareixerà aquí.", + "empty_column.bookmarked_statuses": "Encara no tens desada a marcadors cap publicació. Quan desis una apareixerà aquí.", "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per a fer rodar la pilota!", "empty_column.direct": "Encara no tens missatges directes. Quan enviïs o rebis un, es mostrarà aquí.", - "empty_column.domain_blocks": "Encara no hi ha dominis ocults.", + "empty_column.domain_blocks": "Encara no hi ha dominis bloquejats.", "empty_column.explore_statuses": "No hi ha res en tendència ara mateix. Verifica-ho més tard!", - "empty_column.favourited_statuses": "Encara no has marcat com a favorit cap tut. Quan en facis, apareixerà aquí.", - "empty_column.favourites": "Ningú no ha marcat aquest tut com a preferit encara. Quan algú ho faci, apareixerà aquí.", + "empty_column.favourited_statuses": "Encara no has afavorit cap publicació. Quan ho facis, apareixerà aquí.", + "empty_column.favourites": "Ningú no ha afavorit aquesta publicació encara. Quan algú ho faci, apareixerà aquí.", "empty_column.follow_recommendations": "Sembla que no es poden generar sugerencies per a tu. Pots provar d'emprar la cerca per a trobar gent que voldries conèixer o explorar les etiquetes en tendència.", - "empty_column.follow_requests": "Encara no tens cap petició de seguiment. Quan rebis una, apareixerà aquí.", + "empty_column.follow_requests": "Encara no tens cap petició de seguiment. Quan en rebis una, apareixerà aquí.", "empty_column.hashtag": "Encara no hi ha res en aquesta etiqueta.", - "empty_column.home": "Encara no segueixes ningú. Visita {public} o fes cerca per començar i conèixer altres usuaris.", + "empty_column.home": "La teva línia de temps és buida! Segueix més gent per a emplenar-la. {suggestions}", "empty_column.home.suggestions": "Mira algunes sugerencies", - "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin nous tuts, apareixeran aquí.", + "empty_column.list": "Encara no hi ha res en aquesta llista. Quan els membres d'aquesta llista publiquin noves publicacions, apareixeran aquí.", "empty_column.lists": "Encara no tens cap llista. Quan en facis una, apareixerà aquí.", "empty_column.mutes": "Encara no has silenciat cap usuari.", - "empty_column.notifications": "Encara no tens notificacions. Interactua amb altres per iniciar la conversa.", - "empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per omplir-ho", + "empty_column.notifications": "Encara no tens notificacions. Quan altre gent interactuï amb tu, les veuràs aquí.", + "empty_column.public": "No hi ha res aquí! Escriu públicament alguna cosa o manualment segueix usuaris d'altres servidors per a omplir-ho", "error.unexpected_crash.explanation": "A causa d'un bug en el nostre codi o un problema de compatibilitat del navegador, aquesta pàgina podria no ser mostrada correctament.", "error.unexpected_crash.explanation_addons": "Aquesta pàgina podria no mostrar-se correctament. Aquest error és possiblement causat per una extensió del navegador o per eienes automàtiques de traducció.", "error.unexpected_crash.next_steps": "Prova recarregant la pàgina. Si això no ajuda, encara podries ser capaç d'utilitzar Mastodon a través d'un navegador diferent o amb una aplicació nativa.", @@ -194,19 +194,19 @@ "explore.trending_statuses": "Publicacions", "explore.trending_tags": "Etiquetes", "follow_recommendations.done": "Fet", - "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure els seus tuts! Aquí hi ha algunes recomanacions.", - "follow_recommendations.lead": "Els tuts del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", - "follow_request.authorize": "Autoritzar", - "follow_request.reject": "Rebutjar", + "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure les seves publicacions! Aquí hi ha algunes recomanacions.", + "follow_recommendations.lead": "Les publicacions del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", + "follow_request.authorize": "Autoritza", + "follow_request.reject": "Rebutja", "follow_requests.unlocked_explanation": "Tot i que el teu compte no està bloquejat, el personal de {domain} ha pensat que és possible que vulguis revisar les sol·licituds de seguiment d’aquests comptes de forma manual.", - "generic.saved": "Guardat", + "generic.saved": "Desat", "getting_started.developers": "Desenvolupadors", "getting_started.directory": "Directori de perfils", "getting_started.documentation": "Documentació", - "getting_started.heading": "Començant", + "getting_started.heading": "Primeres passes", "getting_started.invite": "Convida gent", "getting_started.open_source_notice": "Mastodon és un programari de codi obert. Pots contribuir-hi o informar de problemes a GitHub a {github}.", - "getting_started.security": "Seguretat", + "getting_started.security": "Configuració del compte", "getting_started.terms": "Termes del servei", "hashtag.column_header.tag_mode.all": "i {additional}", "hashtag.column_header.tag_mode.any": "o {additional}", @@ -225,41 +225,41 @@ "intervals.full.days": "{number, plural, one {# dia} other {# dies}}", "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}", - "keyboard_shortcuts.back": "navegar enrere", - "keyboard_shortcuts.blocked": "per obrir la llista d'usuaris bloquejats", - "keyboard_shortcuts.boost": "impulsar", - "keyboard_shortcuts.column": "per a centrar un tut en una de les columnes", - "keyboard_shortcuts.compose": "per centrar l'àrea de composició de text", + "keyboard_shortcuts.back": "Navegar enrere", + "keyboard_shortcuts.blocked": "Obre la llista d'usuaris bloquejats", + "keyboard_shortcuts.boost": "Impulsa publicació", + "keyboard_shortcuts.column": "Centra columna", + "keyboard_shortcuts.compose": "Centra l'àrea de composició de text", "keyboard_shortcuts.description": "Descripció", - "keyboard_shortcuts.direct": "per obrir la columna de missatges directes", - "keyboard_shortcuts.down": "per baixar en la llista", - "keyboard_shortcuts.enter": "per a obrir el tut", - "keyboard_shortcuts.favourite": "afavorir", - "keyboard_shortcuts.favourites": "per obrir la llista de favorits", - "keyboard_shortcuts.federated": "per obrir la línia de temps federada", + "keyboard_shortcuts.direct": "Obre la columna de missatges directes", + "keyboard_shortcuts.down": "Baixar en la llista", + "keyboard_shortcuts.enter": "Obre publicació", + "keyboard_shortcuts.favourite": "Afavorir publicació", + "keyboard_shortcuts.favourites": "Obre la llista de favorits", + "keyboard_shortcuts.federated": "Obre la línia de temps federada", "keyboard_shortcuts.heading": "Dreceres de teclat", - "keyboard_shortcuts.home": "per a obrir la línia de temps Inici", + "keyboard_shortcuts.home": "Obre la línia de temps Inici", "keyboard_shortcuts.hotkey": "Tecla d'accés directe", - "keyboard_shortcuts.legend": "per a mostrar aquesta llegenda", - "keyboard_shortcuts.local": "per a obrir la línia de temps local", - "keyboard_shortcuts.mention": "per a esmentar l'autor", - "keyboard_shortcuts.muted": "per a obrir la llista d'usuaris silenciats", - "keyboard_shortcuts.my_profile": "per a obrir el teu perfil", - "keyboard_shortcuts.notifications": "per a obrir la columna de notificacions", - "keyboard_shortcuts.open_media": "obrir mèdia", - "keyboard_shortcuts.pinned": "per a obrir la llista de tuts fixats", - "keyboard_shortcuts.profile": "per a obrir el perfil de l'autor", - "keyboard_shortcuts.reply": "respondre", - "keyboard_shortcuts.requests": "per a obrir la llista de sol·licituds de seguiment", - "keyboard_shortcuts.search": "per a centrar la cerca", - "keyboard_shortcuts.spoilers": "mostrar/amagar el camp CW", - "keyboard_shortcuts.start": "per a obrir la columna \"Començar\"", - "keyboard_shortcuts.toggle_hidden": "Mostrar/ocultar el text marcat com a sensible", - "keyboard_shortcuts.toggle_sensitivity": "per a mostrar o amagar contingut multimèdia", + "keyboard_shortcuts.legend": "Mostra aquesta llegenda", + "keyboard_shortcuts.local": "Obre la línia de temps local", + "keyboard_shortcuts.mention": "Esmenta l'autor", + "keyboard_shortcuts.muted": "Obre la llista d'usuaris silenciats", + "keyboard_shortcuts.my_profile": "Obre el teu perfil", + "keyboard_shortcuts.notifications": "Obre la columna de notificacions", + "keyboard_shortcuts.open_media": "Obre mèdia", + "keyboard_shortcuts.pinned": "Obre la llista de publicacions fixades", + "keyboard_shortcuts.profile": "Obre el perfil de l'autor", + "keyboard_shortcuts.reply": "Respon publicació", + "keyboard_shortcuts.requests": "Obre la llista de sol·licituds de seguiment", + "keyboard_shortcuts.search": "Centra la barra de cerca", + "keyboard_shortcuts.spoilers": "Mostra/amaga el camp CW", + "keyboard_shortcuts.start": "Obre la columna \"Primeres passes\"", + "keyboard_shortcuts.toggle_hidden": "Mostra/oculta el text marcat com a sensible", + "keyboard_shortcuts.toggle_sensitivity": "Mostra/amaga contingut multimèdia", "keyboard_shortcuts.toot": "per a començar un tut nou de trinca", - "keyboard_shortcuts.unfocus": "descentrar l'àrea de composició de text/cerca", - "keyboard_shortcuts.up": "moure amunt en la llista", - "lightbox.close": "Tancar", + "keyboard_shortcuts.unfocus": "Descentra l'àrea de composició de text/cerca", + "keyboard_shortcuts.up": "Moure amunt en la llista", + "lightbox.close": "Tanca", "lightbox.compress": "Quadre de visualització d’imatge comprimida", "lightbox.expand": "Amplia el quadre de visualització de l’imatge", "lightbox.next": "Següent", @@ -270,7 +270,7 @@ "lists.edit": "Editar llista", "lists.edit.submit": "Canvi de títol", "lists.new.create": "Afegir llista", - "lists.new.title_placeholder": "Nova llista", + "lists.new.title_placeholder": "Nou títol de llista", "lists.replies_policy.followed": "Qualsevol usuari seguit", "lists.replies_policy.list": "Membres de la llista", "lists.replies_policy.none": "Ningú", @@ -279,23 +279,23 @@ "lists.subheading": "Les teves llistes", "load_pending": "{count, plural, one {# element nou} other {# elements nous}}", "loading_indicator.label": "Carregant...", - "media_gallery.toggle_visible": "Alternar visibilitat", + "media_gallery.toggle_visible": "{number, plural, one {Amaga imatge} other {Amaga imatges}}", "missing_indicator.label": "No trobat", "missing_indicator.sublabel": "Aquest recurs no pot ser trobat", "mute_modal.duration": "Durada", "mute_modal.hide_notifications": "Amagar notificacions d'aquest usuari?", "mute_modal.indefinite": "Indefinit", - "navigation_bar.apps": "Apps mòbils", + "navigation_bar.apps": "Aplicacions mòbils", "navigation_bar.blocks": "Usuaris bloquejats", "navigation_bar.bookmarks": "Marcadors", "navigation_bar.community_timeline": "Línia de temps Local", - "navigation_bar.compose": "Redacta un nou tut", + "navigation_bar.compose": "Redacta una nova publicació", "navigation_bar.direct": "Missatges directes", "navigation_bar.discover": "Descobrir", - "navigation_bar.domain_blocks": "Dominis ocults", + "navigation_bar.domain_blocks": "Dominis bloquejats", "navigation_bar.edit_profile": "Editar perfil", "navigation_bar.explore": "Explora", - "navigation_bar.favourites": "Preferits", + "navigation_bar.favourites": "Favorits", "navigation_bar.filters": "Paraules silenciades", "navigation_bar.follow_requests": "Sol·licituds de seguiment", "navigation_bar.follows_and_followers": "Seguits i seguidors", @@ -305,12 +305,12 @@ "navigation_bar.logout": "Tancar sessió", "navigation_bar.mutes": "Usuaris silenciats", "navigation_bar.personal": "Personal", - "navigation_bar.pins": "Tuts fixats", + "navigation_bar.pins": "Publicacions fixades", "navigation_bar.preferences": "Preferències", "navigation_bar.public_timeline": "Línia de temps federada", "navigation_bar.security": "Seguretat", "notification.admin.sign_up": "{name} s'ha registrat", - "notification.favourite": "{name} ha afavorit el teu estat", + "notification.favourite": "{name} ha afavorit la teva publicació", "notification.follow": "{name} et segueix", "notification.follow_request": "{name} ha sol·licitat seguir-te", "notification.mention": "{name} t'ha esmentat", @@ -335,7 +335,7 @@ "notifications.column_settings.reblog": "Impulsos:", "notifications.column_settings.show": "Mostra en la columna", "notifications.column_settings.sound": "Reproduir so", - "notifications.column_settings.status": "Nous tuts:", + "notifications.column_settings.status": "Noves publicacions:", "notifications.column_settings.unread_notifications.category": "Notificacions no llegides", "notifications.column_settings.unread_notifications.highlight": "Destaca notificacions no llegides", "notifications.column_settings.update": "Edicions:", @@ -349,7 +349,7 @@ "notifications.grant_permission": "Concedir permís.", "notifications.group": "{count} notificacions", "notifications.mark_as_read": "Marca cada notificació com a llegida", - "notifications.permission_denied": "No s’ha pogut activar les notificacions d’escriptori perquè s’ha denegat el permís.", + "notifications.permission_denied": "Les notificacions d’escriptori no estan disponibles perquè prèviament s’ha denegat el permís al navegador", "notifications.permission_denied_alert": "No es poden activar les notificacions del escriptori perquè el permís del navegador ha estat denegat abans", "notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.", "notifications_permission_banner.enable": "Activar les notificacions d’escriptori", @@ -365,14 +365,14 @@ "poll.votes": "{votes, plural, one {# vot} other {# vots}}", "poll_button.add_poll": "Afegir una enquesta", "poll_button.remove_poll": "Elimina l'enquesta", - "privacy.change": "Ajustar l'estat de privacitat", - "privacy.direct.long": "Publicar només per als usuaris esmentats", + "privacy.change": "Ajustar la privacitat de la publicació", + "privacy.direct.long": "Visible només per als usuaris esmentats", "privacy.direct.short": "Directe", - "privacy.private.long": "Publicar només a seguidors", + "privacy.private.long": "Visible només pels seguidors", "privacy.private.short": "Només seguidors", - "privacy.public.long": "Publicar en línies de temps públiques", + "privacy.public.long": "Visible per a tothom, mostrat en línies de temps públiques", "privacy.public.short": "Públic", - "privacy.unlisted.long": "No publicar en línies de temps públiques", + "privacy.unlisted.long": "Visible per a tothom però no en les línies de temps públiques", "privacy.unlisted.short": "No llistat", "refresh": "Actualitza", "regeneration_indicator.label": "Carregant…", @@ -390,7 +390,7 @@ "relative_time.today": "avui", "reply_indicator.cancel": "Cancel·lar", "report.block": "Bloqueja", - "report.block_explanation": "No veuràs les seves publicacions. Ell no podran veure les teves publicacions ni seguir-te. Ell podran dir que estan bloquejats.", + "report.block_explanation": "No veuràs les seves publicacions. Ell no podran veure les teves publicacions ni seguir-te. Ells podran dir que estan bloquejats.", "report.categories.other": "Altres", "report.categories.spam": "Contingut brossa", "report.categories.violation": "El contingut viola una o més regles del servidor", @@ -428,20 +428,20 @@ "report.unfollow_explanation": "Estàs seguint aquest compte. Per a no veure més les seves publicacions en la teva línia de temps Inici, deixa de seguir-lo.", "search.placeholder": "Cercar", "search_popout.search_format": "Format de cerca avançada", - "search_popout.tips.full_text": "Text simple recupera publicacions que has escrit, les marcades com a preferides, les impulsades o en les que has estat esmentat, així com usuaris, noms d'usuari i etiquetes.", + "search_popout.tips.full_text": "Text simple recupera publicacions que has escrit, les afavorides, les impulsades o en les que has estat esmentat, així com usuaris, noms d'usuari i etiquetes.", "search_popout.tips.hashtag": "etiqueta", - "search_popout.tips.status": "tut", + "search_popout.tips.status": "publicació", "search_popout.tips.text": "El text simple retorna coincidències amb els noms de visualització, els noms d'usuari i les etiquetes", "search_popout.tips.user": "usuari", "search_results.accounts": "Gent", "search_results.all": "Tots", "search_results.hashtags": "Etiquetes", "search_results.nothing_found": "No s'ha pogut trobar res per a aquests termes de cerca", - "search_results.statuses": "Tuts", - "search_results.statuses_fts_disabled": "La cerca de tuts pel seu contingut no està habilitada en aquest servidor Mastodon.", + "search_results.statuses": "Publicacions", + "search_results.statuses_fts_disabled": "La cerca de publicacions pel seu contingut no està habilitada en aquest servidor Mastodon.", "search_results.total": "{count, number} {count, plural, one {resultat} other {resultats}}", "status.admin_account": "Obre l'interfície de moderació per a @{name}", - "status.admin_status": "Obre aquest tut a la interfície de moderació", + "status.admin_status": "Obre aquesta publicació a la interfície de moderació", "status.block": "Bloqueja @{name}", "status.bookmark": "Marcador", "status.cancel_reblog_private": "Desfer l'impuls", @@ -453,7 +453,7 @@ "status.edit": "Edita", "status.edited": "Editat {date}", "status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}", - "status.embed": "Incrustar", + "status.embed": "Incrustat", "status.favourite": "Favorit", "status.filtered": "Filtrat", "status.history.created": "{name} ha creat {date}", @@ -466,12 +466,12 @@ "status.mute_conversation": "Silenciar conversació", "status.open": "Ampliar aquest estat", "status.pin": "Fixat en el perfil", - "status.pinned": "Tut fixat", + "status.pinned": "Publicació fixada", "status.read_more": "Llegir més", "status.reblog": "Impuls", "status.reblog_private": "Impulsar a l'audiència original", "status.reblogged_by": "{name} ha impulsat", - "status.reblogs.empty": "Encara ningú no ha impulsat aquest tut. Quan algú ho faci, apareixeran aquí.", + "status.reblogs.empty": "Encara ningú no ha impulsat aquesta publicació. Quan algú ho faci, apareixeran aquí.", "status.redraft": "Esborrar i reescriure", "status.remove_bookmark": "Suprimeix el marcador", "status.reply": "Respondre", diff --git a/app/javascript/mastodon/locales/ckb.json b/app/javascript/mastodon/locales/ckb.json new file mode 100644 index 000000000..7209633ad --- /dev/null +++ b/app/javascript/mastodon/locales/ckb.json @@ -0,0 +1,543 @@ +{ + "account.account_note_header": "تێبینی ", + "account.add_or_remove_from_list": "زیادکردن یان سڕینەوە لە پێرستەکان", + "account.badges.bot": "بوت", + "account.badges.group": "گرووپ", + "account.block": "بلۆکی @{name}", + "account.block_domain": "بلۆکی هەموو شتێک لە {domain}", + "account.blocked": "بلۆککرا", + "account.browse_more_on_origin_server": "گەڕانی فرەتر لە سەر پرۆفایلی سەرەکی", + "account.cancel_follow_request": "بەتاڵکردنی داوای شوێنکەوتن", + "account.direct": "پەیامی تایبەت بە @{name}", + "account.disable_notifications": "ئاگانامە مەنێرە بۆم کاتێک @{name} پۆست دەکرێت", + "account.domain_blocked": "دۆمەین قەپاتکرا", + "account.edit_profile": "دەستکاری پرۆفایل", + "account.enable_notifications": "ئاگادارم بکەوە کاتێک @{name} بابەتەکان", + "account.endorse": "ناساندن لە پرۆفایل", + "account.follow": "شوێنکەوتن", + "account.followers": "شوێنکەوتووان", + "account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە", + "account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}", + "account.following": "Following", + "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", + "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.", + "account.follows_you": "شوێنکەوتووەکانت", + "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}", + "account.joined": "Joined {date}", + "account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە", + "account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.", + "account.media": "میدیا", + "account.mention": "ئاماژە @{name}", + "account.moved_to": "{name} گواسترایەوە بۆ:", + "account.mute": "بێدەنگکردن @{name}", + "account.mute_notifications": "هۆشیارکەرەوەکان لاببە لە @{name}", + "account.muted": "بێ دەنگ", + "account.posts": "توتس", + "account.posts_with_replies": "توتس و وەڵامەکان", + "account.report": "گوزارشت @{name}", + "account.requested": "چاوەڕێی ڕەزامەندین. کرتە بکە بۆ هەڵوەشاندنەوەی داواکاری شوێنکەوتن", + "account.share": "پرۆفایلی @{name} هاوبەش بکە", + "account.show_reblogs": "پیشاندانی بەرزکردنەوەکان لە @{name}", + "account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", + "account.unblock": "@{name} لاببە", + "account.unblock_domain": "کردنەوەی دۆمەینی {domain}", + "account.unblock_short": "Unblock", + "account.unendorse": "تایبەتمەندی لەسەر پرۆفایلەکە نیە", + "account.unfollow": "بەدوادانەچو", + "account.unmute": "بێدەنگکردنی @{name}", + "account.unmute_notifications": "بێدەنگکردنی هۆشیارییەکان لە @{name}", + "account.unmute_short": "Unmute", + "account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی", + "admin.dashboard.daily_retention": "User retention rate by day after sign-up", + "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", + "admin.dashboard.retention.average": "Average", + "admin.dashboard.retention.cohort": "Sign-up month", + "admin.dashboard.retention.cohort_size": "New users", + "alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.", + "alert.rate_limited.title": "ڕێژەی سنووردار", + "alert.unexpected.message": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.", + "alert.unexpected.title": "تەححح!", + "announcement.announcement": "بانگەواز", + "attachments_list.unprocessed": "(unprocessed)", + "autosuggest_hashtag.per_week": "{count} هەرهەفتە", + "boost_modal.combo": "دەتوانیت دەست بنێی بە سەر {combo} بۆ بازدان لە جاری داهاتوو", + "bundle_column_error.body": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.", + "bundle_column_error.retry": "دووبارە هەوڵبدە", + "bundle_column_error.title": "هەڵيی تۆڕ", + "bundle_modal_error.close": "داخستن", + "bundle_modal_error.message": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.", + "bundle_modal_error.retry": "دووبارە تاقی بکەوە", + "column.blocks": "بەکارهێنەرە بلۆککراوەکان", + "column.bookmarks": "نیشانەکان", + "column.community": "هێڵی کاتی ناوخۆیی", + "column.direct": "نامە ڕاستەوخۆکان", + "column.directory": "گەڕان لە پرۆفایلەکان", + "column.domain_blocks": "دۆمەینە داخراوەکان", + "column.favourites": "دڵخوازترینەکان", + "column.follow_requests": "بەدواداچوی داواکاریەکان بکە", + "column.home": "سەرەتا", + "column.lists": "پێرست", + "column.mutes": "بێدەنگکردنی بەکارهێنەران", + "column.notifications": "ئاگادارییەکان", + "column.pins": "تووتسی چەسپاو", + "column.public": "نووسراوەکانی هەمووشوێنێک", + "column_back_button.label": "دواوە", + "column_header.hide_settings": "شاردنەوەی ڕێکخستنەکان", + "column_header.moveLeft_settings": "ستوون بگوێزەرەوە بۆ لای چەپ", + "column_header.moveRight_settings": "جوولاندنی ئەستوون بۆ لای ڕاست", + "column_header.pin": "سنجاق", + "column_header.show_settings": "نیشاندانی رێکخستنەکان", + "column_header.unpin": "سنجاق نەکردن", + "column_subheading.settings": "رێکخستنەکان", + "community.column_settings.local_only": "تەنها خۆماڵی", + "community.column_settings.media_only": "تەنها میدیا", + "community.column_settings.remote_only": "تەنها بۆ دوور", + "compose_form.direct_message_warning": "ئەم توتە تەنیا بۆ بەکارهێنەرانی ناوبراو دەنێردرێت.", + "compose_form.direct_message_warning_learn_more": "زیاتر فێربه", + "compose_form.hashtag_warning": "ئەم توتە لە ژێر هیچ هاشتاگییەک دا ناکرێت وەک ئەوەی لە لیستەکەدا نەریزراوە. تەنها توتی گشتی دەتوانرێت بە هاشتاگی بگەڕێت.", + "compose_form.lock_disclaimer": "هەژمێرەکەی لە حاڵەتی {locked}. هەر کەسێک دەتوانێت شوێنت بکەوێت بۆ پیشاندانی بابەتەکانی تەنها دوایخۆی.", + "compose_form.lock_disclaimer.lock": "قفڵ دراوە", + "compose_form.placeholder": "چی لە مێشکتدایە?", + "compose_form.poll.add_option": "زیادکردنی هەڵبژاردەیەک", + "compose_form.poll.duration": "ماوەی ڕاپرسی", + "compose_form.poll.option_placeholder": "هەڵبژاردن {number}", + "compose_form.poll.remove_option": "لابردنی ئەم هەڵبژاردەیە", + "compose_form.poll.switch_to_multiple": "ڕاپرسی بگۆڕە بۆ ڕێگەدان بە چەند هەڵبژاردنێک", + "compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک", + "compose_form.publish": "توت", + "compose_form.publish_loud": "{publish}!", + "compose_form.save_changes": "Save changes", + "compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار", + "compose_form.sensitive.marked": "وادەی کۆتایی", + "compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە", + "compose_form.spoiler.marked": "دەق لە پشت ئاگاداریدا شاراوەتەوە", + "compose_form.spoiler.unmarked": "دەق شاراوە نییە", + "compose_form.spoiler_placeholder": "ئاگاداریەکەت لێرە بنووسە", + "confirmation_modal.cancel": "هەڵوەشاندنەوه", + "confirmations.block.block_and_report": "بلۆک & گوزارشت", + "confirmations.block.confirm": "بلۆک", + "confirmations.block.message": "ئایا دڵنیایت لەوەی دەتەوێت {name} بلۆک بکەیت?", + "confirmations.delete.confirm": "سڕینەوە", + "confirmations.delete.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە?", + "confirmations.delete_list.confirm": "سڕینەوە", + "confirmations.delete_list.message": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی ئەم لیستە بسڕیتەوە?", + "confirmations.discard_edit_media.confirm": "Discard", + "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", + "confirmations.domain_block.confirm": "بلۆککردنی هەموو دۆمەینەکە", + "confirmations.domain_block.message": "ئایا بەڕاستی، بەڕاستی تۆ دەتەوێت هەموو {domain} بلۆک بکەیت؟ لە زۆربەی حاڵەتەکاندا چەند بلۆکێکی ئامانجدار یان بێدەنگەکان پێویست و پەسەندن. تۆ ناوەڕۆک ێک نابینیت لە دۆمەینەکە لە هیچ هێڵی کاتی گشتی یان ئاگانامەکانت. شوێنکەوتوانی تۆ لەو دۆمەینەوە لادەبرێن.", + "confirmations.logout.confirm": "چوونە دەرەوە", + "confirmations.logout.message": "ئایا دڵنیایت لەوەی دەتەوێت بچیتە دەرەوە?", + "confirmations.mute.confirm": "بێدەنگ", + "confirmations.mute.explanation": "ئەمەش دەبێتە هۆی شاردنەوەی پۆستەکان یان ئەو بابەتانەی کە ئاماژەیان پێ دەکات ، بەڵام هێشتا ڕێگەیان پێ دەدات کە پۆستەکانتان ببینن و شوێنتان بکەون.", + "confirmations.mute.message": "ئایا دڵنیایت لەوەی دەتەوێت بیلێیت {name}?", + "confirmations.redraft.confirm": "سڕینەوە & دووبارە ڕەشکردنەوە", + "confirmations.redraft.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە و دووبارە دایبنووسیتەوە؟ دڵخوازەکان و بەرزکردنەوەکان وون دەبن، و وەڵامەکان بۆ پۆستە ڕەسەنەکە هەتیو دەبن.", + "confirmations.reply.confirm": "وەڵام", + "confirmations.reply.message": "وەڵامدانەوە ئێستا ئەو نامەیە ی کە تۆ ئێستا دایڕشتووە، دەنووسێتەوە. ئایا دڵنیایت کە دەتەوێت بەردەوام بیت?", + "confirmations.unfollow.confirm": "بەدوادانەچو", + "confirmations.unfollow.message": "ئایا دڵنیایت لەوەی دەتەوێت پەیڕەوی {name}?", + "conversation.delete": "سڕینەوەی گفتوگۆ", + "conversation.mark_as_read": "نیشانەکردن وەک خوێندراوە", + "conversation.open": "نیشاندان گفتوگۆ", + "conversation.with": "لەگەڵ{names}", + "directory.federated": "لە ڕاژەکانی ناسراو", + "directory.local": "تەنها لە {domain}", + "directory.new_arrivals": "تازە گەیشتنەکان", + "directory.recently_active": "بەم دواییانە چالاکە", + "embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.", + "embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:", + "emoji_button.activity": "چالاکی", + "emoji_button.custom": "ئاسایی", + "emoji_button.flags": "ئاڵاکان", + "emoji_button.food": "خواردن& خواردنەوە", + "emoji_button.label": "ئیمۆجی بکەنێو", + "emoji_button.nature": "سروشت", + "emoji_button.not_found": "بێ ئیمۆجی! (╯°□°)╯( ┻━┻", + "emoji_button.objects": "ئامانجەکان", + "emoji_button.people": "خەڵک", + "emoji_button.recent": "زۆرجار بەکارهێنراوە", + "emoji_button.search": "گەڕان...", + "emoji_button.search_results": "ئەنجامەکانی گەڕان", + "emoji_button.symbols": "هێماکان", + "emoji_button.travel": "گەشت & شوێنەکان", + "empty_column.account_suspended": "Account suspended", + "empty_column.account_timeline": "لێرە هیچ توتەک نییە!", + "empty_column.account_unavailable": "پرۆفایل بەردەست نیە", + "empty_column.blocks": "تۆ هێشتا هیچ بەکارهێنەرێکت بلۆک نەکردووە.", + "empty_column.bookmarked_statuses": "تۆ هێشتا هیچ توتێکی دیاریکراوت نیە کاتێک نیشانەیەک نیشان دەکەیت، لێرە دەرئەکەویت.", + "empty_column.community": "هێڵی کاتی ناوخۆیی بەتاڵە. شتێک بە ئاشکرا بنووسە بۆ ئەوەی تۆپەکە بسووڕێت!", + "empty_column.direct": "تۆ هیچ نامەی ڕاستەوخۆت نیە تا ئێستا. کاتێک دانەیەک دەنێریت یان وەرت دەگرێت، لێرە پیشان دەدات.", + "empty_column.domain_blocks": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.", + "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.favourited_statuses": "تۆ هێشتا هیچ توتێکی دڵخوازت نییە، کاتێک حەزت لە دانەیەکی باشە، لێرە دەرئەکەویت.", + "empty_column.favourites": "کەس ئەم توتەی دڵخواز نەکردووە،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.", + "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": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.", + "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.", + "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.", + "empty_column.home.suggestions": "See some suggestions", + "empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.", + "empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.", + "empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.", + "empty_column.notifications": "تۆ هێشتا هیچ ئاگانامێکت نیە. چالاکی لەگەڵ کەسانی دیکە بکە بۆ دەستپێکردنی گفتوگۆکە.", + "empty_column.public": "لێرە هیچ نییە! شتێک بە ئاشکرا بنووسە(بەگشتی)، یان بە دەستی شوێن بەکارهێنەران بکەوە لە ڕاژەکانی ترەوە بۆ پڕکردنەوەی", + "error.unexpected_crash.explanation": "بەهۆی بوونی کێشە لە کۆدەکەمان یان کێشەی گونجانی وێبگەڕەکە، ئەم لاپەڕەیە بە دروستی پیشان نادرێت.", + "error.unexpected_crash.explanation_addons": "ئەم لاپەڕەیە ناتوانرێت بە دروستی پیشان بدرێت. ئەم هەڵەیە لەوانەیە بەهۆی ئامێری وەرگێڕانی خۆکار یان زیادکراوی وێبگەڕەوە بێت.", + "error.unexpected_crash.next_steps": "هەوڵدە لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکەیان کاربەرنامەی ڕەسەن.", + "error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.", + "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد", + "errors.unexpected_crash.report_issue": "کێشەی گوزارشت", + "explore.search_results": "Search results", + "explore.suggested_follows": "For you", + "explore.title": "Explore", + "explore.trending_links": "News", + "explore.trending_statuses": "Posts", + "explore.trending_tags": "Hashtags", + "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_request.authorize": "ده‌سه‌ڵاتپێدراو", + "follow_request.reject": "ڕەتکردنەوە", + "follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.", + "generic.saved": "پاشکەوتکرا", + "getting_started.developers": "پەرەپێدەران", + "getting_started.directory": "پەڕەی پرۆفایل", + "getting_started.documentation": "بەڵگەنامە", + "getting_started.heading": "دەست پێکردن", + "getting_started.invite": "بانگهێشتکردنی خەڵک", + "getting_started.open_source_notice": "ماستۆدۆن نەرمەکالایەکی سەرچاوەی کراوەیە. دەتوانیت بەشداری بکەیت یان گوزارشت بکەیت لەسەر کێشەکانی لە پەڕەی گیتهاب {github}.", + "getting_started.security": "ڕێکخستنەکانی هەژمارە", + "getting_started.terms": "مەرجەکانی خزمەتگوزاری", + "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": "هیچ پێشنیارێک نەدۆزرایەوە", + "hashtag.column_settings.select.placeholder": "هاشتاگی تێبنووسە…", + "hashtag.column_settings.tag_mode.all": "هەموو ئەمانە", + "hashtag.column_settings.tag_mode.any": "هەر کام لەمانە", + "hashtag.column_settings.tag_mode.none": "هیچ کام لەمانە", + "hashtag.column_settings.tag_toggle": "تاگی زیادە ی ئەم ستوونە لەخۆ بنووسە", + "home.column_settings.basic": "بنەڕەتی", + "home.column_settings.show_reblogs": "پیشاندانی بەهێزکردن", + "home.column_settings.show_replies": "وەڵامدانەوەکان پیشان بدە", + "home.hide_announcements": "شاردنەوەی راگەیەنراوەکان", + "home.show_announcements": "پیشاندانی راگەیەنراوەکان", + "intervals.full.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژەک}}", + "intervals.full.hours": "{number, plural, one {# کات} other {# کات}}", + "intervals.full.minutes": "{number, plural, one {# خولەک} other {# خولەک}}", + "keyboard_shortcuts.back": "بۆ گەڕانەوە", + "keyboard_shortcuts.blocked": "بۆ کردنەوەی لیستی بەکارهێنەرە بلۆککراوەکان", + "keyboard_shortcuts.boost": "بۆ بەهێزکردن", + "keyboard_shortcuts.column": "بۆ ئەوەی تیشک بخاتە سەر توتێک لە یەکێک لە ستوونەکان", + "keyboard_shortcuts.compose": "بۆ سەرنجدان بە نووسینی ناوچەی دەق", + "keyboard_shortcuts.description": "وه‌سف", + "keyboard_shortcuts.direct": "بۆ کردنەوەی ستوونی نامە ڕاستەوخۆکان", + "keyboard_shortcuts.down": "بۆ چوونە خوارەوە لە لیستەکەدا", + "keyboard_shortcuts.enter": "بۆ کردنەوەی توت", + "keyboard_shortcuts.favourite": "بۆ دڵخواز", + "keyboard_shortcuts.favourites": "بۆ کردنەوەی لیستی دڵخوازەکان", + "keyboard_shortcuts.federated": "بۆ کردنەوەی نووسراوەکانی هەمووشوێن", + "keyboard_shortcuts.heading": "قه‌دبڕەکانی تەختەکلیل", + "keyboard_shortcuts.home": "بۆ کردنەوەی هێڵی کاتی ماڵەوە", + "keyboard_shortcuts.hotkey": "هۆتکەی", + "keyboard_shortcuts.legend": "بۆ نیشاندانی ئەم نیشانە", + "keyboard_shortcuts.local": "بۆ کردنەوەی نووسراوەکانی خۆماڵی", + "keyboard_shortcuts.mention": "نۆ ناوبردن لە نووسەر", + "keyboard_shortcuts.muted": "بۆ کردنەوەی پێرستی بەکارهێنەرانی بێدەنگ", + "keyboard_shortcuts.my_profile": "بۆ کردنەوەی پرۆفایڵ", + "keyboard_shortcuts.notifications": "بۆ کردنەوەی ستوونی ئاگانامەکان", + "keyboard_shortcuts.open_media": "بۆ کردنەوەی میدیا", + "keyboard_shortcuts.pinned": "بۆ کردنەوەی لیستی توتەکانی چەسپێنراو", + "keyboard_shortcuts.profile": "بۆ کردنەوەی پرۆفایڵی نووسەر", + "keyboard_shortcuts.reply": "بۆ وەڵامدانەوە", + "keyboard_shortcuts.requests": "بۆ کردنەوەی لیستی داواکاریەکانی بەدوادا", + "keyboard_shortcuts.search": "بۆ جەختکردن لەسەر گەڕان", + "keyboard_shortcuts.spoilers": "بۆ پیشاندان/شاردنەوەی خانەی CW", + "keyboard_shortcuts.start": "بۆ کردنەوەی ستوونی \"دەست پێبکە\"", + "keyboard_shortcuts.toggle_hidden": "بۆ پیشاندان/شاردنەوەی دەق لە پشت CW", + "keyboard_shortcuts.toggle_sensitivity": "بۆ پیشاندان/شاردنەوەی میدیا", + "keyboard_shortcuts.toot": "بۆ دەست کردن بە براندێکی تازە", + "keyboard_shortcuts.unfocus": "بۆ دروستکردنی ناوچەی دەق/گەڕان", + "keyboard_shortcuts.up": "بۆ ئەوەی لە لیستەکەدا بڕۆیت", + "lightbox.close": "دابخە", + "lightbox.compress": "سندوقی نیشاندانی وێنە بپەستێنە", + "lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە", + "lightbox.next": "داهاتوو", + "lightbox.previous": "پێشوو", + "lists.account.add": "زیادکردن بۆ لیست", + "lists.account.remove": "لابردن لە لیست", + "lists.delete": "سڕینەوەی لیست", + "lists.edit": "دەستکاری لیست", + "lists.edit.submit": "گۆڕینی ناونیشان", + "lists.new.create": "زیادکردنی لیست", + "lists.new.title_placeholder": "ناونیشانی لیستی نوێ", + "lists.replies_policy.followed": "Any followed user", + "lists.replies_policy.list": "Members of the list", + "lists.replies_policy.none": "No one", + "lists.replies_policy.title": "پیشاندانی وەڵامەکان بۆ:", + "lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت", + "lists.subheading": "لیستەکانت", + "load_pending": "{count, plural, one {# new item} other {# new items}}", + "loading_indicator.label": "بارکردن...", + "media_gallery.toggle_visible": "شاردنەوەی {number, plural, one {image} other {images}}", + "missing_indicator.label": "نەدۆزرایەوە", + "missing_indicator.sublabel": "ئەو سەرچاوەیە نادۆزرێتەوە", + "mute_modal.duration": "ماوە", + "mute_modal.hide_notifications": "شاردنەوەی ئاگانامەکان لەم بەکارهێنەرە؟ ", + "mute_modal.indefinite": "نادیار", + "navigation_bar.apps": "بەرنامەی مۆبایل", + "navigation_bar.blocks": "بەکارهێنەرە بلۆککراوەکان", + "navigation_bar.bookmarks": "نیشانکراوەکان", + "navigation_bar.community_timeline": "دەمنامەی ناوخۆیی", + "navigation_bar.compose": "نووسینی توتی نوێ", + "navigation_bar.direct": "نامە ڕاستەوخۆکان", + "navigation_bar.discover": "دۆزینەوە", + "navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان", + "navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە", + "navigation_bar.explore": "Explore", + "navigation_bar.favourites": "دڵخوازەکان", + "navigation_bar.filters": "وشە کپەکان", + "navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە", + "navigation_bar.follows_and_followers": "شوێنکەوتوو و شوێنکەوتوان", + "navigation_bar.info": "دەربارەی ئەم ڕاژە", + "navigation_bar.keyboard_shortcuts": "هۆتکەی", + "navigation_bar.lists": "لیستەکان", + "navigation_bar.logout": "دەرچوون", + "navigation_bar.mutes": "کپکردنی بەکارهێنەران", + "navigation_bar.personal": "کەسی", + "navigation_bar.pins": "توتی چەسپاو", + "navigation_bar.preferences": "پەسەندەکان", + "navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک", + "navigation_bar.security": "ئاسایش", + "notification.admin.sign_up": "{name} signed up", + "notification.favourite": "{name} نووسراوەکەتی پەسەند کرد", + "notification.follow": "{name} دوای تۆ کەوت", + "notification.follow_request": "{name} داوای کردووە کە شوێنت بکەوێت", + "notification.mention": "{name} باسی ئێوەی کرد", + "notification.own_poll": "ڕاپرسیەکەت کۆتایی هات", + "notification.poll": "ڕاپرسییەک کە دەنگی پێداویت کۆتایی هات", + "notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند", + "notification.status": "{name} تازە بڵاوکرایەوە", + "notification.update": "{name} edited a post", + "notifications.clear": "ئاگانامەکان بسڕیەوە", + "notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?", + "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی", + "notifications.column_settings.favourite": "دڵخوازترین:", + "notifications.column_settings.filter_bar.advanced": "هەموو پۆلەکان پیشان بدە", + "notifications.column_settings.filter_bar.category": "شریتی پاڵێوەری خێرا", + "notifications.column_settings.filter_bar.show_bar": "Show filter bar", + "notifications.column_settings.follow": "شوێنکەوتوانی نوێ:", + "notifications.column_settings.follow_request": "شوینکەوتنی داواکاری نوێ:", + "notifications.column_settings.mention": "ئاماژەکان:", + "notifications.column_settings.poll": "ئەنجامەکانی ڕاپرسی:", + "notifications.column_settings.push": "ئاگانامەکان پاڵ بنێ", + "notifications.column_settings.reblog": "دووبارەتوتەکان:", + "notifications.column_settings.show": "لە ستووندا پیشان بدە", + "notifications.column_settings.sound": "لێدانی دەنگ", + "notifications.column_settings.status": "توتەکانی نوێ:", + "notifications.column_settings.unread_notifications.category": "Unread notifications", + "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", + "notifications.column_settings.update": "Edits:", + "notifications.filter.all": "هەموو", + "notifications.filter.boosts": "دووبارەتوتەکان", + "notifications.filter.favourites": "دڵخوازەکان", + "notifications.filter.follows": "شوێنکەوتن", + "notifications.filter.mentions": "ئاماژەکان", + "notifications.filter.polls": "ئەنجامەکانی ڕاپرسی", + "notifications.filter.statuses": "نوێکردنەوەکان ئەو کەسانەی کە پەیڕەوی دەکەیت", + "notifications.grant_permission": "Grant permission.", + "notifications.group": "{count} ئاگانامە", + "notifications.mark_as_read": "هەموو ئاگانامەکان وەک خوێندراوەتەوە نیشان بکە", + "notifications.permission_denied": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت وەک ڕێپێدان ڕەتکرایەوە.", + "notifications.permission_denied_alert": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت، چونکە پێشتر مۆڵەتی وێبگەڕ ڕەتکرایەوە", + "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", + "notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ", + "notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.", + "notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە", + "picture_in_picture.restore": "بیگەڕێنەوە", + "poll.closed": "دابخە", + "poll.refresh": "نوێکردنەوە", + "poll.total_people": "{count, plural, one {# خەڵک} other {# خەڵک}}", + "poll.total_votes": "{count, plural, one {# دەنگ} other {# دەنگ}}\n", + "poll.vote": "دەنگ", + "poll.voted": "تۆ دەنگت بەو وەڵامە دا", + "poll.votes": "{votes, plural, one {# vote} other {# votes}}", + "poll_button.add_poll": "ڕاپرسییەک زیاد بکە", + "poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌", + "privacy.change": "ڕێکخستنی تایبەتمەندی توت", + "privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو", + "privacy.direct.short": "ڕاستەوخۆ", + "privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان", + "privacy.private.short": "تەنها بۆ شوێنکەوتوان", + "privacy.public.long": "بۆ هەمووان دیاربێت، لە هێڵی کاتی گشتی دا نیشان دەدرێت", + "privacy.public.short": "گشتی", + "privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە هێڵی کاتی گشتیدا نا", + "privacy.unlisted.short": "لە لیست نەکراو", + "refresh": "نوێکردنەوە", + "regeneration_indicator.label": "بارکردن…", + "regeneration_indicator.sublabel": "ڕاگەیەنەری ماڵەوەت ئامادە دەکرێت!", + "relative_time.days": "{number}ڕۆژ", + "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", + "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", + "relative_time.full.just_now": "just now", + "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", + "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", + "relative_time.hours": "{number}کات", + "relative_time.just_now": "ئێستا", + "relative_time.minutes": "{number}کات", + "relative_time.seconds": "{number}کات", + "relative_time.today": "ئیمڕۆ", + "reply_indicator.cancel": "هەڵوەشاندنەوه", + "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", + "report.categories.spam": "Spam", + "report.categories.violation": "Content violates one or more server rules", + "report.category.subtitle": "Choose the best match", + "report.category.title": "Tell us what's going on with this {type}", + "report.category.title_account": "profile", + "report.category.title_status": "post", + "report.close": "Done", + "report.comment.title": "Is there anything else you think we should know?", + "report.forward": "ناردن بۆ {target}", + "report.forward_hint": "هەژمارەکە لە ڕاژەیەکی ترە. ڕونووسێکی نەناسراو بنێرە بۆ گوزارشت لەوێ?", + "report.mute": "Mute", + "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.next": "Next", + "report.placeholder": "سەرنجەکانی زیاتر", + "report.reasons.dislike": "I don't like it", + "report.reasons.dislike_description": "It is not something you want to see", + "report.reasons.other": "It's something else", + "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.violation_description": "You are aware that it breaks specific rules", + "report.rules.subtitle": "Select all that apply", + "report.rules.title": "Which rules are being violated?", + "report.statuses.subtitle": "Select all that apply", + "report.statuses.title": "Are there any posts that back up this report?", + "report.submit": "ناردن", + "report.target": "گوزارشتکردنی{target}", + "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", + "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", + "report.thanks.title": "Don't want to see this?", + "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", + "report.unfollow": "Unfollow @{name}", + "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "search.placeholder": "گەڕان", + "search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو", + "search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.", + "search_popout.tips.hashtag": "هەشتاگ", + "search_popout.tips.status": "توت", + "search_popout.tips.text": "دەقی سادە هەڵدەسێ بە گەڕاندنەوەی هاوتایی ناوی پیشاندان، ناوی بەکارهێنەر و هاشتاگەکان", + "search_popout.tips.user": "بەکارهێنەر", + "search_results.accounts": "خەڵک", + "search_results.all": "All", + "search_results.hashtags": "هەشتاگ", + "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.statuses": "توتەکان", + "search_results.statuses_fts_disabled": "گەڕانی توتەکان بە ناوەڕۆکیان لەسەر ئەم ڕاژەی ماستۆدۆن چالاک نەکراوە.", + "search_results.total": "{count, number} {count, plural, one {دەرئەنجام} other {دەرئەنجام}}", + "status.admin_account": "کردنەوەی میانڕەوی بەڕێوەبەر بۆ @{name}", + "status.admin_status": "ئەم توتە بکەوە لە ناو ڕووکاری بەڕیوەبەر", + "status.block": "بلۆکی @{name}", + "status.bookmark": "نیشانه", + "status.cancel_reblog_private": "بێبەهێزکردن", + "status.cannot_reblog": "ئەم بابەتە ناتوانرێت بەرزبکرێتەوە", + "status.copy": "ڕوونووسی بەستەر بۆ توت", + "status.delete": "سڕینەوە", + "status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری", + "status.direct": "پەیامی ڕاستەوخۆ @{name}", + "status.edit": "Edit", + "status.edited": "Edited {date}", + "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.embed": "نیشتەجێ بکە", + "status.favourite": "دڵخواز", + "status.filtered": "پاڵاوتن", + "status.history.created": "{name} created {date}", + "status.history.edited": "{name} edited {date}", + "status.load_more": "بارکردنی زیاتر", + "status.media_hidden": "میدیای شاراوە", + "status.mention": "ناوبنێ @{name}", + "status.more": "زیاتر", + "status.mute": "بێدەنگکردن @{name}", + "status.mute_conversation": "گفتوگۆی بێدەنگ", + "status.open": "ئەم توتە فراوان بکە", + "status.pin": "لکاندن لەسەر پرۆفایل", + "status.pinned": "توتی چەسپکراو", + "status.read_more": "زیاتر بخوێنەوە", + "status.reblog": "بەهێزکردن", + "status.reblog_private": "بەهێزکردن بۆ بینەرانی سەرەتایی", + "status.reblogged_by": "{name} توتی کردەوە", + "status.reblogs.empty": "کەس ئەم توتەی دووبارە نەتوتاندوە ،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.", + "status.redraft": "سڕینەوەی و دووبارە ڕەشنووس", + "status.remove_bookmark": "لابردنی نیشانه", + "status.reply": "وەڵام", + "status.replyAll": "بە نووسراوە وەڵام بدەوە", + "status.report": "گوزارشت @{name}", + "status.sensitive_warning": "ناوەڕۆکی هەستیار", + "status.share": "هاوبەش کردن", + "status.show_less": "کەمتر نیشان بدە", + "status.show_less_all": "کەمتر نیشان بدە بۆ هەمووی", + "status.show_more": "زیاتر پیشان بدە", + "status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی", + "status.show_thread": "نیشاندانی گفتوگۆ", + "status.uncached_media_warning": "بەردەست نیە", + "status.unmute_conversation": "گفتوگۆی بێدەنگ", + "status.unpin": "لابردن لە پرۆفایل", + "suggestions.dismiss": "ڕەتکردنەوەی پێشنیار", + "suggestions.header": "لەوانەیە حەزت لەمەش بێت…", + "tabs_bar.federated_timeline": "گشتی", + "tabs_bar.home": "سەرەتا", + "tabs_bar.local_timeline": "ناوخۆیی", + "tabs_bar.notifications": "ئاگادارییەکان", + "tabs_bar.search": "گەڕان", + "time_remaining.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژ}} ماوە", + "time_remaining.hours": "{number, plural, one {# کات} other {# کات}} ماوە", + "time_remaining.minutes": "{number, plural, one {# خۆلەک} other {# خولەک}} ماوە", + "time_remaining.moments": "ئەو ساتانەی ماونەتەوە", + "time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە", + "timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.", + "timeline_hint.resources.followers": "شوێنکەوتووان", + "timeline_hint.resources.follows": "شوێنکەوتن", + "timeline_hint.resources.statuses": "توتی کۆن", + "trends.counter_by_accounts": "{count, plural, one {{counter} کەس} other {{counter} کەس}} گفتوگۆ دەکا", + "trends.trending_now": "گۆگران", + "ui.beforeunload": "ڕەشنووسەکەت لە دەست دەچێت ئەگەر لە ماستۆدۆن بڕۆیت.", + "units.short.billion": "{count}ملیار", + "units.short.million": "{count}ملیۆن", + "units.short.thousand": "{count}هەزار", + "upload_area.title": "ڕاکێشان & دانان بۆ بارکردن", + "upload_button.label": "زیادکردنی وێنەکان، ڤیدیۆیەک یان فایلێکی دەنگی", + "upload_error.limit": "سنووری بارکردنی فایل تێپەڕیوە.", + "upload_error.poll": "پەڕگەکە ڕێی پێنەدراوە بە ڕاپرسی باربکرێت.", + "upload_form.audio_description": "بۆ ئەو کەسانەی کە گوێ بیستیان هەیە وەسف دەکات", + "upload_form.description": "وەسف بکە بۆ کەمبینایان", + "upload_form.edit": "دەستکاری", + "upload_form.thumbnail": "گۆڕانی وینۆچکە", + "upload_form.undo": "سڕینەوە", + "upload_form.video_description": "بۆ کەم بینایان و کەم بیستان وەسفی بکە", + "upload_modal.analyzing_picture": "شیکردنەوەی وێنە…", + "upload_modal.apply": "جێبەجێ کردن", + "upload_modal.applying": "Applying…", + "upload_modal.choose_image": "وێنە هەڵبژێرە", + "upload_modal.description_placeholder": "بە دڵ کەین با بە نەشئەی مەی غوباری میحنەتی دونیا", + "upload_modal.detect_text": "دەقی وێنەکە بدۆزیەوە", + "upload_modal.edit_media": "دەستکاریکردنی میدیا", + "upload_modal.hint": "گەر وێنە چکۆلە یان بڕاوەبێت، خاڵی ناوەندی دیار دەکەوێت. خاڵی ناوەندی وێنە بە کرتە یان جێبەجیکردنی رێکبخەن.", + "upload_modal.preparing_ocr": "ئامادەکردنی OCR…", + "upload_modal.preview_label": "پێشبینی ({ratio})", + "upload_progress.label": "بارکردن...", + "video.close": "داخستنی ڤیدیۆ", + "video.download": "داگرتنی فایل", + "video.exit_fullscreen": "دەرچوون لە پڕ شاشە", + "video.expand": "ڤیدیۆفراوان بکە", + "video.fullscreen": "پڕپیشانگەر", + "video.hide": "شاردنەوەی ڤیدیۆ", + "video.mute": "دەنگی کپ", + "video.pause": "وەستان", + "video.play": "پەخشکردن", + "video.unmute": "دەنگ لابدە" +} diff --git a/app/javascript/mastodon/locales/es-MX.json b/app/javascript/mastodon/locales/es-MX.json index 273fd5515..ccdca8d9c 100644 --- a/app/javascript/mastodon/locales/es-MX.json +++ b/app/javascript/mastodon/locales/es-MX.json @@ -294,7 +294,7 @@ "navigation_bar.discover": "Descubrir", "navigation_bar.domain_blocks": "Dominios ocultos", "navigation_bar.edit_profile": "Editar perfil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Explorar", "navigation_bar.favourites": "Favoritos", "navigation_bar.filters": "Palabras silenciadas", "navigation_bar.follow_requests": "Solicitudes para seguirte", diff --git a/app/javascript/mastodon/locales/eu.json b/app/javascript/mastodon/locales/eu.json index 3fbed32d9..a5cbf5128 100644 --- a/app/javascript/mastodon/locales/eu.json +++ b/app/javascript/mastodon/locales/eu.json @@ -18,7 +18,7 @@ "account.followers": "Jarraitzaileak", "account.followers.empty": "Ez du inork erabiltzaile hau jarraitzen oraindik.", "account.followers_counter": "{count, plural, one {Jarraitzaile {counter}} other {{counter} jarraitzaile}}", - "account.following": "Following", + "account.following": "Jarraitzen", "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", @@ -41,12 +41,12 @@ "account.statuses_counter": "{count, plural, one {Bidalketa {counter}} other {{counter} bidalketa}}", "account.unblock": "Desblokeatu @{name}", "account.unblock_domain": "Berriz erakutsi {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Desblokeatu", "account.unendorse": "Ez nabarmendu profilean", "account.unfollow": "Utzi jarraitzeari", "account.unmute": "Desmututu @{name}", "account.unmute_notifications": "Desmututu @{name}(r)en jakinarazpenak", - "account.unmute_short": "Unmute", + "account.unmute_short": "Desmututu", "account_note.placeholder": "Click to add a note", "admin.dashboard.daily_retention": "Erabiltzaile atxikitze-tasa izena eman ondorengo eguneko", "admin.dashboard.monthly_retention": "Erabiltzaile atxikitze-tasa izena eman ondorengo hilabeteko", @@ -168,7 +168,7 @@ "empty_column.community": "Denbora-lerro lokala hutsik dago. Idatzi zerbait publikoki pilota biraka jartzeko!", "empty_column.direct": "Ez duzu mezu zuzenik oraindik. Baten bat bidali edo jasotzen duzunean, hemen agertuko da.", "empty_column.domain_blocks": "Ez dago ezkutatutako domeinurik oraindik.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Ez dago joerarik une honetan. Begiratu beranduago!", "empty_column.favourited_statuses": "Ez duzu gogokorik oraindik. Gogokoren bat duzunean hemen agertuko da.", "empty_column.favourites": "Ez du inork gogokoetara gehitu bidalketa hau oraindik. Inork egiten duenean, hemen agertuko dira.", "empty_column.follow_recommendations": "Dirudienez ezin izan da zuretzako proposamenik sortu. Bilaketa erabili dezakezu ezagutzen duzun jendea aurkitzeko edo traolen joerak arakatu.", @@ -187,12 +187,12 @@ "error.unexpected_crash.next_steps_addons": "Saiatu desgaitu eta orria berritzen. Horrek ez badu laguntzen, agian Mastodon erabiltzeko aukera duzu oraindik ere beste nabigatzaile bat edo aplikazio natibo bat erabilita.", "errors.unexpected_crash.copy_stacktrace": "Kopiatu irteera arbelera", "errors.unexpected_crash.report_issue": "Eman arazoaren berri", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", - "explore.trending_tags": "Hashtags", + "explore.search_results": "Bilaketaren emaitzak", + "explore.suggested_follows": "Zuretzat", + "explore.title": "Arakatu", + "explore.trending_links": "Berriak", + "explore.trending_statuses": "Bidalketak", + "explore.trending_tags": "Traolak", "follow_recommendations.done": "Egina", "follow_recommendations.heading": "Jarraitu jendea beren bidalketak ikusteko! Hemen dituzu iradokizun batzuk.", "follow_recommendations.lead": "Jarraitzen duzun jendearen bidalketak ordena kronologikoan agertuko dira zure hasierako jarioan. Ez izan akatsak egiteko beldurrik, jendea jarraitzeari uztea erraza da!", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Aurkitu", "navigation_bar.domain_blocks": "Ezkutatutako domeinuak", "navigation_bar.edit_profile": "Aldatu profila", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Arakatu", "navigation_bar.favourites": "Gogokoak", "navigation_bar.filters": "Mutututako hitzak", "navigation_bar.follow_requests": "Jarraitzeko eskariak", @@ -309,7 +309,7 @@ "navigation_bar.preferences": "Hobespenak", "navigation_bar.public_timeline": "Federatutako denbora-lerroa", "navigation_bar.security": "Segurtasuna", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} erabiltzailea erregistratu da", "notification.favourite": "{name}(e)k zure bidalketa gogoko du", "notification.follow": "{name}(e)k jarraitzen zaitu", "notification.follow_request": "{name}(e)k zu jarraitzeko eskaera egin du", @@ -321,7 +321,7 @@ "notification.update": "{name} erabiltzaileak bidalketa bat editatu du", "notifications.clear": "Garbitu jakinarazpenak", "notifications.clear_confirmation": "Ziur zure jakinarazpen guztiak behin betirako garbitu nahi dituzula?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Izen-emate berriak:", "notifications.column_settings.alert": "Mahaigaineko jakinarazpenak", "notifications.column_settings.favourite": "Gogokoak:", "notifications.column_settings.filter_bar.advanced": "Erakutsi kategoria guztiak", @@ -389,43 +389,43 @@ "relative_time.seconds": "{number}s", "relative_time.today": "gaur", "reply_indicator.cancel": "Utzi", - "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.block": "Blokeatu", + "report.block_explanation": "Ez dituzu bere bidalketak ikusiko. Ezingo dituzte zure bidalketak ikusi eta ez jarraitu. Blokeatu dituzula jakin dezakete.", "report.categories.other": "Bestelakoak", "report.categories.spam": "Spam", "report.categories.violation": "Edukiak zerbitzariko arau bat edo gehiago urratzen ditu", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.category.subtitle": "Aukeratu egokiena", + "report.category.title": "Kontaiguzu zer gertatzen den {type} honekin", + "report.category.title_account": "profil", + "report.category.title_status": "bidalketa", + "report.close": "Egina", + "report.comment.title": "Beste zerbait jakin beharko genuke?", "report.forward": "Birbidali hona: {target}", "report.forward_hint": "Kontu hau beste zerbitzari batekoa da. Bidali txostenaren kopia anonimo hara ere?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Mututu", + "report.mute_explanation": "Ez dituzu bere bidalketak ikusiko. Zu jarraitu eta zure bidalketak ikusteko aukera izango dute eta ezingo dute jakin mututu dituzula.", + "report.next": "Hurrengoa", "report.placeholder": "Iruzkin gehigarriak", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "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.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", - "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", - "report.statuses.title": "Are there any posts that back up this report?", + "report.reasons.dislike": "Ez dut gustukoa", + "report.reasons.dislike_description": "Ikusi nahi ez dudan zerbait da", + "report.reasons.other": "Beste zerbait da", + "report.reasons.other_description": "Arazoa ezin da beste kategorietan sailkatu", + "report.reasons.spam": "Spama da", + "report.reasons.spam_description": "Esteka maltzurrak, gezurrezko elkarrekintzak edo erantzun errepikakorrak", + "report.reasons.violation": "Zerbitzariaren arauak hausten ditu", + "report.reasons.violation_description": "Arau zehatzak urratzen dituela badakizu", + "report.rules.subtitle": "Hautatu dagozkion guztiak", + "report.rules.title": "Ze arau hautsi ditu?", + "report.statuses.subtitle": "Hautatu dagozkion guztiak", + "report.statuses.title": "Salaketa hau babesten duen bidalketarik badago?", "report.submit": "Bidali", "report.target": "{target} salatzen", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", - "report.thanks.title": "Don't want to see this?", - "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "report.thanks.take_action": "Hemen dituzu Mastodonen ikusiko duzuna kontrolatzeko aukerak:", + "report.thanks.take_action_actionable": "Hau berrikusten dugun bitartean, @{name} erabiltzailearen aurkako neurriak hartu ditzakezu:", + "report.thanks.title": "Ez duzu hau ikusi nahi?", + "report.thanks.title_actionable": "Mila esker salaketagatik, berrikusiko dugu.", + "report.unfollow": "@{name} jarraitzeari utzi", + "report.unfollow_explanation": "Kontu hau jarraitzen ari zara. Zure denbora-lerro nagusian bere bidalketak ez ikusteko, jarraitzeari utzi.", "search.placeholder": "Bilatu", "search_popout.search_format": "Bilaketa aurreratuaren formatua", "search_popout.tips.full_text": "Testu hutsarekin zuk idatzitako bidalketak, gogokoak, bultzadak edo aipamenak aurkitu ditzakezu, bat datozen erabiltzaile-izenak, pantaila-izenak, eta traolak.", @@ -434,9 +434,9 @@ "search_popout.tips.text": "Testu hutsak pantaila-izenak, erabiltzaile-izenak eta traolak bilatzen ditu", "search_popout.tips.user": "erabiltzailea", "search_results.accounts": "Jendea", - "search_results.all": "All", + "search_results.all": "Guztiak", "search_results.hashtags": "Traolak", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "Ez da emaitzarik aurkitu bilaketa-termino horientzat", "search_results.statuses": "Bidalketak", "search_results.statuses_fts_disabled": "Mastodon zerbitzari honek ez du bidalketen edukiaren bilaketa gaitu.", "search_results.total": "{count, number} {count, plural, one {emaitza} other {emaitza}}", diff --git a/app/javascript/mastodon/locales/gl.json b/app/javascript/mastodon/locales/gl.json index a80875c79..56fd5ca7f 100644 --- a/app/javascript/mastodon/locales/gl.json +++ b/app/javascript/mastodon/locales/gl.json @@ -18,7 +18,7 @@ "account.followers": "Seguidoras", "account.followers.empty": "Aínda ninguén segue esta usuaria.", "account.followers_counter": "{count, plural, one {{counter} Seguidora} other {{counter} Seguidoras}}", - "account.following": "Following", + "account.following": "Seguindo", "account.following_counter": "{count, plural, one {{counter} Seguindo} other {{counter} Seguindo}}", "account.follows.empty": "Esta usuaria aínda non segue a ninguén.", "account.follows_you": "Séguete", @@ -41,12 +41,12 @@ "account.statuses_counter": "{count, plural, one {{counter} Publicación} other {{counter} Publicacións}}", "account.unblock": "Desbloquear @{name}", "account.unblock_domain": "Amosar {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Desbloquear", "account.unendorse": "Non amosar no perfil", "account.unfollow": "Deixar de seguir", "account.unmute": "Deixar de silenciar a @{name}", "account.unmute_notifications": "Deixar de silenciar as notificacións de @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Non silenciar", "account_note.placeholder": "Preme para engadir nota", "admin.dashboard.daily_retention": "Ratio de retención de usuarias após rexistrarse", "admin.dashboard.monthly_retention": "Ratio de retención de usuarias após un mes do rexistro", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Descubrir", "navigation_bar.domain_blocks": "Dominios agochados", "navigation_bar.edit_profile": "Editar perfil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Descubrir", "navigation_bar.favourites": "Favoritos", "navigation_bar.filters": "Palabras silenciadas", "navigation_bar.follow_requests": "Peticións de seguimento", diff --git a/app/javascript/mastodon/locales/ko.json b/app/javascript/mastodon/locales/ko.json index 31db6acc3..454b3977a 100644 --- a/app/javascript/mastodon/locales/ko.json +++ b/app/javascript/mastodon/locales/ko.json @@ -121,7 +121,7 @@ "confirmations.delete.message": "정말로 이 게시물을 삭제하시겠습니까?", "confirmations.delete_list.confirm": "삭제", "confirmations.delete_list.message": "정말로 이 리스트를 영구적으로 삭제하시겠습니까?", - "confirmations.discard_edit_media.confirm": "취소", + "confirmations.discard_edit_media.confirm": "저장 안함", "confirmations.discard_edit_media.message": "미디어 설명이나 미리보기에 대한 저장하지 않은 변경사항이 있습니다. 버리시겠습니까?", "confirmations.domain_block.confirm": "도메인 전체를 차단", "confirmations.domain_block.message": "정말로 {domain} 전체를 차단하시겠습니까? 대부분의 경우 개별 차단이나 뮤트로 충분합니다. 모든 공개 타임라인과 알림에서 해당 도메인에서 작성된 컨텐츠를 보지 못합니다. 해당 도메인에 속한 팔로워와의 관계가 사라집니다.", @@ -294,7 +294,7 @@ "navigation_bar.discover": "발견하기", "navigation_bar.domain_blocks": "차단한 도메인", "navigation_bar.edit_profile": "프로필 편집", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "탐색하기", "navigation_bar.favourites": "즐겨찾기", "navigation_bar.filters": "뮤트한 단어", "navigation_bar.follow_requests": "팔로우 요청", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 7209633ad..0298c51ec 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -1,543 +1,543 @@ { - "account.account_note_header": "تێبینی ", - "account.add_or_remove_from_list": "زیادکردن یان سڕینەوە لە پێرستەکان", - "account.badges.bot": "بوت", - "account.badges.group": "گرووپ", - "account.block": "بلۆکی @{name}", - "account.block_domain": "بلۆکی هەموو شتێک لە {domain}", - "account.blocked": "بلۆککرا", - "account.browse_more_on_origin_server": "گەڕانی فرەتر لە سەر پرۆفایلی سەرەکی", - "account.cancel_follow_request": "بەتاڵکردنی داوای شوێنکەوتن", - "account.direct": "پەیامی تایبەت بە @{name}", - "account.disable_notifications": "ئاگانامە مەنێرە بۆم کاتێک @{name} پۆست دەکرێت", - "account.domain_blocked": "دۆمەین قەپاتکرا", - "account.edit_profile": "دەستکاری پرۆفایل", - "account.enable_notifications": "ئاگادارم بکەوە کاتێک @{name} بابەتەکان", - "account.endorse": "ناساندن لە پرۆفایل", - "account.follow": "شوێنکەوتن", - "account.followers": "شوێنکەوتووان", - "account.followers.empty": "کەسێک شوێن ئەم بەکارهێنەرە نەکەوتووە", - "account.followers_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}", - "account.following": "Following", - "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", - "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.", - "account.follows_you": "شوێنکەوتووەکانت", - "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}", - "account.joined": "Joined {date}", - "account.link_verified_on": "خاوەنداریەتی ئەم لینکە لە {date} چێک کراوە", - "account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.", - "account.media": "میدیا", - "account.mention": "ئاماژە @{name}", - "account.moved_to": "{name} گواسترایەوە بۆ:", - "account.mute": "بێدەنگکردن @{name}", - "account.mute_notifications": "هۆشیارکەرەوەکان لاببە لە @{name}", - "account.muted": "بێ دەنگ", - "account.posts": "توتس", - "account.posts_with_replies": "توتس و وەڵامەکان", - "account.report": "گوزارشت @{name}", - "account.requested": "چاوەڕێی ڕەزامەندین. کرتە بکە بۆ هەڵوەشاندنەوەی داواکاری شوێنکەوتن", - "account.share": "پرۆفایلی @{name} هاوبەش بکە", - "account.show_reblogs": "پیشاندانی بەرزکردنەوەکان لە @{name}", - "account.statuses_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", - "account.unblock": "@{name} لاببە", - "account.unblock_domain": "کردنەوەی دۆمەینی {domain}", - "account.unblock_short": "Unblock", - "account.unendorse": "تایبەتمەندی لەسەر پرۆفایلەکە نیە", - "account.unfollow": "بەدوادانەچو", - "account.unmute": "بێدەنگکردنی @{name}", - "account.unmute_notifications": "بێدەنگکردنی هۆشیارییەکان لە @{name}", - "account.unmute_short": "Unmute", - "account_note.placeholder": "کرتەبکە بۆ زیادکردنی تێبینی", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", - "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", - "admin.dashboard.retention.average": "Average", - "admin.dashboard.retention.cohort": "Sign-up month", - "admin.dashboard.retention.cohort_size": "New users", - "alert.rate_limited.message": "تکایە هەوڵبدەرەوە دوای {retry_time, time, medium}.", - "alert.rate_limited.title": "ڕێژەی سنووردار", - "alert.unexpected.message": "هەڵەیەکی چاوەڕوان نەکراو ڕوویدا.", - "alert.unexpected.title": "تەححح!", - "announcement.announcement": "بانگەواز", - "attachments_list.unprocessed": "(unprocessed)", - "autosuggest_hashtag.per_week": "{count} هەرهەفتە", - "boost_modal.combo": "دەتوانیت دەست بنێی بە سەر {combo} بۆ بازدان لە جاری داهاتوو", - "bundle_column_error.body": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.", - "bundle_column_error.retry": "دووبارە هەوڵبدە", - "bundle_column_error.title": "هەڵيی تۆڕ", - "bundle_modal_error.close": "داخستن", - "bundle_modal_error.message": "هەڵەیەک ڕوویدا لەکاتی بارکردنی ئەم پێکهاتەیە.", - "bundle_modal_error.retry": "دووبارە تاقی بکەوە", - "column.blocks": "بەکارهێنەرە بلۆککراوەکان", - "column.bookmarks": "نیشانەکان", - "column.community": "هێڵی کاتی ناوخۆیی", - "column.direct": "نامە ڕاستەوخۆکان", - "column.directory": "گەڕان لە پرۆفایلەکان", - "column.domain_blocks": "دۆمەینە داخراوەکان", - "column.favourites": "دڵخوازترینەکان", - "column.follow_requests": "بەدواداچوی داواکاریەکان بکە", - "column.home": "سەرەتا", - "column.lists": "پێرست", - "column.mutes": "بێدەنگکردنی بەکارهێنەران", - "column.notifications": "ئاگادارییەکان", - "column.pins": "تووتسی چەسپاو", - "column.public": "نووسراوەکانی هەمووشوێنێک", - "column_back_button.label": "دواوە", - "column_header.hide_settings": "شاردنەوەی ڕێکخستنەکان", - "column_header.moveLeft_settings": "ستوون بگوێزەرەوە بۆ لای چەپ", - "column_header.moveRight_settings": "جوولاندنی ئەستوون بۆ لای ڕاست", - "column_header.pin": "سنجاق", - "column_header.show_settings": "نیشاندانی رێکخستنەکان", - "column_header.unpin": "سنجاق نەکردن", - "column_subheading.settings": "رێکخستنەکان", - "community.column_settings.local_only": "تەنها خۆماڵی", - "community.column_settings.media_only": "تەنها میدیا", - "community.column_settings.remote_only": "تەنها بۆ دوور", - "compose_form.direct_message_warning": "ئەم توتە تەنیا بۆ بەکارهێنەرانی ناوبراو دەنێردرێت.", - "compose_form.direct_message_warning_learn_more": "زیاتر فێربه", - "compose_form.hashtag_warning": "ئەم توتە لە ژێر هیچ هاشتاگییەک دا ناکرێت وەک ئەوەی لە لیستەکەدا نەریزراوە. تەنها توتی گشتی دەتوانرێت بە هاشتاگی بگەڕێت.", - "compose_form.lock_disclaimer": "هەژمێرەکەی لە حاڵەتی {locked}. هەر کەسێک دەتوانێت شوێنت بکەوێت بۆ پیشاندانی بابەتەکانی تەنها دوایخۆی.", - "compose_form.lock_disclaimer.lock": "قفڵ دراوە", - "compose_form.placeholder": "چی لە مێشکتدایە?", - "compose_form.poll.add_option": "زیادکردنی هەڵبژاردەیەک", - "compose_form.poll.duration": "ماوەی ڕاپرسی", - "compose_form.poll.option_placeholder": "هەڵبژاردن {number}", - "compose_form.poll.remove_option": "لابردنی ئەم هەڵبژاردەیە", - "compose_form.poll.switch_to_multiple": "ڕاپرسی بگۆڕە بۆ ڕێگەدان بە چەند هەڵبژاردنێک", - "compose_form.poll.switch_to_single": "گۆڕینی ڕاپرسی بۆ ڕێگەدان بە تاکە هەڵبژاردنێک", - "compose_form.publish": "توت", + "account.account_note_header": "Nîşe", + "account.add_or_remove_from_list": "Tevlî bike an rake ji rêzokê", + "account.badges.bot": "Bot", + "account.badges.group": "Kom", + "account.block": "@{name} asteng bike", + "account.block_domain": "{domain} navpar asteng bike", + "account.blocked": "Astengkirî", + "account.browse_more_on_origin_server": "Li pelên resen bêhtir bigere", + "account.cancel_follow_request": "Daxwaza şopandinê rake", + "account.direct": "Peyamekê bişîne @{name}", + "account.disable_notifications": "Êdî min agahdar neke gava @{name} diweşîne", + "account.domain_blocked": "Navper hate astengkirin", + "account.edit_profile": "Profîl serrast bike", + "account.enable_notifications": "Min agahdar bike gava @{name} diweşîne", + "account.endorse": "Taybetiyên li ser profîl", + "account.follow": "Bişopîne", + "account.followers": "Şopîner", + "account.followers.empty": "Kesekî hin ev bikarhêner neşopandiye.", + "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", + "account.following": "Dişopîne", + "account.following_counter": "{count, plural, one {{counter} Dişopîne} other {{counter} Dişopîne}}", + "account.follows.empty": "Ev bikarhêner hin kesekî heya niha neşopandiye.", + "account.follows_you": "Te dişopîne", + "account.hide_reblogs": "Bilindkirinên ji @{name} veşêre", + "account.joined": "Tevlîbû di {date} de", + "account.link_verified_on": "Xwedaniya li vê girêdanê di {date} de hatiye kontrolkirin", + "account.locked_info": "Rewşa vê ajimêrê wek kilît kirî hatiye saz kirin. Xwedî yê ajimêrê, kesên vê bişopîne bi dest vekolin dike.", + "account.media": "Medya", + "account.mention": "Qal @{name} bike", + "account.moved_to": "{name} hate livandin bo:", + "account.mute": "@{name} Bêdeng bike", + "account.mute_notifications": "Agahdariyan ji @{name} bêdeng bike", + "account.muted": "Bêdengkirî", + "account.posts": "Şandî", + "account.posts_with_replies": "Şandî û bersiv", + "account.report": "@{name} Ragihîne", + "account.requested": "Li benda erêkirinê ye. Ji bo betal kirina daxwazê pêl bikin", + "account.share": "Profîla @{name} parve bike", + "account.show_reblogs": "Bilindkirinên ji @{name} nîşan bike", + "account.statuses_counter": "{count, plural,one {{counter} şandî}other {{counter} şandî}}", + "account.unblock": "Astengê li ser @{name} rake", + "account.unblock_domain": "Astengê li ser navperê {domain} rake", + "account.unblock_short": "Astengiyê rake", + "account.unendorse": "Li ser profîl nîşan neke", + "account.unfollow": "Neşopîne", + "account.unmute": "@{name} Bêdeng bike", + "account.unmute_notifications": "Agahdariyan ji @{name} bêdeng bike", + "account.unmute_short": "Bêdeng neke", + "account_note.placeholder": "Bitikîne bo nîşeyekê tevlî bikî", + "admin.dashboard.daily_retention": "Rêjeya ragirtina bikarhêner bi roj piştî tomarkirinê", + "admin.dashboard.monthly_retention": "Rêjeya ragirtina bikarhêner bi meh piştî tomarkirinê", + "admin.dashboard.retention.average": "Navîn", + "admin.dashboard.retention.cohort": "Meha tomarkirinê", + "admin.dashboard.retention.cohort_size": "Bikarhênerên nû", + "alert.rate_limited.message": "Jkx dîsa biceribîne piştî {retry_time, time, medium}.\n \n", + "alert.rate_limited.title": "Rêje sînorkirî ye", + "alert.unexpected.message": "Çewtiyeke bêhêvî çê bû.", + "alert.unexpected.title": "Wey li min!", + "announcement.announcement": "Daxuyanî", + "attachments_list.unprocessed": "(bêpêvajo)", + "autosuggest_hashtag.per_week": "Her hefte {count}", + "boost_modal.combo": "Ji bo derbas bî carekî din de pêlê {combo} bike", + "bundle_column_error.body": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.", + "bundle_column_error.retry": "Dîsa biceribîne", + "bundle_column_error.title": "Çewtiya torê", + "bundle_modal_error.close": "Bigire", + "bundle_modal_error.message": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.", + "bundle_modal_error.retry": "Dîsa bicerbîne", + "column.blocks": "Bikarhênerên astengkirî", + "column.bookmarks": "Şûnpel", + "column.community": "Demnameya herêmî", + "column.direct": "Peyamên taybet", + "column.directory": "Li profîlan bigere", + "column.domain_blocks": "Navperên astengkirî", + "column.favourites": "Bijarte", + "column.follow_requests": "Daxwazên şopandinê", + "column.home": "Serrûpel", + "column.lists": "Rêzok", + "column.mutes": "Bikarhênerên bêdengkirî", + "column.notifications": "Agahdarî", + "column.pins": "Şandiya derzîkirî", + "column.public": "Demnameyê federalîkirî", + "column_back_button.label": "Veger", + "column_header.hide_settings": "Sazkariyan veşêre", + "column_header.moveLeft_settings": "Stûnê bilivîne bo çepê", + "column_header.moveRight_settings": "Stûnê bilivîne bo rastê", + "column_header.pin": "Bi derzî bike", + "column_header.show_settings": "Sazkariyan nîşan bide", + "column_header.unpin": "Bi derzî neke", + "column_subheading.settings": "Sazkarî", + "community.column_settings.local_only": "Tenê herêmî", + "community.column_settings.media_only": "Tenê media", + "community.column_settings.remote_only": "Tenê ji dûr ve", + "compose_form.direct_message_warning": "Ev şandî tenê ji bikarhênerên qalkirî re wê were şandin.", + "compose_form.direct_message_warning_learn_more": "Bêtir fêr bibe", + "compose_form.hashtag_warning": "Ev şandî ji ber ku nehatiye tomarkirin dê di binê hashtagê de neyê tomar kirin. Tenê peyamên gelemperî dikarin bi hashtagê werin lêgerîn.", + "compose_form.lock_disclaimer": "Ajimêrê te {locked} nîne. Herkes dikare te bişopîne da ku şandiyên te yên tenê şopînerên te ra xûya dibin bibînin.", + "compose_form.lock_disclaimer.lock": "girtî ye", + "compose_form.placeholder": "Çi di hişê te derbas dibe?", + "compose_form.poll.add_option": "Hilbijarekî tevlî bike", + "compose_form.poll.duration": "Dema rapirsî yê", + "compose_form.poll.option_placeholder": "{number} Hilbijêre", + "compose_form.poll.remove_option": "Vê hilbijarê rake", + "compose_form.poll.switch_to_multiple": "Rapirsî yê biguherînin da ku destûr bidin vebijarkên pirjimar", + "compose_form.poll.switch_to_single": "Rapirsîyê biguherîne da ku mafê bidî tenê vebijêrkek", + "compose_form.publish": "Toot", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", - "compose_form.sensitive.hide": "نیشانکردنی میدیا وەک هەستیار", - "compose_form.sensitive.marked": "وادەی کۆتایی", - "compose_form.sensitive.unmarked": "میدیا وەک هەستیار نیشان نەکراوە", - "compose_form.spoiler.marked": "دەق لە پشت ئاگاداریدا شاراوەتەوە", - "compose_form.spoiler.unmarked": "دەق شاراوە نییە", - "compose_form.spoiler_placeholder": "ئاگاداریەکەت لێرە بنووسە", - "confirmation_modal.cancel": "هەڵوەشاندنەوه", - "confirmations.block.block_and_report": "بلۆک & گوزارشت", - "confirmations.block.confirm": "بلۆک", - "confirmations.block.message": "ئایا دڵنیایت لەوەی دەتەوێت {name} بلۆک بکەیت?", - "confirmations.delete.confirm": "سڕینەوە", - "confirmations.delete.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە?", - "confirmations.delete_list.confirm": "سڕینەوە", - "confirmations.delete_list.message": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی ئەم لیستە بسڕیتەوە?", - "confirmations.discard_edit_media.confirm": "Discard", - "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", - "confirmations.domain_block.confirm": "بلۆککردنی هەموو دۆمەینەکە", - "confirmations.domain_block.message": "ئایا بەڕاستی، بەڕاستی تۆ دەتەوێت هەموو {domain} بلۆک بکەیت؟ لە زۆربەی حاڵەتەکاندا چەند بلۆکێکی ئامانجدار یان بێدەنگەکان پێویست و پەسەندن. تۆ ناوەڕۆک ێک نابینیت لە دۆمەینەکە لە هیچ هێڵی کاتی گشتی یان ئاگانامەکانت. شوێنکەوتوانی تۆ لەو دۆمەینەوە لادەبرێن.", - "confirmations.logout.confirm": "چوونە دەرەوە", - "confirmations.logout.message": "ئایا دڵنیایت لەوەی دەتەوێت بچیتە دەرەوە?", - "confirmations.mute.confirm": "بێدەنگ", - "confirmations.mute.explanation": "ئەمەش دەبێتە هۆی شاردنەوەی پۆستەکان یان ئەو بابەتانەی کە ئاماژەیان پێ دەکات ، بەڵام هێشتا ڕێگەیان پێ دەدات کە پۆستەکانتان ببینن و شوێنتان بکەون.", - "confirmations.mute.message": "ئایا دڵنیایت لەوەی دەتەوێت بیلێیت {name}?", - "confirmations.redraft.confirm": "سڕینەوە & دووبارە ڕەشکردنەوە", - "confirmations.redraft.message": "ئایا دڵنیایت لەوەی دەتەوێت ئەم توتە بسڕیتەوە و دووبارە دایبنووسیتەوە؟ دڵخوازەکان و بەرزکردنەوەکان وون دەبن، و وەڵامەکان بۆ پۆستە ڕەسەنەکە هەتیو دەبن.", - "confirmations.reply.confirm": "وەڵام", - "confirmations.reply.message": "وەڵامدانەوە ئێستا ئەو نامەیە ی کە تۆ ئێستا دایڕشتووە، دەنووسێتەوە. ئایا دڵنیایت کە دەتەوێت بەردەوام بیت?", - "confirmations.unfollow.confirm": "بەدوادانەچو", - "confirmations.unfollow.message": "ئایا دڵنیایت لەوەی دەتەوێت پەیڕەوی {name}?", - "conversation.delete": "سڕینەوەی گفتوگۆ", - "conversation.mark_as_read": "نیشانەکردن وەک خوێندراوە", - "conversation.open": "نیشاندان گفتوگۆ", - "conversation.with": "لەگەڵ{names}", - "directory.federated": "لە ڕاژەکانی ناسراو", - "directory.local": "تەنها لە {domain}", - "directory.new_arrivals": "تازە گەیشتنەکان", - "directory.recently_active": "بەم دواییانە چالاکە", - "embed.instructions": "ئەم توتە بنچین بکە لەسەر وێب سایتەکەت بە کۆپیکردنی کۆدەکەی خوارەوە.", - "embed.preview": "ئەمە ئەو شتەیە کە لە شێوەی خۆی دەچێت:", - "emoji_button.activity": "چالاکی", - "emoji_button.custom": "ئاسایی", - "emoji_button.flags": "ئاڵاکان", - "emoji_button.food": "خواردن& خواردنەوە", - "emoji_button.label": "ئیمۆجی بکەنێو", - "emoji_button.nature": "سروشت", - "emoji_button.not_found": "بێ ئیمۆجی! (╯°□°)╯( ┻━┻", - "emoji_button.objects": "ئامانجەکان", - "emoji_button.people": "خەڵک", - "emoji_button.recent": "زۆرجار بەکارهێنراوە", - "emoji_button.search": "گەڕان...", - "emoji_button.search_results": "ئەنجامەکانی گەڕان", - "emoji_button.symbols": "هێماکان", - "emoji_button.travel": "گەشت & شوێنەکان", - "empty_column.account_suspended": "Account suspended", - "empty_column.account_timeline": "لێرە هیچ توتەک نییە!", - "empty_column.account_unavailable": "پرۆفایل بەردەست نیە", - "empty_column.blocks": "تۆ هێشتا هیچ بەکارهێنەرێکت بلۆک نەکردووە.", - "empty_column.bookmarked_statuses": "تۆ هێشتا هیچ توتێکی دیاریکراوت نیە کاتێک نیشانەیەک نیشان دەکەیت، لێرە دەرئەکەویت.", - "empty_column.community": "هێڵی کاتی ناوخۆیی بەتاڵە. شتێک بە ئاشکرا بنووسە بۆ ئەوەی تۆپەکە بسووڕێت!", - "empty_column.direct": "تۆ هیچ نامەی ڕاستەوخۆت نیە تا ئێستا. کاتێک دانەیەک دەنێریت یان وەرت دەگرێت، لێرە پیشان دەدات.", - "empty_column.domain_blocks": "هێشتا هیچ دۆمەینێکی بلۆک کراو نییە.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", - "empty_column.favourited_statuses": "تۆ هێشتا هیچ توتێکی دڵخوازت نییە، کاتێک حەزت لە دانەیەکی باشە، لێرە دەرئەکەویت.", - "empty_column.favourites": "کەس ئەم توتەی دڵخواز نەکردووە،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.", - "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": "تۆ هێشتا هیچ داواکارییەکی بەدواداچووت نیە. کاتێک یەکێکت بۆ هات، لێرە دەرئەکەویت.", - "empty_column.hashtag": "هێشتا هیچ شتێک لەم هاشتاگەدا نییە.", - "empty_column.home": "تایم لاینی ماڵەوەت بەتاڵە! سەردانی {public} بکە یان گەڕان بەکاربێنە بۆ دەستپێکردن و بینینی بەکارهێنەرانی تر.", - "empty_column.home.suggestions": "See some suggestions", - "empty_column.list": "هێشتا هیچ شتێک لەم لیستەدا نییە. کاتێک ئەندامانی ئەم لیستە دەنگی نوێ بڵاودەکەن، لێرە دەردەکەون.", - "empty_column.lists": "تۆ هێشتا هیچ لیستت دروست نەکردووە، کاتێک دانەیەک دروست دەکەیت، لێرە پیشان دەدرێت.", - "empty_column.mutes": "تۆ هێشتا هیچ بەکارهێنەرێکت بێدەنگ نەکردووە.", - "empty_column.notifications": "تۆ هێشتا هیچ ئاگانامێکت نیە. چالاکی لەگەڵ کەسانی دیکە بکە بۆ دەستپێکردنی گفتوگۆکە.", - "empty_column.public": "لێرە هیچ نییە! شتێک بە ئاشکرا بنووسە(بەگشتی)، یان بە دەستی شوێن بەکارهێنەران بکەوە لە ڕاژەکانی ترەوە بۆ پڕکردنەوەی", - "error.unexpected_crash.explanation": "بەهۆی بوونی کێشە لە کۆدەکەمان یان کێشەی گونجانی وێبگەڕەکە، ئەم لاپەڕەیە بە دروستی پیشان نادرێت.", - "error.unexpected_crash.explanation_addons": "ئەم لاپەڕەیە ناتوانرێت بە دروستی پیشان بدرێت. ئەم هەڵەیە لەوانەیە بەهۆی ئامێری وەرگێڕانی خۆکار یان زیادکراوی وێبگەڕەوە بێت.", - "error.unexpected_crash.next_steps": "هەوڵدە لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکەیان کاربەرنامەی ڕەسەن.", - "error.unexpected_crash.next_steps_addons": "هەوڵدە لەکاریان بخەیت و لاپەڕەکە تازە بکەوە. ئەگەر ئەمە یارمەتیدەر نەبوو، لەوانەیە هێشتا بتوانیت ماستۆدۆن بەکاربێنیت لە ڕێگەی وێبگەڕەکانی دیکە یان نەرمەکالاکانی ئەسڵی.", - "errors.unexpected_crash.copy_stacktrace": "کۆپیکردنی ستێکتراسی بۆ کلیپ بۆرد", - "errors.unexpected_crash.report_issue": "کێشەی گوزارشت", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", - "explore.trending_tags": "Hashtags", - "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_request.authorize": "ده‌سه‌ڵاتپێدراو", - "follow_request.reject": "ڕەتکردنەوە", - "follow_requests.unlocked_explanation": "هەرچەندە هەژمارەکەت داخراو نییە، ستافی {domain} وا بیریان کردەوە کە لەوانەیە بتانەوێت پێداچوونەوە بە داواکاریەکانی ئەم هەژمارەدا بکەن بە دەستی.", - "generic.saved": "پاشکەوتکرا", - "getting_started.developers": "پەرەپێدەران", - "getting_started.directory": "پەڕەی پرۆفایل", - "getting_started.documentation": "بەڵگەنامە", - "getting_started.heading": "دەست پێکردن", - "getting_started.invite": "بانگهێشتکردنی خەڵک", - "getting_started.open_source_notice": "ماستۆدۆن نەرمەکالایەکی سەرچاوەی کراوەیە. دەتوانیت بەشداری بکەیت یان گوزارشت بکەیت لەسەر کێشەکانی لە پەڕەی گیتهاب {github}.", - "getting_started.security": "ڕێکخستنەکانی هەژمارە", - "getting_started.terms": "مەرجەکانی خزمەتگوزاری", - "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": "هیچ پێشنیارێک نەدۆزرایەوە", - "hashtag.column_settings.select.placeholder": "هاشتاگی تێبنووسە…", - "hashtag.column_settings.tag_mode.all": "هەموو ئەمانە", - "hashtag.column_settings.tag_mode.any": "هەر کام لەمانە", - "hashtag.column_settings.tag_mode.none": "هیچ کام لەمانە", - "hashtag.column_settings.tag_toggle": "تاگی زیادە ی ئەم ستوونە لەخۆ بنووسە", - "home.column_settings.basic": "بنەڕەتی", - "home.column_settings.show_reblogs": "پیشاندانی بەهێزکردن", - "home.column_settings.show_replies": "وەڵامدانەوەکان پیشان بدە", - "home.hide_announcements": "شاردنەوەی راگەیەنراوەکان", - "home.show_announcements": "پیشاندانی راگەیەنراوەکان", - "intervals.full.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژەک}}", - "intervals.full.hours": "{number, plural, one {# کات} other {# کات}}", - "intervals.full.minutes": "{number, plural, one {# خولەک} other {# خولەک}}", - "keyboard_shortcuts.back": "بۆ گەڕانەوە", - "keyboard_shortcuts.blocked": "بۆ کردنەوەی لیستی بەکارهێنەرە بلۆککراوەکان", - "keyboard_shortcuts.boost": "بۆ بەهێزکردن", - "keyboard_shortcuts.column": "بۆ ئەوەی تیشک بخاتە سەر توتێک لە یەکێک لە ستوونەکان", - "keyboard_shortcuts.compose": "بۆ سەرنجدان بە نووسینی ناوچەی دەق", - "keyboard_shortcuts.description": "وه‌سف", - "keyboard_shortcuts.direct": "بۆ کردنەوەی ستوونی نامە ڕاستەوخۆکان", - "keyboard_shortcuts.down": "بۆ چوونە خوارەوە لە لیستەکەدا", - "keyboard_shortcuts.enter": "بۆ کردنەوەی توت", - "keyboard_shortcuts.favourite": "بۆ دڵخواز", - "keyboard_shortcuts.favourites": "بۆ کردنەوەی لیستی دڵخوازەکان", - "keyboard_shortcuts.federated": "بۆ کردنەوەی نووسراوەکانی هەمووشوێن", - "keyboard_shortcuts.heading": "قه‌دبڕەکانی تەختەکلیل", - "keyboard_shortcuts.home": "بۆ کردنەوەی هێڵی کاتی ماڵەوە", - "keyboard_shortcuts.hotkey": "هۆتکەی", - "keyboard_shortcuts.legend": "بۆ نیشاندانی ئەم نیشانە", - "keyboard_shortcuts.local": "بۆ کردنەوەی نووسراوەکانی خۆماڵی", - "keyboard_shortcuts.mention": "نۆ ناوبردن لە نووسەر", - "keyboard_shortcuts.muted": "بۆ کردنەوەی پێرستی بەکارهێنەرانی بێدەنگ", - "keyboard_shortcuts.my_profile": "بۆ کردنەوەی پرۆفایڵ", - "keyboard_shortcuts.notifications": "بۆ کردنەوەی ستوونی ئاگانامەکان", - "keyboard_shortcuts.open_media": "بۆ کردنەوەی میدیا", - "keyboard_shortcuts.pinned": "بۆ کردنەوەی لیستی توتەکانی چەسپێنراو", - "keyboard_shortcuts.profile": "بۆ کردنەوەی پرۆفایڵی نووسەر", - "keyboard_shortcuts.reply": "بۆ وەڵامدانەوە", - "keyboard_shortcuts.requests": "بۆ کردنەوەی لیستی داواکاریەکانی بەدوادا", - "keyboard_shortcuts.search": "بۆ جەختکردن لەسەر گەڕان", - "keyboard_shortcuts.spoilers": "بۆ پیشاندان/شاردنەوەی خانەی CW", - "keyboard_shortcuts.start": "بۆ کردنەوەی ستوونی \"دەست پێبکە\"", - "keyboard_shortcuts.toggle_hidden": "بۆ پیشاندان/شاردنەوەی دەق لە پشت CW", - "keyboard_shortcuts.toggle_sensitivity": "بۆ پیشاندان/شاردنەوەی میدیا", - "keyboard_shortcuts.toot": "بۆ دەست کردن بە براندێکی تازە", - "keyboard_shortcuts.unfocus": "بۆ دروستکردنی ناوچەی دەق/گەڕان", - "keyboard_shortcuts.up": "بۆ ئەوەی لە لیستەکەدا بڕۆیت", - "lightbox.close": "دابخە", - "lightbox.compress": "سندوقی نیشاندانی وێنە بپەستێنە", - "lightbox.expand": "فراوانکردنی سندوقی بینینی وێنە", - "lightbox.next": "داهاتوو", - "lightbox.previous": "پێشوو", - "lists.account.add": "زیادکردن بۆ لیست", - "lists.account.remove": "لابردن لە لیست", - "lists.delete": "سڕینەوەی لیست", - "lists.edit": "دەستکاری لیست", - "lists.edit.submit": "گۆڕینی ناونیشان", - "lists.new.create": "زیادکردنی لیست", - "lists.new.title_placeholder": "ناونیشانی لیستی نوێ", - "lists.replies_policy.followed": "Any followed user", - "lists.replies_policy.list": "Members of the list", - "lists.replies_policy.none": "No one", - "lists.replies_policy.title": "پیشاندانی وەڵامەکان بۆ:", - "lists.search": "بگەڕێ لەناو ئەو کەسانەی کە شوێنیان کەوتویت", - "lists.subheading": "لیستەکانت", - "load_pending": "{count, plural, one {# new item} other {# new items}}", - "loading_indicator.label": "بارکردن...", - "media_gallery.toggle_visible": "شاردنەوەی {number, plural, one {image} other {images}}", - "missing_indicator.label": "نەدۆزرایەوە", - "missing_indicator.sublabel": "ئەو سەرچاوەیە نادۆزرێتەوە", - "mute_modal.duration": "ماوە", - "mute_modal.hide_notifications": "شاردنەوەی ئاگانامەکان لەم بەکارهێنەرە؟ ", - "mute_modal.indefinite": "نادیار", - "navigation_bar.apps": "بەرنامەی مۆبایل", - "navigation_bar.blocks": "بەکارهێنەرە بلۆککراوەکان", - "navigation_bar.bookmarks": "نیشانکراوەکان", - "navigation_bar.community_timeline": "دەمنامەی ناوخۆیی", - "navigation_bar.compose": "نووسینی توتی نوێ", - "navigation_bar.direct": "نامە ڕاستەوخۆکان", - "navigation_bar.discover": "دۆزینەوە", - "navigation_bar.domain_blocks": "دۆمەینە بلۆک کراوەکان", - "navigation_bar.edit_profile": "دەستکاری پرۆفایل بکە", - "navigation_bar.explore": "Explore", - "navigation_bar.favourites": "دڵخوازەکان", - "navigation_bar.filters": "وشە کپەکان", - "navigation_bar.follow_requests": "بەدواداچوی داواکاریەکان بکە", - "navigation_bar.follows_and_followers": "شوێنکەوتوو و شوێنکەوتوان", - "navigation_bar.info": "دەربارەی ئەم ڕاژە", - "navigation_bar.keyboard_shortcuts": "هۆتکەی", - "navigation_bar.lists": "لیستەکان", - "navigation_bar.logout": "دەرچوون", - "navigation_bar.mutes": "کپکردنی بەکارهێنەران", - "navigation_bar.personal": "کەسی", - "navigation_bar.pins": "توتی چەسپاو", - "navigation_bar.preferences": "پەسەندەکان", - "navigation_bar.public_timeline": "نووسراوەکانی هەمووشوێنێک", - "navigation_bar.security": "ئاسایش", - "notification.admin.sign_up": "{name} signed up", - "notification.favourite": "{name} نووسراوەکەتی پەسەند کرد", - "notification.follow": "{name} دوای تۆ کەوت", - "notification.follow_request": "{name} داوای کردووە کە شوێنت بکەوێت", - "notification.mention": "{name} باسی ئێوەی کرد", - "notification.own_poll": "ڕاپرسیەکەت کۆتایی هات", - "notification.poll": "ڕاپرسییەک کە دەنگی پێداویت کۆتایی هات", - "notification.reblog": "{name} نووسراوەکەتی دووبارە توتاند", - "notification.status": "{name} تازە بڵاوکرایەوە", - "notification.update": "{name} edited a post", - "notifications.clear": "ئاگانامەکان بسڕیەوە", - "notifications.clear_confirmation": "ئایا دڵنیایت لەوەی دەتەوێت بە هەمیشەیی هەموو ئاگانامەکانت بسڕیتەوە?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", - "notifications.column_settings.alert": "ئاگانامەکانی پیشانگەرر ڕومێزی", - "notifications.column_settings.favourite": "دڵخوازترین:", - "notifications.column_settings.filter_bar.advanced": "هەموو پۆلەکان پیشان بدە", - "notifications.column_settings.filter_bar.category": "شریتی پاڵێوەری خێرا", - "notifications.column_settings.filter_bar.show_bar": "Show filter bar", - "notifications.column_settings.follow": "شوێنکەوتوانی نوێ:", - "notifications.column_settings.follow_request": "شوینکەوتنی داواکاری نوێ:", - "notifications.column_settings.mention": "ئاماژەکان:", - "notifications.column_settings.poll": "ئەنجامەکانی ڕاپرسی:", - "notifications.column_settings.push": "ئاگانامەکان پاڵ بنێ", - "notifications.column_settings.reblog": "دووبارەتوتەکان:", - "notifications.column_settings.show": "لە ستووندا پیشان بدە", - "notifications.column_settings.sound": "لێدانی دەنگ", - "notifications.column_settings.status": "توتەکانی نوێ:", - "notifications.column_settings.unread_notifications.category": "Unread notifications", - "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", - "notifications.column_settings.update": "Edits:", - "notifications.filter.all": "هەموو", - "notifications.filter.boosts": "دووبارەتوتەکان", - "notifications.filter.favourites": "دڵخوازەکان", - "notifications.filter.follows": "شوێنکەوتن", - "notifications.filter.mentions": "ئاماژەکان", - "notifications.filter.polls": "ئەنجامەکانی ڕاپرسی", - "notifications.filter.statuses": "نوێکردنەوەکان ئەو کەسانەی کە پەیڕەوی دەکەیت", - "notifications.grant_permission": "Grant permission.", - "notifications.group": "{count} ئاگانامە", - "notifications.mark_as_read": "هەموو ئاگانامەکان وەک خوێندراوەتەوە نیشان بکە", - "notifications.permission_denied": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت وەک ڕێپێدان ڕەتکرایەوە.", - "notifications.permission_denied_alert": "ناتوانرێت ئاگانامەکانی دێسکتۆپ چالاک بکرێت، چونکە پێشتر مۆڵەتی وێبگەڕ ڕەتکرایەوە", - "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", - "notifications_permission_banner.enable": "چالاککردنی ئاگانامەکانی دێسکتۆپ", - "notifications_permission_banner.how_to_control": "بۆ وەرگرتنی ئاگانامەکان کاتێک ماستۆدۆن نەکراوەیە، ئاگانامەکانی دێسکتۆپ چالاک بکە. دەتوانیت بە وردی کۆنترۆڵی جۆری کارلێکەکان بکەیت کە ئاگانامەکانی دێسکتۆپ دروست دەکەن لە ڕێگەی دوگمەی {icon} لەسەرەوە کاتێک چالاک دەکرێن.", - "notifications_permission_banner.title": "هەرگیز شتێک لە دەست مەدە", - "picture_in_picture.restore": "بیگەڕێنەوە", - "poll.closed": "دابخە", - "poll.refresh": "نوێکردنەوە", - "poll.total_people": "{count, plural, one {# خەڵک} other {# خەڵک}}", - "poll.total_votes": "{count, plural, one {# دەنگ} other {# دەنگ}}\n", - "poll.vote": "دەنگ", - "poll.voted": "تۆ دەنگت بەو وەڵامە دا", - "poll.votes": "{votes, plural, one {# vote} other {# votes}}", - "poll_button.add_poll": "ڕاپرسییەک زیاد بکە", - "poll_button.remove_poll": "ده‌نگدان بسڕه‌وه‌‌", - "privacy.change": "ڕێکخستنی تایبەتمەندی توت", - "privacy.direct.long": "تەنیا بۆ بەکارهێنەرانی ناوبراو", - "privacy.direct.short": "ڕاستەوخۆ", - "privacy.private.long": "بینراو تەنها بۆ شوێنکەوتوان", - "privacy.private.short": "تەنها بۆ شوێنکەوتوان", - "privacy.public.long": "بۆ هەمووان دیاربێت، لە هێڵی کاتی گشتی دا نیشان دەدرێت", - "privacy.public.short": "گشتی", - "privacy.unlisted.long": "بۆ هەمووان دیارە، بەڵام لە هێڵی کاتی گشتیدا نا", - "privacy.unlisted.short": "لە لیست نەکراو", - "refresh": "نوێکردنەوە", - "regeneration_indicator.label": "بارکردن…", - "regeneration_indicator.sublabel": "ڕاگەیەنەری ماڵەوەت ئامادە دەکرێت!", - "relative_time.days": "{number}ڕۆژ", - "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", - "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", - "relative_time.full.just_now": "just now", - "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", - "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", - "relative_time.hours": "{number}کات", - "relative_time.just_now": "ئێستا", - "relative_time.minutes": "{number}کات", - "relative_time.seconds": "{number}کات", - "relative_time.today": "ئیمڕۆ", - "reply_indicator.cancel": "هەڵوەشاندنەوه", - "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", - "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", - "report.forward": "ناردن بۆ {target}", - "report.forward_hint": "هەژمارەکە لە ڕاژەیەکی ترە. ڕونووسێکی نەناسراو بنێرە بۆ گوزارشت لەوێ?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", - "report.placeholder": "سەرنجەکانی زیاتر", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "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.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", - "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", - "report.statuses.title": "Are there any posts that back up this report?", - "report.submit": "ناردن", - "report.target": "گوزارشتکردنی{target}", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", - "report.thanks.title": "Don't want to see this?", - "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", - "search.placeholder": "گەڕان", - "search_popout.search_format": "شێوەی گەڕانی پێشکەوتوو", - "search_popout.tips.full_text": "گەڕانێکی دەقی سادە دەتوانێت توتەکانی ئێوە کە، نووسیوتانە،پەسەنتان کردووە، دووبارەتانکردووە، یان ئەو توتانە کە باسی ئێوەی تێدا کراوە پەیدا دەکا. هەروەها ناوی بەکارهێنەران، ناوی پیشاندراو و هەشتەگەکانیش لە خۆ دەگرێت.", - "search_popout.tips.hashtag": "هەشتاگ", - "search_popout.tips.status": "توت", - "search_popout.tips.text": "دەقی سادە هەڵدەسێ بە گەڕاندنەوەی هاوتایی ناوی پیشاندان، ناوی بەکارهێنەر و هاشتاگەکان", - "search_popout.tips.user": "بەکارهێنەر", - "search_results.accounts": "خەڵک", - "search_results.all": "All", - "search_results.hashtags": "هەشتاگ", - "search_results.nothing_found": "Could not find anything for these search terms", - "search_results.statuses": "توتەکان", - "search_results.statuses_fts_disabled": "گەڕانی توتەکان بە ناوەڕۆکیان لەسەر ئەم ڕاژەی ماستۆدۆن چالاک نەکراوە.", - "search_results.total": "{count, number} {count, plural, one {دەرئەنجام} other {دەرئەنجام}}", - "status.admin_account": "کردنەوەی میانڕەوی بەڕێوەبەر بۆ @{name}", - "status.admin_status": "ئەم توتە بکەوە لە ناو ڕووکاری بەڕیوەبەر", - "status.block": "بلۆکی @{name}", - "status.bookmark": "نیشانه", - "status.cancel_reblog_private": "بێبەهێزکردن", - "status.cannot_reblog": "ئەم بابەتە ناتوانرێت بەرزبکرێتەوە", - "status.copy": "ڕوونووسی بەستەر بۆ توت", - "status.delete": "سڕینەوە", - "status.detailed_status": "ڕوانگەی گفتوگۆ بە وردەکاری", - "status.direct": "پەیامی ڕاستەوخۆ @{name}", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", - "status.embed": "نیشتەجێ بکە", - "status.favourite": "دڵخواز", - "status.filtered": "پاڵاوتن", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", - "status.load_more": "بارکردنی زیاتر", - "status.media_hidden": "میدیای شاراوە", - "status.mention": "ناوبنێ @{name}", - "status.more": "زیاتر", - "status.mute": "بێدەنگکردن @{name}", - "status.mute_conversation": "گفتوگۆی بێدەنگ", - "status.open": "ئەم توتە فراوان بکە", - "status.pin": "لکاندن لەسەر پرۆفایل", - "status.pinned": "توتی چەسپکراو", - "status.read_more": "زیاتر بخوێنەوە", - "status.reblog": "بەهێزکردن", - "status.reblog_private": "بەهێزکردن بۆ بینەرانی سەرەتایی", - "status.reblogged_by": "{name} توتی کردەوە", - "status.reblogs.empty": "کەس ئەم توتەی دووبارە نەتوتاندوە ،کاتێک کەسێک وا بکات، لێرە دەرئەکەون.", - "status.redraft": "سڕینەوەی و دووبارە ڕەشنووس", - "status.remove_bookmark": "لابردنی نیشانه", - "status.reply": "وەڵام", - "status.replyAll": "بە نووسراوە وەڵام بدەوە", - "status.report": "گوزارشت @{name}", - "status.sensitive_warning": "ناوەڕۆکی هەستیار", - "status.share": "هاوبەش کردن", - "status.show_less": "کەمتر نیشان بدە", - "status.show_less_all": "کەمتر نیشان بدە بۆ هەمووی", - "status.show_more": "زیاتر پیشان بدە", - "status.show_more_all": "زیاتر نیشان بدە بۆ هەمووی", - "status.show_thread": "نیشاندانی گفتوگۆ", - "status.uncached_media_warning": "بەردەست نیە", - "status.unmute_conversation": "گفتوگۆی بێدەنگ", - "status.unpin": "لابردن لە پرۆفایل", - "suggestions.dismiss": "ڕەتکردنەوەی پێشنیار", - "suggestions.header": "لەوانەیە حەزت لەمەش بێت…", - "tabs_bar.federated_timeline": "گشتی", - "tabs_bar.home": "سەرەتا", - "tabs_bar.local_timeline": "ناوخۆیی", - "tabs_bar.notifications": "ئاگادارییەکان", - "tabs_bar.search": "گەڕان", - "time_remaining.days": "{number, plural, one {# ڕۆژ} other {# ڕۆژ}} ماوە", - "time_remaining.hours": "{number, plural, one {# کات} other {# کات}} ماوە", - "time_remaining.minutes": "{number, plural, one {# خۆلەک} other {# خولەک}} ماوە", - "time_remaining.moments": "ئەو ساتانەی ماونەتەوە", - "time_remaining.seconds": "{number, plural, one {# چرکە} other {# چرکە}} ماوە", - "timeline_hint.remote_resource_not_displayed": "{resource} لە ڕاژەکانی ترەوە پیشان نادرێت.", - "timeline_hint.resources.followers": "شوێنکەوتووان", - "timeline_hint.resources.follows": "شوێنکەوتن", - "timeline_hint.resources.statuses": "توتی کۆن", - "trends.counter_by_accounts": "{count, plural, one {{counter} کەس} other {{counter} کەس}} گفتوگۆ دەکا", - "trends.trending_now": "گۆگران", - "ui.beforeunload": "ڕەشنووسەکەت لە دەست دەچێت ئەگەر لە ماستۆدۆن بڕۆیت.", - "units.short.billion": "{count}ملیار", - "units.short.million": "{count}ملیۆن", - "units.short.thousand": "{count}هەزار", - "upload_area.title": "ڕاکێشان & دانان بۆ بارکردن", - "upload_button.label": "زیادکردنی وێنەکان، ڤیدیۆیەک یان فایلێکی دەنگی", - "upload_error.limit": "سنووری بارکردنی فایل تێپەڕیوە.", - "upload_error.poll": "پەڕگەکە ڕێی پێنەدراوە بە ڕاپرسی باربکرێت.", - "upload_form.audio_description": "بۆ ئەو کەسانەی کە گوێ بیستیان هەیە وەسف دەکات", - "upload_form.description": "وەسف بکە بۆ کەمبینایان", - "upload_form.edit": "دەستکاری", - "upload_form.thumbnail": "گۆڕانی وینۆچکە", - "upload_form.undo": "سڕینەوە", - "upload_form.video_description": "بۆ کەم بینایان و کەم بیستان وەسفی بکە", - "upload_modal.analyzing_picture": "شیکردنەوەی وێنە…", - "upload_modal.apply": "جێبەجێ کردن", - "upload_modal.applying": "Applying…", - "upload_modal.choose_image": "وێنە هەڵبژێرە", - "upload_modal.description_placeholder": "بە دڵ کەین با بە نەشئەی مەی غوباری میحنەتی دونیا", - "upload_modal.detect_text": "دەقی وێنەکە بدۆزیەوە", - "upload_modal.edit_media": "دەستکاریکردنی میدیا", - "upload_modal.hint": "گەر وێنە چکۆلە یان بڕاوەبێت، خاڵی ناوەندی دیار دەکەوێت. خاڵی ناوەندی وێنە بە کرتە یان جێبەجیکردنی رێکبخەن.", - "upload_modal.preparing_ocr": "ئامادەکردنی OCR…", - "upload_modal.preview_label": "پێشبینی ({ratio})", - "upload_progress.label": "بارکردن...", - "video.close": "داخستنی ڤیدیۆ", - "video.download": "داگرتنی فایل", - "video.exit_fullscreen": "دەرچوون لە پڕ شاشە", - "video.expand": "ڤیدیۆفراوان بکە", - "video.fullscreen": "پڕپیشانگەر", - "video.hide": "شاردنەوەی ڤیدیۆ", - "video.mute": "دەنگی کپ", - "video.pause": "وەستان", - "video.play": "پەخشکردن", - "video.unmute": "دەنگ لابدە" + "compose_form.save_changes": "Guhertinan tomar bike", + "compose_form.sensitive.hide": "{count, plural, one {Medya wekî hestiyar nîşan bide} other {Medya wekî hestiyar nîşan bide}}", + "compose_form.sensitive.marked": "{count, plural, one {Medya wekî hestiyar hate nîşan} other {Medya wekî hestiyar nîşan}}", + "compose_form.sensitive.unmarked": "{count, plural, one {Medya wekî hestiyar nehatiye nîşan} other {Medya wekî hestiyar nehatiye nîşan}}", + "compose_form.spoiler.marked": "Hişyariya naverokê rake", + "compose_form.spoiler.unmarked": "Hişyariya naverokê tevlî bike", + "compose_form.spoiler_placeholder": "Li vir hişyariya xwe binivîse", + "confirmation_modal.cancel": "Dev jê berde", + "confirmations.block.block_and_report": "Asteng bike & ragihîne", + "confirmations.block.confirm": "Asteng bike", + "confirmations.block.message": "Ma tu dixwazî ku {name} asteng bikî?", + "confirmations.delete.confirm": "Jê bibe", + "confirmations.delete.message": "Ma tu dixwazî vê şandiyê jê bibî?", + "confirmations.delete_list.confirm": "Jê bibe", + "confirmations.delete_list.message": "Ma tu dixwazî bi awayekî herdemî vê rêzokê jê bibî?", + "confirmations.discard_edit_media.confirm": "Biavêje", + "confirmations.discard_edit_media.message": "Guhertinên neqedandî di danasîna an pêşdîtina medyayê de hene, wan bi her awayî bavêje?", + "confirmations.domain_block.confirm": "Hemî navperê asteng bike", + "confirmations.domain_block.message": "Tu ji xwe bawerî, bi rastî tu dixwazî hemû {domain} asteng bikî? Di gelek rewşan de asteng kirin an jî bêdeng kirin têrê dike û tê tercîh kirin. Tu nikarî naveroka vê navperê di demnameyê an jî agahdariyên xwe de bibînî. Şopînerên te yê di vê navperê were jêbirin.", + "confirmations.logout.confirm": "Derkeve", + "confirmations.logout.message": "Ma tu dixwazî ku derkevî?", + "confirmations.mute.confirm": "Bêdeng bike", + "confirmations.mute.explanation": "Ev ê şandinên ji wan tê û şandinên ku behsa wan dike veşêre, lê hê jî maf dide ku ew şandinên te bibînin û te bişopînin.", + "confirmations.mute.message": "Bi rastî tu dixwazî {name} bêdeng bikî?", + "confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike", + "confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? Bijarte û şandî wê wenda bibin û bersivên ji bo şandiyê resen wê sêwî bimînin.", + "confirmations.reply.confirm": "Bersivê bide", + "confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?", + "confirmations.unfollow.confirm": "Neşopîne", + "confirmations.unfollow.message": "Ma tu dixwazî ku dev ji şopa {name} berdî?", + "conversation.delete": "Axaftinê jê bibe", + "conversation.mark_as_read": "Wekî xwendî nîşan bide", + "conversation.open": "Axaftinê nîşan bide", + "conversation.with": "Bi {names} re", + "directory.federated": "Ji fediversên naskirî", + "directory.local": "Tenê ji {domain}", + "directory.new_arrivals": "Kesên ku nû hatine", + "directory.recently_active": "Di demên dawî de çalak", + "embed.instructions": "Bi jêgirtina koda jêrîn vê şandiyê li ser malpera xwe bicîh bikin.", + "embed.preview": "Wa ye wê wusa xuya bike:", + "emoji_button.activity": "Çalakî", + "emoji_button.custom": "Kesanekirî", + "emoji_button.flags": "Nîşankirî", + "emoji_button.food": "Xwarin û vexwarin", + "emoji_button.label": "Emoji têxe", + "emoji_button.nature": "Sirûştî", + "emoji_button.not_found": "Hestokên lihevhatî nehate dîtin", + "emoji_button.objects": "Tişt", + "emoji_button.people": "Mirov", + "emoji_button.recent": "Pir caran tê bikaranîn", + "emoji_button.search": "Bigere...", + "emoji_button.search_results": "Encamên lêgerînê", + "emoji_button.symbols": "Sembol", + "emoji_button.travel": "Geşt û şûn", + "empty_column.account_suspended": "Ajimêr hatiye rawestandin", + "empty_column.account_timeline": "Li vir şandî tune!", + "empty_column.account_unavailable": "Profîl nayê peydakirin", + "empty_column.blocks": "Te tu bikarhêner asteng nekiriye.", + "empty_column.bookmarked_statuses": "Hîn tu peyamên şûnpelkirî tuneye. Gava ku hûn yek şûnpel bikin, ew ê li vir xûya bike.", + "empty_column.community": "Demnameya herêmî vala ye. Tiştek ji raya giştî re binivsînin da ku rûpel biherike!", + "empty_column.direct": "Hêj peyameke te yê rasterast tuneye. Gava ku tu yekî bişeynî an jî bigirî, ew ê li vir xûya bike.", + "empty_column.domain_blocks": "Hê jî navperên hatine asteng kirin tune ne.", + "empty_column.explore_statuses": "Tiştek niha di rojevê de tune. Paşê vegere!", + "empty_column.favourited_statuses": "Hîn tu peyamên te yên bijare tunene. Gava ku te yekî bijart, ew ê li vir xûya bike.", + "empty_column.favourites": "Hîn tu kes vê peyamê nebijartiye. Gava ku hin kes bijartin, ew ê li vir xûya bikin.", + "empty_column.follow_recommendations": "Wusa dixuye ku ji bo we tu pêşniyar nehatine çêkirin. Hûn dikarin lêgerînê bikarbînin da ku li kesên ku hûn nas dikin bigerin an hashtagên trendî bigerin.", + "empty_column.follow_requests": "Hê jî daxwaza şopandinê tunne ye. Dema daxwazek hat, yê li vir were nîşan kirin.", + "empty_column.hashtag": "Di vê hashtagê de hêj tiştekî tune.", + "empty_column.home": "Demnameya mala we vala ye! Ji bona tijîkirinê bêtir mirovan bişopînin. {suggestions}", + "empty_column.home.suggestions": "Hinek pêşniyaran bibîne", + "empty_column.list": "Di vê rêzokê de hîn tiştek tune ye. Gava ku endamên vê rêzokê peyamên nû biweşînin, ew ê li vir xuya bibin.", + "empty_column.lists": "Hêj qet rêzokê te tunne ye. Dema yek peyda bû, yê li vir were nîşan kirin.", + "empty_column.mutes": "Te tu bikarhêner bêdeng nekiriye.", + "empty_column.notifications": "Hêj hişyariyên te tunene. Dema ku mirovên din bi we re têkilî danîn, hûn ê wê li vir bibînin.", + "empty_column.public": "Li vir tiştekî tuneye! Ji raya giştî re tiştekî binivîsîne, an ji bo tijîkirinê ji rajekerên din bikarhêneran bi destan bişopînin", + "error.unexpected_crash.explanation": "Ji ber xeletîyeke di koda me da an jî ji ber mijara lihevhatina gerokan, ev rûpel rast nehat nîşandan.", + "error.unexpected_crash.explanation_addons": "Ev rûpel bi awayekî rast nehat nîşandan. Ev çewtî mimkûn e ji ber lêzêdekirina gerokan an jî amûrên wergera xweberî pêk tê.", + "error.unexpected_crash.next_steps": "Nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.", + "error.unexpected_crash.next_steps_addons": "Ne çalak kirin û nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.", + "errors.unexpected_crash.copy_stacktrace": "Şopa gemara (stacktrace) tûrikê ra jê bigire", + "errors.unexpected_crash.report_issue": "Pirsgirêkekê ragihîne", + "explore.search_results": "Encamên lêgerînê", + "explore.suggested_follows": "Ji bo te", + "explore.title": "Vekole", + "explore.trending_links": "Nûçe", + "explore.trending_statuses": "Şandî", + "explore.trending_tags": "Hashtag", + "follow_recommendations.done": "Qediya", + "follow_recommendations.heading": "Mirovên ku tu dixwazî ji wan peyaman bibînî bişopîne! Hin pêşnîyar li vir in.", + "follow_recommendations.lead": "Li gorî rêza kronolojîkî peyamên mirovên ku tu dişopînî dê demnameya te de xûya bike. Ji xeletiyan netirse, bi awayekî hêsan her wextî tu dikarî dev ji şopandinê berdî!", + "follow_request.authorize": "Mafê bide", + "follow_request.reject": "Nepejirîne", + "follow_requests.unlocked_explanation": "Tevlî ku ajimêra te ne kilît kiriye, karmendên {domain} digotin qey tu dixwazî ku pêşdîtina daxwazên şopandinê bi destan bike.", + "generic.saved": "Tomarkirî", + "getting_started.developers": "Pêşdebir", + "getting_started.directory": "Rêgeha profîlê", + "getting_started.documentation": "Pelbend", + "getting_started.heading": "Destpêkirin", + "getting_started.invite": "Mirovan Vexwîne", + "getting_started.open_source_notice": "Mastodon nermalava çavkaniya vekirî ye. Tu dikarî pirsgirêkan li ser GitHub-ê ragihînî di {github} de an jî dikarî tevkariyê bikî.", + "getting_started.security": "Sazkariyên ajimêr", + "getting_started.terms": "Mercên karûberan", + "hashtag.column_header.tag_mode.all": "û {additional}", + "hashtag.column_header.tag_mode.any": "an {additional}", + "hashtag.column_header.tag_mode.none": "bêyî {additional}", + "hashtag.column_settings.select.no_options_message": "Ti pêşniyar nehatin dîtin", + "hashtag.column_settings.select.placeholder": "Têkeve hashtagê…", + "hashtag.column_settings.tag_mode.all": "Van hemûyan", + "hashtag.column_settings.tag_mode.any": "Yek ji van", + "hashtag.column_settings.tag_mode.none": "Ne yek ji van", + "hashtag.column_settings.tag_toggle": "Ji bo vê stûnê hin pêvekan tevlî bike", + "home.column_settings.basic": "Bingehîn", + "home.column_settings.show_reblogs": "Bilindkirinan nîşan bike", + "home.column_settings.show_replies": "Bersivan nîşan bide", + "home.hide_announcements": "Reklaman veşêre", + "home.show_announcements": "Reklaman nîşan bide", + "intervals.full.days": "{number, plural, one {# roj} other {# roj}}", + "intervals.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}}\n \n", + "intervals.full.minutes": "{number, plural, one {# xulek} other {# xulek}}", + "keyboard_shortcuts.back": "Vegere paşê", + "keyboard_shortcuts.blocked": "Rêzoka bikarhênerên astengkirî veke", + "keyboard_shortcuts.boost": "Şandiyê bilind bike", + "keyboard_shortcuts.column": "Stûna balkişandinê", + "keyboard_shortcuts.compose": "Bal bikşîne cîhê nivîsê/textarea", + "keyboard_shortcuts.description": "Danasîn", + "keyboard_shortcuts.direct": "Ji stûnê peyamên rasterast veke", + "keyboard_shortcuts.down": "Di rêzokê de dakêşe jêr", + "keyboard_shortcuts.enter": "Şandiyê veke", + "keyboard_shortcuts.favourite": "Şandiya bijarte", + "keyboard_shortcuts.favourites": "Rêzokên bijarte veke", + "keyboard_shortcuts.federated": "Demnameyê federalîkirî veke", + "keyboard_shortcuts.heading": "Kurterêyên klavyeyê", + "keyboard_shortcuts.home": "Demnameyê veke", + "keyboard_shortcuts.hotkey": "Bişkoka kurterê", + "keyboard_shortcuts.legend": "Vê çîrokê nîşan bike", + "keyboard_shortcuts.local": "Demnameya herêmî veke", + "keyboard_shortcuts.mention": "Qala nivîskarî/ê bike", + "keyboard_shortcuts.muted": "Rêzoka bikarhênerên bêdeng kirî veke", + "keyboard_shortcuts.my_profile": "Profîla xwe veke", + "keyboard_shortcuts.notifications": "Stûnê agahdariyan veke", + "keyboard_shortcuts.open_media": "Medya veke", + "keyboard_shortcuts.pinned": "Şandiyên derzîkirî veke", + "keyboard_shortcuts.profile": "Profîla nivîskaran veke", + "keyboard_shortcuts.reply": "Bersivê bide şandiyê", + "keyboard_shortcuts.requests": "Rêzoka daxwazên şopandinê veke", + "keyboard_shortcuts.search": "Bal bide şivika lêgerînê", + "keyboard_shortcuts.spoilers": "Zeviya hişyariya naverokê nîşan bide/veşêre", + "keyboard_shortcuts.start": "Stûna \"destpêkê\" veke", + "keyboard_shortcuts.toggle_hidden": "Nivîsa paş hişyariya naverokê nîşan bide/veşêre", + "keyboard_shortcuts.toggle_sensitivity": "Medyayê nîşan bide/veşêre", + "keyboard_shortcuts.toot": "Dest bi şandiyeke nû bike", + "keyboard_shortcuts.unfocus": "Bal nede cîhê nivîsê /lêgerînê", + "keyboard_shortcuts.up": "Di rêzokê de rake jor", + "lightbox.close": "Bigire", + "lightbox.compress": "Qutîya wêneya nîşan dike bitepisîne", + "lightbox.expand": "Qutîya wêneya nîşan dike fireh bike", + "lightbox.next": "Pêş", + "lightbox.previous": "Paş", + "lists.account.add": "Tevlî rêzokê bike", + "lists.account.remove": "Ji rêzokê rake", + "lists.delete": "Rêzokê jê bibe", + "lists.edit": "Rêzokê serrast bike", + "lists.edit.submit": "Sernavê biguherîne", + "lists.new.create": "Rêzokê tevlî bike", + "lists.new.title_placeholder": "Sernavê rêzoka nû", + "lists.replies_policy.followed": "Bikarhênereke şopandî", + "lists.replies_policy.list": "Endamên rêzokê", + "lists.replies_policy.none": "Ne yek", + "lists.replies_policy.title": "Bersivan nîşan bide:", + "lists.search": "Di navbera kesên ku te dişopînin bigere", + "lists.subheading": "Rêzokên te", + "load_pending": "{count, plural, one {# hêmaneke nû} other {#hêmaneke nû}}", + "loading_indicator.label": "Tê barkirin...", + "media_gallery.toggle_visible": "{number, plural, one {Wêneyê veşêre} other {Wêneyan veşêre}}", + "missing_indicator.label": "Nehate dîtin", + "missing_indicator.sublabel": "Ev çavkanî nehat dîtin", + "mute_modal.duration": "Dem", + "mute_modal.hide_notifications": "Agahdariyan ji ev bikarhêner veşêre?", + "mute_modal.indefinite": "Nediyar", + "navigation_bar.apps": "Sepana mobîl", + "navigation_bar.blocks": "Bikarhênerên astengkirî", + "navigation_bar.bookmarks": "Şûnpel", + "navigation_bar.community_timeline": "Demnameya herêmî", + "navigation_bar.compose": "Şandiyeke nû binivsîne", + "navigation_bar.direct": "Peyamên rasterast", + "navigation_bar.discover": "Vekolê", + "navigation_bar.domain_blocks": "Navparên astengkirî", + "navigation_bar.edit_profile": "Profîl serrast bike", + "navigation_bar.explore": "Vekole", + "navigation_bar.favourites": "Bijarte", + "navigation_bar.filters": "Peyvên bêdengkirî", + "navigation_bar.follow_requests": "Daxwazên şopandinê", + "navigation_bar.follows_and_followers": "Şopandin û şopîner", + "navigation_bar.info": "Derbarê vî rajekarî", + "navigation_bar.keyboard_shortcuts": "Bişkoka kurterê", + "navigation_bar.lists": "Rêzok", + "navigation_bar.logout": "Derkeve", + "navigation_bar.mutes": "Bikarhênerên bêdengkirî", + "navigation_bar.personal": "Kesanî", + "navigation_bar.pins": "Şandiya derzîkirî", + "navigation_bar.preferences": "Sazkarî", + "navigation_bar.public_timeline": "Demnameyê federalîkirî", + "navigation_bar.security": "Ewlehî", + "notification.admin.sign_up": "{name} tomar bû", + "notification.favourite": "{name} şandiya te hez kir", + "notification.follow": "{name} te şopand", + "notification.follow_request": "{name} dixwazê te bişopîne", + "notification.mention": "{name} qale te kir", + "notification.own_poll": "Rapirsîya te qediya", + "notification.poll": "Rapirsiyeke ku te deng daye qediya", + "notification.reblog": "{name} şandiya te bilind kir", + "notification.status": "{name} niha şand", + "notification.update": "{name} şandiyek serrast kir", + "notifications.clear": "Agahdariyan pak bike", + "notifications.clear_confirmation": "Bi rastî tu dixwazî bi awayekî dawî hemû agahdariyên xwe pak bikî?", + "notifications.column_settings.admin.sign_up": "Tomarkirinên nû:", + "notifications.column_settings.alert": "Agahdariyên sermaseyê", + "notifications.column_settings.favourite": "Bijarte:", + "notifications.column_settings.filter_bar.advanced": "Hemû beşan nîşan bide", + "notifications.column_settings.filter_bar.category": "Şivika parzûna bilêz", + "notifications.column_settings.filter_bar.show_bar": "Darika parzûnê nîşan bide", + "notifications.column_settings.follow": "Şopînerên nû:", + "notifications.column_settings.follow_request": "Daxwazên şopandinê nû:", + "notifications.column_settings.mention": "Qalkirin:", + "notifications.column_settings.poll": "Encamên rapirsiyê:", + "notifications.column_settings.push": "Agahdarîyên yekser", + "notifications.column_settings.reblog": "Bilindkirî:", + "notifications.column_settings.show": "Di nav stûnê de nîşan bike", + "notifications.column_settings.sound": "Deng lêxe", + "notifications.column_settings.status": "Şandiyên nû:", + "notifications.column_settings.unread_notifications.category": "Agahdariyên nexwendî", + "notifications.column_settings.unread_notifications.highlight": "Agahiyên nexwendî nîşan bike", + "notifications.column_settings.update": "Serrastkirin:", + "notifications.filter.all": "Hemû", + "notifications.filter.boosts": "Bilindkirî", + "notifications.filter.favourites": "Bijarte", + "notifications.filter.follows": "Şopîner", + "notifications.filter.mentions": "Qalkirin", + "notifications.filter.polls": "Encamên rapirsiyê", + "notifications.filter.statuses": "Ji kesên tu dişopînî re rojanekirin", + "notifications.grant_permission": "Destûrê bide.", + "notifications.group": "{count} agahdarî", + "notifications.mark_as_read": "Hemî agahdarîya wek xwendî nîşan bike", + "notifications.permission_denied": "Agahdarîyên sermaseyê naxebite ji ber ku berê de daxwazî ya destûr dayîna gerokê hati bû red kirin", + "notifications.permission_denied_alert": "Agahdarîyên sermaseyê nay çalak kirin, ji ber ku destûr kirina gerokê pêşî de hati bû red kirin", + "notifications.permission_required": "Agahdarîyên sermaseyê naxebite çunkî mafê pêwîst dike nehatiye dayîn.", + "notifications_permission_banner.enable": "Agahdarîyên sermaseyê çalak bike", + "notifications_permission_banner.how_to_control": "Da ku agahdariyên mastodon bistînî gava ne vekirî be. Agahdariyên sermaseyê çalak bike\n Tu dikarî agahdariyên sermaseyê bi rê ve bibî ku bi hemû cureyên çalakiyên ên ku agahdariyan rû didin ku bi riya tikandînê li ser bişkoka {icon} çalak dibe.", + "notifications_permission_banner.title": "Tu tiştî bîr neke", + "picture_in_picture.restore": "Vegerîne paş", + "poll.closed": "Girtî", + "poll.refresh": "Nû bike", + "poll.total_people": "{count, plural, one {# kes} other {# kes}}", + "poll.total_votes": "{count, plural, one {# deng} other {# deng}}", + "poll.vote": "Deng bide", + "poll.voted": "Te dengê xwe da vê bersivê", + "poll.votes": "{votes, plural, one {# deng} other {# deng}}", + "poll_button.add_poll": "Rapirsîyek zêde bike", + "poll_button.remove_poll": "Rapirsî yê rake", + "privacy.change": "Nepênîtiya şandiyan biguherîne", + "privacy.direct.long": "Tenê ji bo bikarhênerên qalkirî tê dîtin", + "privacy.direct.short": "Taybet", + "privacy.private.long": "Tenê bo şopîneran xuyabar e", + "privacy.private.short": "Tenê şopîneran", + "privacy.public.long": "Ji bo herkesî li berçav e, di demnameyên gelemperî de dê xûyakirin", + "privacy.public.short": "Gelemperî", + "privacy.unlisted.long": "Ji herkesî ra tê xûya, lê demnameyê gelemperî ra nay xûyakirin", + "privacy.unlisted.short": "Nerêzok", + "refresh": "Nû bike", + "regeneration_indicator.label": "Tê barkirin…", + "regeneration_indicator.sublabel": "Mala te da tê amedekirin!", + "relative_time.days": "{number}r", + "relative_time.full.days": "{number, plural, one {# roj} other {# roj}} berê", + "relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê", + "relative_time.full.just_now": "hema niha", + "relative_time.full.minutes": "{number, plural, one {# xulek} other {# xulek}} berê", + "relative_time.full.seconds": "{number, plural, one {# çirke} other {# çirke}} berê", + "relative_time.hours": "{number}d", + "relative_time.just_now": "niha", + "relative_time.minutes": "{number}x", + "relative_time.seconds": "{number}ç", + "relative_time.today": "îro", + "reply_indicator.cancel": "Dev jê berde", + "report.block": "Asteng bike", + "report.block_explanation": "Tu yê şandiyên wan nebînî. Ew ê nikaribin şandiyên te bibînin an jî te bişopînin. Ew ê bizanibin ku ew hatine astengkirin.", + "report.categories.other": "Yên din", + "report.categories.spam": "Nexwestî (Spam)", + "report.categories.violation": "Naverok yek an çend rêbazên rajekar binpê dike", + "report.category.subtitle": "Baştirîn lihevhatin hilbijêre", + "report.category.title": "Ji me re bêje ka çi diqewime bi vê {type} re", + "report.category.title_account": "profîl", + "report.category.title_status": "şandî", + "report.close": "Qediya", + "report.comment.title": "Tiştek din heye ku tu difikirî ku divê em zanibin?", + "report.forward": "Biçe bo {target}", + "report.forward_hint": "Ajimêr ji rajekarek din da ne. Tu kopîyeka anonîm ya raporê bişînî li wur?", + "report.mute": "Bêdeng bike", + "report.mute_explanation": "Tê yê şandiyên wan nebînî. Ew hin jî dikarin te bişopînin û şandiyên te bibînin û wê nizanibin ku ew hatine bêdengkirin.", + "report.next": "Pêş", + "report.placeholder": "Şiroveyên zêde", + "report.reasons.dislike": "Ez jê hez nakim", + "report.reasons.dislike_description": "Ew ne tiştek e ku tu dixwazî bibînî", + "report.reasons.other": "Tiştekî din e", + "report.reasons.other_description": "Pirsgirêk di kategoriyên din de cih nagire", + "report.reasons.spam": "Ew spam e", + "report.reasons.spam_description": "Girêdanên xerab, tevlêbûna sexte, an jî bersivên dubarekirî", + "report.reasons.violation": "Ew rêzikên rajekar binpê dike", + "report.reasons.violation_description": "Tu dizanî ku ew rêzikên taybetiyê binpê dike", + "report.rules.subtitle": "Hemûyên ku têne sepandin hibijêre", + "report.rules.title": "Kîjan rêzik têne binpêkirin?", + "report.statuses.subtitle": "Hemûyên ku têne sepandin hibijêre", + "report.statuses.title": "Tu şandiyên ku vê ragihandinê piştgirî dikin hene?", + "report.submit": "Bişîne", + "report.target": "Ragihandin {target}", + "report.thanks.take_action": "Li vir vebijêrkên te hene ji bo kontrolkirina tiştê ku tu li se Mastodon dibînî:", + "report.thanks.take_action_actionable": "Dema ku em vê yekê dinirxînin, tu dikarî li dijî @{name} tedbîran bigirî:", + "report.thanks.title": "Tu naxwazî vê bibînî?", + "report.thanks.title_actionable": "Spas ji bo ragihandina te, em ê binirxînin.", + "report.unfollow": "@{name} neşopîne", + "report.unfollow_explanation": "Tê vê ajimêrê dişopînî. Ji bo ku êdî şandiyên wan di rojeva xwe de nebînî, wan neşopîne.", + "search.placeholder": "Bigere", + "search_popout.search_format": "Dirûva lêgerîna pêşketî", + "search_popout.tips.full_text": "Nivîsên hêsan, şandiyên ku te nivîsandiye, bijare kiriye, bilind kiriye an jî yên behsa te kirine û her wiha navê bikarhêneran, navên xûya dike û hashtagan vedigerîne.", + "search_popout.tips.hashtag": "hashtag", + "search_popout.tips.status": "şandî", + "search_popout.tips.text": "Nivîsên hêsan, navên xûya ên ku li hev hatî, bikarhêner û hashtagan vedigerîne", + "search_popout.tips.user": "bikarhêner", + "search_results.accounts": "Mirov", + "search_results.all": "Hemû", + "search_results.hashtags": "Hashtag", + "search_results.nothing_found": "Ji bo van peyvên lêgerînê tiştek nehate dîtin", + "search_results.statuses": "Şandî", + "search_results.statuses_fts_disabled": "Di vê rajekara Mastodonê da lêgerîna şandîyên li gorî naveroka wan ne çalak e.", + "search_results.total": "{count, number} {count, plural, one {encam} other {encam}}", + "status.admin_account": "Ji bo @{name} navrûya venihêrtinê veke", + "status.admin_status": "Vê şandîyê di navrûya venihêrtinê de veke", + "status.block": "@{name} asteng bike", + "status.bookmark": "Şûnpel", + "status.cancel_reblog_private": "Bilind neke", + "status.cannot_reblog": "Ev şandî nayê bilindkirin", + "status.copy": "Girêdanê jê bigire bo weşankirinê", + "status.delete": "Jê bibe", + "status.detailed_status": "Dîtina axaftina berfireh", + "status.direct": "Peyama rasterast @{name}", + "status.edit": "Serrast bike", + "status.edited": "Di {date} de hate serrastkirin", + "status.edited_x_times": "{count, plural, one {{count} car} other {{count} car}} hate serrastkirin", + "status.embed": "Hedimandî", + "status.favourite": "Bijarte", + "status.filtered": "Parzûnkirî", + "status.history.created": "{name} {date} afirand", + "status.history.edited": "{name} {date} serrast kir", + "status.load_more": "Bêtir bar bike", + "status.media_hidden": "Medya veşartî ye", + "status.mention": "Qal @{name} bike", + "status.more": "Bêtir", + "status.mute": "@{name} Bêdeng bike", + "status.mute_conversation": "Axaftinê bêdeng bike", + "status.open": "Vê şandiyê berferh bike", + "status.pin": "Li ser profîlê derzî bike", + "status.pinned": "Şandiya derzîkirî", + "status.read_more": "Bêtir bixwîne", + "status.reblog": "Bilind bike", + "status.reblog_private": "Bi dîtina resen bilind bike", + "status.reblogged_by": "{name} bilind kir", + "status.reblogs.empty": "Kesekî hin ev şandî bilind nekiriye. Gava kesek bilind bike, ew ên li vir werin xuyakirin.", + "status.redraft": "Jê bibe & ji nû ve reşnivîs bike", + "status.remove_bookmark": "Şûnpêlê jê rake", + "status.reply": "Bersivê bide", + "status.replyAll": "Mijarê bibersivîne", + "status.report": "{name} gilî bike", + "status.sensitive_warning": "Naveroka hestiyarî", + "status.share": "Parve bike", + "status.show_less": "Kêmtir nîşan bide", + "status.show_less_all": "Ji bo hemîyan kêmtir nîşan bide", + "status.show_more": "Hêj zehftir nîşan bide", + "status.show_more_all": "Bêtir nîşan bide bo hemûyan", + "status.show_thread": "Mijarê nîşan bide", + "status.uncached_media_warning": "Tune ye", + "status.unmute_conversation": "Axaftinê bêdeng neke", + "status.unpin": "Şandiya derzîkirî ji profîlê rake", + "suggestions.dismiss": "Pêşniyarê paşguh bike", + "suggestions.header": "Dibe ku bala te bikşîne…", + "tabs_bar.federated_timeline": "Giştî", + "tabs_bar.home": "Serrûpel", + "tabs_bar.local_timeline": "Herêmî", + "tabs_bar.notifications": "Agahdarî", + "tabs_bar.search": "Bigere", + "time_remaining.days": "{number, plural, one {# roj} other {# roj}} maye", + "time_remaining.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} maye", + "time_remaining.minutes": "{number, plural, one {# xulek} other {# xulek}} maye", + "time_remaining.moments": "Demên mayî", + "time_remaining.seconds": "{number, plural, one {# çirke} other {# çirke}} maye", + "timeline_hint.remote_resource_not_displayed": "{resource} Ji rajekerên din nayê dîtin.", + "timeline_hint.resources.followers": "Şopîner", + "timeline_hint.resources.follows": "Şopîner", + "timeline_hint.resources.statuses": "Şandiyên kevn", + "trends.counter_by_accounts": "{count, plural, one {{counter} kes} other {{counter} kes}} diaxivin", + "trends.trending_now": "Rojev", + "ui.beforeunload": "Ger ji Mastodonê veketi wê reşnivîsa te jî winda bibe.", + "units.short.billion": "{count}B", + "units.short.million": "{count}M", + "units.short.thousand": "{count}H", + "upload_area.title": "Ji bo barkirinê kaş bike û deyne", + "upload_button.label": "Wêne, vîdeoyek an jî pelê dengî tevlî bike", + "upload_error.limit": "Sînora barkirina pelan derbas bû.", + "upload_error.poll": "Di rapirsîyan de mafê barkirina pelan nayê dayîn.", + "upload_form.audio_description": "Ji bona kesên kêm dibihîsin re pênase bike", + "upload_form.description": "Ji bona astengdarên dîtinê re vebêje", + "upload_form.edit": "Serrast bike", + "upload_form.thumbnail": "Wêneyê biçûk biguherîne", + "upload_form.undo": "Jê bibe", + "upload_form.video_description": "Ji bo kesên kerr û lalan pênase bike", + "upload_modal.analyzing_picture": "Wêne tê analîzkirin…", + "upload_modal.apply": "Bisepîne", + "upload_modal.applying": "Tê sepandin…", + "upload_modal.choose_image": "Wêneyê hilbijêre", + "upload_modal.description_placeholder": "Rovîyek qehweyî û bilez li ser kûçikê tîral banz dide", + "upload_modal.detect_text": "Ji nivîsa wêneyê re serwext be", + "upload_modal.edit_media": "Medyayê sererast bike", + "upload_modal.hint": "Ji bo hilbijartina xala navendê her tim dîmenê piçûk de pêşdîtina çerxê bitikîne an jî kaş bike.", + "upload_modal.preparing_ocr": "OCR dihê amadekirin…", + "upload_modal.preview_label": "Pêşdîtin ({ratio})", + "upload_progress.label": "Tê barkirin...", + "video.close": "Vîdyoyê bigire", + "video.download": "Pelê daxe", + "video.exit_fullscreen": "Ji dîmendera tijî derkeve", + "video.expand": "Vîdyoyê berferh bike", + "video.fullscreen": "Dimendera tijî", + "video.hide": "Vîdyo veşêre", + "video.mute": "Dengê qut bike", + "video.pause": "Rawestîne", + "video.play": "Vêxe", + "video.unmute": "Dengê qut neke" } diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index 22ecf7dfe..f7eddd11b 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -171,7 +171,7 @@ "empty_column.explore_statuses": "ไม่มีสิ่งใดที่กำลังนิยมในตอนนี้ กลับมาตรวจสอบในภายหลัง!", "empty_column.favourited_statuses": "คุณยังไม่มีโพสต์ที่ชื่นชอบใด ๆ เมื่อคุณชื่นชอบโพสต์ โพสต์จะปรากฏที่นี่", "empty_column.favourites": "ยังไม่มีใครชื่นชอบโพสต์นี้ เมื่อใครสักคนชื่นชอบ เขาจะปรากฏที่นี่", - "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_recommendations": "ดูเหมือนว่าจะไม่สามารถสร้างข้อเสนอแนะสำหรับคุณ คุณสามารถลองใช้การค้นหาเพื่อมองหาผู้คนที่คุณอาจรู้จักหรือสำรวจแฮชแท็กที่กำลังนิยม", "empty_column.follow_requests": "คุณยังไม่มีคำขอติดตามใด ๆ เมื่อคุณได้รับคำขอ คำขอจะปรากฏที่นี่", "empty_column.hashtag": "ยังไม่มีสิ่งใดในแฮชแท็กนี้", "empty_column.home": "เส้นเวลาหน้าแรกของคุณว่างเปล่า! ติดตามผู้คนเพิ่มเติมเพื่อเติมเส้นเวลาให้เต็ม {suggestions}", @@ -180,7 +180,7 @@ "empty_column.lists": "คุณยังไม่มีรายการใด ๆ เมื่อคุณสร้างรายการ รายการจะปรากฏที่นี่", "empty_column.mutes": "คุณยังไม่ได้ซ่อนผู้ใช้ใด ๆ", "empty_column.notifications": "คุณยังไม่มีการแจ้งเตือนใด ๆ เมื่อผู้คนอื่น ๆ โต้ตอบกับคุณ คุณจะเห็นการแจ้งเตือนที่นี่", - "empty_column.public": "ไม่มีสิ่งใดที่นี่! เขียนบางอย่างเป็นสาธารณะ หรือติดตามผู้ใช้จากเซิร์ฟเวอร์อื่น ๆ ด้วยตนเองเพื่อเติมให้เต็ม", + "empty_column.public": "ไม่มีสิ่งใดที่นี่! เขียนบางอย่างเป็นสาธารณะ หรือติดตามผู้ใช้จากเซิร์ฟเวอร์อื่น ๆ ด้วยตนเองเพื่อเติมเส้นเวลาให้เต็ม", "error.unexpected_crash.explanation": "เนื่องจากข้อบกพร่องในโค้ดของเราหรือปัญหาความเข้ากันได้ของเบราว์เซอร์ จึงไม่สามารถแสดงหน้านี้ได้อย่างถูกต้อง", "error.unexpected_crash.explanation_addons": "ไม่สามารถแสดงหน้านี้ได้อย่างถูกต้อง ข้อผิดพลาดนี้เป็นไปได้ว่าเกิดจากส่วนเสริมของเบราว์เซอร์หรือเครื่องมือการแปลอัตโนมัติ", "error.unexpected_crash.next_steps": "ลองรีเฟรชหน้า หากนั่นไม่ช่วย คุณอาจยังสามารถใช้ Mastodon ได้ผ่านเบราว์เซอร์อื่นหรือแอป", @@ -294,7 +294,7 @@ "navigation_bar.discover": "ค้นพบ", "navigation_bar.domain_blocks": "โดเมนที่ปิดกั้นอยู่", "navigation_bar.edit_profile": "แก้ไขโปรไฟล์", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "สำรวจ", "navigation_bar.favourites": "รายการโปรด", "navigation_bar.filters": "คำที่ซ่อนอยู่", "navigation_bar.follow_requests": "คำขอติดตาม", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 41f44fd12..06bb94307 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -408,9 +408,9 @@ "report.placeholder": "Додаткові коментарі", "report.reasons.dislike": "Мені це не подобається", "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", + "report.reasons.other": "Це щось інше", "report.reasons.other_description": "The issue does not fit into other categories", - "report.reasons.spam": "It's spam", + "report.reasons.spam": "Це спам", "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.violation": "It violates server rules", "report.reasons.violation_description": "You are aware that it breaks specific rules", diff --git a/app/javascript/mastodon/locales/whitelist_ckb.json b/app/javascript/mastodon/locales/whitelist_ckb.json new file mode 100644 index 000000000..0d4f101c7 --- /dev/null +++ b/app/javascript/mastodon/locales/whitelist_ckb.json @@ -0,0 +1,2 @@ +[ +] diff --git a/app/javascript/mastodon/locales/zh-CN.json b/app/javascript/mastodon/locales/zh-CN.json index ae0c5e3d4..9e306688e 100644 --- a/app/javascript/mastodon/locales/zh-CN.json +++ b/app/javascript/mastodon/locales/zh-CN.json @@ -294,7 +294,7 @@ "navigation_bar.discover": "发现", "navigation_bar.domain_blocks": "已屏蔽的网站", "navigation_bar.edit_profile": "修改个人资料", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "探索", "navigation_bar.favourites": "喜欢", "navigation_bar.filters": "隐藏关键词", "navigation_bar.follow_requests": "关注请求", diff --git a/config/locales/activerecord.ca.yml b/config/locales/activerecord.ca.yml index e74146645..fba97157f 100644 --- a/config/locales/activerecord.ca.yml +++ b/config/locales/activerecord.ca.yml @@ -19,12 +19,12 @@ ca: account: attributes: username: - invalid: només lletres, números i subratllats + invalid: ha de contenir només lletres, números i subratllats reserved: està reservat status: attributes: reblog: - taken: del tut ja existeix + taken: de la publicació ja existeix user: attributes: email: diff --git a/config/locales/activerecord.ckb.yml b/config/locales/activerecord.ckb.yml new file mode 100644 index 000000000..8da0598a1 --- /dev/null +++ b/config/locales/activerecord.ckb.yml @@ -0,0 +1,17 @@ +--- +ckb: + activerecord: + attributes: + poll: + expires_at: وادەی کۆتایی + options: هەڵبژاردنەکان + errors: + models: + account: + attributes: + username: + invalid: تەنها پیت، ژمارە و ژێرەوە + status: + attributes: + reblog: + taken: لە بار بوونی هەیە diff --git a/config/locales/activerecord.da.yml b/config/locales/activerecord.da.yml index 513cb2a8f..081f4af76 100644 --- a/config/locales/activerecord.da.yml +++ b/config/locales/activerecord.da.yml @@ -3,7 +3,7 @@ da: activerecord: attributes: poll: - expires_at: Tidsfrist + expires_at: Deadline options: Valgmuligheder user: agreement: Tjenesteaftale @@ -29,4 +29,4 @@ da: attributes: email: blocked: bruger en ikke-tilladt e-mailudbyder - unreachable: synes ikke at findes + unreachable: ser ikke ud til at eksistere diff --git a/config/locales/activerecord.ku.yml b/config/locales/activerecord.ku.yml index 3b976de8c..3a3a1d843 100644 --- a/config/locales/activerecord.ku.yml +++ b/config/locales/activerecord.ku.yml @@ -3,15 +3,30 @@ ku: activerecord: attributes: poll: - expires_at: وادەی کۆتایی - options: هەڵبژاردنەکان + expires_at: Dîroka dawîbûnê + options: Hilbijark + user: + agreement: Peymana karûbarê + email: Navnîşana E-nameyê + locale: Herêmî + password: Pêborîn + user/account: + username: Navê bikarhêneriyê + user/invite_request: + text: Sedem errors: models: account: attributes: username: - invalid: تەنها پیت، ژمارە و ژێرەوە + invalid: pêdivî ye ku tenê tîp, hejmar û xêzikên jêrîn hebin + reserved: hatiye bikaranîn status: attributes: reblog: - taken: لە بار بوونی هەیە + taken: ev nivîs berê heye jixwe + user: + attributes: + email: + blocked: dabînkerê e-nameya qedexe bi kar tîne + unreachable: xuya ye ku tune ye diff --git a/config/locales/activerecord.th.yml b/config/locales/activerecord.th.yml index 775ca2edc..26604ba5f 100644 --- a/config/locales/activerecord.th.yml +++ b/config/locales/activerecord.th.yml @@ -29,4 +29,4 @@ th: attributes: email: blocked: ใช้ผู้ให้บริการอีเมลที่ไม่ได้รับอนุญาต - unreachable: ดูเหมือนว่าจะไม่มีอยู่จริง + unreachable: ดูเหมือนว่าจะไม่มีอยู่ diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 403780ba9..4ccadab8b 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -1342,7 +1342,6 @@ ar: other: 'يحتوي على وسوم غير مسموح بها: %{tags}' two: 'يحتوي على وسوم غير مسموح بها: %{tags}' zero: 'يحتوي على وسوم غير مسموح بها: %{tags}' - edited_at: عُدّل في %{date} errors: in_reply_not_found: إنّ المنشور الذي تحاول الرد عليه غير موجود على ما يبدو. open_in_web: افتح في الويب diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 69d2ae635..460feb037 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -1437,7 +1437,7 @@ ca: disallowed_hashtags: one: 'conté una etiqueta no permesa: %{tags}' other: 'conté les etiquetes no permeses: %{tags}' - edited_at: Editat %{date} + edited_at_html: Editat %{date} errors: in_reply_not_found: El tut al qual intentes respondre sembla que no existeix. open_in_web: Obre en la web diff --git a/config/locales/ckb.yml b/config/locales/ckb.yml new file mode 100644 index 000000000..c7b26e23e --- /dev/null +++ b/config/locales/ckb.yml @@ -0,0 +1,1213 @@ +--- +ckb: + about: + about_hashtag_html: ئەمانە توتی گشتین بە هەشتەگی گشتی #%{hashtag}}. گەر ئێوە لە هەر ڕاژەیەک هەژمارەتان بێت دەتوانیت لێرە بەم نووسراوانە هاوئاهەنگ بن. + about_mastodon_html: 'تۆڕی کۆمەڵایەتی داهاتوو: هیچ ڕیکلامێک ، هیچ چاودێرییەکی کۆمپانیا ، دیزاینی ئەخلاقی و لامەرکەزی! خاوەنی داتاکانت نابێ لە ماستۆدۆن!' + about_this: دەربارە + active_count_after: چالاک + active_footnote: بەکارهێنەرانی چالاکی مانگانە (MAU) + administered_by: 'بەڕێوەبراو لەلایەن:' + apps: ئەپەکانی مۆبایل + apps_platforms: بەکارهێنانی ماستۆدۆن لە iOS، ئەندرۆید و سەکۆکانی تر + browse_directory: گەڕان لە ڕێبەرێکی پرۆفایل و پاڵاوتن بەپێی بەرژەوەندیەکان + browse_local_posts: گەڕانی ڕاستەوخۆ لە نووسراوە گشتیەکان لەم ڕاژەوە + browse_public_posts: گەڕان لە جۆگەیەکی زیندووی نووسراوە گشتیەکان لەسەر ماستۆدۆن + contact: بەردەنگ + contact_missing: سازنەکراوە + contact_unavailable: بوونی نییە + discover_users: پەیداکردنی بەکارهێنەران + documentation: بەڵگەکان + federation_hint_html: بە هەژمارەیەک لەسەر %{instance} دەتوانیت شوێن خەڵک بکەویت لەسەر هەرڕاژەیەکی ماستۆدۆن. + get_apps: ئەپێکی تەلەفۆن تاقی بکەرەوە + hosted_on: مەستودۆن میوانداری کراوە لە %{domain} + instance_actor_flash: | + ئەم هەژمارەیە ئەکتەرێکی خەیاڵی بەکارهاتووە بۆ نوێنەرایەتی کردنی خودی ڕاژەکە و نەک هیچ بەکارهێنەرێکی تاک. + بۆ مەبەستی فیدراسیۆن بەکاردێت و نابێت بلۆک بکرێت مەگەر دەتەوێت هەموو نمونەکە بلۆک بکەیت، کە لە حاڵەتەش دا پێویستە بلۆکی دۆمەین بەکاربهێنیت. + learn_more: زیاتر فێربه + privacy_policy: ڕامیاری تایبەتێتی + see_whats_happening: بزانە چی ڕوودەدات + server_stats: 'زانیاری ڕاژەکار:' + source_code: کۆدی سەرچاوە + status_count_after: + one: دۆخ + other: دۆخەکان + status_count_before: لە لایەن یەکەوە + tagline: دوای هاوڕێکان بکەوە و ئەوانەی نوێ بدۆزیەوە + terms: مەرجەکانی خزمەتگوزاری + unavailable_content: ڕاژەی چاودێریکراو + unavailable_content_description: + domain: ڕاژەکار + reason: هۆکار + rejecting_media: 'پەڕگەکانی میدیا لەم ڕاژانەوە پرۆسە ناکرێت یان هەڵناگیرێن، و هیچ وێنۆچکەیەک پیشان نادرێت، پێویستی بە کرتە کردنی دەستی هەیە بۆ فایلە سەرەکیەکە:' + rejecting_media_title: پاڵێوەری میدیا + silenced: 'بابەتەکانی ئەم ڕاژانە لە هێڵی کاتی گشتی و گفتوگۆکاندا دەشاردرێنەوە، و هیچ ئاگانامێک دروست ناکرێت لە چالاکی بەکارهێنەرانیان، مەگەر تۆ بەدوایان دەچیت:' + silenced_title: ڕاژە ناچالاکەکان + suspended: 'هیچ داتایەک لەم ڕاژانەوە پرۆسە ناکرێت، خەزن دەکرێت یان دەگۆڕدرێتەوە، وا دەکات هیچ کارلێک یان پەیوەندییەک لەگەڵ بەکارهێنەران لەم ڕاژانە مەحاڵ بێت:' + suspended_title: ڕاژە ڕاگیراوەکان + unavailable_content_html: ماستۆدۆن بە گشتی ڕێگەت پێدەدات بۆ پیشاندانی ناوەڕۆک لە و کارلێ کردن لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی تر بە گشتی. ئەمانە ئەو بەدەرکردنانەن کە کراون لەسەر ئەم ڕاژە تایبەتە. + user_count_after: + one: بەکارهێنەر + other: بەکارهێنەران + user_count_before: "`خاوەن" + what_is_mastodon: ماستۆدۆن چییە? + accounts: + choices_html: 'هەڵبژاردنەکانی %{name}:' + endorsements_hint: دەتوانیت ئەو کەسانە پەسەند بکەیت کە پەیڕەویان دەکەیت لە ڕووکاری وێب، و ئەوان لێرە دەردەکەون. + featured_tags_hint: دەتوانیت هاشتاگی تایبەت پێشکەش بکەیت کە لێرە پیشان دەدرێت. + follow: شوێن کەوە + followers: + one: شوێنکەوتوو + other: شوێن‌کەوتووان + following: شوێن‌کەوتووی + joined: بەشداری %{date} + last_active: دوا چالاکی + link_verified_on: خاوەنداریەتی ئەم لینکە لە %{date} چێک کراوە + media: میدیا + moved_html: "%{name} گواستراوەتەوە بۆ %{new_profile_link}:" + network_hidden: ئەم زانیاریە بەردەست نیە + nothing_here: لێرە هیچ نییە! + people_followed_by: ئەو کەسانەی کە %{name} بەدوایدا دەکەون + people_who_follow: ئەو کەسانەی کە بەدوای %{name} دا دەکەون + pin_errors: + following: تۆ دەبێت هەر ئێستا بە دوای ئەو کەسەدا بیت کە دەتەوێت پەسەندی بکەیت + posts: + one: توت + other: تووتەکان + posts_tab_heading: تووتەکان + posts_with_replies: تووتەکان و وڵامەکان + roles: + admin: بەڕێوەبەر + bot: بۆت + group: گرووپ + moderator: مۆد + unavailable: پرۆفایل بەردەست نیە + unfollow: بەدوادانەچو + admin: + account_actions: + action: ئەنجامدانی کردار + title: ئەنجامدانی کاری بەڕێوەبردن لە %{acct} + account_moderation_notes: + create: جێهێشتنی تێبینی + created_msg: تێبینی بەڕێوەبەر بە سەرکەوتوویی دروست کرا! + destroyed_msg: تێبینی بەڕێوەبەر بە سەرکەوتوویی لەناوچوو! + accounts: + add_email_domain_block: بلۆککردنی هەموو دۆمەینەکە + approve: پەسەند کردن + approved_msg: بەرنامەی تۆمارکردنی %{username} بۆ چوونەناوی پەسەند کرا + are_you_sure: دڵنیای? + avatar: وێنۆچکە + by_domain: دۆمەین + change_email: + changed_msg: ئیمەیڵی ئەژمێر بە سەرکەوتوویی گۆڕا! + current_email: ئیمەیلی ئێستا + label: گۆڕینی ئیمێڵ + new_email: ئیمەیڵی نوێ + submit: گۆڕینی ئیمێڵ + title: گۆڕینی ئیمەیڵ بۆ %{username} + confirm: پشتڕاستی بکەوە + confirmed: پشتڕاست کرا + confirming: پشتڕاستکردنەوە + delete: سڕینەوەی داتا + deleted: سڕینەوە + demote: پلە نزمکرایەوە + destroyed_msg: دراوەکانی %{username} لە ڕیزی سڕینەوەن + disable: بەستن + disable_two_factor_authentication: لەکارخستنی 2FA + disabled: بەستوو + display_name: ناوی پیشاندان + domain: دۆمەین + edit: دەستکاری + email: پۆستی ئەلکترۆنی + email_status: دۆخی ئیمەیڵ + enable: چالاک کردن + enabled: چالاککراوە + enabled_msg: هەژمارە %{username} بە سەرکەوتوویی سنووردار کرا + followers: شوێنکەوتوان + follows: شوێنکەوتوان + header: سەرپەڕە + inbox_url: نیشانی هاتنەژوور + invited_by: هاتۆتە ژورەوە لە لایەن + ip: ئای‌پی + joined: ئەندام بوو لە + location: + all: هەموو + local: ناوخۆیی + remote: دوور + title: شوێن + login_status: دۆخی چوونەژوورەوە + media_attachments: هاوپێچی میدیا + memorialize: گۆڕان بە یادەوەری + memorialized: بیرکەوتنەوە + memorialized_msg: بە سەرکەوتوویی %{username} بۆ هەژمارێکی بیرەوەری گۆڕا + moderation: + active: چالاک + all: هەموو + pending: چاوەڕوان + suspended: ڕاگرتن + title: بەڕێوەبردن + moderation_notes: بەڕێوەبردنی تێبینیەکان + most_recent_activity: نوێترین چالاکی + most_recent_ip: نوێترین ئای پی + no_account_selected: هیچ هەژمارەیەک نەگۆڕاوە وەک ئەوەی هیچ یەکێک دیاری نەکراوە + no_limits_imposed: هیچ سنوورێک نەسەپێنرا + not_subscribed: بەشدار نەبوو + pending: پێداچوونەوەی چاوەڕوان + perform_full_suspension: ڕاگرتن + promote: بەرزکردنەوە + protocol: پرۆتۆکۆل + public: گشتی + push_subscription_expires: بەشداری PuSH بەسەر دەچێت + redownload: نوێکردنەوەی پرۆفایل + redownloaded_msg: پرۆفایلی %{username} لە بنەڕەتەوە بە سەرکەوتوویی نوێکرایەوە + reject: ڕەتکردنەوە + rejected_msg: بەرنامەی تۆمارکردنی %{username} بە سەرکەوتوویی ڕەتکرایەوە + remove_avatar: لابردنی وێنۆجکە + remove_header: سەرپەڕ لابدە + removed_avatar_msg: وێنەی ئەڤاتار %{username} بە سەرکەوتوویی لابرا + removed_header_msg: بە سەرکەوتوویی وێنەی سەرپەڕەی %{username} لابرا + resend_confirmation: + already_confirmed: ئەم بەکارهێنەرە پێشتر پشتڕاستکراوەتەوە + send: دووبارە ناردنی ئیمەیڵی دووپاتکردنەوە + success: ئیمەیڵی پشتڕاستکردنەوە بە سەرکەوتوویی نێردرا! + reset: ڕێکخستنەوە + reset_password: گەڕانەوەی تێپەڕوشە + resubscribe: دووبارە ئابونەبوون + role: مۆڵەتەکان + roles: + admin: بەڕێوەبەر + moderator: بەڕێوەبەر + staff: ستاف + user: بەکارهێنەر + search: گەڕان + search_same_email_domain: بەکارهێنەرانی دیکە بە ئیمەیلی یەکسان + search_same_ip: بەکارهێنەرانی تر بەهەمان ئای پی + sensitive: هەستیار + sensitized: وەک هەستیار نیشان کراوە + shared_inbox_url: بەستەری سندوقی هاوبەشکراو + show: + created_reports: گوزارشتی تۆمارکراوە + targeted_reports: گوزارشتکراوە لەلایەن کەسانی ترەوە + silence: سنوور + silenced: سنوورکرا + statuses: دۆخەکان + subscribe: ئابوونە + suspended: ڕاگرتن + suspension_irreversible: داتای ئەم هەژمارەیە بە شێوەیەکی نائاسایی سڕاوەتەوە. دەتوانیت هەژمارەکەت ڕابخەیت بۆ ئەوەی بەکاربێت بەڵام هیچ داتایەک ناگەڕگەڕێتەوە کە پێشتر بوونی بوو. + suspension_reversible_hint_html: هەژمارە ڕاگیرا ، و داتاکە بەتەواوی لە %{date} لادەبرێت. تا ئەو کاتە هەژمارەکە دەتوانرێت بە بێ هیچ کاریگەریەکی خراپ بژمێردرێتەوە. ئەگەر دەتەوێت هەموو داتاکانی هەژمارەکە بسڕەوە، دەتوانیت لە خوارەوە ئەمە بکەیت. + title: هەژمارەکان + unconfirmed_email: ئیمەیڵی پشتڕاستنەکراو + undo_sensitized: " هەستیار نەکردن" + undo_silenced: بێدەنگ ببە + undo_suspension: دووبارە ڕاگرتن + unsilenced_msg: هەژماری %{username} بە سەرکەوتوویی بێسنوور کرا + unsubscribe: بەتاڵکردنی ئابوونە + unsuspended_msg: هەژمارە %{username} بە سەرکەوتوویی ئابوونەی بەتاڵکرا + username: ناوی بەکارهێنەر + view_domain: پیشاندانی کورتەبۆ دۆمەین + warn: وریاکردنەوە + web: ماڵپەڕ + whitelisted: پێرستی ڕێپێدراو + action_logs: + action_types: + assigned_to_self_report: تەرخانکردنی گوزارشت + change_email_user: گۆڕینی ئیمەیڵ بۆ بەکارهێنەر + confirm_user: دڵنیابوون لە بەکارهێنەر + create_account_warning: دروستکردنی ئاگاداری + create_announcement: دروستکردنی راگەیەندراو + create_custom_emoji: دروستکردنی ئێمۆمۆجی دڵخواز + create_domain_allow: دروستکردنی ڕێپێدان بە دۆمەین + create_domain_block: دروستکردنی بلۆکی دۆمەین + create_email_domain_block: دروستکردنی بلۆکی دۆمەینی ئیمەیڵ + create_ip_block: دروستکردنی یاسای IP + demote_user: دابەزاندنی ئاستی بەکارهێنەر + destroy_announcement: سڕینەوەی راگەیەندراو + destroy_custom_emoji: سڕینەوەی ئێمۆمۆجی تایبەتمەند + destroy_domain_allow: سڕینەوەی ڕێپێدان بە دۆمەین + destroy_domain_block: سڕینەوەی بلۆکی دۆمەین + destroy_email_domain_block: سڕینەوەی بلۆکی دۆمەینی ئیمەیڵ + destroy_ip_block: سڕینەوەی یاسای IP + destroy_status: دۆخ بسڕەوە + disable_2fa_user: لەکارخستنی 2FA + disable_custom_emoji: سڕینەوەی ئێمۆمۆجی تایبەتمەند + disable_user: بەکارهێنەر لە کاربخە + enable_custom_emoji: ئیمۆمۆجی تایبەتمەند چالاک بکە + enable_user: چالاککردنی بەکارهێنەر + memorialize_account: هەژماری بیرکەوتنەوە + promote_user: بەرزکردنەوەی بەکارهێنەر + remove_avatar_user: لابردنی وێنۆجکە + reopen_report: دووبارە کردنەوەی گوزارشت + reset_password_user: گەڕانەوەی تێپەڕوشە + resolve_report: گوزارشت چارەسەربکە + sensitive_account: میدیاکە لە هەژمارەکەت وەک هەستیار نیشانە بکە + silence_account: هەژماری بێدەنگی + suspend_account: ڕاگرتنی هەژمارە + unassigned_report: گوزارشتی دیارینەکراو + unsensitive_account: میدیاکە لە هەژمارەکەت وەک هەستیار نیشانە مەکە + unsilence_account: هەژماری بێ دەنگ + unsuspend_account: هەژماری هەڵنەوەستێنراو + update_announcement: بەڕۆژکردنەوەی راگەیەندراو + update_custom_emoji: بەڕۆژکردنی ئێمۆمۆجی دڵخواز + update_status: بەڕۆژکردنی دۆخ + deleted_status: "(نووسراوە سڕاوە)" + empty: هیچ لاگی کارنەدۆزرایەوە. + filter_by_action: فلتەر کردن بە کردار + filter_by_user: فلتەر کردن بە کردار + title: تۆماری وردبینی + announcements: + destroyed_msg: بانگەوازەکە بە سەرکەوتوویی سڕاوەتەوە! + edit: + title: بڵاوکردنەوەی راگەیەندراو + empty: هیچ راگەیەندراوێک نەدۆزرایەوە. + live: زیندوو + new: + create: دروستکردنی راگەیەندراو + title: ڕاگەیاندنی نوێ + published_msg: بانگەوازەکە بە سەرکەوتوویی بڵاو کرایەوە! + scheduled_for: خشتەکراوە بۆ %{time} + scheduled_msg: ڕاگەیاندنی خشتەی بۆ بڵاوکردنەوە! + title: ڕاگه یه نراوەکان + unpublished_msg: بانگەواز بە سەرکەوتوویی بڵاونەکرایەوە! + updated_msg: بانگەوازەکە بە سەرکەوتوویی نوێکرایەوە! + custom_emojis: + assign_category: دانانی پۆلێن + by_domain: دۆمەین + copied_msg: کۆپیەکی ناوخۆیی ئیمۆجیبەکە بە سەرکەوتوویی دروست کرد + copy: کۆپی + copy_failed_msg: نهیتوانی کۆپیهکی ناوخۆیی ئهو ئیمۆجییە دروست بکات + create_new_category: دروستکردنی هاوپۆلی نوێ + created_msg: ئیمۆجی بە سەرکەوتوویی دروستکرا! + delete: سڕینەوە + destroyed_msg: ئیمۆجی بە سەرکەوتوویی بەتاڵکرا! + disable: لەکارخستن + disabled: ناچالاککراوە + disabled_msg: بە سەرکەوتوویی ئەو ئیمۆجییە لە کارخراوە + emoji: ئیمۆجی + enable: چالاککردن + enabled: چالاککراوە + enabled_msg: ئەو ئیمۆجییە بە سەرکەوتووانە چالاک کرا + list: پێرست + listed: پێرستکراوە + new: + title: ئیمۆجی نوێی دڵخواز زیاد بکە + not_permitted: تۆ ڕێگەپێدراو نین بۆ ئەنجامدانی ئەم کارە + overwrite: نووسینەوە + shortcode: کورتەکلیل + shortcode_hint: بەلایەنی کەمەوە ٢نووسە، تەنها نووسەکانی ئەلف و بێ و ژێرهێڵەکان + title: ئیمۆجی دڵخواز + uncategorized: هاوپۆل نەکراوە + unlist: بێ پێرست + unlisted: پێرست نەبووە + update_failed_msg: نه یتوانی ئه و ئیمۆجییه نوێ بکاتەوە + updated_msg: ئیمۆجی بە سەرکەوتوویی نوێکرایەوە! + upload: بارکردن + dashboard: + software: نەرمەکالا + space: بەکارهێنانی بۆشایی + title: داشبۆرد + domain_allows: + add_new: ڕێپێدان بە دۆمەین + created_msg: دۆمەین بە سەرکەوتوویی رێگەی پێدرا + destroyed_msg: دۆمەین لە پێرستی رێگەی پێدرا لابرا + undo: لابردن لە پێرستی ڕێپێدراو + domain_blocks: + add_new: زیادکردنی بلۆکی دۆمەینی نوێ + created_msg: بلۆککردنی دۆمەین لە حاڵێ جێبەجێکردنە + destroyed_msg: بلۆکی دۆمەین هەڵوەشاوەتەوە + domain: دۆمەین + edit: دەستکاری بلۆکی دۆمەینی نوێ + existing_domain_block_html: ئێوە پێشتر سنووری دژوارتنا لە سەر%{name} جێبەجێکردووە، سەرەتا دەبێ بلۆک هەڵوەشێنەوە. + new: + create: دروستکردنی بلۆک + hint: بلۆکی دۆمەین رێگری لە دروستکردنی هەژمارەی چوونەژوورەوە لە بنکەی زانیارێکان ناکات ، بەڵکو بە شێوەیەکی دووبارە و خۆکارانە رێوشێوازی پێشکەوتوو تایبەت لەسەر ئەو هەژمارانە جێبەجێ دەکات. + severity: + desc_html: " بێدەنگی وا دەکات کە نووسراوەکانی هەژمارەکان نەبینراوە بێت بۆ هەر کەسێک کە شوێنیان نەکەوێ. ڕاگرتنی هەموو ناوەڕۆکی هەژمارەکە، میدیا، و داتای پرۆفایلەکەی بەکارهێنان. هیچ ئەگەر دەتەوێت فایلەکانی میدیا ڕەت بکەیتەوە." + noop: هیچ + silence: بێدەنگ + suspend: ڕاگرتن + title: بلۆکی دۆمەینی نوێ + private_comment: لێدوانی تایبەت + private_comment_hint: لێدوان دەربارەی سنوورداری ئەم دۆمەینە بۆ بەکارهێنانی ناوخۆیی لەلایەن مۆدەرەکان. + public_comment: سەرنجی گشتی + public_comment_hint: لێدوان دەربارەی سنوورداری ئەم دۆمەینە بۆ گشتی، ئەگەر بڵاوکردنەوەی لیستی سنوورداری دۆمەینەکە چالاک بکرێت. + reject_media: ڕەتکردنەوەی فایلەکانی میدیا + reject_media_hint: پەڕگە میدیای پاشکەوتکراو بە شێوەێکی ناوخۆیی لابدە و دابەزین لە داهاتوو ڕەتدەکاتەوە. ناپەیوەندیدار ە بۆ ڕاگرتن + reject_reports: گوزارشتەکان ڕەت بکەوە + reject_reports_hint: پشتگوێ خستنی هەموو گوزارشتەکان کە دێن لەم دۆمەینە. ناپەیوەندیدارە بۆ ڕاگرتن + undo: گەڕانەوەی بلۆکی دۆمەینی + view: دیتنی بلۆکی دۆمەینی + email_domain_blocks: + add_new: زیادکردنی نوێ + created_msg: بە سەرکەوتوویی دۆمەینی ئیمەیڵ بلۆک کرا + delete: سڕینەوە + domain: دۆمەین + new: + create: زیادکردنی دۆمەین + title: بلۆککردنی دۆمەینی ئیمەیڵی نوێ + title: دۆمەینە بلۆککراوەکانی ئیمەیڵ + instances: + by_domain: دۆمەین + delivery_available: گەیاندن بەردەستە + moderation: + all: هەموو + limited: سنووردار + title: بەڕێوەبردن + private_comment: لێدوانی تایبەت + public_comment: سەرنجی گشتی + title: پەیوەندی نێوان ڕاژە + total_blocked_by_us: لەلایەن ئێمە بەربەست کراوە + total_followed_by_them: شوێنمان دەکەون + total_followed_by_us: شوێنیان کەوتین + total_reported: گوزارشت له باره یان + total_storage: هاوپێچی میدیا + invites: + deactivate_all: هەموو لەکارخستنی + filter: + all: هەموو + available: بەردەستە + expired: بەسەرچووە + title: پاڵاوتن + title: بانگهێشتەکان + ip_blocks: + add_new: دروستکردنی یاسا + created_msg: سەرکەوتووانە یاسای نوێی IP زیادکرا + delete: سڕینەوە + expires_in: + '1209600': ٢ هەفتە + '15778476': ٦ مانگ + '2629746': ١ مانگ + '31556952': ١ ساڵ + '86400': ١ ڕۆژ + '94670856': ٣ ساڵ + new: + title: دروستکردنی یاسای نوێی IP + no_ip_block_selected: هیچ ڕێسایەکی IP نەگۆڕدرا وەک ئەوەی هیچ کامیان دەستنیشان نەکران + title: یاساکانی IP + relationships: + title: پەیوەنیەکان %{acct} + relays: + add_new: زیادکردنی گواستنەوەی نوێ + delete: سڕینەوە + description_html: دانەیەکی ڕێڵەی نێو ڕاژەییە(federation relay) کە قەبارەیەکی فرەی لە تووتە گشتییەکان لە نێو ڕاژە هاوبەشەکان و ئابوونەکان دەگوازێتەوە رێڵە یارمەتی بە ڕاژە بچکۆلەو مامناوە ندییەکان دەدا کە بابەتی فرەتر پەیدا بکەن گەر ڕێڵە نەبێت، ئەم بابەتە گشتییانە تەنها کاتێک پەیدا دەبن کە بە کارهێنەرانی ناوخۆیی خۆیان شوێنکەوتووی بەکارهێنەران لە سەر ڕاژەکانی دیکە بن. + disable: لەکارخستن + disabled: ناچالاککراوە + enable: چالاککراوە + enable_hint: کاتێک چالاک کرا، ڕاژەکارەکەت بەشداری دەکات لە هەموو توتەکانی گشتی لەم گواستنەوەیە، و دەست دەکات بە ناردنی توتی گشتی ئەم ڕاژەیە. + enabled: چالاککراوە + inbox_url: نیشانەی URL + pending: چاوەڕێی پەسەندکردنی ڕێلەی + save_and_enable: پاشکەوتکردن و چالاککردن + setup: دامەزراندنی ڕێڵەی پەیوەندی + signatures_not_enabled: ڕیلەکان بە دروستی کارناکات لە کاتێکدا دۆخی پارێزراو یان دۆخی سنوورداری گشتی چالاک کراوە + status: دۆخ + title: ڕێڵەکان + report_notes: + created_msg: تێبینی ڕاپۆرت کردن بە سەرکەوتوویی دروست کرا! + destroyed_msg: تێبینی گوزارشت بە سەرکەوتوویی سڕاوەتەوە! + reports: + account: + notes: + one: "%{count} یاداشت" + other: "%{count} یاداشت" + action_taken_by: کردەوە لە لایەن + are_you_sure: دڵنیای? + assign_to_self: دیاریکردن بۆ من + assigned: بەڕێوەبەری بەرپرس + by_target_domain: دۆمەینی هەژمارەی گوزارشتدراو + comment: + none: هیچ + created_at: گوزارشتکرا + mark_as_resolved: نیشانەی بکە وەک چارەسەرکراو + mark_as_unresolved: نیشانەکردن وەک چارەسەرنەکراوە + notes: + create: زیادکردنی تێبینی + create_and_resolve: چارەسەر کردن لەگەڵ تێبینی + create_and_unresolve: دووبارە کردنەوەی بە تێبینی + delete: سڕینەوە + placeholder: باسی ئەو کردارانە بکە کە ئەنجام دراون، یان هەر نوێکردنەوەیەکی پەیوەندیداری ت... + reopen: دووبارە کردنەوەی گوزارشت + report: 'گوزارشت #%{id}' + reported_account: گوزارشتی هەژمارە + reported_by: گوزارشت لە لایەن + resolved: چارەسەرکرا + resolved_msg: گوزارشتکردن بە سەرکەوتوویی چارەسەر کرا! + status: دۆخ + title: گوزارشتکرا + unassign: دیارینەکراوە + unresolved: چارەسەر نەکراوە + updated_at: نوێکرایەوە + settings: + activity_api_enabled: + desc_html: ژماردنی دۆخی بڵاوکراوە ی ناوخۆیی و بەکارهێنەرە چالاکەکان و تۆماری نوێ لە سەتڵی هەفتانە + title: بڵاوکردنەوەی ئاماری کۆ دەربارەی چالاکی بەکارهێنەر + bootstrap_timeline_accounts: + desc_html: چەند ناوی بەکارهێنەرێک جیابکە بە بۆر، تەنها هەژمارەی بلۆککراوەکان و ناوخۆیی کاردەکەن. بنەڕەت کاتێک بەتاڵ بوو هەموو بەڕێوەبەرە خۆجێیەکانن. + title: بەدواداچوەکانی گریمانەیی بۆ بەکارهێنەرە نوێکان + contact_information: + email: ئیمەیلی بازرگانی + username: ناوی بەکارهێنەر + custom_css: + desc_html: دەستکاری کردنی شێوەی CSS بارکراو لەسەر هەموو لاپەڕەکان + title: CSSی تایبەتمەند + default_noindex: + desc_html: کاردەکاتە سەر هەموو بەکارهێنەرەکان کە ئەم ڕێکخستنە خۆیان نەگۆڕاون + title: بەکارهێنەران لە پێڕستکردنی بزوێنەری گەڕان بە گریمانەیی هەڵبژێن + domain_blocks: + all: بۆ هەموو کەسێک + disabled: بۆ هیچ کەسێک + title: بلۆکەکانی دۆمەین پیشان بدە + users: بۆ چوونە ژوورەوەی بەکارهێنەرانی ناوخۆ + domain_blocks_rationale: + title: پیشاندانی ڕێژەیی + hero: + desc_html: نیشان درا لە پەڕەی سەرەتا. بەلایەنی کەمەوە 600x100px پێشنیارکراوە. کاتێک ڕێک نەکەویت، دەگەڕێتەوە بۆ وێنۆجکەی ڕاژە + title: وێنەی پاڵەوان + mascot: + desc_html: نیشان دراوە لە چەند لاپەڕەیەک. بەلایەنی کەمەوە 293× 205px پێشنیارکراوە. کاتێک دیاری ناکرێت، دەگەڕێتەوە بۆ بەختبەختێکی ئاسایی + title: وێنەی ماسکۆت + peers_api_enabled: + desc_html: ناوی دۆمەینەکانێک کە ئەم ڕاژە پەیوەندی پێوەگرتووە + title: بڵاوکردنەوەی لیستی راژەکانی دۆزراوە + preview_sensitive_media: + desc_html: بینینی لینک لە وێب سایتەکانی تر وێنۆچکەیەک پیشان دەدات تەنانەت ئەگەر میدیاکە بە هەستیاری نیشان کرابێت + title: پیشاندانی میدیای هەستیار لە پێشبینیەکانی OpenGraph + profile_directory: + desc_html: ڕێگەدان بە بەکارهێنەران بۆ دۆزینەوەیان + title: چالاککردنی ڕێنیشاندەرێکی پرۆفایل + registrations: + closed_message: + desc_html: لە پەڕەی پێشەوە پیشان دەدرێت کاتێک تۆمارەکان داخراون. دەتوانیت تاگەکانی HTML بەکاربێنیت + title: نامەی تۆمارکردن داخراو + deletion: + desc_html: ڕێ بدە بە هەر کەسێک هەژمارەکەی بسڕیتەوە + title: سڕینەوەی هەژمارە بکەوە + min_invite_role: + disabled: هیچکەس + title: ڕێپێدانی بانگهێشتەکان لەلایەن + registrations_mode: + modes: + approved: پەسەندکردنی داواکراو بۆ ناوتۆمارکردن + none: کەس ناتوانێت خۆی تۆمار بکات + open: هەر کەسێک دەتوانێت خۆی تۆمار بکات + title: مەرجی تۆمارکردن + show_known_fediverse_at_about_page: + desc_html: کاتێک ناچالاک کرا، هێڵی کاتی گشتی کە بەستراوەتەوە بە لاپەڕەی ئێستا سنووردار دەبن، تەنها ناوەڕۆکی ناوخۆیی پیشاندەدرێن + title: نیشاندانی ڕاژەکانی دیکە لە پێشنەمایەشی ئەم ڕاژە + show_staff_badge: + desc_html: پیشاندانی هێمایەک هاوکار لە سەر پەڕەی بەکارهێنەر + title: نیشاندانی هێمای هاوکار + site_description: + desc_html: کورتە باسیک دەربارەی API، دەربارەی ئەوە چ شتێک دەربارەی ئەم ڕاژەی ماستۆدۆن تایبەتە یان هەر شتێکی گرینگی دیکە. دەتوانن HTML بنووسن، بەتایبەت <a> وە <em>. + title: دەربارەی ئەم ڕاژە + site_description_extended: + desc_html: شوێنیکی باشە بۆ نووسینی سیاسەتی ئیس، یاسا و ڕێسا ، ڕێنمایی و هەر شتیک کە تایبەت بەم ڕاژیە، تاگەکانی HTMLــلیش ڕێگەی پێدراوە + title: زانیاری تەواوکەری تایبەتمەندی + site_short_description: + desc_html: نیشان لە شریتی لاتەنیشت و مێتا تاگەکان. لە پەرەگرافێک دا وەسفی بکە کە ماستۆدۆن چیە و چی وا لە ڕاژە کە دەکات تایبەت بێت. + title: دەربارەی ئەم ڕاژە + site_terms: + desc_html: دەتوانیت سیاسەتی تایبەتیێتی خۆت بنووسیت، مەرجەکانی خزمەتگوزاری یان یاسایی تر. دەتوانیت تاگەکانی HTML بەکاربێنیت + title: مەرجەکانی خزمەتگوزاری ئاسایی + site_title: ناوی ڕاژە + thumbnail: + desc_html: بۆ پێشبینین بەکارهاتووە لە ڕێگەی OpenGraph وە API. ڕووناکی بینین ١٢٠٠x٦٣٠پیکسێڵ پێشنیارکراوە + title: وێنەی بچکۆلەی ڕاژە + timeline_preview: + desc_html: لینکەکە نیشان بدە بۆ هێڵی کاتی گشتی لەسەر پەڕەی نیشتنەوە و ڕێگە بە API بدە دەستگەیشتنی هەبێت بۆ هێڵی کاتی گشتی بەبێ سەلماندنی ڕەسەنایەتی + title: ڕێگەبدە بە چوونە ژورەوەی نەسەلمێنراو بۆ هێڵی کاتی گشتی + title: ڕێکخستنەکانی ماڵپەڕ + trendable_by_default: + desc_html: کاریگەری لەسەر هاشتاگی پێشوو کە پێشتر ڕێگە پێنەدراوە + title: ڕێگە بدە بە هاشتاگی بەرچاوکراوە بەبێ پێداچوونەوەی پێشوو + trends: + desc_html: بە ئاشکرا هاشتاگی پێداچوونەوەی پێشوو پیشان بدە کە ئێستا بەرچاوکراوەن + title: هاشتاگی بەرچاوکراوە + site_uploads: + delete: سڕینەوەی فایلی بارکراو + destroyed_msg: بارکردنی ماڵپەڕ بە سەرکەوتوویی سڕدراوەتەوە! + statuses: + back_to_account: گەڕانەوە بۆ لاپەڕەی هەژمارە + deleted: سڕینەوە + media: + title: میدیا + no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە + title: دۆخی ئەژمێر + with_media: بە میدیا + tags: + review: پێداچوونەوەی دۆخ + updated_msg: ڕێکخستنی هاشتاگ بە سەرکەوتوویی نوێکرایەوە + title: بەڕێوەبەر + warning_presets: + add_new: زیادکردنی نوێ + delete: سڕینەوە + edit_preset: دەستکاریکردنی ئاگاداری پێشگریمان + title: بەڕێوەبردنی ئاگادارکردنەوە پێش‌سازدان + admin_mailer: + new_pending_account: + body: وردەکاریهەژمارە نوێیەکە لە خوارەوەیە. دەتوانیت ئەم نەرمەکالا پەسەند بکەیت یان ڕەت بکەیتەوە. + subject: هەژمارەیەک نوێ بۆ پێداچوونەوە لەسەر %{instance} (%{username}) + new_report: + body: بەکارهێنەری %{reporter} گوزارشی لە بەکارهینەری%{target} دا + body_remote: کەسێک لە %{domain} گوزارشتی %{target} ناردووە + subject: گوزارشتێکی نوی لە %{instance} (#%{id}) + aliases: + add_new: دروستکردنی ناوی ساختە + created_msg: نازناوێکی نوێیان سەرکەوتووانە دروستکرد. ئێستا دەتوانیت دەست بە گواستنەوە کەیت لە هەژمێرە کۆنەکەت. + deleted_msg: سەرکەوتووانە نازناوەکان لابدە. گواستنەوە لەو هەژمارەوە بۆ ئەم کەسە چیتر نابێت. + empty: هیچ نازناوێکت نیە. + hint_html: ئەگەر دەتەوێت لە هەژمارەیەکی ترەوە بگوێزریتەوە بۆ ئەم هەژمارە، لێرەدا دەتوانیت نازناوێک دروست بکەیت، پێش ئەوەی ئەوە بەردەوام بیت لە گواستنەوەی لە هەژمارە کۆنەکە بۆ ئەم هەژمارە پێویستە. ئەم کردەوەیە خۆی لە خۆیدا بێ زەرە و ناگەڕێتەوەگواستنەوەی لە هەژمارەی کۆنە بۆ هەژمارەی نوێ دەستی پێکردووە. + remove: سڕینەوەی پەیوەندی ناز ناو + appearance: + advanced_web_interface: روخساری پێشکەوتوو + advanced_web_interface_hint: 'ئەگەر دەتەوێت پانی شاشەکە بەکاربێنیت، دەتوانی بە یارمەتی ڕووکاری پێشکەوتوو چەندین ستوونی جیاواز ڕێکبخەیت بۆ بینینی زانیاری زیاتر لە هەمان کات کە دەتەوێت بیبینیت: نووسراوەکانی نووسەرانی دیکە، ئاگانامەکان، پێرستی نووسراوەکانی هەموو شوێنێک، وە هەر ژمارەیەک لە لیستەکان و هاشتاگەکان.' + animations_and_accessibility: ئەنیمەیشن و توانایی دەستپێگەیشتن + confirmation_dialogs: پەیامەکانی پەسەندکراو + discovery: دۆزینەوە + localization: + body: ماستۆدۆن لەلایەن خۆبەخشەوە وەردەگێڕێت. + guide_link_text: هەموو کەسێک دەتوانێت بەشداری بکات. + sensitive_content: ناوەڕۆکی هەستیار + toot_layout: لۆی توت + application_mailer: + notification_preferences: گۆڕینی پەسەندکراوەکانی ئیمەیڵ + settings: 'گۆڕینی پەسەندکراوەکانی ئیمەیڵ: %{link}' + view: 'نیشاندان:' + view_profile: پرۆفایل نیشان بدە + view_status: پیشاندانی دۆخ + applications: + created: بەرنامە بە سەرکەوتوویی دروست کرا + destroyed: بەرنامە بە سەرکەوتوویی سڕدراوەتەوە + invalid_url: بەستەری دابینکراو نادروستە + regenerate_token: دووبارە دروستکردنەوەی نیشانەی چوونە ژوورەوە + token_regenerated: کۆدی دەستپێگەیشتن بە سەرکەوتوویی دروستکرا + warning: زۆر ئاگاداربە لەم داتایە. هەرگیز لەگەڵ کەس دا هاوبەشی مەکە! + your_token: کۆدی دەستپێگەیشتنی ئێوە + auth: + apply_for_account: داواکردنی بانگهێشتێک + change_password: تێپەڕوشە + checkbox_agreement_html: من ڕازیم بە یاساکانی ڕاژە وە مەرجەکانی خزمەتگوزاری + checkbox_agreement_without_rules_html: من ڕازیم بە مەرجەکانی خزمەتگوزاری + delete_account: سڕینەوەی هەژمارە + delete_account_html: گەر هەرەکتە هەژمارەکەت بسڕیتەوە، لە لەم قوناغانە بڕۆیتە پێشەوە. داوای پەسەند کردنتان لێدەگیرێت. + description: + prefix_invited_by_user: "@%{name} بانگت دەکات بۆ پەیوەندیکردن بەم ڕاژەی ماستۆدۆن!" + prefix_sign_up: ئەمڕۆ خۆت تۆمار بکە لە ماستۆدۆن! + suffix: بە هەژمارەیەک، دەتوانیت شوێن هەژمارەکانی دیکە بکەویت، نوێکردنەوەکان بڵاوبکەوە و نامە لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی ماستۆدۆن و زیاتر بگۆڕیتەوە! + didnt_get_confirmation: ڕێنماییەکانی دڵنیاکردنەوەت پێنەدرا? + dont_have_your_security_key: کلیلی ئاسایشت نیە? + forgot_password: تێپەڕوشەکەت لەبیر چووە? + invalid_reset_password_token: وشەی نهێنی دووبارە ڕێکبخەوە دروست نیە یان بەسەرچووە. تکایە داوایەکی نوێ بکە. + link_to_otp: کۆدی دوو فاکتەر لە تەلەفۆنەکەت یان کۆدی چاککردنەوە تێبنووسە + link_to_webauth: بەکارهێنانی ئامێری کلیلی پاراستن + login: چوونەژوورەوە + logout: چوونەدەرەوە + migrate_account: گواستنەوە بۆ ئەژمێرێکی تر + migrate_account_html: ئەگەر دەتەوێت ئەم هەژمارە دووبارە ئاڕاستە بکەیت بۆ ئەژمێرێکی تر، دەتوانیت کرتەیەک لێرە بکەی . + or_log_in_with: یان چوونە ژوورەوە بە + register: خۆ تۆمارکردن + registration_closed: "%{instance} ئەندامانی نوێ قبووڵ ناکات" + resend_confirmation: دووبارە ناردنی ڕێنماییەکانی دووپاتکردنەوە + reset_password: گەڕانەوەی تێپەڕوشە + security: ئاسایش + set_new_password: سازدانی تێپەڕوشەی نوێ + setup: + email_below_hint_html: ئەگەر ناونیشانی ئیمەیڵی خوارەوە نادروستە، دەتوانیت لێرە بیگۆڕیت و ئیمەیڵێکی پشتڕاستکردنەوەی نوێ وەربگۆڕیت. + email_settings_hint_html: ئیمەیڵی پشتڕاستکردنەوە کە نێردرا بۆ %{email}. ئەگەر ناونیشانی ئیمەیڵ ڕاست نەبوو، دەتوانیت لە ڕێکبەندەکانی هەژمارەکەت بیگۆڕیت. + title: دامەزراندن + status: + account_status: دۆخی هەژمارە + confirming: چاوەڕوانی دڵنیاکردنەوەی ئیمەیڵ بۆ تەواوکردن. + pending: ئەپلیکەیشەنەکەت چاوەڕوانی پێداچوونەوەیە لەلایەن ستافەکەمانەوە. لەوانەیە ئەمە هەندێک کاتی بخایەنێت ئەگەر ئەۆپەکەت پەسەند کرا، ئیمەیڵت پێدەگات. + redirecting_to: هەژمارەکەت ناچالاکە لەبەرئەوەی ئێستا دووبارە ئاڕاستەدەکرێتەوە بۆ %{acct}. + trouble_logging_in: کێشە ت هەیە بۆ چوونە ژوورەوە? + use_security_key: کلیلی ئاسایش بەکاربهێنە + authorize_follow: + already_following: ئێوە ئێستا شوێن کەوتووی ئەم هەژمارەیەی + already_requested: تۆ پێشتر داواکاری بەدواداچوت ناردوە بۆ ئەو هەژمارە + error: بەداخەوە هەڵەیەک هەبوو لە کاتی گەڕان بەدوای ئەو هەژمارەیە + follow: شوێن کەوە + follow_request: 'تۆ داواکاری شوێنکەوتنت ناردووە بۆ:' + following: 'ئەنجام بوو! تۆ ئێستا بەدوای ئەم بەکارهێنەرە دەکەویت:' + post_follow: + close: یان، دەتوانیت ئەم پەنجەرەیە دابخەیت. + return: پرۆفایلی بەکارهێنەر نیشان بدە + web: بڕۆ بۆ وێب + title: دوای %{acct} بکەوە + challenge: + confirm: بەردەوام بە + hint_html: "خاڵ: ئیمە لە کاتژمێری داهاتوو تێپەروشەت لێداوا ناکەین." + invalid_password: تێپەروشە دروست نیە + prompt: دڵنیابوون لە نهێنوشە بۆ بەردەوامبوون + crypto: + errors: + invalid_key: کلیلی باوڕپێکراو Ed25519 یان Curve25519 دروست نییە + invalid_signature: واژووی Ed25519 بڕوادار نییە + datetime: + distance_in_words: + about_x_hours: "%{count}کات" + about_x_years: "%{count}ساڵ" + almost_x_years: "%{count}ساڵ" + half_a_minute: ئێستا + less_than_x_seconds: ئێستا + over_x_years: "%{count}ساڵ" + x_days: "%{count}ڕۆژ" + deletes: + challenge_not_passed: ئەو زانیاریانەی تێنووست کردووە ڕاست نەبوو + confirm_password: تێپەڕوشەی ئێستات تێبنووسە بۆ سەلماندنی ناسنامەکەت + confirm_username: ناوی بەکارهێنەرت تێبنووسە بۆ دڵنیابوون لە کردارەکە + proceed: سڕینەوەی هەژمارە + success_msg: هەژمارەکەت بە سەرکەوتوویی سڕرایەوە + warning: + before: 'پێش بەردەوام بوون، تکایە ئەم تێبینیانە بە وردی بخوێننەوە:' + caches: وادیارە ئەو ناوەرۆکە کە ڕاژەکانی دیکە پاشکەوتیان کردووە بمینێتەوە + data_removal: بابەتەکانت و داتاکانی تر بە هەمیشەیی لادەبرێن + email_change_html: دەتوانی ناونیشانی ئیمەیڵەکەت بگۆڕیت بەبێ سڕینەوەی هەژمارەکەت + email_contact_html: گەر ئیمەیل نەگەیشتووە بۆ داوای یارمەتی پەیامێک بنێرە بۆ %{email} پیغام دهید + email_reconfirmation_html: ئەگەر ئیمەیڵی پشتڕاستکردنەوەت پێنەگەشتووە، دەتوانیت دووبارە داوای لێبکە + irreversible: ناتوانیت هەژمارەکەت بگەڕێنیتەوە یان کارا بکەیتەوە + more_details_html: بۆ زانیاری زیاتر، پاراستنی نهێنیەکان ببینە. + username_available: ناوی تێپەڕبوونت دووبارە بەردەست دەبێت + username_unavailable: ناوی تێپەڕبوونت بەردەست نییە + directories: + directory: ڕێنیشاندەرێکی پرۆفایل + explanation: دۆزینەوەی بەکارهێنەران لەسەر بنەمای بەرژەوەندییەکانیان + explore_mastodon: گەڕان لە %{title} + domain_validator: + invalid_domain: ناوی دۆمەین بڕوادار نییە + errors: + '400': داواکاریەکەی کە پێشکەشت کردووە نادروستە یان نەیپێکا. + '403': تۆ مۆڵەتت نیە بۆ بینینی ئەم لاپەڕەیە. + '404': ئەو لاپەڕەیەی بەدوای دەگەڕێی لێرە نیە. + '406': ئەم پەڕەیە لە فۆرماتی داواکراودا بەردەست نییە. + '410': ئەو لاپەڕەیەی بەدوای دا دەگەڕایت چیتر لێرە بوونی نیە. + '422': + content: سەلماندنەکەی ئاسایش سەرکەوتوو نەبوو. تۆ بلۆکی کۆکیز دەکەیت? + title: سەلماندنەکەی ئاسایش سەرکەوتوو نەبوو + '429': داواکاری زۆر + '500': + content: داوای لێبوردن دەکەین، بەڵام لە کۆتاییەکەماندا. شتێک هەڵە ڕویداوە. + title: ئەم لاپەڕەیە ڕاست نییە + '503': ناتوانرێت پەڕەکە خزمەت بکرێت بەهۆی شکستی ڕاژەیەکی کاتی. + noscript_html: بۆ بەکارهێنانی بەرنامەی وێبی ماستۆدۆن، تکایە جاڤاسکریپت بەتوانا بکە. لە جیاتی ئەوە، یەکێک لە < href="%{apps_path}">ئەپێکی ماستۆدۆنبەکارببە. + existing_username_validator: + not_found: بەکارهێنەرێک بەم هەژمارەی بەکارهێنەرە لەم ڕاژە پەیدا نەبوو + not_found_multiple: نەیتوانی %{usernames} بدۆزێتەوە + exports: + archive_takeout: + date: بەروار + download: داگرتنی ئەرشیفەکەت + hint_html: دەتوانیت داوای ئەرشیفی نووسراوە و میدیای بارکراوەی خۆت بکەی. داتای هەناردەکراو لە فۆرماتی ActivityPub دەبێت، دەخوێنرێتەوە لەلایەن هەر نەرمەکالایەکی گونجاو. دەتوانیت هەموو ٧ ڕۆژ جارێک داوای ئەرشیفێکەت بکەیت. + in_progress: خەریکی کۆ کردنەوەی ئەرشیڤەکەت... + request: داوای ئەرشیفەکەت بکە + size: قەبارە + blocks: تۆ بلۆک دەکەیت + bookmarks: نیشانکراوەکان + domain_blocks: دۆمەین قەپاتکرا + lists: لیستەکان + mutes: هەژمارە بێدەنگ کراوە + storage: هەمارگەی میدیا + featured_tags: + add_new: زیادکردنی نوێ + errors: + limit: ئێوە ژمارەی بڕی ڕێگەپێدراوەی هاشتاگت هەیە + hint_html: " هاشتاگی تایبەت چییە؟ بە شێوەیەکی دیار نیشان دەدرێت لەسەر پرۆفایلی گشتی و ڕێگە بە خەڵک دەدات بۆ گەڕان لە نووسراوە گشتیەکانت بە تایبەتی لەژێر ئەو هاشتاگە. ئامرازێکی زۆر باشن بۆ پاراستنی کاری داهێنەرانە یان پڕۆژەی درێژخایەنی ئێوە." + filters: + contexts: + account: پرۆفایلەکان + home: ماڵەوە + notifications: ئاگادارییەکان + public: پێرستی گشتی نووسراوەکان + thread: گفتوگۆکان + edit: + title: دەستکاری فلتەر + errors: + invalid_context: هیچ دەقێکی نادروست نییە یان بێ بڕوایە + invalid_irreversible: فلتەرکردنی بێ گەڕانەوە تەنها کار دەکات لەگەڵ چوارچێوەی ماڵ یان ئاگانامەکان + index: + delete: سڕینەوە + empty: هیچ پالێوەرێکت نیە. + title: فلتەرەکان + new: + title: زیادکردنی فلتەری نوێ + footer: + developers: پەرەپێدەران + more: زیاتر… + resources: سەرچاوەکان + trending_now: هەوادارانی ئێستا + generic: + all: هەموو + changes_saved_msg: گۆڕانکاریەکان بە سەرکەوتوویی هەڵگیرا! + copy: ڕوونووس + delete: سڕینەوە + order_by: ڕێکخستن بەپێی + save_changes: گۆڕانکاریەکان بپارێزە + validation_errors: + one: شتێک هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەکەی خوارەوە بخشێنەوە + other: هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەی %{count} خوارەوە بخشێنەوە + html_validator: + invalid_markup: 'نیشانەی HTML نادروستی تێدایە: %{error}' + imports: + modes: + merge: یەکخستن + merge_long: هێشتنەوەی تۆمارەکانی بەردەست و زیادکردنی دانەنوێکان + overwrite: نووسینەوە + overwrite_long: دراوەکانی ئێستا بسڕەوە و دراوی نوێ زیاد بکە + preface: دەتوانیت زانیاری هاوردە بکەیت کە ناردوتە تە لە ڕاژەیەکی ترەوە، وەک لیستی ئەو کەسانەی کە تۆ بەدوای دادەکەویت یان بەربەستت دەکەن. + success: داتاکەت بە سەرکەوتوویی بارکرا و ئێستا لە کاتی خۆیدا پرۆسێس دەکرێت + types: + blocking: لیستی بلۆککردن + bookmarks: نیشانەکان + domain_blocking: لیستی بلۆککردنی دۆمەین + following: لیستی خوارەوە + muting: لیستی کپکردنەوە + upload: بارکردن + in_memoriam_html: لەیادبوون. + invites: + delete: لەکارخستن + expired: بەسەرچووە + expires_in: + '1800': ٣٠ خولەک + '21600': ٦ کاتژمێر + '3600': ١ کاتژمێر + '43200': ١٢ کاتژمێر + '604800': ١ هەفتە + '86400': ١ ڕۆژ + expires_in_prompt: هەرگیز + generate: دروستکردنی لینکی بانگهێشت + invited_by: 'بانگهێشتکرایت لەلایەن:' + max_uses: + one: ١ بار + other: "%{count} بار" + max_uses_prompt: بێ سنوور + prompt: دروست کردن و هاوبەش کردنی لینکەکان لەگەڵ ئەوانی تر بۆ پێدانی چوونە ژوورەوە بۆ ئەم ڕاژە + table: + expires_at: بەسەرچووە + uses: بەکارهاوردنەکان + title: بانگهێشتکردنی خەڵک + lists: + errors: + limit: تۆ گەیشتوویتە زۆرترین ڕێژەی لیستەکان + media_attachments: + validations: + images_and_video: ناتوانرێت لەگەڵ ئەو نووسراوانە کە وێنەی لەگەڵە ،ڤیدیۆ بار بکەی + not_ready: ناتوانێت فایلەکان هاوپێچ بکات کە پرۆسەکەیان تەواو نەکردووە. دووبارە هەوڵ بدە! + too_many: ناتوانێت زیاتر لە ٤ فایل هاوپێچ بکات + migrations: + acct: گوێزرایەوە بۆ + cancel: پاشگەزبوونەوە لە دووبارە ئاڕاستەکردنەوە + cancel_explanation: هەڵوەشاندنەوەی دووبارە ئاڕاستەکردنەوە هەژمارەی ئێستات چالاک دەکات، بەڵام ئەو شوێنکەوتوانی ناهێنە وه کە گواستراوەتەوە بۆ ئەو هەژمارە. + cancelled_msg: سەرکەوتووانە دووبارە ئاڕاستەکردنەوەکەی بەتاڵ کردەوە. + errors: + already_moved: هەمان ئەژمێرە کە تۆ پێشتر گواستووتە بۆ + missing_also_known_as: نازناوێکی ئەم هەژمارە نییە + move_to_self: ناتوانێت هەژمارەی ئێستا بێت + not_found: نادۆزرێتەوە + on_cooldown: تۆ دەبێت چاوەڕوان بیت + followers_count: شوێنکەوتوانی کاتی لە حاڵی گواستنەوە + incoming_migrations: گواستنەوە لە هەژمارەی جیاواز + incoming_migrations_html: بۆ گواستنەوە لە هەژمارەیەکی ترەوە بۆ ئەم هەژمارە، سەرەتا پێویستە ئەژمێرێک دروست بکەی. + moved_msg: هەژمارەکەت ئێستا دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct} و شوێنکەوتوانی تۆ گواستراوەتەوە بۆ ئەوێ. + not_redirecting: هەژمارەکەت لە ئێستادا دووبارە ئاڕاستە ناکرێتەوە بۆ هیچ هەژمارەیەکی دیکە. + on_cooldown: تۆ بەم دواییە هەژمارەکەت کۆچ کردووە. ئەم کارە لە رۆژەکانی %{count} دا جارێکی تر بەردەست دەبێت. + past_migrations: گەواستنەوەکانی ڕابردوو + proceed_with_move: شوێنکەوتوان بگوازەوە + redirected_msg: ئەژمێرەکەت ئێستا دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct}. + redirecting_to: ئەژمێرەکەت دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct}. + set_redirect: دووبارە ئاڕاستەکردن ڕێک بخە + warning: + backreference_required: پێویستە سەرەتا هەژمارە نوێیەکە بۆ گەڕانەوەی سەرچاوەی ئەم هەژمارە رێکوپێک بکرێت + before: 'پێش بەردەوام بوون، تکایە ئەم تێبینیانە بە وردی بخوێننەوە:' + cooldown: دوای گواستنەوە ماوەیەکی چاوەڕوان دەبێ کە لە ماوەی ئەو دا نابێت جارێکی تر بگوازیتەوە + disabled_account: هەژمارەی ئێستات دوای ئەوە بە تەواوی بەکارناهیێت. هەرچۆنێک بێت، تۆ دەستگەیشتنت دەبێت بۆ ناردنەدەرەوەی داتا و هەروەها دووبارە کاراکردنەوە. + followers: ئەم کردارە هەموو شوێنکەوتوانی هەژمارەی ئێستا دەگوازێتەوە بۆ هەژمارەی نوێ + only_redirect_html: ئێوە دەتانن هەژمارەکەی خۆتان بیخەنە سەر هەژمارەیەکی دیکە. + other_data: هیچ داتایەکی تر بە خۆکارانە ناگوێزرێتەوە + redirect: پرۆفایلی هەژمارەی ئێستات بە ئاگادارییەکی ئاراستەکەراوە نوێ دەکرێتەوە و دووردەکەویت لە گەڕانەکان + moderation: + title: بەڕێوەبردن + move_handler: + carry_blocks_over_text: ئەم بەکارهێنەرە گواسترایەوە بۆ %{acct}، تۆ بلۆکت کردووە. + carry_mutes_over_text: ئەم بەکارهێنەرە گواسترایەوە بۆ %{acct}، تۆ بێدەنگت کردووە. + copy_account_note_text: 'ئەم بەکارهێنەرە لە %{acct} ەوە گواستیەوە، تێبینیەکانی پێشووت دەربارەیان بوون:' + notification_mailer: + digest: + action: پیشاندانی هەموو ئاگانامەکان + body: ئەمە کورتەی ئەو نامانەی لە دەستت دا لە دوا سەردانیت لە %{since} + mention: "%{name} ئاماژەی بە تۆ کرد لە:" + new_followers_summary: + one: لەکاتێک کە نەبوو ،شوێنکەوتوویێکی نوێت پەیداکرد،ئافەرم! + other: کاتیک کە نەبووی %{count} شوێنکەوتوویێکی نوێت پەیدا کرد! چ باشە! + subject: + one: "ئاگاداریێکی نووی لە دوایین سەردانی ئێوە\U0001F418" + other: "%{count} ئاگاداریێکی نوێ لە دوایین سەردانی ئێوە\U0001F418" + title: لە غیابی تۆدا... + favourite: + body: 'دۆخت پەسەندکراوە لەلایەن %{name}:' + subject: "%{name} دۆخی تۆی پەسەند کرد" + title: دڵخوازکردنی نوێ + follow: + body: "%{name} ئێستا شوێنکەوتوو ئێوەیە!" + subject: "%{name} ئێستا شوێنکەوتوو ئێوەیە" + title: شوێنکەوتوانی نوێ + follow_request: + action: بەڕێوەبردنی داوای شوێنکەوتن + body: "%{name} داوای کردووە کە شوێنت بکەوێت" + subject: 'چاوەڕوانی شوێنکەوتووە: %{name}' + title: داواکاری شوینکەوتنی نوێ + mention: + action: وەڵام + body: "%{name} لێرە ناوی ئێووەی بردووە:" + subject: "%{name} لێرە ناوی ئێووەی بردووە" + title: ناوبراوەی نوێ + reblog: + body: "%{name} نووسیسراوەکەی ئێوەی توتاندەوە:" + subject: "%{name} نووسراوەکەتی دووبارە توتاند" + title: توتاندنەوەی نوێ + notifications: + email_events: رووداوەکان بۆ ئاگاداری ئیمەیلی + email_events_hint: 'ئەو ڕووداوانە دیاریبکە کە دەتەوێت ئاگانامەکان وەربگری بۆ:' + other_settings: ڕێکبەندەکانی ئاگانامەکانی تر + otp_authentication: + code_hint: کۆدێک داخڵ بکە کە دروست کراوە لەلایەن ئەپی ڕەسەنایەتیەوە بۆ دڵنیابوون + description_html: ئەگەر تۆ هاتنەژوورەوەی دوو قۆناغی بە یارمەتی ئەپێکی پەسەندکردن چالاک بکەن، پێویستە بۆ چوونەژوورەوە ، بە تەلەفۆنەکەتان کە کۆدیکتان بۆ دروستدەکات دەستپێگەیشتنتان هەبێت. + enable: چالاککردن + instructions_html: " QR بدۆزەوە بۆ ناو ڕەسەنایەتی گووگڵ یان کاربەرنامەی TOTP هاوشێوە لەسەر تەلەفۆنەکەت . لە ئێستاوە، ئەو کاربەرنامەیە نیشانە دروست دەکات کە دەبێت داخڵیان بکەیت لەکاتی چوونە ژوورەوە." + manual_instructions: 'ئەگەر ناتوانیت کۆدی QR سکان بکەیت و پێویستە بە دەستی تێبنووسە، ئەمە نهێنیی دەقی سادەیە:' + setup: ئامادەکردن + wrong_code: کۆدی داخڵکراو نادروستە! ئایا کاتی ڕاژە و کاتی ئامێر راستن? + pagination: + newer: نوێتر + next: داهاتوو + older: کۆنتر + prev: پێشوو + polls: + errors: + already_voted: تۆ پێشتر دەنگت داوە لەسەر ئەم ڕاپرسییە + duplicate_options: خاوەنی ئایەمی دووبارە + duration_too_long: لە داهاتوو زۆر دوورە + duration_too_short: لە داهاتوو زۆر نزیکە + expired: ڕاپرسیەکە پێشتر کۆتایی هاتووە + invalid_choice: بژاردەی دەنگدانی هەڵبژێردراو بوونی نییە + over_character_limit: ناتوانێت هەر کامێکی درێژتر بێت لە %{max} نووسە + too_few_options: پێویستە زیاتر لە یەک بڕگەی هەبێت + too_many_options: ناتوانێت زیاتر لە %{max} بەندی تێدا بێت + preferences: + other: هی تر + posting_defaults: بڵاوکردنی بنەڕەتەکان + public_timelines: هێڵی کاتی گشتی + reactions: + errors: + limit_reached: سنووری کاردانه وه ی جیاواز گه یشت + unrecognized_emoji: ئیمۆجییەکی ناسراو نییە + relationships: + activity: چالاکی هەژمارە + dormant: ناچالاک + follow_selected_followers: شوێنکەوتوان دیاریکراو بکە + followers: شوێنکەوتوان + following: شوێن‌کەوتووی + invited: بانگهێشتەکان + last_active: دوایین چالاکی + most_recent: تازەترین + moved: گوێزرایەوە + mutual: دوولایەنە + primary: سەرەتایی + relationship: پەیوەندی + remove_selected_domains: لابردنی هەموو شوێنکەوتوانی دۆمەینە دیاریکراوەکان + remove_selected_followers: شوێنکەوتوانی دیاریکراو لابدە + remove_selected_follows: کۆتایی بە بەدوادانەچوی بەکارهێنەرە دیاریکراوەکان بدە + status: دۆخی هەژمارە + remote_follow: + acct: ناونیشانی هەژمارەی username@domainخۆت لێرە بنووسە + missing_resource: نەیتوانی URLی ئاراستەکردنەوەی پێویست بدۆزێتەوە بۆ ئەژمێرەکەت + no_account_html: هێشتا نەبووی بە ئەندام؟ لێرە دەتوانی هەژمارەیەک دروست بکەی + proceed: بەردەوام بە بۆ بەدواداچوون + prompt: 'تۆ بەدوای دا دەچیت:' + reason_html: " بۆچی ئەم هەنگاوە پێویستە؟ %{instance} لەوانەیە ئەو ڕاژەیە نەبێت کە تۆ تۆمارت کردووە، بۆیە پێویستە سەرەتا دووبارە ئاڕاستەت بکەین بۆ ڕاژەکاری ماڵەوەت." + remote_interaction: + favourite: + proceed: بۆ دڵخوازکردنی ئەم توتە + prompt: 'دەتەوێت ئەم تووتە تپەسەند بکەیت؛:' + reblog: + proceed: بەردەوام بە بۆ دووبارە توتاندن + prompt: 'دەتەوێت ئەم تووتە دووبارە بکەیتەوە:' + reply: + proceed: بۆ وەڵامدانەوە + prompt: 'دەتەوێت ئەم تووتە وڵام بدەیتەوە:' + scheduled_statuses: + over_daily_limit: ئێوە لە سنووری ڕیپێدراوی %{limit} توتی ئەو رۆژە،خۆرتر ڕۆیشتوویت + over_total_limit: تۆ سنووری خشتەکراوی %{limit} ت بەزاندووە + too_soon: پێویستە بەرواری خشتەکراو لە داهاتوودا بێت + sessions: + activity: دوایین چالاکی + browser: وێبگەڕ + browsers: + blackberry: بلاکبێری + chrome: کرۆم + edge: مایکرۆسۆفت ئیچ + electron: ئەلکترۆن + firefox: فایەرفۆکس + generic: وێبگەڕی نەناسراو + ie: ئینتێرنێت ئێکسپلۆرەر + micro_messenger: مایکرۆمێسنجەر + nokia: وێبگەڕی نۆکیا ئێس ٤٠ ئۆڤی + opera: ئۆپێرا + otter: ئۆتەر + phantom_js: فانتۆم جەی ئێس + qq: وێبگەڕی QQ + safari: سافری + uc_browser: وێبگەڕی UC + current_session: دانیشتنی ئێستا + description: "%{browser} لەسەر %{platform}" + explanation: ئەمانە وێبگەڕەکەن کە ئێستا چووەتە ژوورەوە بۆ ئەژمێری ماستۆدۆنی خۆت. + ip: ئای‌پی + platforms: + android: ئەندرۆید + blackberry: بلاکبێری + chrome_os: سیستەمی کارگێڕی کرۆم + firefox_os: سیستەمی کارگێڕی فایەرفۆکس + linux: لینۆکس + mac: ماک + other: سیستەمیکارگێڕی نەناسراو + windows: ویندۆز + windows_mobile: ویندۆزموبایل + windows_phone: ویندۆزفۆن + revoke: بەتاڵکردن + revoke_success: دانیشتن بەسەرکەوتوویی بەتاڵکرا + title: کۆبوونەوەکان + settings: + account: هەژمارە + account_settings: ڕێکخستنەکانی هەژمارە + aliases: نازناوەی هەژمارە + appearance: ڕووخسار + authorized_apps: ئەپەکانی ڕێگەپێدراو + back: گەڕانەوە بۆ ماستۆدۆن + delete: سڕینەوەی هەژمارە + development: گەشەپێدان + edit_profile: دەستکاری پرۆفایل + export: ناردن زانیاری + featured_tags: هاشتاگی تایبەت + import: هاوردن + import_and_export: هاوردەکردن و ناردن + migrate: گواستنەوەی هەژمارە + notifications: ئاگادارییەکان + preferences: پەسەندەکان + profile: پرۆفایل + relationships: شوێنکەوتوو و شوێنکەوتوان + two_factor_authentication: کۆدی دووقۆناغی هاتنەژوور + webauthn_authentication: کلیلەکانی پاراستن + statuses: + attached: + audio: + one: "%{count} دەنگ" + other: "%{count} دەنگ" + description: 'هاوپێچ: %{attached}' + image: + one: "%{count} وێنە" + other: "%{count} وێنەکان" + video: + one: "%{count} ڤیدیۆ" + other: "%{count} ڤیدیۆکان" + boosted_from_html: توکراوەتەوە لەلایەن %{acct_link} + content_warning: 'ئاگاداری ناوەڕۆک: %{warning}' + disallowed_hashtags: + one: 'هاشتاگی ڕێگەپێنەدراوەی تێدابوو: %{tags}' + other: 'هاشتاگەکانی ڕێگەپێنەدراوەی تێدابوو: %{tags}' + errors: + in_reply_not_found: ئەو دۆخەی کە تۆ هەوڵی وەڵامدانەوەی دەدەیت وادەرناکەوێت کە هەبێت. + open_in_web: کردنەوە لە وێب + over_character_limit: سنووری نووسەی %{max} تێپەڕێنرا + pin_errors: + limit: تۆ پێشتر زۆرترین ژمارەی توتتی چەسپیوەت هەیە + ownership: نووسراوەکانی تر ناتوانرێ بسەلمێت + reblog: بەهێزکردن ناتوانرێت بچەسپێ + poll: + total_people: + one: "%{count} کەس" + other: "%{count} خەڵک" + total_votes: + one: "%{count} دەنگ" + other: "%{count} دەنگەکان" + vote: دەنگ + show_more: زیاتر پیشان بدە + show_newer: نوێتر پیشان بدە + show_older: پیشاندانی کۆنتر + show_thread: نیشاندانی ڕشتە + sign_in_to_participate: بچۆ ژوورەوە بۆ بەشداریکردن لە گفتوگۆکەدا + visibilities: + private: شوێنکەوتوانی تەنها + private_long: تەنها بۆ شوێنکەوتوانی پیشان بدە + public: گشتی + public_long: هەموو کەس دەتوانێت ببینێت + unlisted: پێرست نەبووە + unlisted_long: هەموو کەس دەتوانێت بیبینێت، بەڵام لە هێڵی کاتی گشتی دا نەریزراوە + stream_entries: + pinned: توتی چەسپکراو + reblogged: بەهێزکردن + sensitive_content: ناوەڕۆکی هەستیار + tags: + does_not_match_previous_name: لەگەڵ ناوی پێشوو یەک ناگرێتەوە + terms: + body_html: | +

سیاسەتی تایبەت

+

چ زانیاریێک کۆ دەکەینەوە؟

+
    +
  • زانیاری ئەژمێری بنەڕەتی: ئەگەر تۆ لەسەر ئەم ڕاژەی تۆماربکەیت، لەوانەیە داوات لێبکرێت ناوی بەکارهێنەر، ناونیشانی ئیمەیڵ و نهێنوشە تێبنووسیت. هەروەها دەتوانیت زانیاری پرۆفایلی زیاتر تێبنووسی ت وەک ناوی پیشاندان و ژیاننامە، و بارکردنی وێنەی پرۆفایل و وێنەی سەرپەڕە. ناوی بەکارهێنەر، ناوی پیشاندان، ژیاننامە، وێنەی پرۆفایل و وێنەی سەرپەڕە هەمیشە بە ئاشکرا لیست کراوە.
  • +
  • پۆستەکان، بەدواکەوتن و زانیاری گشتی : لیستی ئەو کەسانەی کە پەیڕەوی دەکەیت بە ئاشکرا لیست کراوە، هەمان شت بۆ شوێنکەوتەکانت ڕاستە. کاتێک ئیمەیڵێکت پێشکەش کرد، بەروار و کات خەزن کراوە و هەروەها ئەو بەرنامەیەی کە نامەکەت لەوە پێشکەش کردووە. نامەکان لەوانەیە هاوپێچی میدیای تێدابێت، وەک وێنە و ڤیدیۆ. گشتی و لیستە نەکراوەکان بابەتەکان بە ئاشکرا بەردەستن. کاتێک بابەتێک پێشکەش دەکەیت لەسەر پرۆفایلەکەت، کە هەروەها زانیاری بەردەستی گشتیە. بابەتەکانت دەگەیەنینە شوێنکەوتەکانت، لە هەندێک حاڵەتدا مانای وایە دەگەیەنینە ڕاژەکاری جیاواز و کۆپیەکان لەوێ هەڵگیراون. کاتێک بابەتەکان دەسڕیتەوە، ئەمە بە هەمان شێوەیە دەگەیەنیتە شوێنکەوتوانی خۆت. کاری سەرلێبڕین یان بە دڵنییاکردنی پۆستی تر هەمیشە گشتیە.
  • +
  • ڕاستەوخۆ و تەنها شوێنکەوتوانی بابەتەکان: هەموو بابەتەکان خەزن کراون و لە ڕاژەکارەکە دا پرۆسەکراون. پۆست تەنها شوێنکەوتوانی خۆت دەگەیەنینە شوێنکەوتوانی خۆت و بەکارهێنەران کە تێیدا باس دەکرێت، و پۆستی ڕاستەوخۆش تەنها دەگەیەنینە ئەو بەکارهێنەرانەی کە ئاماژەیان پێکراوە لە هەندێک حاڵەتدا واتە دەگەیەنینە ڕاژەی جیاوازەکان و کۆپیەکان لەوێ هەڵگیراون ئێمە هەوڵی باوەڕێکی باش دەکەین بۆ سنووردارکردنی گەیشتن بەو پۆستانە تەنها بۆ کەسانی ڕێگەپێدراو، بەڵام لەوانەیە ڕاژەکارەکانی تر سەرکەوتوو نەبوون. بۆیە گرنگە پێداچوونەوە بە سێرڤەرەکان بکەیت کە شوێنکەوتوانی تۆ هی ئەوەن. لەوانەیە بژاردەیەک بگۆڕیت بۆ پەسەندکردن و ڕەتکردنەوەی شوێنکەوتوانی نوێ بە دەستی لە ڕێکبەندەکان. تکایە لە بیرت بێت کە کارپێکەرەکانی سێرڤەرەکە و هەر خزمەتکاری وەرگرێک لەوانەیە ئەم جۆرە نامانە ، و وەرگرەکان لەوانەیە گرتەی شاشە یان کۆپی بکەن یان بە پێچەوانەوە دووبارە بەشداری پێبکەن. هیچ زانیاریەکی مەترسیدار لەسەر ماستۆدۆن بڵاو
  • +
  • ئای پی و مێتاداتای تر: کاتێک دەچیتە ژوورەوە، ئێمە ئەو ئای پی ە تۆمار دەکەین کە تۆ لە ناوی ەوە داخڵ تدەکەیت، هەروەها ناوی بەرنامەی وێبگەڕەکەت. هەموو ئەو کۆکراوانەی لە کۆبوونەوەکاندا هەن بۆ پێداچوونەوە و بەتاڵکردنەوەت لە ڕێکبەندەکان. نوێترین ناونیشانی IP بەکارهێنراوە خەزن کراوە بۆ ١٢ مانگ. هەروەها لەوانەیە ئێمە مادە ڕاژەکارەکان بهێڵین کە ئای پی ئەدرێسی هەموو داواکارییەک بۆ ڕاژەکارەکانمان
  • +
+ < hr="spacer" /> + +

ئێمە زانیاری ئێوەمان بۆ چییە؟

+ +

ئەو زانیاریانەی لە ئێوە کۆی دەکەین لەوانەیە بەم ڕێگایانە بەکار بهێنرێت:

+ +
    +
  • بۆ دابینکردنی ئەرکە سەرەکیەکانی ماستۆدۆن. دەتوانیت تەنها کارلێک بکەیت لەگەڵ ناوەڕۆکی کەسانی تر و ناوەڕۆکی خۆت پۆست بکەیت کاتێک دەچیتە ژوورەوە. بۆ نموونە، لەوانەیە شوێن کەسانی تر بکەویت بۆ بینینی پۆستە تێکەڵەکانیان لە تایم لاینی ماڵەوەی تایبەتی خۆت.
  • +
  • بۆ چاودێری کردنی کۆمەڵگا، بۆ نموونە بەراوردکردنی ناونیشانی IPەکەت لەگەڵ کەسانی ناسراو بۆ دیاریکردنی خۆدزینەوە یان پێشێلکاریتر.
  • +
  • ئەو ئیمەیڵەی کە تۆ دەستەبەرت کردووە لەوانەیە بەکاربێت بۆ ناردنی زانیاری، ئاگاداری دەربارەی کەسانی تر کە کارلێک دەکەن لەگەڵ ناوەڕۆکەکەت یان ناردنی نامەکانت، و وەڵامدانەوەی پرسیارکردنەکان، و/یان داواکارییان یان پرسیارەکانی تر.
  • +
+ < hr="spacer" /> + +

چۆن زانیاریەکەت دەپارێزین؟

+ +

ئێمە چەندین پێوانەی ئەمنی جۆراوجۆر جێبەجێ دەکەین بۆ پاراستنی سەلامەتی زانیاری ە تایبەتیەکانت کاتێک تۆ داخڵت کردووە یان پێشکەشکردن یان چوونە ژوورەوە بۆ زانیاری تایبەتی. لە نێوان شتەکانی تردا، دانیشتنی وێبگەڕەکەت، هەروەها ترافیکی نێوان کاربەرنامەکانت و API، بە SSL پارێزراوە، و نهێنوشەکەت بە بەکارهێنانی ئەلگاریتمی یەک-ڕێگەی بەهێز بە هاوسێکراوە. دەتوانیت سەلماندنی دوو-فاکتەر بەتوانا بکەیت بۆ زیاتر پاراستنی چوونە ژوورەوە بۆ ئەژمێرەکەت.

+ + < hr="spacer" /> + < hr="spacer" /> + +

بیمەنامەی هێشتنەوە داتامان چییە؟

+ +

ئێمە بە باشی هەوڵ بۆ باوەڕەکان

+ +
    +
  • سێرڤەری پاراستنی ناونووسەکان کە ناونیشانی ئای پی تێدایە بۆ هەموو داواکاریەکان بۆ ئەم سێرڤەرە، تا ئێستا وەک ئەو جۆرە لۆگانە پارێزراون، زیاتر لە 90 ڕۆژ.
  • +
  • ئای پیەکە بپارێزە کە پەیوەندی بە بەکارهێنەرە تۆمارکراوەکان هەیە زیاتر لە 12 مانگ.
  • +
+

دەتوانیت داواکاری و داگرتنی ئەرشیفی ناوەڕۆکەکەت بکەیت، لەوانە بابەتەکانت، هاوپێچەکانی میدیا، وێنەی پرۆفایل، و وێنەی سەرپەڕە.

+ +

تۆ دەتوانیت بە شێوەیەکی نائاسایی ئەژمێرەکەت بسڕیتەوە لە هەر کاتێکدا.

+ + < hr="spacer"/> + +

ئایا ئێمە کۆکیز بەکار بێنە؟

+ +

بەڵێ کۆکیزەکان فایلی بچووکن کە سایتێک یان دابینکەری خزمەتگوزاریەکەی دەیگوێزێتەوە بۆ هارد درایڤی کۆمپیوتەرەکەت لە ڕێگەی وێبگەڕەکەت (ئەگەر ڕێگەت پێ بدەیت). ئەم کۆکیزانە وێبسایتە بەتوانا دەکەن بۆ ناسینەوەی وێبگەڕەکەت و، ئەگەر ئەژمێرێکی تۆمارکراوت هەیە، بیبەستە بە ئەژمێری تۆمارکراو.

+ +

کۆکیز بەکاربێنە بۆ تێگەیشتن و هەڵگرتنی پەسەندیەکانی تۆ بۆ سەردانەکانی داهاتوو.

+ + < hr="spacer" /> + +

> ئایا هیچ زانیارییەک بۆ حزبەکانی دەرەوە ئاشکرا دەکەین؟ + +

ئێمە زانیاریە تایبەتەکانت نافرۆشین، بازرگانی دەکەین، یان ناگوازرێتەوە بۆ حزبەکانی دەرەوە. ئەمە لایەنی سێیەمی باوەڕپێکراو ی تێدا نییە کە یارمەتیمان دەدات لە کارپێکردنی سایتەکەمان، ئەنجامدانی کارەکانمان، یان خزمەتکردنی ئێوە، هەتا ئەو حزبانە ڕازی بن بە نهێنی هێشتنەوەی ئەم زانیاریانە. هەروەها لەوانەیە زانیاریەکەت بڵاوکەینەوه کاتێک پێمان وایە ئازادکردن گونجاوە بۆ پابەندبوون بە یاسا، سەپاندنی سیاسەتی ماڵپەڕەکەمان، یان پاراستنی مافەکانمان یان مافی تر، موڵک، یان سەلامەتی.

+ +

لەوانەیە ناوەڕۆکی گشتیت دابەزێنرابێت لەلایەن خزمەتگوزاریەکانی ترەوە لە تۆڕەکەدا. پۆستە گشتی و تەنها شوێنکەوتوانی تۆ دەگەیەنینە ئەو سێرڤەرانەی کە شوێنکەوتوانی تێیدا نواندووە، و پەیامی ڕاستەوخۆ دەگەیەنینە خزمەتکارەکانی وەرگرەکان، لە دووری ئەوەی کە شوێنکەوتوانی یان وەرگرەکان لە سێرڤەرێکی جیاواز لەم.

+ +

کاتێک تۆ مۆڵەت بە کاربەرنامەیەک بدەیت بۆ بەکارهێنانی ئەژمێرەکەت، بەگوێرەی مەودای مۆڵەتەکانت کە پەسەندت کردووە، لەوانەیە بچێتە ناو زانیاری پرۆفایلی گشتی، لیستی خوارەوەت، شوێنکەوتوانی تۆ، لیستەکانت، هەموو بابەتەکانت، و دڵراوەکانی تۆ. کاربەرنامەکان هەرگیز ناتوانن دەستگەیشتنیان هەبێت بە ناونیشانی ئیمەیڵ یان نهێنوشە.

+ < hr="spacer" /> + +

بەکارهێنانی سایت لەلایەن منداڵانەوە

+ +

ئەگەر ئەم سێرڤەرە لە یەکێتی ئەورووپا یان ئی ئی ئی ئەی بێت: ماڵپەڕ، بەرهەم و خزمەتگوزارییەکانی ئێمە هەموویان ئاراستەی ئەو کەسانە دەکرێت کە بە لایەنی کەمەوە 16 ساڵ ن. ئەگەر تەمەنت لە خوار 16 ساڵەوە بێت، لە سەر پێداویستی GDPR (General Data Protection Regulation) ئەم سایتە بەکارمەهێنیت.

+ +

ئەگەر ئەم سێرڤەرە لە ئەمریکا بێت: ماڵپەڕ و بەرهەم و خزمەتگوزاریەکانمان هەمووی ئاراستەی ئەو کەسانە دەکرێت کە بە لایەنی کەمەوە 13 ساڵ ن. ئەگەر تۆ لە خوار تەمەنی 13 ساڵیەوەبیت، لە سەر داواکاریەکانی COPPA (Children's Online Privacy Protection act) ئەم سایتە بەکارمەهێنیت.

+ +

یاسا دەتوانێت جیاواز بێت ئەگەر ئەم سێرڤەرە لە دەسەڵاتی دادوەری تر بێت.

+ + < hr="spacer" /> + +

گۆڕانکاریەکان لە سیاسەتی تایبەتمەندیمان

+ +

ئەگەر بڕیارمان دا سیاسەتی تایبەتمەندیمان بگۆڕین، ئەو گۆڕانکاریانە لەم پەڕەیە بڵاودەکەینەوە.

+ +

ئەم دۆکیومێنتە CC-BY-SA ە. دوایین جار نوێکرایەوە لە 7ی ئازاری 2018.

+ +

لە بنەڕەتدا لە < href="https://github.com/discourse/discourse">Discourse privacy policy.

+ title: "%{instance} مەرجەکانی خزمەتگوزاری و سیاسەتی تایبەتیێتی" + themes: + contrast: ماستۆدۆن (کۆنتراستی بەرز) + default: ماستۆدۆن (ڕەش) + mastodon-light: ماستۆدۆن (کاڵ) + two_factor_authentication: + add: زیادکردن + disable: لەکارخستنی 2FA + disabled_success: سەلماندنی سەلماندنی دوو-فاکتەر بە سەرکەوتوویی لەکارخراوە + edit: دەستکاری + enabled: سەلماندنی دوو-فاکتەر چالاک کراوە + enabled_success: سەلماندنی دوو-فاکتەر بە سەرکەوتوویی چالاک کرا + generate_recovery_codes: دروست کردنی کۆدی چاککردنەوە + lost_recovery_codes: کۆدی گەڕاندنەوە ڕێگەت پێ دەدات کە دەستگەیشتنت بۆ هەژمارەکەت بەدەست بهێنێ ئەگەر تەلەفۆنەکەت لەدەست بدەیت. ئەگەر کۆدەکانی چاکبوونەوەت لەدەست داوە، دەتوانیت لێرە دووبارە دروستیان کەی. کۆدی چاککردنەوەی کۆنت هەڵدەوەشێنێتەوە. + methods: دوو - میتۆدی فاکتەر + otp: ئەپی ڕاستەوە + recovery_codes: پاڵپشتکردن لە کۆدی هێنانەوەی + recovery_codes_regenerated: کۆدی گەڕاندنەوە بە سەرکەوتوویی دووبارە دروست بوویەوە + recovery_instructions_html: گەر تەلەفۆنەکەت بزر کرد دەتوانی بە یەکێک لە کۆدەکانی خوارەوە چاودێری هەژمارەکەت لە دەست بگریت.ائەم کۆدانە لە شوێنێکی پاراو هەڵبگرە بۆ نموونە چاپی بکەن یان لەگەڵ بەڵگەنامە گرینگەکانت دایبنێ. + webauthn: کلیلەکانی پاراستن + user_mailer: + backup_ready: + explanation: ئێوە وشانێکی پاڵپشتی تەواوت لە هەژمارەکەی خۆت داوا کردووە، ئەم پاڵپشتییە ئێستا ئامادەی بارکردنە! + subject: ئارشیڤی ئێوە ئامادەی داگرتنە + title: وەرگرتنی ئارشیڤ + sign_in_token: + details: 'وردەکاریی هەوڵەکان:' + explanation: 'هەوڵێک بۆ هاتنە نێو هەژمارەکەتان لە ناونیسانێکی ئای‌پی پەیداکرا. گەر خۆتانن. تێپەڕوشەی پاراستن بۆ پەڕەی بەرنگاری دابین بکە:' + further_actions: 'گەر ئێوە نیین تکایە تێپەڕوشە بگۆڕە وە لێرەوە پەسەند بوونی دوو قۆناغی لە سەر هەژمارەکەتان چالاک بکەن:' + subject: تکایە دڵنیابە لە هەوڵدان بۆ چوونە ژوورەوە + title: هەوڵدان بۆ چوونە ژوورەوە + warning: + subject: + disable: هەژمارەکەت %{acct} بەستراوە + none: ئاگاداری بۆ %{acct} + silence: هەژمارەکەی %{acct} سنووردار کراوە + suspend: هەژمارەکەی %{acct} ڕاگیرا + title: + disable: هەژمارە بەستراوە + none: ئاگاداری + silence: هەژماری سنووردار + suspend: هەژمار ڕاگیرا + welcome: + edit_profile_action: پرۆفایلی جێگیرکردن + edit_profile_step: 'ئێوە دەتوانن پرۆفایلەکەتان بە دڵخوازی خۆتان بگۆڕن: دەتوانن وێنەی پرۆفایل،وێنەی پاشبنەما،ناو و... هتد دابین بکەن. ئەگەر هەرەکت بێت دەتوانی هەژمارەکەت تایبەت بکەیتەوە تا تەنها کەسانێک کە ئێوە ڕێگەتان داوە دەتوانن شوێنکەوتوو هەژمارەکەتان بن.' + explanation: ئەمە چەند ئامۆژگارییەکن بۆ دەست پێکردنت + final_action: دەست بکە بە بڵاوکردنەوە + final_step: 'چیزی بنووسید! تەنانەت گەر ئێستا کەسێک شوێن کەوتووی ئێوە نەبوو، هەژمارەکانی دیکە و سەردانکەرەکانی پرۆفایلەکەتان نووسراوەکانی گشتی ئێوە دەبینن. بۆ نموونە لە پێرستی نووسراوە خۆماڵییەکان و لە لکاوەی(هاشتاگ) ەکان، شایەد هەرەکتان بێت بە چەسپکراوەی # خۆتان بناسێنن.' + full_handle: ناوی بەکارهێنەری تەواوی ئێوە + full_handle_hint: ئەمە ئەو شتەیە کە بە هاوڕێکانت دەلێی بۆ ئەوەی پەیام یان لە ڕاژەیەکی دیکەی ترەوە بەدوات بکەون. + review_preferences_action: گۆڕینی پەسەندەکان + review_preferences_step: دڵنیابە لە دانانی پەسەندکراوەکانت، وەک کام ئیمەیل کە دەتەوێت وەریبگرێ، یان دەتەوێت چ ئاستێکی تایبەتیت بۆ بابەتەکانت پێش گریمانە بێت. ئەگەر نەخۆشی جوڵەت(دڵ تێکەڵدان لە وێنە جووڵەییەکان) نیە، دەتوانیت هەڵبژێریت بۆ بەتواناکردنی پەخشکردنی خۆکاری GIF. + subject: بەخێربیت بۆ ماستۆدۆن + tip_federated_timeline: پێرستی نووسراوەکانی هەمووشوێنێک وێنەیەکی گشتی لە تۆڕی ماستۆدۆنە، بەڵام تەنها بریتییە لە هاوسێکان کە شوێنیان کەوتن؛بس تەواو نییە. + tip_following: بە شیوەی بنەڕەتی بەڕێوەبەران ڕاژەکەتان چاودێری دەکەن، بۆ پەداکردنی کەسانی سەرنجڕاکێشە چاودێری نووسراوە ناخۆیی و نووسراوەکانی شوێنەکانی دیکە بکەن. + tip_local_timeline: پێرستی نووسراوە ناوخۆییەکان شێوەیەکی تەواو لە بەکارهێنەران لە سەر %{instance} پیسان دەدەن، ئەمانە جەیرانی ئێوەن! + tip_mobile_webapp: ئەگەر وێبگەڕی مۆبایلەکەت پێشنیاری زیادکردنی ماستۆدۆن بۆ شاشەی ڕوومێزیەکەتی کرد، دەتوانیت ئاگانامەکانی هاندان وەربگری. لە زۆر ڕوەوە وەک بەرنامەیەیەکی ئەسڵی ئیس دەکا! + tips: ئامۆژگاریەکان + title: بەخێربێیت، بەکارهێنەر %{name}! + users: + follow_limit_reached: ناتوانیت زیاتر لە %{limit} خەڵک پەیڕەو کەیت + generic_access_help_html: کێشەت هەیە لە گەیشتن بە هەژمارەکەت؟ دەتوانیت لەگەڵ %{email} بۆ یارمەتیدان پەیوەندی بگرن + invalid_otp_token: کۆدی دوو-فاکتەر نادروستە + invalid_sign_in_token: کۆدی پاراستن دروست نیە + otp_lost_help_html: گەر بەو دووڕێگا نەتوانی بچیتە ژوورەوە، لەوانەیە پەیوەندی بگری بە %{email} بۆ یارمەتی + seamless_external_login: تۆ لە ڕێگەی خزمەتگوزاری دەرەکیەوە داخڵ بووی، بۆیە ڕێکبەندەکانی نهێنوشە و ئیمەیل بەردەست نین. + signed_in_as: 'چوونە ژوورەوە وەک:' + suspicious_sign_in_confirmation: وادیارە تۆ پێشتر لەم ئامێرە نەچویتە ژوورەوە، و بۆ ماوەیەک نەچویتە ژوورەوە، بۆیە کۆدی پاراستن دەنێردرینە ناونیشانی ئیمەیڵەکەت بۆ دڵنیابوون لەوەی کە ئەوە تۆیت. + verification: + explanation_html: 'دەتوانیت خۆت بسەلمێنیت وەک خاوەنی لینکەکان لە مێتاداتای پرۆفایلەکەت. بۆ ئەمە، ماڵپەڕە لینککراوەکە پێویستە لینکێکی تێدا بێت بۆ پرۆفایلی ماستۆدۆنەکەت. بەستەری دەبێت هەبێت ="me". ناوەڕۆکی دەقی لینکەکە گرنگ نییە. ئەمە نموونەیەکە:' + verification: ساغ کردنەوە + webauthn_credentials: + add: زیادکردنی کلیلی ئاسایشی نوێ + create: + error: کێشەیەک هەبوو لە زیادکردنی کلیلی پاراستنەکەت. تکایە دووبارە هەوڵ دەوەشنەوە. + success: کلیلی ئاسایشت بە سەرکەوتوویی زیادکرا. + delete: سڕینەوە + delete_confirmation: ئایا دڵنیایت لەوەی دەتەوێت ئەم کلیلی پاراستنە بسڕیتەوە? + description_html: ئەگەر تۆ کلیلی سەلماندنت چالاک دەکەی، بۆ چوونە ژوورەوە پێویستت پێ دەبێ، یەکێک لە کلیلە کانی ئاسایشت بەکاربێنیت. + destroy: + error: کێشەیەک هەبوو لە سڕینەوەی کلیلی پاراستنەکەت. تکایە دووبارە هەوڵ بدەرەوە. + success: کلیلی ئاسایشت بە سەرکەوتوویی سڕایەوە. + invalid_credential: کۆدی پاراستن دروست نیە + nickname_hint: نازناوی کلیلی ئاسایشی نوێت تێبنووسە + not_enabled: تۆ هێشتا WebAuthnت چالاک نەکردووە + not_supported: ئەم وێبگەڕە پشتگیری کلیلەکانی پاراستن ناکات + otp_required: بۆ بەکارهێنانی کلیلەکانی پاراستن تکایە سەرەتا سەلماندنی دوو-فاکتەر چالاک بکە. + registered_on: تۆمارکراو لە %{date} diff --git a/config/locales/da.yml b/config/locales/da.yml index ff45ee811..34e56ded4 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -373,6 +373,7 @@ da: enable: Aktivér enabled: Aktiveret enabled_msg: Denne emoji er nu aktiv + image_hint: PNG eller GIF op til %{size} list: Oplist listed: Oplistet new: @@ -1432,7 +1433,7 @@ da: disallowed_hashtags: one: 'indeholdte et ikke tilladt hashtag: %{tags}' other: 'indeholdte de ikke tilladte hashtags: %{tags}' - edited_at: Redigeret %{date} + edited_at_html: Redigeret %{date} errors: in_reply_not_found: Indlægget, der forsøges besvaret, ser ikke ud til at eksistere. open_in_web: Åbn i webbrowser diff --git a/config/locales/de.yml b/config/locales/de.yml index 33df89801..4768f4e80 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1436,7 +1436,6 @@ de: disallowed_hashtags: one: 'enthält einen verbotenen Hashtag: %{tags}' other: 'enthält verbotene Hashtags: %{tags}' - edited_at: Bearbeitet am %{date} errors: in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren. open_in_web: Im Web öffnen diff --git a/config/locales/devise.ca.yml b/config/locales/devise.ca.yml index e1600bc6a..ff7836711 100644 --- a/config/locales/devise.ca.yml +++ b/config/locales/devise.ca.yml @@ -25,7 +25,7 @@ ca: explanation: Has creat un compte a %{host} amb aquesta adreça de correu electrònic. Estàs a un sol clic de l'activació. Si no fos així, ignora aquest correu electrònic. explanation_when_pending: Has sol·licitat una invitació a %{host} amb aquesta adreça de correu electrònic. Un cop confirmis la teva adreça de correu electrònic revisarem la teva sol·licitud. No es pot iniciar la sessió fins llavors. Si la teva sol·licitud és rebutjada les teves dades s’eliminaran, de manera que no s’exigirà cap altra acció. Si no has estat tu qui ha fet aquest sol·licitud si us plau ignora aquest correu electrònic. extra_html: Si us plau consulta també les regles del servidor i les nostres condicions de servei. - subject: 'Mastodon: Instruccions de confirmació %{instance}' + subject: 'Mastodon: Instruccions de confirmació de %{instance}' title: Verifica l'adreça de correu email_changed: explanation: 'L''adreça de correu del teu compte s''està canviant a:' diff --git a/config/locales/devise.ckb.yml b/config/locales/devise.ckb.yml new file mode 100644 index 000000000..1261ebb64 --- /dev/null +++ b/config/locales/devise.ckb.yml @@ -0,0 +1,115 @@ +--- +ckb: + devise: + confirmations: + confirmed: ناونیشانی ئیمەیڵەکەت بە سەرکەوتوویی پشتڕاستکرایەوە. + send_instructions: ئیمەیڵێکت بۆ دەنێردرێت لەگەڵ ڕێنمایی بۆ چۆنیەتی دڵنیابوون لە ناونیشانی ئیمەیلەکەت لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت چاولێبکە ئەگەر ئەم ئیمەیڵەت پێنەدرا. + send_paranoid_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، ئیمەیڵێکت پێدەگات لەگەڵ ڕێنماییەکانی چۆنیەتی دڵنیابوون لە ناونیشانی ئیمەیلەکەت لە چەند خولەکێکدا. تکایە بۆخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا. + failure: + already_authenticated: تۆ پێشتر چوونە ژوورەوەت کردووە. + inactive: هەژمارەکەت هێشتا کارا نەکراوە. + invalid: "%{authentication_keys} یان نهێنوشە نادروستە." + last_attempt: تۆ یەک هەوڵیدیکەت ماوە پێش ئەوەی ئەژمێرەکەت قوفڵ بێت. + locked: هەژمارەکت داخراوە. + not_found_in_database: "%{authentication_keys} یان نهێنوشە نادروستە." + pending: هەژمێرەکەت هێشتا لەژێر پێداچوونەوەدایە. + timeout: کۆبوونەوەکەت بەسەرچووە. تکایە دووبارە بچۆ ژوورەوە بۆ بەردەوام بوون. + unauthenticated: پێویستە بچیتە ژوورەوە یان بچیتە ناو چوونە ناو پێش بەردەوام بوون. + unconfirmed: دەبێت ناونیشانی ئیمەیڵەکەت پشتڕاست بکەیتەوە پێش بەردەوام بوون. + mailer: + confirmation_instructions: + action: ناونیشانی ئیمەیڵ ساخ بکەرەوە + action_with_app: پشتڕاستی بکەوە و بگەڕێوە بۆ %{app} + explanation: ئەژمێرێکت دروست کردووە لەسەر %{host} بەم ناونیشانی ئیمەیڵە. تۆ یەک کرتە دووریت لە کاراکردنی. ئەگەر ئەمە تۆ نەبووی، تکایە ئەم ئیمەیڵە فەرامۆش بکە. + explanation_when_pending: تۆ داوای بانگهێشتت کرد بۆ %{host} بەم ناونیشانی ئیمەیڵە. هەر کە دڵنیایی لە ناونیشانی ئیمەیڵەکەت دەکەیت، ئێمە پێداچوونەوە دەکەین بە بەرنامەکەتدا. دەتوانیت بچیت بۆ چوونە ژوورەوە بۆ گۆڕینی ووردەکاریەکانت یان سڕینەوەی هەژمارەکەت، بەڵام ناتوانیت دەستگەیشتنت هەبێت بە زۆربەی ئەرکەکان تا ئەژمێرەکەت پەسەند ناکرێت. ئەگەر کاربەرنامەکەت ڕەتکرایەوە، داتاکەت لادەبرێت، بۆیە پێویست بە کاری زیاتر لە تۆ ناکرێت. ئەگەر ئەمە تۆ نەبووی، تکایە ئەم ئیمەیڵە فەرامۆش بکە. + extra_html: تکایە تێڕوانە لە ڕێساکانی ڕاژەکار و مەرجەکانی خزمەتگوزاری. + subject: 'ماستۆدۆن: ڕێنماییەکانی پشتڕاستکردنەوە بۆ %{instance}' + title: ناونیشانی ئیمەیڵ ساخ بکەرەوە + email_changed: + explanation: 'ناونیشانی ئیمەیڵەکەی ئەژمێرەکەت دەگۆڕدرێت بۆ:' + extra: ئەگەر ئیمەیلەکەت نەگۆڕیت، لەوانەیە کەسێک دەستگەیشتنی بۆ هەژمارەکەت بەدەست بێت. تکایە تێپەڕوشەکەت بگۆڕە دەستبەجێ یان پەیوەندی بکە بە بەڕێوەبەری ڕاژەوە ئەگەر تۆ لە هەژمارەکەت داخرایت. + subject: 'ماستۆدۆن: ئیمەیڵ گۆڕا' + title: ناونیشانی ئیمەیڵی نوێ + password_change: + explanation: تێپەڕوشە بۆ هەژمارەکەت گۆڕاوە. + extra: ئەگەر تێپەڕوشەکەت نەگۆڕی، وا دیارە کەسێک دەستگەیشتنی بۆ هەژمارەکەت بەدەست بێت. تکایە تێپەڕوسيکەت بگۆڕە دەستبەجێ یان پەیوەندی بکە بە بەڕێوەبەری ڕاژە ئەگەر تۆ لە هەژمارەکەت داخرایت. + subject: 'ماستۆدۆن: تێپەڕوشە گۆڕدرا' + title: تێپەڕوشە گۆڕدرا + reconfirmation_instructions: + explanation: دڵنیابوون لە ناونیشانی نوێ بۆ گۆڕینی ئیمەیڵەکەت. + extra: ئەگەر ئەم گۆڕانکاریە لەلایەن تۆوە دەست پێنەکراوە، تکایە ئەم ئیمەیڵە فەرامۆش بکە. ناونیشانی ئیمەیڵ بۆ هەژمێری ماستۆدۆن ناگۆڕێ هەتا ئەو کاتەی دەستپێگەیشتنی ئەم لینکەت لە سەرەوە نیە. + subject: 'ماستۆدۆن: دووپاتی ئیمەیل بۆ %{instance}' + title: ناونیشانی ئیمەیڵ ساخ بکەرەوە + reset_password_instructions: + action: گۆڕینی تێپەڕوشە + explanation: تۆ تیپەڕوشەی نوێت داوا کرد بۆ هەژمارەکەت. + extra: ئەگەر ئەم داواکاریەت نەکرد، تکایە ئەم ئیمەیڵە فەرامۆش بکە. تێپەڕوشەکەت ناگۆڕێ هەتا نەچیتە ناو لینکی سەرەوە و دانەیەکی نوێ دروست بکەیت. + subject: 'ماستۆدۆن: رێکردنەوەی رێنماییەکانی تێپەڕوشە' + title: گەڕانەوەی تێپەڕوشە + two_factor_disabled: + explanation: سەلماندنی دوو-فاکتەر بۆ هەژمارەکەت کە لە کارخراوە. چوونەژوورەوە ئێستا دەکرێت تەنها ناونیشانی ئیمەیڵ و تێپەڕوشەکەت بەکاربهێنی. + subject: 'ماستۆدۆن: سەلماندنی دوو-فاکتەری ناچالاک کراوە' + title: 2FA ناچالاک کرا + two_factor_enabled: + explanation: سەلماندنی دوو-فاکتەر بۆ هەژمارەکەت چالاک کراوە. ئاماژەیەک کە لەلایەن نەرمەکالایTOTP جووتکراو دروست کراوە پێویستە بە چوونە ژوورەوە. + subject: 'ماستۆدۆن: سەلماندنی دوو-فاکتەری چالاک کراوە' + title: 2FA چالاک کرا + two_factor_recovery_codes_changed: + explanation: کۆدەکانی چاککردنەوەی پێشوو هەڵوەشێنرانەوە و، نوێکان دروست بوون. + subject: 'ماستۆدۆن: کۆدەکانی گەڕانەوەی دوو فاکتەر، دووبارە دروست دەکرێتەوە' + title: 2FA کۆدی چاککردنەوە گۆڕا + unlock_instructions: + subject: 'ماستۆدۆن: رێنماییەکان بکەرەوە' + webauthn_credential: + added: + explanation: کلیلی ئاسایشی خوارەوە زیادکرا بۆ هەژمارەکەت + subject: 'ماستۆدۆن: کلیلی ئاسایشی نوێ' + title: کلیلی پاراستنی نوێ زیادکرا + deleted: + explanation: کلیلی ئاسایشی خوارەوە لە هەژمارەکەت سڕایەوە + subject: 'ماستۆدۆن: کلیلی پاراستن سڕایەوە' + title: کلیلە کانی پاراستنی یەکێک لە ئێوە سڕایەوە + webauthn_disabled: + explanation: سەلماندن بە کلیلەپارێزراوەکان لە کارخراوە بۆ هەژمارەکەت. چوونەژوورەوە ئێستا دەکرێت تەنها ئەو نیشانەیە بەکاربێنیت کە لەلایەن نەرمەکالایTOTP دروست کراوە. + subject: 'ماستۆدۆن: سەلماندن لەگەڵ کلیلە پاسایشی ناچالاک کراوە' + title: کلیلە پارستنەکان ناچالاک کراون + webauthn_enabled: + explanation: سەلماندنی کلیلی ئاسایش چالاک کراوە بۆ هەژمارەکەت. ئێستا کلیلی پاراستن دەتوانرێت بۆ چوونە ژوورەوە بەکار بێت. + subject: 'ماستۆدۆن: سەلماندنی کلیلی پاراستن چالاک کراوە' + title: کلیلە کانی پاراستن چالاک کرا + omniauth_callbacks: + failure: نەیتوانی ڕەسەنایە تی %{kind} بتەوبکات لەبەرئەوەی "%{reason}". + success: سەرکەوتووانە لە هەژماری %{kind} سەلمێنرا. + passwords: + no_token: ناتوانیت دەستگەیشتنت هەبێت بەم لاپەڕەیە بەبێ ئەوەی لە ئیمەیڵێکی گەڕانەوەی تێپەڕوشەت بێت. ئەگەر لە ئیمەیڵێکیگەڕانەوەی تێپەڕوشە هاتوویت، تکایە دڵنیابە لەوەی کە URLی تەواوت بەکارهێناوە کە دابینکراوە. + send_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، لە چەند خولەکێکی کەمدا لینکی هێنانەوەی تێپەڕوشە لە ناونیشانی ئیمەیلەکەت پێ دەگات. تکایە بوخچەی سپامەکەت بکەرەوە، ئەگەر ئەم ئیمەیڵەت پێنەدرا. + send_paranoid_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، لە چەند خولەکێکی کەمدا لینکی هێنانەوەی تێپەڕوشە لە ناونیشانی ئیمەیلەکەت پێ دەگات. تکایە بوخچەی سپامەکەت بکەرەوە، ئەگەر ئەم ئیمەیڵەت پێنەدرا. + updated: تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدرا. تۆ ئێستاچوویتە ژوورەوە. + updated_not_active: تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدرا. + registrations: + destroyed: خوات لەگەڵ! ئەژمێرەکەت بە سەرکەوتوویی هەڵوەشێنرایەوە. هیوادارین بەزوویی بتبینینەوە. + signed_up: بەخێربێیت! تۆ بە سەرکەوتوویی تۆمار کرای. + signed_up_but_inactive: تۆ بە سەرکەوتوویی تۆمارکرای. هەرچۆنێک بێت، نەمانتوانی چوونە ژوورەوەت بۆ بکەین لەبەرئەوەی هێشتا هەژمارەکەت کارا نەکراوە. + signed_up_but_locked: تۆ بە سەرکەوتوویی تۆمارکرای. هەرچۆنێک بێت، نەمانتوانی چوونە ژوورەوەت بۆ بکەین لەبەرئەوەی هێشتا هەژمارەکەت قوفڵ کراوە. + signed_up_but_pending: نامەیەک بە لینکی دووپاتکردنەوە نێردراوە بۆ ناونیشانی ئیمەیڵەکەت. دوای ئەوەی تۆ کرتە لەسەر لینکەکە دەکەیت، ئێمە پێداچوونەوە دەکەین بە بەرنامەکەتدا. ئاگادار دەکرێیت ئەگەر پەسەند کرا. + signed_up_but_unconfirmed: نامەیەک بە لینکی دووپاتکردنەوە نێردراوە بۆ ناونیشانی ئیمەیڵەکەت. تکایە دوای لینکەکە بکەوە بۆ کاراکردنی هەژمارەکەت. تکایە بوخچەی سپامەکەت بکەرەوە ئەگەر ئەم ئیمەیڵەت پێنەدرا. + update_needs_confirmation: تۆ ئەژمێرەکەت بە سەرکەوتوویی نوێکردەوە، بەڵام پێویستە ئیمەیڵە نوێکەت بسەلمێنین. تکایە ئیمەیڵەکەت بپشکنە و دوای بەستەری دڵنیابوونەوە بکەوە بۆ دڵنیابوون لە ناونیشانی ئیمەیڵە نوێکەت. تکایە بوخچەی سپامەکەت بکەرەوە ئەگەر ئەم ئیمەیڵەت پێنەدرا. + updated: هەژمارەکەت بە سەرکەوتوویی نوێکرایەوە. + sessions: + already_signed_out: چوونە دەرەوە بە سەرکەوتوویی ئەنجام بوو. + signed_in: بە سەرکەوتوویی چوونە ژوورەوە. + signed_out: چوونە دەرەوە بە سەرکەوتوویی ئەنجام بوو. + unlocks: + send_instructions: ئیمەیڵێکت بۆ دەنێردرێت لەگەڵ ڕێنمایی بۆ چۆنیەتی کردنەوەی هەژمارەکەت لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا. + send_paranoid_instructions: ئەگەر هەژمارەکەت بوونی هەبێت، ئیمەیڵێکت پێدەگات لەگەڵ ڕێنمایی چۆنیەتی کردنەوەی لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا. + unlocked: هەژمارەکەت بە سەرکەوتوویی لە قوفڵ لاچوو. تکایە بچۆ ژوورەوە بۆ بەردەوام بوون. + errors: + messages: + already_confirmed: پێشتر پشتڕاست کرایەوە، تکایە هەوڵ دەدە بچۆ ژوورەوە + confirmation_period_expired: پێویستە لە نێو %{period} دا پشتڕاست بکرێتەوە، تکایە داوای دانەیەکی نوێ بکە + expired: بەسەرچووە، تکایە داوایەکی نوێ بکە + not_found: نەدۆزرایەوە + not_locked: دانەخرابوو + not_saved: + one: '١ هەڵە قەدەغەکرا ئەم %{resource} لە تۆمارکردن:' + other: "%{count} هەڵەی قەدەغەکرد کە %{resource} لە پاشکەوتکردن:" diff --git a/config/locales/devise.da.yml b/config/locales/devise.da.yml index 9f5ef3b14..6e4d5ad62 100644 --- a/config/locales/devise.da.yml +++ b/config/locales/devise.da.yml @@ -3,8 +3,8 @@ da: devise: confirmations: confirmed: Din e-mail er nu bekræftet. - send_instructions: Du vil om få minutter modtage en e-mailvejledning til, hvordan du bekræfter din e-mailadresse. Tjek din spammappe, hvis du modtager denne e-mail. - send_paranoid_instructions: Findes din e-mailadresse allerede i vores database, vil du om få minutter modtage en e-mailvejledning til, hvordan du bekræfter din e-mailadresse. Tjek din spammappe, hvis du ikke modtager denne e-mail. + send_instructions: Du skulle om få minutter modtage en e-mailvejledning til, hvordan din e-mailadresse bekræftes. Tjek spammappen, hvis e-mailen ikke ser ud til at lande i indbakken. + send_paranoid_instructions: Findes din e-mailadresse allerede i vores database, skulle du om få minutter modtage en e-mailvejledning til, hvordan din e-mailadresse bekræftes. Tjek spammappen, hvis e-mailen ikke ser ud til at lande i indbakken. failure: already_authenticated: Du er allerede logget ind. inactive: Din konto er endnu ikke aktiveret. @@ -12,46 +12,46 @@ da: last_attempt: Du har ét forsøg mere, før din konto bliver låst. locked: Din konto er låst. not_found_in_database: Ugyldig %{authentication_keys} eller adgangskode. - pending: Din konto er stadig under bedømmelse. - timeout: Din session udløb. Log ind igen for at fortsætte. - unauthenticated: Du skal logge ind eller tilmelde dig for at fortsætte. - unconfirmed: Du skal bekræfte din e-mailadresse for at fortsætte. + pending: Din konto er stadig under revision. + timeout: Session udløbet. Log ind igen for at fortsætte. + unauthenticated: Log ind eller tilmelde dig for at fortsætte. + unconfirmed: Bekræft din e-mailadresse for at fortsætte. mailer: confirmation_instructions: action: Bekræft e-mailadresse action_with_app: Bekræft og returnér til %{app} - explanation: Du har oprettet en konto på %{host} med denne e-mailadresse og er nu et klik fra at aktivere din konto. Har du ikke oprettet dig, så ignorér blot denne e-mail. - explanation_when_pending: Du ansøgte om en invitation til %{host} med denne e-mailadresse. Når du har bekræftet din e-mailadresse, gennemgår vi din ansøgning. Du kan logge ind for at ændre dine oplysninger eller slette din konto, men du kan ikke tilgå de fleste af funktionerne, før din konto er godkendt. Afvises din ansøgning, fjernes dine data, så ingen yderligere handling fra dig er nødvendig. Har du ikke ansøgt, så ignorér blot denne e-mail. - extra_html: Tjek også reglerne for serveren samt vores tjenestevilkår. + explanation: Du har oprettet en konto på %{host} med denne e-mailadresse og er nu ét klik fra at aktivere den. Har du ikke oprettet dig, så ignorér blot denne e-mail. + explanation_when_pending: Du har ansøgt om en invitation til %{host} med denne e-mailadresse. Når du har bekræftet adressen, gennemgås din ansøgning. Du kan logge ind for at ændre oplysninger eller slette kontoen, men hovedparten af funktionerne kan ikke tilgås, før kontoen er godkendt. Afvises ansøgningen, fjernes dine data, så ingen yderligere handling fra dig er nødvendig. Har du ikke ansøgt, så ignorér blot denne e-mail. + extra_html: Tjek også reglerne for serveren samt gældende Tjenestevilkår. subject: 'Mastodon: Bekræftelsesinstrukser for %{instance}' title: Bekræft e-mailadresse email_changed: explanation: 'Din kontos e-mailadressen ændres til:' - extra: Har du ikke selv skiftet din e-mailadresse, er det muligt, at nogen har fået adgang til din konto. Skift venligst din adgangskode med det samme eller kontakt serveradministratoren, hvis du er låst ude af din konto. + extra: Har du ikke selv skiftet din e-mailadresse, har nogen sandsynligvis opnået adgang til din konto. Skift derfor straks din adgangskode eller kontakt serveradministratoren, hvis du er låst ude af kontoen. subject: 'Mastodon: E-mail skiftet' title: Ny e-mailadresse password_change: explanation: Din kontoadgangskode er skiftet. - extra: Har du ikke selv ændret dim adgangskode, er det muligt, at nogen har fået adgang til din konto. Skift venligst din adgangskode med det samme eller kontakt serveradministratoren, hvis du er låst ude af din konto. + extra: Har du ikke selv skiftet din adgangskode, har nogen sandsynligvis opnået adgang til din konto. Skift derfor straks din adgangskode eller kontakt serveradministratoren, hvis du er låst ude af kontoen. subject: 'Mastodon: Adgangskode skiftet' title: Adgangskode skiftet reconfirmation_instructions: explanation: Bekræft den nye adresse for at skifte din e-mail. - extra: Er denne ændring ikke iværksat af dig, så ignorér denne e-mail. E-mailadressen til Mastodon-kontoen ændres ikke, før du tilgår linket ovenfor. + extra: Er denne ændring ikke foranlediget af dig, så ignorér denne e-mail. Mastodon-kontoens e-mailadresse skiftes ikke, før linket ovenfor benyttes. subject: 'Mastodon: Bekræft e-mail for %{instance}' title: Bekræft e-mailadresse reset_password_instructions: action: Skift adgangskode explanation: Du har anmodet om en ny kontoadgangskode. - extra: Har du ikke anmodet om dette, så ignorér denne e-mail. Din adgangskode skiftes først, når du via linket ovenfor har oprettet en ny. + extra: Har du ikke anmodet om dette, så ignorér denne e-mail. Din adgangskode skiftes først, når linket ovenfor er benyttet til at oprette en ny. subject: 'Mastodon: Nulstil adgangskode-instruktioner' - title: Adgangskode nulstillet + title: Adgangskodenulstilling two_factor_disabled: explanation: Tofaktorgodkendelse for din konto er blevet deaktiveret. Indlogning er nu kun mulig via email og adgangskode. subject: 'Mastodon: Tofaktorgodkendelse deaktiveret' title: 2FA deaktiveret two_factor_enabled: - explanation: Tofaktorgodkendelse er blevet aktiveret for din konto. Et token genereret af den parrede TOTP-app vil være nødvendig for at logge ind. + explanation: Tofaktorgodkendelse er blevet aktiveret for din konto. Et login-token genereret af den parrede TOTP-app vil være nødvendig. subject: 'Mastodon: Tofaktorgodkendelse aktiveret' title: 2FA aktiveret two_factor_recovery_codes_changed: @@ -66,7 +66,7 @@ da: subject: 'Mastodon: Ny sikkerhedsnøgle' title: En ny sikkerhedsnøgle er tilføjet deleted: - explanation: Flg. sikkerhedsnøgle er slettet din konto + explanation: Flg. sikkerhedsnøgle er slettet fra din konto subject: 'Mastodon: Sikkerhedsnøgle slettet' title: En af dine sikkerhedsnøgler er blevet slettet webauthn_disabled: @@ -81,9 +81,9 @@ da: failure: Kunne ikke godkende dig fra %{kind} fordi "%{reason}". success: Godkendt fra %{kind}-konto. passwords: - no_token: Du kan kun tilgå denne side via linket fra en adgangskodenulstillings e-mail. Kommer du fra en sådan e-mail, så sørg for at benytte den angivne, komplette URL. - send_instructions: Er din e-mail-adresse allerede registreret, e-mailer vi dig et link til adgangskodenulstilling. Tjek din spammappe, hvis du ikke ser e-mailen i din indbakke indenfor få minutter. - send_paranoid_instructions: Er din e-mail-adresse allerede registreret, e-mailer vi dig et link til adgangskodegendannelse. Tjek din spammappe, hvis du ikke ser e-mailen i din indbakke indenfor få minutter. + no_token: Denne side er kun tilgængelig via linket fra en adgangskodenulstillings e-mail. Husk i den forbindelse at benytte den fuldstændige URL fra e-mailen. + send_instructions: Er din e-mailadresse allerede registreret, e-mailes du et link til adgangskodenulstilling. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter. + send_paranoid_instructions: Er din e-mail-adresse allerede registreret, e-mailes du et link til adgangskodegendannelse. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter. updated: Din adgangskode er skiftet, og du er nu logget ind. updated_not_active: Din adgangskode er skiftet. registrations: diff --git a/config/locales/devise.ku.yml b/config/locales/devise.ku.yml index 64c305681..9ae76dab2 100644 --- a/config/locales/devise.ku.yml +++ b/config/locales/devise.ku.yml @@ -2,114 +2,118 @@ ku: devise: confirmations: - confirmed: ناونیشانی ئیمەیڵەکەت بە سەرکەوتوویی پشتڕاستکرایەوە. - send_instructions: ئیمەیڵێکت بۆ دەنێردرێت لەگەڵ ڕێنمایی بۆ چۆنیەتی دڵنیابوون لە ناونیشانی ئیمەیلەکەت لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت چاولێبکە ئەگەر ئەم ئیمەیڵەت پێنەدرا. - send_paranoid_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، ئیمەیڵێکت پێدەگات لەگەڵ ڕێنماییەکانی چۆنیەتی دڵنیابوون لە ناونیشانی ئیمەیلەکەت لە چەند خولەکێکدا. تکایە بۆخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا. + confirmed: Navnîşana te ya e-nameyê bi awayekî serkeftî hat piştrastkirin. + send_instructions: Çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêre. + send_paranoid_instructions: Heger navnîşana e-name ya te danegeha me de hebe çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêrin. failure: - already_authenticated: تۆ پێشتر چوونە ژوورەوەت کردووە. - inactive: هەژمارەکەت هێشتا کارا نەکراوە. - invalid: "%{authentication_keys} یان نهێنوشە نادروستە." - last_attempt: تۆ یەک هەوڵیدیکەت ماوە پێش ئەوەی ئەژمێرەکەت قوفڵ بێت. - locked: هەژمارەکت داخراوە. - not_found_in_database: "%{authentication_keys} یان نهێنوشە نادروستە." - pending: هەژمێرەکەت هێشتا لەژێر پێداچوونەوەدایە. - timeout: کۆبوونەوەکەت بەسەرچووە. تکایە دووبارە بچۆ ژوورەوە بۆ بەردەوام بوون. - unauthenticated: پێویستە بچیتە ژوورەوە یان بچیتە ناو چوونە ناو پێش بەردەوام بوون. - unconfirmed: دەبێت ناونیشانی ئیمەیڵەکەت پشتڕاست بکەیتەوە پێش بەردەوام بوون. + already_authenticated: Jixwe te berê têketin kiriye. + inactive: Ajimêra te hîn nehatiye çalakkirin. + invalid: Nederbasdar %{authentication_keys} an jî şîfre. + last_attempt: Peşiya kilît kirina ajimêra te carek din jî biceribîne. + locked: Ajimêra ye hat kilît kirin. + not_found_in_database: Nederbasdar %{authentication_keys} an jî şîfre. + pending: Ajimêra te hîn tê vekolandin. + timeout: Danişîna te qedîya. Ji kerema xwe ji bo berdewamiyê dîsa têkeve. + unauthenticated: Peşiya berdewamiya te têketina xwe bike an jî xwe tomar bike. + unconfirmed: Peşiya berdewamiyê, navnîşana e-name ya xwe bipejirîne. mailer: confirmation_instructions: - action: ناونیشانی ئیمەیڵ ساخ بکەرەوە - action_with_app: پشتڕاستی بکەوە و بگەڕێوە بۆ %{app} - explanation: ئەژمێرێکت دروست کردووە لەسەر %{host} بەم ناونیشانی ئیمەیڵە. تۆ یەک کرتە دووریت لە کاراکردنی. ئەگەر ئەمە تۆ نەبووی، تکایە ئەم ئیمەیڵە فەرامۆش بکە. - explanation_when_pending: تۆ داوای بانگهێشتت کرد بۆ %{host} بەم ناونیشانی ئیمەیڵە. هەر کە دڵنیایی لە ناونیشانی ئیمەیڵەکەت دەکەیت، ئێمە پێداچوونەوە دەکەین بە بەرنامەکەتدا. دەتوانیت بچیت بۆ چوونە ژوورەوە بۆ گۆڕینی ووردەکاریەکانت یان سڕینەوەی هەژمارەکەت، بەڵام ناتوانیت دەستگەیشتنت هەبێت بە زۆربەی ئەرکەکان تا ئەژمێرەکەت پەسەند ناکرێت. ئەگەر کاربەرنامەکەت ڕەتکرایەوە، داتاکەت لادەبرێت، بۆیە پێویست بە کاری زیاتر لە تۆ ناکرێت. ئەگەر ئەمە تۆ نەبووی، تکایە ئەم ئیمەیڵە فەرامۆش بکە. - extra_html: تکایە تێڕوانە لە ڕێساکانی ڕاژەکار و مەرجەکانی خزمەتگوزاری. - subject: 'ماستۆدۆن: ڕێنماییەکانی پشتڕاستکردنەوە بۆ %{instance}' - title: ناونیشانی ئیمەیڵ ساخ بکەرەوە + action: Navnîşana e-nameyê piştrast bike + action_with_app: Piştrast bike û vegere bo %{app} + explanation: Te li ser %{host} ajimêrek çê kiriye bi navnîşana vê e-nameyê re. Tu ji çalakkirina wê bi tikandinekê dûr î. Heke ev ne tu bûya, ji kerema xwe guh nede vê e-nameyê. + explanation_when_pending: |- + Te bi vê navnîşana e -nameyê serlêdana vexwendina %{host} kir. Gava ku tu navnîşana e-nameya xwe piştrast bikî, em ê serlêdana te binirxînin. Tu dikarî têkevî da ku hûrguliyên xwe biguherînî an ajimêra xwe jê bibî, lê heya ku ajimêra te neyê pejirandin tu nekarî piraniya fonksiyonan bi kar bînî + Heke serlêdana te werê red kirin, dê daneyên te werin jêbirin, ji ber vê yekê çalakîyek din ji te nayê xwestin. Heke ev ne tu bû, ji kerema xwe guh nede vê e-nameyê. + extra_html: Jkx vê jî kontrol bike rêbazên rajekar û mercên me yên karûbaran. + subject: 'Mastodon: ji bo %{instance} pejirandinê rêwerzan' + title: Navnîşana e-nameyê piştrast bike email_changed: - explanation: 'ناونیشانی ئیمەیڵەکەی ئەژمێرەکەت دەگۆڕدرێت بۆ:' - extra: ئەگەر ئیمەیلەکەت نەگۆڕیت، لەوانەیە کەسێک دەستگەیشتنی بۆ هەژمارەکەت بەدەست بێت. تکایە تێپەڕوشەکەت بگۆڕە دەستبەجێ یان پەیوەندی بکە بە بەڕێوەبەری ڕاژەوە ئەگەر تۆ لە هەژمارەکەت داخرایت. - subject: 'ماستۆدۆن: ئیمەیڵ گۆڕا' - title: ناونیشانی ئیمەیڵی نوێ + explanation: 'Navnîşana e-nameyê ajimêra te hate guhertin bo:' + extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî. + subject: 'Mastodon: E-name hate guhertin' + title: Navnîşana e-nameya nû password_change: - explanation: تێپەڕوشە بۆ هەژمارەکەت گۆڕاوە. - extra: ئەگەر تێپەڕوشەکەت نەگۆڕی، وا دیارە کەسێک دەستگەیشتنی بۆ هەژمارەکەت بەدەست بێت. تکایە تێپەڕوسيکەت بگۆڕە دەستبەجێ یان پەیوەندی بکە بە بەڕێوەبەری ڕاژە ئەگەر تۆ لە هەژمارەکەت داخرایت. - subject: 'ماستۆدۆن: تێپەڕوشە گۆڕدرا' - title: تێپەڕوشە گۆڕدرا + explanation: Pêborîna ajimêra te hate guhertin. + extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî. + subject: 'Mastodon: pêborîn hate guhertin' + title: Pêborîn hate guhertin reconfirmation_instructions: - explanation: دڵنیابوون لە ناونیشانی نوێ بۆ گۆڕینی ئیمەیڵەکەت. - extra: ئەگەر ئەم گۆڕانکاریە لەلایەن تۆوە دەست پێنەکراوە، تکایە ئەم ئیمەیڵە فەرامۆش بکە. ناونیشانی ئیمەیڵ بۆ هەژمێری ماستۆدۆن ناگۆڕێ هەتا ئەو کاتەی دەستپێگەیشتنی ئەم لینکەت لە سەرەوە نیە. - subject: 'ماستۆدۆن: دووپاتی ئیمەیل بۆ %{instance}' - title: ناونیشانی ئیمەیڵ ساخ بکەرەوە + explanation: Navnîşana nû piştrast bike da ku tu e-nameya xwe biguherînî. + extra: |- + Heke ev daxwaz ji aliyê te de nehate pêkanîn, jkx guh nede vê e-nameyê + Navnîşana e-nameyê bo ajimêra Mastodon wê tu guhertin pêk neyîne heya ku tu li girêdana Jêrin bitikînî. + subject: 'Mastodon: E-nameyê piştrast bike bo %{instance}' + title: Navnîşana e-nameyê piştrast bike reset_password_instructions: - action: گۆڕینی تێپەڕوشە - explanation: تۆ تیپەڕوشەی نوێت داوا کرد بۆ هەژمارەکەت. - extra: ئەگەر ئەم داواکاریەت نەکرد، تکایە ئەم ئیمەیڵە فەرامۆش بکە. تێپەڕوشەکەت ناگۆڕێ هەتا نەچیتە ناو لینکی سەرەوە و دانەیەکی نوێ دروست بکەیت. - subject: 'ماستۆدۆن: رێکردنەوەی رێنماییەکانی تێپەڕوشە' - title: گەڕانەوەی تێپەڕوشە + action: Pêborînê biguherîne + explanation: Te ji bo ajimêra xwe daxwaza pêborîneke nû kiriye. + extra: Heke te ev daxwaz nekir, jkx guh nede vê e-nameyê. Pêborîna te wê neyê guhertin heya ku tu li girêdana Jêrin bitikînî û yeka nû çê bikî. + subject: 'Mastodon: rêwerzên jê birina pêborîn' + title: Pêborîn ji nû ve saz bike two_factor_disabled: - explanation: سەلماندنی دوو-فاکتەر بۆ هەژمارەکەت کە لە کارخراوە. چوونەژوورەوە ئێستا دەکرێت تەنها ناونیشانی ئیمەیڵ و تێپەڕوشەکەت بەکاربهێنی. - subject: 'ماستۆدۆن: سەلماندنی دوو-فاکتەری ناچالاک کراوە' - title: 2FA ناچالاک کرا + explanation: Ji bo ajimêrê te piştrastkirina du-faktorî hat asteng kirin. Niha tu tenê bi navnîşana e-name û şîfre ya xwe dikarî têketin bikî. + subject: 'Mastodon: piştrastkirina du- faktorî neçalak bike' + title: 2FA Neçalak e two_factor_enabled: - explanation: سەلماندنی دوو-فاکتەر بۆ هەژمارەکەت چالاک کراوە. ئاماژەیەک کە لەلایەن نەرمەکالایTOTP جووتکراو دروست کراوە پێویستە بە چوونە ژوورەوە. - subject: 'ماستۆدۆن: سەلماندنی دوو-فاکتەری چالاک کراوە' - title: 2FA چالاک کرا + explanation: Piştrastkirinê du-faktorî ya ajimêrê te hat çalak kirin. Ji bo têketinê ji alî sepanê cotkirî TOTP ve hewceyî nîşanderek heye. + subject: 'Mastodon: piştrastkirina du-faktorî hat çalak kirin' + title: 2FA Çalak e two_factor_recovery_codes_changed: - explanation: کۆدەکانی چاککردنەوەی پێشوو هەڵوەشێنرانەوە و، نوێکان دروست بوون. - subject: 'ماستۆدۆن: کۆدەکانی گەڕانەوەی دوو فاکتەر، دووبارە دروست دەکرێتەوە' - title: 2FA کۆدی چاککردنەوە گۆڕا + explanation: Kodên paşve hatiye rizgarkirin betal bû û yên nû hat çêkirin. + subject: 'Mastodon: kodên rizgarkirî ên du-faktorî dîsa hat avakirin' + title: Kodê 2FA ya rizgarkirinê hatine guhertin unlock_instructions: - subject: 'ماستۆدۆن: رێنماییەکان بکەرەوە' + subject: 'Mastodon: kilîdê rêwerzan veke' webauthn_credential: added: - explanation: کلیلی ئاسایشی خوارەوە زیادکرا بۆ هەژمارەکەت - subject: 'ماستۆدۆن: کلیلی ئاسایشی نوێ' - title: کلیلی پاراستنی نوێ زیادکرا + explanation: Kilîta ewlehiyê jêrîn li ajimêra te hate tevlîkirin + subject: Kilîta ewlehiyê ya nû + title: Kilîta ewlehiyê ya nû hate tevlîkirin deleted: - explanation: کلیلی ئاسایشی خوارەوە لە هەژمارەکەت سڕایەوە - subject: 'ماستۆدۆن: کلیلی پاراستن سڕایەوە' - title: کلیلە کانی پاراستنی یەکێک لە ئێوە سڕایەوە + explanation: Kilîta ewlehiyê jêrîn li ajimêra te hate jêbirin + subject: 'Mastodon: Kilîta ewlehiyê hate jêbirin' + title: Yek ji kilîta ewlehiyê yên te hate jêbirin webauthn_disabled: - explanation: سەلماندن بە کلیلەپارێزراوەکان لە کارخراوە بۆ هەژمارەکەت. چوونەژوورەوە ئێستا دەکرێت تەنها ئەو نیشانەیە بەکاربێنیت کە لەلایەن نەرمەکالایTOTP دروست کراوە. - subject: 'ماستۆدۆن: سەلماندن لەگەڵ کلیلە پاسایشی ناچالاک کراوە' - title: کلیلە پارستنەکان ناچالاک کراون + explanation: Rastandina kilîta ewlehiyê hate çalakkirin bo ajimêra te. kilîta te ya ewlehiyê niha bo têketinê dikarê bê karanîn. Têketin niha gengaz e ku mirov tenê nîşana ku ji hêla sepana cotkirî ya TOTP ve hatî avakirin bi kar bîne. + subject: 'Mastodon: Rastandin bi kilîta ewlehiyê re nehate çalakirin' + title: Kilîta ewlehiyê neçalak e webauthn_enabled: - explanation: سەلماندنی کلیلی ئاسایش چالاک کراوە بۆ هەژمارەکەت. ئێستا کلیلی پاراستن دەتوانرێت بۆ چوونە ژوورەوە بەکار بێت. - subject: 'ماستۆدۆن: سەلماندنی کلیلی پاراستن چالاک کراوە' - title: کلیلە کانی پاراستن چالاک کرا + explanation: Rastandina kilîta ewlehiyê hate çalakkirin bo ajimêra te. kilîta te ya ewlehiyê niha bo têketinê dikarê bê karanîn. + subject: 'Mastodon: Rastandina kilîta ewlehiyê hate çalakkirin' + title: Kilîta ewlehiyê çalak e omniauth_callbacks: - failure: نەیتوانی ڕەسەنایە تی %{kind} بتەوبکات لەبەرئەوەی "%{reason}". - success: سەرکەوتووانە لە هەژماری %{kind} سەلمێنرا. + failure: Nikare ji %{kind} rastandinê bikê ji bo " %{reason}". + success: Ji ajimêra %{kind} bi serkeftî hate rastandin. passwords: - no_token: ناتوانیت دەستگەیشتنت هەبێت بەم لاپەڕەیە بەبێ ئەوەی لە ئیمەیڵێکی گەڕانەوەی تێپەڕوشەت بێت. ئەگەر لە ئیمەیڵێکیگەڕانەوەی تێپەڕوشە هاتوویت، تکایە دڵنیابە لەوەی کە URLی تەواوت بەکارهێناوە کە دابینکراوە. - send_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، لە چەند خولەکێکی کەمدا لینکی هێنانەوەی تێپەڕوشە لە ناونیشانی ئیمەیلەکەت پێ دەگات. تکایە بوخچەی سپامەکەت بکەرەوە، ئەگەر ئەم ئیمەیڵەت پێنەدرا. - send_paranoid_instructions: ئەگەر ناونیشانی ئیمەیڵەکەت لە بنکەی زانیارێکانماندا هەبێت، لە چەند خولەکێکی کەمدا لینکی هێنانەوەی تێپەڕوشە لە ناونیشانی ئیمەیلەکەت پێ دەگات. تکایە بوخچەی سپامەکەت بکەرەوە، ئەگەر ئەم ئیمەیڵەت پێنەدرا. - updated: تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدرا. تۆ ئێستاچوویتە ژوورەوە. - updated_not_active: تێپەڕوشەکەت بە سەرکەوتوویی گۆڕدرا. + no_token: Tu nikarî xwe bigihînî vê rûpelê bêyî ku tu ji e-nameya ji nû ve sazkirina pêborînê wernegerî. Heke tu ji e-nameya ji nû ve sazkirina pêborînê tê, ji kerema xwe pê ewle be ku tu girêdanê ya tevahî bi kar tînî. + send_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. + send_paranoid_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî di hundir çend xulkan de. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. + updated: Pêborîna te bi serkeftî hate guhertin. Niha tu têketî ye. + updated_not_active: Pêborîna te bi serkeftî hate guhertin. registrations: - destroyed: خوات لەگەڵ! ئەژمێرەکەت بە سەرکەوتوویی هەڵوەشێنرایەوە. هیوادارین بەزوویی بتبینینەوە. - signed_up: بەخێربێیت! تۆ بە سەرکەوتوویی تۆمار کرای. - signed_up_but_inactive: تۆ بە سەرکەوتوویی تۆمارکرای. هەرچۆنێک بێت، نەمانتوانی چوونە ژوورەوەت بۆ بکەین لەبەرئەوەی هێشتا هەژمارەکەت کارا نەکراوە. - signed_up_but_locked: تۆ بە سەرکەوتوویی تۆمارکرای. هەرچۆنێک بێت، نەمانتوانی چوونە ژوورەوەت بۆ بکەین لەبەرئەوەی هێشتا هەژمارەکەت قوفڵ کراوە. - signed_up_but_pending: نامەیەک بە لینکی دووپاتکردنەوە نێردراوە بۆ ناونیشانی ئیمەیڵەکەت. دوای ئەوەی تۆ کرتە لەسەر لینکەکە دەکەیت، ئێمە پێداچوونەوە دەکەین بە بەرنامەکەتدا. ئاگادار دەکرێیت ئەگەر پەسەند کرا. - signed_up_but_unconfirmed: نامەیەک بە لینکی دووپاتکردنەوە نێردراوە بۆ ناونیشانی ئیمەیڵەکەت. تکایە دوای لینکەکە بکەوە بۆ کاراکردنی هەژمارەکەت. تکایە بوخچەی سپامەکەت بکەرەوە ئەگەر ئەم ئیمەیڵەت پێنەدرا. - update_needs_confirmation: تۆ ئەژمێرەکەت بە سەرکەوتوویی نوێکردەوە، بەڵام پێویستە ئیمەیڵە نوێکەت بسەلمێنین. تکایە ئیمەیڵەکەت بپشکنە و دوای بەستەری دڵنیابوونەوە بکەوە بۆ دڵنیابوون لە ناونیشانی ئیمەیڵە نوێکەت. تکایە بوخچەی سپامەکەت بکەرەوە ئەگەر ئەم ئیمەیڵەت پێنەدرا. - updated: هەژمارەکەت بە سەرکەوتوویی نوێکرایەوە. + destroyed: Xatirê te! Ajimêra te bi serkeftî hate pûçkirin. Em hêvî dikin ku tu di nêzîk de te dîsa bibînin. + signed_up: Bi xêr hatî! Te bi serkeftî tomarkirin kir. + signed_up_but_inactive: Te bi serkeftî tomarkirin kir. lê piştî ku tu çalak bikî em dikarin ku tu têketinê bikî. + signed_up_but_locked: Te bi serkeftî tomarkirin kir. lê ajimêra te girtiye ber wê tu nikarî ku têketinê bikî. + signed_up_but_pending: Peyamek bi girêda pejirandinê ji navnîşana e-nameya te re hate şandin. Piştî ku tu girêdanê bitikînî, em ê serlêdana te binirxînin. Heke werê pejirandin tu yê bê agahdarkirin. + signed_up_but_unconfirmed: Peyamek bi girêda pejirandinê ji navnîşana e-nameya te re hate şandin. Ji kerema xwe girêdanê bişopîne da ku tu ajimêra xwe çalak bikî. Ji kerema xwe heke te ev e-name nestand peldanka spama xwe kontrol bike. + update_needs_confirmation: Te ajimêra xwe bi awayekî serkeftî rojane kir, lê pêdiviya me bi kontrolkirina navnîşana e -nameya te ya nû heye. Ji kerema xwe e -nameya xwe kontrol bike û girêdana piştrastkirinê bişopîne da ku navnîşana e -nameya xwe ya nû piştrast bikî. Ji kerema xwe heke te ev e -name nestand peldanka spama xwe kontrol bike. + updated: Ajimêra te bi awayekî serkeftî hate rojanekirin. sessions: - already_signed_out: چوونە دەرەوە بە سەرکەوتوویی ئەنجام بوو. - signed_in: بە سەرکەوتوویی چوونە ژوورەوە. - signed_out: چوونە دەرەوە بە سەرکەوتوویی ئەنجام بوو. + already_signed_out: Derketina te serkeftî bû. + signed_in: Têketina te serkeftî bû. + signed_out: Derketina te serkeftî bû. unlocks: - send_instructions: ئیمەیڵێکت بۆ دەنێردرێت لەگەڵ ڕێنمایی بۆ چۆنیەتی کردنەوەی هەژمارەکەت لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا. - send_paranoid_instructions: ئەگەر هەژمارەکەت بوونی هەبێت، ئیمەیڵێکت پێدەگات لەگەڵ ڕێنمایی چۆنیەتی کردنەوەی لە چەند خولەکێکدا. تکایە بوخچەی سپامەکەت بپشکنە ئەگەر ئەم ئیمەیڵەت پێنەدرا. - unlocked: هەژمارەکەت بە سەرکەوتوویی لە قوفڵ لاچوو. تکایە بچۆ ژوورەوە بۆ بەردەوام بوون. + send_instructions: Çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêrin. + send_paranoid_instructions: Hek ajimêra te hebe, tu yê e-nameyeke bi zanyariyan bistînî ka mirov çawa di çend xulekan de ajimêr vedikê. Ji kerema xwe heke te ev e-name nestand peldanka spama xwe kontrol bike. + unlocked: Ajimêra te bi serkeftî vebû. Ji kerema xwe têkeve da ku tu bidomînî. errors: messages: - already_confirmed: پێشتر پشتڕاست کرایەوە، تکایە هەوڵ دەدە بچۆ ژوورەوە - confirmation_period_expired: پێویستە لە نێو %{period} دا پشتڕاست بکرێتەوە، تکایە داوای دانەیەکی نوێ بکە - expired: بەسەرچووە، تکایە داوایەکی نوێ بکە - not_found: نەدۆزرایەوە - not_locked: دانەخرابوو + already_confirmed: jixwe hate pejirandin, ji kerema xwe têketinê biceribîne + confirmation_period_expired: pêdivî ye ku di nav %{period} de werê pejirandin, ji kerema xwe yeka nû bixwaze + expired: qediya ye, ji kerema xwe yeka nû bixwaze + not_found: nehate dîtin + not_locked: ne girtî bû not_saved: - one: '١ هەڵە قەدەغەکرا ئەم %{resource} لە تۆمارکردن:' - other: "%{count} هەڵەی قەدەغەکرد کە %{resource} لە پاشکەوتکردن:" + one: '1 çewtî nehişt ku %{resource} werê tomarkirin:' + other: "%{count} çewtî nehişt ku %{resource} werê tomarkirin:" diff --git a/config/locales/devise.zh-CN.yml b/config/locales/devise.zh-CN.yml index ef09b0d03..072d4bc8d 100644 --- a/config/locales/devise.zh-CN.yml +++ b/config/locales/devise.zh-CN.yml @@ -9,10 +9,10 @@ zh-CN: already_authenticated: 你已登录。 inactive: 你还没有激活帐户。 invalid: "%{authentication_keys} 无效或密码错误。" - last_attempt: 你只有最后一次尝试机会,若未通过,帐号将被锁定。 + last_attempt: 你只有最后一次尝试机会,若未通过,账号将被锁定。 locked: 你的帐户已被锁定。 not_found_in_database: "%{authentication_keys}或密码错误。" - pending: 你的帐号仍在审核中。 + pending: 你的账号仍在审核中。 timeout: 你的会话已过期。请重新登录再继续操作。 unauthenticated: 继续操作前请注册或者登录。 unconfirmed: 你必须先确认你的电子邮件地址才能继续。 @@ -20,7 +20,7 @@ zh-CN: confirmation_instructions: action: 验证电子邮件地址 action_with_app: 确认并返回%{app} - explanation: 你在 %{host} 上使用此电子邮箱地址创建了一个帐号。点击下面的链接即可激活帐号。如果你没有创建帐号,请忽略此邮件。 + explanation: 你在 %{host} 上使用此电子邮箱地址创建了一个账号。点击下面的链接即可激活账号。如果你没有创建账号,请忽略此邮件。 explanation_when_pending: 你用这个电子邮件申请了在 %{host} 注册。在确认电子邮件地址之后,我们会审核你的申请。在此之前,你不能登录。如果你的申请被驳回,你的数据会被移除,因此你无需再采取任何行动。如果申请人不是你,请忽略这封邮件。 extra_html: 请记得阅读本服务器的相关规定我们的使用条款。 subject: Mastodon:来自 %{instance} 的确认指引 @@ -47,7 +47,7 @@ zh-CN: subject: Mastodon:重置密码信息 title: 重置密码 two_factor_disabled: - explanation: 帐号的双重认证已禁用。现在仅使用邮箱和密码登录即可登录。 + explanation: 账号的双重认证已禁用。现在仅使用邮箱和密码即可登录。 subject: Mastodon:双重认证已禁用。 title: 双重认证已禁用 two_factor_enabled: @@ -93,7 +93,7 @@ zh-CN: signed_up_but_locked: 你已成功注册,但我们无法让你登录,因为你的账户已被锁定。 signed_up_but_pending: 一条带有确认链接的邮件已经发送到你的电子邮件地址。在你点击该链接后,我们将会审查你的申请。如果申请被批准,你将收到通知。 signed_up_but_unconfirmed: 一封带有确认链接的邮件已经发送至你的邮箱,请点击邮件中的链接以激活你的帐户。如果没有,请检查你的垃圾邮件。 - update_needs_confirmation: 帐号信息更新成功,但我们需要验证你的新电子邮件地址,请点击邮件中的链接以确认。如果没有,请检查你的垃圾邮箱。 + update_needs_confirmation: 账号信息更新成功,但我们需要验证你的新电子邮件地址,请点击邮件中的链接以确认。如果没有收到邮件,请检查你的垃圾邮箱。 updated: 帐户资料更新成功。 sessions: already_signed_out: 已成功登出。 @@ -101,7 +101,7 @@ zh-CN: signed_out: 已成功登出。 unlocks: send_instructions: 几分钟后,你将收到一封解锁帐户的邮件。如果没有,请检查你的垃圾邮箱。 - send_paranoid_instructions: 如果你的账户存在,你将会在几分钟内收到一封指引你如何解锁账户的邮件。如果你没有收到这封邮件,请检查你邮箱的垃圾箱。 + send_paranoid_instructions: 如果你的账号存在,你将会在几分钟内收到一封指引你如何解锁账号的邮件。如果你没有收到这封邮件,请检查你邮箱的垃圾箱。 unlocked: 你的帐户已成功解锁。登录以继续。 errors: messages: diff --git a/config/locales/doorkeeper.ckb.yml b/config/locales/doorkeeper.ckb.yml new file mode 100644 index 000000000..f9a688279 --- /dev/null +++ b/config/locales/doorkeeper.ckb.yml @@ -0,0 +1,143 @@ +--- +ckb: + activerecord: + attributes: + doorkeeper/application: + name: ناوی بەرنامە + redirect_uri: URI گۆڕانی شوێن + scopes: بوارەکان + website: نەرمەکالای ماڵپەڕ + errors: + models: + doorkeeper/application: + attributes: + redirect_uri: + fragment_present: ناتوانێت پارچەیەک لەخۆوە بگری. + invalid_uri: پێویستە URI دروست بێت. + relative_uri: پێویستە URI ی ڕەها بێت. + secured_uri: پێویستە HTTPS/SSL URI بێت. + doorkeeper: + applications: + buttons: + authorize: ڕێگەپێدان + cancel: هەڵوەشاندنەوه + destroy: لەناوبردن + edit: دەستکاری + submit: ناردن + confirmations: + destroy: دڵنیای? + edit: + title: دەستکاری کردنی بەرنامە + form: + error: تەحح! بزانە شتێکت لە نێو فۆرمەکە بە هەڵە نەنووسیوە + help: + native_redirect_uri: بۆ تاقیکردنەوەی ناوخۆیی %{native_redirect_uri} بەکاربەرە، + redirect_uri: بەکارهێنانی یەک هێڵ بۆ هەر URI + scopes: دۆمەینەکان جیاببکەن بە بۆشاییەکان. بۆ بەکارهێنانی دۆمەینی گریمانەیی چۆڵی بەجێبهێڵە. + index: + application: نەرمەکال + callback_url: Callback نیشانی + delete: سڕینەوە + empty: هیچ بەرنامەیەکت نیە. + name: ناو + new: بەرنامەی نوێ + scopes: دۆمەینەکان + show: نیشاندان + title: بەرنامەی تۆ + new: + title: بەرنامەی نوێ + show: + actions: کارەکان + application_id: کلیلی ڕاژەخواز + callback_urls: Callback نیشانەکانی + scopes: دۆمەینەکان + secret: نهێنی ڕاژەخواز + title: 'بەرنامە: %{name}' + authorizations: + buttons: + authorize: ڕێپێدراو + deny: نکۆڵی لێبکە + error: + title: هەڵەیەک ڕوویدا + new: + title: ڕێپێدان پێویستە + show: + title: کۆپیکردنی کۆدی ئەم رێپێدانە و لکاندنی بە بەرنامەکە. + authorized_applications: + buttons: + revoke: بەتاڵی بکە + confirmations: + revoke: ئایا دڵنیایت? + index: + title: بەرنامە ڕێگەپێدراوەکانت + errors: + messages: + access_denied: خاوەنی سەرچاوە یان سێرڤەری ڕێپێدان داواکاریەکەی ڕەت کردەوە. + credential_flow_not_configured: لێشاوی بڕواپێدانی تێپەڕەوشەی خاوەن سەرچاوە شکستی هێنا بەهۆی Doorkeeper.configure.resource_owner_from_credentials شێوەبەندی نەکراو. + invalid_client: سەلماندنی کڕیار سەرکەوتوو نەبوو بەهۆی کڕیاری نەناسراوەوە، هیچ ڕەسەنایەتی سەلماندنێکی کلایەنت لەخۆوە نەدەگرێت، یان شێوازی سەلماندنی پەسەند نەکراو. + invalid_grant: بەخشین مۆڵەتی دابینکراو نایاساییە، بەسەرچووە، هەڵوەشاندنەوەیە، ناگونجێلەگەڵ ئاراستەی URI بەکارهاتوو لە داواکاری ڕێپێدان، یان دەرچووە بۆ کڕیارێکی تر. + invalid_redirect_uri: Uri دووبارە ئاڕاستەکردنەوەکە لەخۆدەگرێت دروست نیە. + invalid_resource_owner: بڕواپێدانەکانی خاوەنی سەرچاوەی دابینکراو دروست نیە، یان ناتوانرێت خاوەنی سەرچاوە بدۆزرێتەوە + invalid_scope: بواری داواکراو نادروستە، نەناسراو، یان تێکچووە. + invalid_token: + expired: نیشانەی چوونەژورەوە بەسەرچووە + revoked: کۆدی دەستپێگەیشتن بەتاڵ بووەتەوە + unknown: دەستپێگەیشتن بە کۆدی چوونەژوور باوڕپێنەکراوە + resource_owner_authenticator_not_configured: خاوەنی سەرچاوە بەهۆی Doorkeeper.configure.resource_owner_authenticator کۆنفیگنەکردن سەرکەوتوو نەبوو. + server_error: ڕاژەکاری ڕێپێدان تووشی مەرجێکی چاوەڕوان نەکراو بوو کە رێگری دەکا لە جێبەجێ کردنی داواکاریەکە. + temporarily_unavailable: ڕاژەکاری ڕێپێدان لە ئێستادا ناتوانێت داواکاریەکە چارەسەر بکات لەبەر بارکردنی کاتی یان چاککردنەوەی سێرڤەرەکە. + unauthorized_client: ڕاژەخوازەکە دەسەڵاتی ئەوەی نییە ئەم داواکاریە بە بەکارهێنانی ئەم شێوازە بدات. + unsupported_grant_type: جۆری بەخشینە مۆڵەتپێدانەکە لەلایەن ڕاژەکاری مۆڵەتەوە پەسەند ناکرێت. + unsupported_response_type: ڕاژەکاری ڕێگەپێدان پشتگیری ئەم جۆرە وەڵامە ناکات. + flash: + applications: + create: + notice: بەرنامە دروستکرا. + destroy: + notice: بەرنامە سڕایەوە. + update: + notice: بەرنامە بەڕۆژکرا. + authorized_applications: + destroy: + notice: بەرنامە هەڵوەشێنڕا. + layouts: + admin: + nav: + applications: بەرنامەکان + application: + title: داوای ڕێپێدانی OAuth + scopes: + admin:read: خوێندنەوەی هەموو داتاکان لەسەر ڕاژەکارەکە + admin:read:accounts: زانیاری هەستیاری هەموو هەژمارەکان بخوێنەوە + admin:read:reports: زانیاری هەستیاری هەموو گوزارشت و هەژمارە گوزارشتکراوەکان بخوێنەوە + admin:write: دەستکاری هەموو داتاکان بکە لەسەر ڕاژەکار + admin:write:accounts: ئەنجامدانی کاری میانڕەوی لەسەر هەژمارەکان + admin:write:reports: ئەنجامدانی کاری میانڕەوی لەسەر گوزارشتەکان + follow: دەستکاریکردنی پەیوەندییەکانی هەژمارەی بەکارهێنەر + push: وەرگرتنی ئاگانامەکانی پاڵنان + read: هەموو دراوەکانی هەژمارەکەت بخوێنەوە + read:accounts: بینینی زانیاری هەژمارەکان + read:blocks: بینینی بلۆکەکانت + read:bookmarks: نیشانەکان ببینە + read:favourites: بینینی دڵخوازەکانت + read:filters: بینینی پاڵافتنەکانت + read:follows: سەیری شوێنکەوتەکانت بکە + read:lists: بینینی لیستەکانت + read:mutes: بێدەنگەکانت ببینە + read:notifications: ئاگانامەکانت ببینە + read:reports: سەیری گوزارشەکانت بکە + read:search: گەڕان لە جیاتی تۆ + read:statuses: بینینی هەموو بارودۆخەکان + write: دەستکاری هەموو داتاکانی هەژمارەکەت بکە + write:accounts: دەستکاری پرۆفایلەکەت بکە + write:blocks: بلۆک کردنی هەژمارەکەی دۆمەینەکان + write:bookmarks: بارەکانی نیشانکەر + write:favourites: دۆخی دڵخوازەکان + write:filters: پاڵێوەر دروست بکە + write:follows: دوای خەڵک بکەوە + write:lists: دروستکردنی لیستەکان + write:media: پەڕگەی میدیا باربکە + write:mutes: بێدەنگکردنی خەڵک و گفتوگۆکان + write:notifications: ئاگانامەکانت بسڕیەوە + write:reports: گوزارشتکردنی کەسانی تر + write:statuses: بڵاوکردنەوەی بارودۆخەکان diff --git a/config/locales/doorkeeper.eu.yml b/config/locales/doorkeeper.eu.yml index 2e3a7b042..12f6aaee0 100644 --- a/config/locales/doorkeeper.eu.yml +++ b/config/locales/doorkeeper.eu.yml @@ -60,6 +60,8 @@ eu: error: title: Errore bat gertatu da new: + prompt_html: "%{client_name} bezeroak zure kontura sartzeko baimena nahi du. Hirugarrengoen aplikazio bat da. Ez bazara fidatzen, ez zenuke baimendu behar." + review_permissions: Berrikusi baimenak title: Baimena behar da show: title: Kopiatu baimen kode hau eta itsatsi aplikazioan. @@ -69,6 +71,12 @@ eu: confirmations: revoke: Ziur zaude? index: + authorized_at: "%{date} datan baimendua" + description_html: Aplikazio hauek zure kontura sarbidea dute APIa erabiliz. Ezagutzen ez duzun aplikazioren bat badago, edo aplikazio batek portaera desegokia badu, baimena kendu diezaiokezu. + last_used_at: Azkena %{date} datan erabilia + never_used: Inoiz erabili gabea + scopes: Baimenak + superapp: Barnekoa title: Zuk baimendutako aplikazioak errors: messages: @@ -104,6 +112,33 @@ eu: authorized_applications: destroy: notice: Aplikazioa indargabetuta. + grouped_scopes: + access: + read: Bakarrik irakurtzeko sarbidea + read/write: Irakurtzeko eta idazteko baimena + write: Bakarrik idazteko sarbidea + title: + accounts: Kontuak + admin/accounts: Kontuen administrazioa + admin/all: Funtzio administratibo guztiak + admin/reports: Salaketen administrazioa + all: Dena + blocks: Blokeoak + bookmarks: Laster-markak + conversations: Elkarrizketak + crypto: Muturretik-muturrerako zifraketa + favourites: Gogokoak + filters: Iragazkiak + follow: Erlazioak + follows: Jarraipenak + lists: Zerrendak + media: Multimedia eranskinak + mutes: Mututzeak + notifications: Jakinarazpenak + push: Push jakinarazpenak + reports: Salaketak + search: Bilaketak + statuses: Bidalketak layouts: admin: nav: @@ -118,6 +153,7 @@ eu: admin:write: zerbitzariko datu guztiak aldatu admin:write:accounts: kontuetan moderazio ekintzak burutu admin:write:reports: salaketetan moderazio ekintzak burutu + crypto: erabili muturretik muturrerako zifraketa follow: aldatu kontuaren erlazioak push: jaso push jakinarazpenak read: irakurri zure kontuko datu guztiak @@ -137,6 +173,7 @@ eu: write:accounts: zure profila aldatzea write:blocks: kontuak eta domeinuak blokeatzea write:bookmarks: mezuen laster-marka + write:conversations: mututu eta ezabatu elkarrizketak write:favourites: gogoko mezuak write:filters: sortu iragazkiak write:follows: jarraitu jendea diff --git a/config/locales/doorkeeper.id.yml b/config/locales/doorkeeper.id.yml index f3f72f83c..050d97dc5 100644 --- a/config/locales/doorkeeper.id.yml +++ b/config/locales/doorkeeper.id.yml @@ -60,6 +60,8 @@ id: error: title: Ada yang error new: + prompt_html: "%{client_name} meminta izin untuk mengakses akun Anda. Ini adalah aplikasi pihak ketiga. Jika Anda tidak mempercayainya, Anda boleh tidak mengizinkannya." + review_permissions: Tinjau izin title: Izin diperlukan show: title: Salin kode autorisasi dan tempelkan pada aplikasi. @@ -69,6 +71,8 @@ id: confirmations: revoke: Anda yakin? index: + authorized_at: Diberi hak otorisasi pada %{date} + description_html: Ini adalah aplikasi yang dapat mengakses akun Anda menggunakan API. Jika ada aplikasi yang tidak Anda kenal di sini, atau aplikasi yang berperilaku aneh, Anda dapat mencabut hak aksesnya. title: Aplikasi yang anda izinkan errors: messages: diff --git a/config/locales/doorkeeper.ku.yml b/config/locales/doorkeeper.ku.yml index e55e8bc2c..3a98486e3 100644 --- a/config/locales/doorkeeper.ku.yml +++ b/config/locales/doorkeeper.ku.yml @@ -3,141 +3,183 @@ ku: activerecord: attributes: doorkeeper/application: - name: ناوی بەرنامە - redirect_uri: URI گۆڕانی شوێن - scopes: بوارەکان - website: نەرمەکالای ماڵپەڕ + name: Navê sepanê + redirect_uri: Girêdana beralîkirî + scopes: Berfirehî + website: Malpera sepanê errors: models: doorkeeper/application: attributes: redirect_uri: - fragment_present: ناتوانێت پارچەیەک لەخۆوە بگری. - invalid_uri: پێویستە URI دروست بێت. - relative_uri: پێویستە URI ی ڕەها بێت. - secured_uri: پێویستە HTTPS/SSL URI بێت. + fragment_present: perçe tê de tinne. + invalid_uri: ger ev URL derbasdar be. + relative_uri: teqez URl'yek hebe. + secured_uri: ger HTTPS/SSL URl hebe. doorkeeper: applications: buttons: - authorize: ڕێگەپێدان - cancel: هەڵوەشاندنەوه - destroy: لەناوبردن - edit: دەستکاری - submit: ناردن + authorize: Destûr bide + cancel: Dev jê berde + destroy: Tinne bike + edit: Serrast bike + submit: Bişîne confirmations: - destroy: دڵنیای? + destroy: Ma tu bawerî? edit: - title: دەستکاری کردنی بەرنامە + title: Sepanê serrast bike form: - error: تەحح! بزانە شتێکت لە نێو فۆرمەکە بە هەڵە نەنووسیوە + error: Wey li min! kontrol bikeku form çewtî tê de tune help: - native_redirect_uri: بۆ تاقیکردنەوەی ناوخۆیی %{native_redirect_uri} بەکاربەرە، - redirect_uri: بەکارهێنانی یەک هێڵ بۆ هەر URI - scopes: دۆمەینەکان جیاببکەن بە بۆشاییەکان. بۆ بەکارهێنانی دۆمەینی گریمانەیی چۆڵی بەجێبهێڵە. + native_redirect_uri: Bo testên herêmî %{native_redirect_uri} bikar bîne + redirect_uri: Serê URl de rêzek bikarbînin + scopes: Berfirehî bi valahîyan re veqetîne. Bo bikaranîna berfirehî ya standard vala bihêle. index: - application: نەرمەکال - callback_url: Callback نیشانی - delete: سڕینەوە - empty: هیچ بەرنامەیەکت نیە. - name: ناو - new: بەرنامەی نوێ - scopes: دۆمەینەکان - show: نیشاندان - title: بەرنامەی تۆ + application: Sepan + callback_url: URl ya vegeriyayî + delete: Jê bibe + empty: Qet sepanê te tinne. + name: Nav + new: Sepanê nû + scopes: Berfirehî + show: Nîşan bike + title: Sepanê te new: - title: بەرنامەی نوێ + title: Sepanê nû show: - actions: کارەکان - application_id: کلیلی ڕاژەخواز - callback_urls: Callback نیشانەکانی - scopes: دۆمەینەکان - secret: نهێنی ڕاژەخواز - title: 'بەرنامە: %{name}' + actions: Çalakî + application_id: Kilîdê rajegir + callback_urls: URlyên vegeriyayî + scopes: Berfirehî + secret: Rajegirî veşartî + title: 'Sepan: %{name}' authorizations: buttons: - authorize: ڕێپێدراو - deny: نکۆڵی لێبکە + authorize: Destûr bide + deny: Guh nedê error: - title: هەڵەیەک ڕوویدا + title: Xeletîyek çêbû new: - title: ڕێپێدان پێویستە + prompt_html: "%{client_name} mafê dixwaze ku bigihîje ajimêrê te. Ew sepanek aliyê sêyemîn e. Ku tu pê bawer nakî, wê demê divê tu mafê gihiştinê nedî. " + review_permissions: Gihiştinan binirxînin + title: Destûr kirin pêwîst e show: - title: کۆپیکردنی کۆدی ئەم رێپێدانە و لکاندنی بە بەرنامەکە. + title: Destûr hildana vê kodê jê bigire û ji sepanê re pêve bike. authorized_applications: buttons: - revoke: بەتاڵی بکە + revoke: Betal bike confirmations: - revoke: ئایا دڵنیایت? + revoke: Ma tu bawerî? index: - title: بەرنامە ڕێگەپێدراوەکانت + authorized_at: Maf hate dayîn di %{date} de + description_html: Ev sepan in ku dikarin bi riya karanîna API ve bigihîjin ajimêrê te. Ku sepanên tu li vir nas nakî hene, an sepanek çewt tevdigere, tu dikarî gihîştina wê têk bibî. + last_used_at: Herî dawî di %{date} de hate bikaranîn + never_used: Tu car nehatiye bikaranîn + scopes: Maf + superapp: Hundirin + title: Sepanên destûrmendê te errors: messages: - access_denied: خاوەنی سەرچاوە یان سێرڤەری ڕێپێدان داواکاریەکەی ڕەت کردەوە. - credential_flow_not_configured: لێشاوی بڕواپێدانی تێپەڕەوشەی خاوەن سەرچاوە شکستی هێنا بەهۆی Doorkeeper.configure.resource_owner_from_credentials شێوەبەندی نەکراو. - invalid_client: سەلماندنی کڕیار سەرکەوتوو نەبوو بەهۆی کڕیاری نەناسراوەوە، هیچ ڕەسەنایەتی سەلماندنێکی کلایەنت لەخۆوە نەدەگرێت، یان شێوازی سەلماندنی پەسەند نەکراو. - invalid_grant: بەخشین مۆڵەتی دابینکراو نایاساییە، بەسەرچووە، هەڵوەشاندنەوەیە، ناگونجێلەگەڵ ئاراستەی URI بەکارهاتوو لە داواکاری ڕێپێدان، یان دەرچووە بۆ کڕیارێکی تر. - invalid_redirect_uri: Uri دووبارە ئاڕاستەکردنەوەکە لەخۆدەگرێت دروست نیە. - invalid_resource_owner: بڕواپێدانەکانی خاوەنی سەرچاوەی دابینکراو دروست نیە، یان ناتوانرێت خاوەنی سەرچاوە بدۆزرێتەوە - invalid_scope: بواری داواکراو نادروستە، نەناسراو، یان تێکچووە. + access_denied: Xwedîyê çavkanîyê an jî destûrmendê rajeker daxwazî red kirin. + credential_flow_not_configured: Herikîna pêborînê bawername ya xwediyê çavkaniyê, ji ber Doorkeeper.configure.resource_owner_from_credentials nehat pevsazkirin. + invalid_client: Erêkirina nasnameyê rajegir ji ber rajegirê nediyar têk çû, erêkirina nasnameyê rajegir di nav da tinne an jî rêbaza erêkirinê ne piştgirêdayî ye. + invalid_grant: Mafê ku hatiye peyda kirin ne derbasdar e, qediya ye, pûç e, girêdana ya ku di daxwaza mafê de tê bikaranîn li hev nagire an jî rajegirekî din hildaye. + invalid_redirect_uri: Girêdan beralîkirî ya di nav da ne derbasdar e. + invalid_request: + missing_param: 'Pîvana hewce dike kêm e: %{value}.' + request_not_authorized: Hewceye daxwazî rêdayî be. Ji bo daxwazî rêdayî be pîvana hewce dike kêm an jî betal e. + unknown: Di nav daxwazîyê de pîvanekî hewceyî kêm e. Nirxekî pîvanê bê piştgirêdayî tê de heye an jî wek din xelet e. + invalid_resource_owner: Bawernameyên xwediyê çavkanîyê yên hatine pêşkeş kirin ne derbasdar e an jî xwedîyê çavkanîyê nayê dîtin + invalid_scope: Berfirehiya tê xwestin nederbasdare, nenas e, an jî xelet e. invalid_token: - expired: نیشانەی چوونەژورەوە بەسەرچووە - revoked: کۆدی دەستپێگەیشتن بەتاڵ بووەتەوە - unknown: دەستپێگەیشتن بە کۆدی چوونەژوور باوڕپێنەکراوە - resource_owner_authenticator_not_configured: خاوەنی سەرچاوە بەهۆی Doorkeeper.configure.resource_owner_authenticator کۆنفیگنەکردن سەرکەوتوو نەبوو. - server_error: ڕاژەکاری ڕێپێدان تووشی مەرجێکی چاوەڕوان نەکراو بوو کە رێگری دەکا لە جێبەجێ کردنی داواکاریەکە. - temporarily_unavailable: ڕاژەکاری ڕێپێدان لە ئێستادا ناتوانێت داواکاریەکە چارەسەر بکات لەبەر بارکردنی کاتی یان چاککردنەوەی سێرڤەرەکە. - unauthorized_client: ڕاژەخوازەکە دەسەڵاتی ئەوەی نییە ئەم داواکاریە بە بەکارهێنانی ئەم شێوازە بدات. - unsupported_grant_type: جۆری بەخشینە مۆڵەتپێدانەکە لەلایەن ڕاژەکاری مۆڵەتەوە پەسەند ناکرێت. - unsupported_response_type: ڕاژەکاری ڕێگەپێدان پشتگیری ئەم جۆرە وەڵامە ناکات. + expired: Dema nîşana gihîştinê qediya + revoked: Nîşana gihîştin hatibû pûçkirin + unknown: Nîşana gihîştinê derbasdar e + resource_owner_authenticator_not_configured: Xwedîyê çavkanîyê, ji ber ku nehatîye sazkirin bi ser neket di Doorkeeper.configure.resource_owner_authenticator de. + server_error: Rajekarê rastandinê bi şertek nediyar re rûbirû ma ku nehişt ku ew daxwazê ​​bicîh bîne. + temporarily_unavailable: Mafê rajekarê hetta demekî ji ber zêde barkirinê an jî lê nihêrîna rajekarê daxwaz bi cîh nay. + unauthorized_client: Rajegir nahêlê ku vê daxwazê bi vê awayê bicîh bîne. + unsupported_grant_type: Cureyê maf dayînê ji alîyê rajekara mafê va ne piştgirêdayî ye. + unsupported_response_type: Mafê rajekarê cûreya vê bersîvê piştgirêdayî nîne. flash: applications: create: - notice: بەرنامە دروستکرا. + notice: Sepan hate çêkirin. destroy: - notice: بەرنامە سڕایەوە. + notice: Sepan hate jêbirin. update: - notice: بەرنامە بەڕۆژکرا. + notice: Sepan hate rojanekirin. authorized_applications: destroy: - notice: بەرنامە هەڵوەشێنڕا. + notice: Sepan hate dûrxisitn. + grouped_scopes: + access: + read: Gihîştina tenê xwendin + read/write: Gihîştina xwendin û nivîsandin + write: Gihîştina tenê nivîsandin + title: + accounts: Ajimêr + admin/accounts: Rêveberiya ajimêran + admin/all: Hemû fonksiyonên reveberî + admin/reports: Rêveberiya ragihandinan + all: Her tişt + blocks: Astengkirin + bookmarks: Şûnpel + conversations: Axaftin + crypto: Dawî bi dawî şifrekirî + favourites: Bijarte + filters: Parzûn + follow: Pêwendî + follows: Şopîner + lists: Rêzok + media: Pêvekên medya + mutes: Bêdengkirin + notifications: Agahdarî + push: Agahdariyên Push + reports: Ragihandin + search: Lêgerîn + statuses: Şandî layouts: admin: nav: - applications: بەرنامەکان + applications: Sepan + oauth2_provider: Peydakarê OAuth2 application: - title: داوای ڕێپێدانی OAuth + title: Mafê dayînê OAuth pêwist e scopes: - admin:read: خوێندنەوەی هەموو داتاکان لەسەر ڕاژەکارەکە - admin:read:accounts: زانیاری هەستیاری هەموو هەژمارەکان بخوێنەوە - admin:read:reports: زانیاری هەستیاری هەموو گوزارشت و هەژمارە گوزارشتکراوەکان بخوێنەوە - admin:write: دەستکاری هەموو داتاکان بکە لەسەر ڕاژەکار - admin:write:accounts: ئەنجامدانی کاری میانڕەوی لەسەر هەژمارەکان - admin:write:reports: ئەنجامدانی کاری میانڕەوی لەسەر گوزارشتەکان - follow: دەستکاریکردنی پەیوەندییەکانی هەژمارەی بەکارهێنەر - push: وەرگرتنی ئاگانامەکانی پاڵنان - read: هەموو دراوەکانی هەژمارەکەت بخوێنەوە - read:accounts: بینینی زانیاری هەژمارەکان - read:blocks: بینینی بلۆکەکانت - read:bookmarks: نیشانەکان ببینە - read:favourites: بینینی دڵخوازەکانت - read:filters: بینینی پاڵافتنەکانت - read:follows: سەیری شوێنکەوتەکانت بکە - read:lists: بینینی لیستەکانت - read:mutes: بێدەنگەکانت ببینە - read:notifications: ئاگانامەکانت ببینە - read:reports: سەیری گوزارشەکانت بکە - read:search: گەڕان لە جیاتی تۆ - read:statuses: بینینی هەموو بارودۆخەکان - write: دەستکاری هەموو داتاکانی هەژمارەکەت بکە - write:accounts: دەستکاری پرۆفایلەکەت بکە - write:blocks: بلۆک کردنی هەژمارەکەی دۆمەینەکان - write:bookmarks: بارەکانی نیشانکەر - write:favourites: دۆخی دڵخوازەکان - write:filters: پاڵێوەر دروست بکە - write:follows: دوای خەڵک بکەوە - write:lists: دروستکردنی لیستەکان - write:media: پەڕگەی میدیا باربکە - write:mutes: بێدەنگکردنی خەڵک و گفتوگۆکان - write:notifications: ئاگانامەکانت بسڕیەوە - write:reports: گوزارشتکردنی کەسانی تر - write:statuses: بڵاوکردنەوەی بارودۆخەکان + admin:read: hemû daneyên li ser rajekar bixwîne + admin:read:accounts: zanyariyên hestiyar yên hemû ajimêran li ser rajekar bixwîne + admin:read:reports: zanyariyên hestiyar yên hemû gilîyan û ajimêrên gilêkirî li ser rajekar bixwîne + admin:write: hemû daneyên li ser rajekar biguherîne + admin:write:accounts: di ajimêrê de çalakiyên li hev kirî pêk bîne + admin:write:reports: di ragihandinê de çalakiyên li hev kirî pêk bîne + crypto: dawî bi dawî şifrekirî bi kar bîne + follow: têkiliyên ajimêrê biguherîne + push: agahdariyên xwe bistîne + read: hemû daneyên ajimêra xwe bixwîne + read:accounts: zanyariyên ajimêran bibîne + read:blocks: ajimêran ku te astenkiriye bibîne + read:bookmarks: şûnpelên xwe bibîne + read:favourites: bijarteyên xwe bibîne + read:filters: parzûnûn xwe bibîne + read:follows: şopînerên xwe bibîne + read:lists: rêzoka xwe bibîne + read:mutes: ajimêrên bêdeng kirî bibîne + read:notifications: agahdariyên xwe bibîne + read:reports: ragihandinên xwe bibîne + read:search: li ser navê xwe lêgerîn bike + read:statuses: hemû şandiyan bibîne + write: hemû daneyên ajimêra xwe biguherîne + write:accounts: profîla xwe biguherîne + write:blocks: hemû ajimêr û navperan asteng bike + write:bookmarks: şandiyan di şûnpelê de tomar bike + write:conversations: bêdengkirin û jêbirina axaftinan + write:favourites: şandiyên bijarte + write:filters: parzûnan çê bike + write:follows: kesan bişopîne + write:lists: rêzokan çê bike + write:media: pelên medya bar bike + write:mutes: mirovan û axaftinan bêdeng bike + write:notifications: agahdariyên xwe pak bike + write:reports: mirovên din gilî bike + write:statuses: şandiyekê biweşîne diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml index 8232ce540..7c77af88b 100644 --- a/config/locales/doorkeeper.pt-BR.yml +++ b/config/locales/doorkeeper.pt-BR.yml @@ -60,6 +60,7 @@ pt-BR: error: title: Ocorreu um erro new: + review_permissions: Analisar permissões title: Autorização necessária show: title: Copie este código de autorização e cole no aplicativo. @@ -69,6 +70,9 @@ pt-BR: confirmations: revoke: Você tem certeza? index: + never_used: Nunca usado + scopes: Permissões + superapp: Interno title: Aplicativos autorizados errors: messages: @@ -104,6 +108,23 @@ pt-BR: authorized_applications: destroy: notice: Aplicativo revogado. + grouped_scopes: + title: + accounts: Contas + all: Tudo + blocks: Blocos + conversations: Conversas + crypto: Criptografia de ponta a ponta + favourites: Favoritos + filters: Filtros + follow: Relações + lists: Listas + media: Mídias anexadas + notifications: Notificações + push: Notificações push + reports: Denúncias + search: Buscar + statuses: Posts layouts: admin: nav: diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml index 58da91bf1..44562f4b8 100644 --- a/config/locales/doorkeeper.uk.yml +++ b/config/locales/doorkeeper.uk.yml @@ -69,6 +69,8 @@ uk: confirmations: revoke: Ви впевнені? index: + never_used: Ніколи не використовувалися + scopes: Дозволи title: Ваші авторизовані додатки errors: messages: @@ -104,6 +106,19 @@ uk: authorized_applications: destroy: notice: Авторизацію додатка відкликано. + grouped_scopes: + title: + accounts: Облікові записи + all: Усе + crypto: Наскрізне шифрування + filters: Фільтри + lists: Списки + media: Мультимедійні вкладення + notifications: Сповіщення + push: Push-сповіщення + reports: Скарги + search: Пошук + statuses: Дописи layouts: admin: nav: @@ -118,6 +133,7 @@ uk: admin:write: модифікувати всі дані на сервері admin:write:accounts: модерувати облікові записи admin:write:reports: модерувати скарги + crypto: використовувати наскрізне шифрування follow: змінювати стосунки облікового запису push: отримувати Ваші Push-повідомлення read: читати усі дані вашого облікового запису diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml index 8b4007f5c..4acfd9977 100644 --- a/config/locales/doorkeeper.vi.yml +++ b/config/locales/doorkeeper.vi.yml @@ -76,7 +76,7 @@ vi: last_used_at: Dùng gần nhất vào %{date} never_used: Chưa dùng bao giờ scopes: Quyền cho phép - superapp: Nội bộ + superapp: Đang dùng title: Các ứng dụng đang cho phép errors: messages: diff --git a/config/locales/doorkeeper.zh-CN.yml b/config/locales/doorkeeper.zh-CN.yml index 11067df73..f612ac067 100644 --- a/config/locales/doorkeeper.zh-CN.yml +++ b/config/locales/doorkeeper.zh-CN.yml @@ -60,7 +60,7 @@ zh-CN: error: title: 发生错误 new: - prompt_html: "%{client_name} 希望得到访问你帐号的许可。这是一个第三方应用。如果你不信任它,那么你不应该授权它。" + prompt_html: "%{client_name} 希望得到访问你账号的许可。这是一个第三方应用。如果你不信任它,那么你不应该授权它。" review_permissions: 检查权限 title: 需要授权 show: @@ -72,7 +72,7 @@ zh-CN: revoke: 确定要撤销对此应用的授权吗? index: authorized_at: 授权于 %{date} - description_html: 这些是可以使用 API 访问你帐号的应用程序。如果这里有你不认识的应用程序,或者某个应用程序行为异常,你可以撤销其访问权限。 + description_html: 这些是可以使用 API 访问你账号的应用程序。如果这里有你不认识的应用程序,或者某个应用程序行为异常,你可以撤销其访问权限。 last_used_at: 最后一次使用 %{date} never_used: 从未使用 scopes: 权限 @@ -118,8 +118,8 @@ zh-CN: read/write: 读写权限 write: 仅写入权限 title: - accounts: 帐号 - admin/accounts: 管理员帐号 + accounts: 账号 + admin/accounts: 账号管理 admin/all: 所有管理功能 admin/reports: 管理报表 all: 所有 @@ -148,10 +148,10 @@ zh-CN: title: 需要 OAuth 认证 scopes: admin:read: 读取服务器上的所有数据 - admin:read:accounts: 读取所有帐号的敏感信息 - admin:read:reports: 读取所有举报和被举报帐号的敏感信息 + admin:read:accounts: 读取所有账号的敏感信息 + admin:read:reports: 读取所有举报和被举报账号的敏感信息 admin:write: 修改服务器上的所有数据 - admin:write:accounts: 对帐号执行管理操作 + admin:write:accounts: 对账号执行管理操作 admin:write:reports: 对举报执行管理操作 crypto: 使用端到端加密 follow: 关注或屏蔽用户 diff --git a/config/locales/el.yml b/config/locales/el.yml index 71bdccf20..f14420306 100644 --- a/config/locales/el.yml +++ b/config/locales/el.yml @@ -1094,7 +1094,7 @@ el: disallowed_hashtags: one: 'περιέχει μη επιτρεπτή ετικέτα: %{tags}' other: περιέχει μη επιτρεπτές ετικέτες %{tags} - edited_at: Επεξεργάστηκε στις %{date} + edited_at_html: Επεξεργάστηκε στις %{date} errors: in_reply_not_found: Η κατάσταση στην οποία προσπαθείτε να απαντήσετε δεν υπάρχει. open_in_web: Δες στο διαδίκτυο diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 24d13bdc6..7dee30a27 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -1437,7 +1437,7 @@ es-AR: disallowed_hashtags: one: 'contenía una etiqueta no permitida: %{tags}' other: 'contenía las etiquetas no permitidas: %{tags}' - edited_at: Editado %{date} + edited_at_html: Editado el %{date} errors: in_reply_not_found: El mensaje al que intentás responder no existe. open_in_web: Abrir en la web diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index 0d3f5c118..da321d7ee 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -373,6 +373,7 @@ es-MX: enable: Habilitar enabled: Activado enabled_msg: Se habilitó con éxito ese emoji + image_hint: PNG o GIF hasta %{size} list: Lista listed: Listados new: @@ -1436,7 +1437,7 @@ es-MX: disallowed_hashtags: one: 'contenía un hashtag no permitido: %{tags}' other: 'contenía los hashtags no permitidos: %{tags}' - edited_at: Editado %{date} + edited_at_html: Editado %{date} errors: in_reply_not_found: El estado al que intentas responder no existe. open_in_web: Abrir en web diff --git a/config/locales/es.yml b/config/locales/es.yml index 6a7af3b89..bcce44e20 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1437,7 +1437,7 @@ es: disallowed_hashtags: one: 'contenía un hashtag no permitido: %{tags}' other: 'contenía los hashtags no permitidos: %{tags}' - edited_at: Editado %{date} + edited_at_html: Editado %{date} errors: in_reply_not_found: El estado al que intentas responder no existe. open_in_web: Abrir en web diff --git a/config/locales/eu.yml b/config/locales/eu.yml index 5d51d0619..d6f49058e 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -16,6 +16,7 @@ eu: contact: Kontaktua contact_missing: Ezarri gabe contact_unavailable: E/E + continue_to_web: Jarraitu web aplikaziora discover_users: Aurkitu erabiltzaileak documentation: Dokumentazioa federation_hint_html: "%{instance} instantzian kontu bat izanda edozein Mastodon zerbitzariko jendea jarraitu ahal izango duzu, eta harago ere." @@ -23,6 +24,8 @@ eu: hosted_on: Mastodon %{domain} domeinuan ostatatua instance_actor_flash: "Kontu hau zerbitzaria bera adierazten duen aktore birtual bat da, ez norbanako bat. Federaziorako erabiltzen da eta ez zenuke blokeatu behar instantzia osoa blokeatu nahi ez baduzu, kasu horretan domeinua blokeatzea egokia litzateke. \n" learn_more: Ikasi gehiago + logged_in_as_html: "%{username} bezala saioa hasita zaude." + logout_before_registering: Saioa hasi duzu jada. privacy_policy: Pribatutasun politika rules: Zerbitzariaren arauak rules_html: 'Behean Mastodon zerbitzari honetan kontua eduki nahi baduzu jarraitu beharreko arauen laburpena daukazu:' @@ -159,6 +162,11 @@ eu: not_subscribed: Harpidetu gabe pending: Berrikusketa egiteke perform_full_suspension: Kanporatu + previous_strikes: Aurreko abisuak + previous_strikes_description_html: + one: Kontu honek abisu bat dauka. + other: Kontu honek %{count} abisu dauzka. + zero: Kontu honek ez dauka abisurik. promote: Sustatu protocol: Protokoloa public: Publikoa @@ -200,6 +208,7 @@ eu: silence: Isilarazi silenced: Isilarazita statuses: Bidalketa + strikes: Aurreko abisuak subscribe: Harpidetu suspend: Kanporatu suspended: Kanporatuta @@ -362,6 +371,7 @@ eu: enable: Gaitu enabled: Gaituta enabled_msg: Emoji hori ongi gaitu da + image_hint: "%{size} arteko PNG edo GIF" list: Zerrendatu listed: Zerrendatua new: @@ -432,10 +442,14 @@ eu: add_new: Gehitu berria created_msg: Ongi gehitu da e-mail helbidea domeinuen zerrenda beltzera delete: Ezabatu + dns: + types: + mx: MX erregistroa domain: Domeinua new: create: Gehitu domeinua title: Sarrera berria e-mail zerrenda beltzean + no_email_domain_block_selected: Ez da eposta domeinu blokeorik aldatu ez delako bat bera ere hautatu title: E-mail zerrenda beltza follow_recommendations: description_html: "Jarraitzeko gomendioek erabiltzaile berriei eduki interesgarria azkar aurkitzen laguntzen diete. Erabiltzaile batek jarraitzeko gomendio pertsonalizatuak jasotzeko adina interakzio izan ez duenean, kontu hauek gomendatzen zaizkio. Egunero birkalkulatzen dira hizkuntza bakoitzerako, azken aldian parte-hartze handiena izan duten eta jarraitzaile lokal gehien dituzten kontuak nahasiz." @@ -446,11 +460,32 @@ eu: title: Jarraitzeko gomendioak unsuppress: Berrezarri jarraitzeko gomendioa instances: + availability: + failure_threshold_reached: Hutsegite atalasera iritsi da %{date} datan. + no_failures_recorded: Ez dago hutsegiterik erregistroan. + title: Egoera back_to_all: Guztiak back_to_limited: Mugatua back_to_warning: Abisua by_domain: Domeinua confirm_purge: Ziur zaude domeinu honen datuak behin betiko ezabatu nahi dituzula? + content_policies: + comment: Barne-oharra + description_html: Domeinu honetako eta bere azpi-domeinuetako kontu guztiei aplikatuko zaizkien eduki-politikak definitu ditzakezu. + policies: + reject_media: Errefusatu multimediak + reject_reports: Errefusatu salaketak + silence: Isilarazi + suspend: Kanporatu + policy: Politika + reason: Arrazoi publikoa + title: Eduki politikak + dashboard: + instance_accounts_dimension: Kontu jarraituenak + instance_accounts_measure: gordetako kontuak + instance_followers_measure: gure jarraitzaileak hemen + instance_follows_measure: beren jarraitzaileak hemen + instance_languages_dimension: Hizkuntza nagusiak delivery: all: Guztiak clear: Garbitu banaketa erroreak diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 674abccf4..1776505ba 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -1238,7 +1238,6 @@ fa: disallowed_hashtags: one: 'دارای هشتگ غیرمجاز: %{tags}' other: 'دارای هشتگ‌های غیرمجاز: %{tags}' - edited_at: ویراسته در %{date} errors: in_reply_not_found: به نظر نمی‌رسد وضعیتی که می‌خواهید به آن پاسخ دهید، وجود داشته باشد. open_in_web: بازکردن در وب diff --git a/config/locales/fi.yml b/config/locales/fi.yml index fd017aaf2..918c505b1 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -1404,7 +1404,6 @@ fi: disallowed_hashtags: one: 'sisälsi aihetunnisteen jota ei sallita: %{tags}' other: 'sisälsi aihetunnisteet joita ei sallita: %{tags}' - edited_at: Muokattu %{date} errors: in_reply_not_found: Viesti, johon yrität vastata, ei näytä olevan olemassa. open_in_web: Avaa selaimessa diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 8bf15b82d..e3879be0a 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1431,7 +1431,6 @@ fr: disallowed_hashtags: one: 'contient un hashtag désactivé : %{tags}' other: 'contient les hashtags désactivés : %{tags}' - edited_at: Édité le %{date} errors: in_reply_not_found: Le message auquel vous essayez de répondre ne semble pas exister. open_in_web: Ouvrir sur le web diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 9f4a1b1b8..6729b0443 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -1407,7 +1407,6 @@ gd: one: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" other: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" two: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" - edited_at: Air a dheasachadh %{date} errors: in_reply_not_found: Tha coltas nach eil am post dhan a tha thu airson freagairt ann. open_in_web: Fosgail air an lìon diff --git a/config/locales/gl.yml b/config/locales/gl.yml index b5c07a480..f3a4beb70 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -373,6 +373,7 @@ gl: enable: Activar enabled: Activado enabled_msg: Activouse a emoticona de xeito correcto + image_hint: PNG ou GIF ata %{size} list: Listar listed: Listado new: @@ -1436,7 +1437,7 @@ gl: disallowed_hashtags: one: 'contiña un cancelo non permitido: %{tags}' other: 'contiña uns cancelos non permitidos: %{tags}' - edited_at: Editado %{date} + edited_at_html: Editado %{date} errors: in_reply_not_found: A publicación á que tentas responder semella que non existe. open_in_web: Abrir na web diff --git a/config/locales/he.yml b/config/locales/he.yml index 8a5e51d12..67f3df609 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -295,7 +295,6 @@ he: two_factor_authentication: אימות דו-שלבי statuses: default_language: זהה לשפת ממשק - edited_at: נערך ב%{date} open_in_web: פתח ברשת over_character_limit: חריגה מגבול התווים של %{max} show_more: עוד diff --git a/config/locales/hu.yml b/config/locales/hu.yml index bc55e43d9..000184317 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -1439,7 +1439,7 @@ hu: disallowed_hashtags: one: 'tiltott hashtaget tartalmaz: %{tags}' other: 'tiltott hashtageket tartalmaz: %{tags}' - edited_at: 'Szerkesztve: %{date}' + edited_at_html: 'Szerkesztve: %{date}' errors: in_reply_not_found: Már nem létezik az a bejegyzés, melyre válaszolni szeretnél. open_in_web: Megnyitás a weben diff --git a/config/locales/id.yml b/config/locales/id.yml index aa6ef07a7..97443b4a5 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -795,8 +795,10 @@ id: statuses: allow: Izinkan kiriman allow_account: Izinkan penulis + description_html: Ini adalah kiriman yang diketahui server Anda yang kini sedang dibagikan dan difavoritkan banyak akun. Ini akan membantu pengguna baru dan lama Anda menemukan lebih banyak orang untuk diikuti. Tidak ada kiriman yang ditampilkan secara publik kecuali jika sudah disetujui pemilik akun, dan pemilik akun mengizinkan akun mereka disarankan untuk orang lain. Anda juga dapat mengizinkan atau menolak kiriman individu. disallow: Jangan beri izin kiriman disallow_account: Jangan beri izin penulis + not_discoverable: Pemilik akun memilih untuk tidak dapat ditemukan shared_by: other: Dibagikan dan difavoritkan %{friendly_count} kali title: Kiriman yang sedang tren @@ -808,6 +810,7 @@ id: tag_servers_dimension: Server terpopuler tag_servers_measure: server berbeda tag_uses_measure: kegunaan total + description_html: Ini adalah tagar yang kini sedang muncul di banyak kiriman yang dapat dilihat server Anda. Ini dapat membantu pengguna Anda menemukan apa yang sedang dibicarakan banyak orang. Tagar tidak akan ditampilkan secara publik kecuali jika Anda mengizinkannya. listable: Dapat disarankan not_listable: Tidak akan disarankan not_trendable: Tidak akan muncul di bawah tren @@ -834,6 +837,7 @@ id: actions: delete_statuses: untuk menghapus kiriman mereka disable: untuk membekukan akun mereka + mark_statuses_as_sensitive: untuk menandai kiriman sebagai sensitif none: peringatan sensitive: untuk menandai akun mereka sebagai sensitif silence: untuk membatasi akun mereka @@ -936,8 +940,10 @@ id: status: account_status: Status akun confirming: Menunggu konfirmasi email diselesaikan. + functional: Akun Anda kini beroperasi penuh. pending: Permintaan Anda sedang ditinjau oleh staf kami. Ini mungkin butuh beberapa waktu. Anda akan menerima email jika permintaan Anda diterima. redirecting_to: Akun Anda tidak aktif karena sekarang dialihkan ke %{acct}. + view_strikes: Lihat hukuman lalu yang pernah terjadi kepada akun Anda too_fast: Formulir dikirim terlalu cepat, coba lagi. trouble_logging_in: Kesulitan masuk? use_security_key: Gunakan kunci keamanan @@ -1013,6 +1019,7 @@ id: submit: Ajukan banding associated_report: Laporan yang berkaitan created_at: Tanggal + description_html: Ini adalah tindakan yang dilakukan terhadap akun Anda dan peringatan telah dikirim oleh staf %{instance}. recipient: Dialamatkan untuk status: 'Kiriman #%{id}' status_removed: Kirim sudah dihapus dari sistem @@ -1020,7 +1027,9 @@ id: title_actions: delete_statuses: Penghapusan kiriman disable: Pembekuan akun + mark_statuses_as_sensitive: Tandai kiriman sebagai sensitif none: Peringatan + sensitive: Tandai akun sebagai sensitif silence: Pembatasan akun suspend: Penangguhan akun your_appeal_approved: Banding Anda disetujui @@ -1388,6 +1397,7 @@ id: profile: Profil relationships: Ikuti dan pengikut statuses_cleanup: Hapus kiriman otomatis + strikes: Moderasi hukuman two_factor_authentication: Autentikasi Two-factor webauthn_authentication: Kunci keamanan statuses: @@ -1404,7 +1414,7 @@ id: default_language: Sama seperti bahasa antarmuka disallowed_hashtags: other: 'berisi tagar yang tidak diizinkan: %{tags}' - edited_at: Diedit %{date} + edited_at_html: Diedit %{date} errors: in_reply_not_found: Status yang ingin Anda balas sudah tidak ada. open_in_web: Buka di web @@ -1461,7 +1471,7 @@ id: '2629746': 1 bulan '31556952': 1 tahun '5259492': 2 bulan - '604800': 1 week + '604800': 1 minggu '63113904': 2 tahun '7889238': 3 bulan min_age_label: Batas usia @@ -1609,21 +1619,28 @@ id: spam: Spam violation: Konten melanggar panduan komunitas berikut explanation: + delete_statuses: Beberapa kiriman Anda terdeteksi melanggar satu atau lebih panduan komunitas dan satu per satu telah dihapus moderator %{instance}. disable: Anda tidak lagi dapat menggunakan akun, tapi profil dan data Anda lainnya masih tersimpan. Anda dapat minta cadangan data Anda, mengubah pengaturan akun, atau menghapus akun. + mark_statuses_as_sensitive: Beberapa kiriman Anda telah ditandai sebagai sensitif oleh moderator %{instance}. Artinya, orang-orang perlu mengetuk media pada kiriman sebelum pratinjau ditampilkan. Anda dapat menandai sendiri media Anda sebagai sensitif di kiriman pada masa mendatang. sensitive: Mulai sekarang, semua berkas media yang telah Anda unggah akan ditandai sebagai sensitif dan disembunyikan di balik peringatan yang harus diklik. silence: Anda masih tetap dapat menggunakan akun tetapi hanya orang yang mengikuti Anda yang dapat melihat kiriman Anda di server ini, dan Anda mungkin akan dikeluarkan dari fitur pencarian akun. Bagaimana pun, orang lain tetap dapat mengikuti Anda secara manual. suspend: Anda tidak dapat menggunakan akun Anda, dan profil serta data lain Anda tidak lagi dapat diakses. Anda masih tetap bisa masuk akun untuk minta cadangan data sampai data Anda akan dihapus permanen 30 hari lagi, tapi kami akan menyimpan beberapa data dasar untuk mencegah Anda menghindari penangguhan. reason: 'Alasan:' + statuses: 'Kiriman mengutip:' subject: delete_statuses: Postingan anda pada %{acct} telah dihapus disable: Akun Anda %{acct} telah dibekukan + mark_statuses_as_sensitive: Kiriman Anda di %{acct} telah ditandai sebagai sensitif none: Peringatan untuk %{acct} + sensitive: Kiriman Anda di %{acct} akan ditandai sebagai sensitif mulai sekarang silence: Akun Anda %{acct} telah dibatasi suspend: Akun Anda %{acct} telah ditangguhkan title: delete_statuses: Postingan dihapus disable: Akun dibekukan + mark_statuses_as_sensitive: Kiriman ditandai sebagai sensitif none: Peringatan + sensitive: Akun ditandai sebagai sensitif silence: Akun dibatasi suspend: Akun ditangguhkan welcome: diff --git a/config/locales/is.yml b/config/locales/is.yml index 935252a6f..04d193975 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -1437,7 +1437,7 @@ is: disallowed_hashtags: one: 'innihélt óleyfilegt myllumerki: %{tags}' other: 'innihélt óleyfilegu myllumerkin: %{tags}' - edited_at: Breytt %{date} + edited_at_html: Breytt %{date} errors: in_reply_not_found: Færslan sem þú ert að reyna að svara að er líklega ekki til. open_in_web: Opna í vafra diff --git a/config/locales/it.yml b/config/locales/it.yml index 0b9a55c18..d96e58540 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -1439,7 +1439,7 @@ it: disallowed_hashtags: one: 'contiene un hashtag non permesso: %{tags}' other: 'contiene gli hashtags non permessi: %{tags}' - edited_at: Modificato il %{date} + edited_at_html: Modificato il %{date} errors: in_reply_not_found: Il post a cui stai tentando di rispondere non sembra esistere. open_in_web: Apri sul Web diff --git a/config/locales/ja.yml b/config/locales/ja.yml index c63293a00..32b101147 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -696,6 +696,9 @@ ja: title: 投稿一覧 with_media: メディアあり strikes: + actions: + mark_statuses_as_sensitive: "%{name} さんが %{target} さんの投稿を閲覧注意としてマークしました" + sensitive: "%{name} さんが %{target} さんのアカウントを閲覧注意としてマークしました" appeal_approved: 抗議済み appeal_pending: 保留中の抗議 system_checks: @@ -914,6 +917,7 @@ ja: explore_mastodon: "%{title}を探索" disputes: strikes: + action_taken: 取られた措置 appeal: 抗議 appeal_submitted_at: 抗議が送信されました appeals: @@ -923,8 +927,13 @@ ja: recipient: 送信元 title: "%{date}に%{action}" title_actions: + delete_statuses: 投稿の削除 disable: アカウント凍結 + mark_statuses_as_sensitive: 投稿を閲覧注意としてマーク none: 警告 + sensitive: アカウントを閲覧注意としてマーク + silence: アカウントの制限 + suspend: アカウントの一時停止 domain_validator: invalid_domain: は無効なドメイン名です errors: @@ -1097,6 +1106,9 @@ ja: carry_mutes_over_text: このユーザーは、あなたがミュートしていた %{acct} から引っ越しました。 copy_account_note_text: このユーザーは %{acct} から引っ越しました。これは以前のメモです。 notification_mailer: + admin: + sign_up: + subject: "%{name} がサインアップしました" digest: action: 全ての通知を表示 body: '最後のログイン(%{since})からの出来事:' @@ -1297,7 +1309,6 @@ ja: default_language: UIの表示言語 disallowed_hashtags: other: '許可されていないハッシュタグが含まれています: %{tags}' - edited_at: "%{date} に編集" errors: in_reply_not_found: あなたが返信しようとしている投稿は存在しないようです。 open_in_web: Webで開く @@ -1495,18 +1506,23 @@ ja: violation: コンテンツは以下のコミュニティガイドラインに違反しています explanation: disable: アカウントは使用できませんが、プロフィールやその他のデータはそのまま残ります。 データのバックアップをリクエストしたり、アカウント設定を変更したり、アカウントを削除したりできます。 + mark_statuses_as_sensitive: あなたのいくつかの投稿は、 %{instance} のモデレータによって閲覧注意としてマークされています。これは、プレビューが表示される前にユーザが投稿内のメディアをタップする必要があることを意味します。あなたは将来投稿する際に自分自身でメディアを閲覧注意としてマークすることができます。 sensitive: 今後、アップロードされたすべてのメディアファイルは閲覧注意としてマークされ、クリック解除式の警告で覆われるようになります。 silence: アカウントが制限されています。このサーバーでは既にフォローしている人だけがあなたの投稿を見ることができます。 様々な発見機能から除外されるかもしれません。他の人があなたを手動でフォローすることは可能です。 reason: '理由:' subject: disable: あなたのアカウント %{acct} は凍結されました + mark_statuses_as_sensitive: あなたの %{acct} の投稿は閲覧注意としてマークされました none: "%{acct} に対する警告" + sensitive: あなたの %{acct} の投稿はこれから閲覧注意としてマークされます silence: あなたのアカウント %{acct} はサイレンスにされました suspend: あなたのアカウント %{acct} は停止されました title: delete_statuses: 投稿が削除されました disable: アカウントが凍結されました + mark_statuses_as_sensitive: 閲覧注意としてマークされた投稿 none: 警告 + sensitive: 閲覧注意としてマークされたアカウント silence: アカウントがサイレンスにされました suspend: アカウントが停止されました welcome: diff --git a/config/locales/kab.yml b/config/locales/kab.yml index c9fe4dc47..99e178512 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -777,7 +777,6 @@ kab: video: one: "%{count} n tbidyutt" other: "%{count} n tbidyutin" - edited_at: Tettwaẓreg deg %{date} open_in_web: Ldi deg Web poll: total_people: diff --git a/config/locales/kmr.yml b/config/locales/kmr.yml index 837facc55..69f0e9da0 100644 --- a/config/locales/kmr.yml +++ b/config/locales/kmr.yml @@ -373,6 +373,7 @@ kmr: enable: Çalak bike enabled: Çalakkirî enabled_msg: Ev hestok bi serkeftî hate çalak kirin + image_hint: Mezinahiya PNG an jî GIF digîheje heya %{size} list: Rêzok listed: Rêzokkirî new: @@ -481,11 +482,41 @@ kmr: title: Pêşniyarên şopandinê unsuppress: Pêşniyara şopandinê paşve vegerîne instances: + availability: + description_html: + one: Ku radestkirina navparê %{count} roj bêyî serkeftin birevebiçe, heya ku radestkirinek ji navparê neyê wergirtin, wê hewildanên radestkirinê neyên kirin. + other: Ku radestkirina navparê %{count} rojên cuda bêyî serkeftin birevebiçe, heya ku radestkirinek ji navparê neyê wergirtin, wê hewildanên radestkirinê neyên kirin. + failure_threshold_reached: Rêjeya têkçûnê gihîşte %{date}. + failures_recorded: + one: Hewldana têkçûyî di %{count} roj de. + other: Hewldanên têkçûyî di %{count} rojên cuda de. + no_failures_recorded: Di tomarê de têkçûn tune. + title: Berdestbûnî back_to_all: Hemû back_to_limited: Sînorkirî back_to_warning: Hişyarî by_domain: Navper confirm_purge: Ma tu dixwazî ku bi awayekî domdar daneyan ji vê navparê jê bibî? + content_policies: + comment: Nîşeya navxweyî + description_html: Tu dikarî polîtîkayên naverokê yên ku wê li hemû ajimêrên ji vê navparê û her kiîjan ji jêrnavparên werin sepandin diyar bikî. + policies: + reject_media: Medya nepejirîne + reject_reports: Ragihandinan nepejirîne + silence: Bi sînor bike + suspend: Rawestîne + policy: Polîtîka + reason: Sedemên gelemperî + title: Polîtîkayên naverokê + dashboard: + instance_accounts_dimension: Ajimêrên ku herî pir têne şopandin + instance_accounts_measure: ajimêrên tomarkirî + instance_followers_measure: şopînerên me li wir + instance_follows_measure: şopînerên wan li vir + instance_languages_dimension: Zimanên pir tên bikaranîn + instance_media_attachments_measure: pêvekên medyayê tomarkirî + instance_reports_measure: giliyên derbarê wan de + instance_statuses_measure: şandiyên tomarkirî delivery: all: Hemû clear: Çewtiyên gihandinê paqij bike @@ -508,12 +539,14 @@ kmr: private_comment: Şîroveya taybet public_comment: Şîroveya ji hemû kesî re vekirî purge: Pak bike + purge_description_html: Ku tu bawer dikî ev navpar bi domdarî negirêdayî ye, tu dikarî hemû tomarên ajimêr û daneyên xwe yîn têkildarî wê navparê jê bibî. Ev dibe ku hinek dem bigire. title: Giştî total_blocked_by_us: Ji aliyê me ve hatiye astengkirin total_followed_by_them: Ji aliyê wan ve hatiye şopandin total_followed_by_us: Ji aliyê ve me hate şopandin total_reported: Giliyên derheqê wan de total_storage: Pêvekên medyayê + totals_time_period_hint_html: Tevahiyên ku li jêr têne xuyakirin daneyên hemû deman dihewîne. invites: deactivate_all: Hemûyan neçalak bike filter: @@ -1406,7 +1439,7 @@ kmr: disallowed_hashtags: one: 'hashtagek bê maf tê de hebû: %{tags}' other: 'hashtagek bê maf tê de hebû: %{tags}' - edited_at: Di %{date} de hate serrastkirin + edited_at_html: Di %{date} de hate serrastkirin errors: in_reply_not_found: Ew şandiya ku tu dikî nakî bersivê bide xuya nake an jî hatiye jêbirin. open_in_web: Di tevnê de veke diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 1e0733248..7dacd90d3 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -369,6 +369,7 @@ ko: enable: 활성화 enabled: 활성됨 enabled_msg: 성공적으로 활성화하였습니다 + image_hint: "%{size} 이하의 PNG 또는 GIF" list: 목록에 추가 listed: 목록에 실림 new: @@ -460,6 +461,7 @@ ko: resolve: 도메인 해결 title: 새 이메일 도메인 차단 no_email_domain_block_selected: 아무 것도 선택 되지 않아 어떤 이메일 도메인 차단도 변경되지 않았습니다 + resolved_dns_records_hint_html: 도메인 네임은 다음의 MX 도메인으로 연결되어 있으며, 이메일을 받는데 필수적입니다. MX 도메인을 차단하면 같은 MX 도메인을 사용하는 어떤 이메일이라도 가입할 수 없게 되며, 보여지는 도메인이 다르더라도 적용됩니다. 주요 이메일 제공자를 차단하지 않도록 조심하세요. resolved_through_html: "%{domain}을 통해 해결됨" title: Email 도메인 차단 follow_recommendations: @@ -778,6 +780,7 @@ ko: links: allow: 링크 허용하기 allow_provider: 출처 허용하기 + description_html: 현재 서버에서 게시물을 볼 수 있는 계정에서 많이 공유되고 있는 링크들입니다. 사용자가 세상 돌아가는 상황을 파악하는 데 도움이 됩니다. 출처를 승인할 때까지 링크는 공개적으로 게시되지 않습니다. 각각의 링크를 개별적으로 허용하거나 거부할 수도 있습니다. disallow: 링크 거부하기 disallow_provider: 출처 거부하기 shared_by_over_week: @@ -789,12 +792,14 @@ ko: pending_review: 심사 대기 preview_card_providers: allowed: 이 출처의 링크는 유행 목록에 실릴 수 있습니다 + description_html: 당신의 서버에서 많은 링크가 공유되고 있는 도메인들입니다. 링크의 도메인이 승인되기 전까지는 링크들은 공개적으로 트렌드에 게시되지 않습니다. 당신의 승인(또는 거절)은 서브도메인까지 확장됩니다. rejected: 이 출처의 링크는 유행 목록에 실릴 수 없습니다 title: 출처 rejected: 거부됨 statuses: allow: 게시물 허용 allow_account: 작성자 허용 + description_html: 당신의 서버가 알기로 현재 많은 수의 공유와 즐겨찾기가 되고 있는 게시물들입니다. 새로운 사용자나 돌아오는 사용자들이 팔로우 할 사람들을 찾는 데 도움이 될 수 있습니다. 작성자를 승인하고, 작성자가 그들의 계정이 다른 계정에게 탐색되도록 설정하지 않는 한 게시물들은 공개적으로 표시되지 않습니다. 또한 각각의 게시물을 별개로 거절할 수도 있습니다. disallow: 게시물 불허 disallow_account: 작성자 불허 not_discoverable: 작성자가 발견되기를 원치 않습니다 @@ -809,6 +814,7 @@ ko: tag_servers_dimension: 상위 서버 tag_servers_measure: 다른 서버들 tag_uses_measure: 총 사용 + description_html: 현재 서버에서 볼 수 있는 게시물에서 많이 공유되고 있는 해시태그들입니다. 현재 사람들이 무슨 이야기를 하고 있는지 사용자들이 파악할 수 있도록 도움이 됩니다. 승인하지 않는 한 해시태그는 공개적으로 게시되지 않습니다. listable: 추천될 수 있습니다 not_listable: 추천될 수 없습니다 not_trendable: 유행 목록에 나타나지 않습니다 @@ -841,6 +847,7 @@ ko: silence: 계정을 제한하는 것 suspend: 계정을 정지하는 것 body: "%{target} 님이 %{action_taken_by} 님에 의해 %{date}에 결정된 중재 결정에 대한 이의를 제기했습니다, 결정된 사항은 %{type}이었습니다. 작성내용은 다음과 같습니다:" + next_steps: 중재 결정사항을 되돌리기 위해서 상소를 승인하거나, 무시할 수 있습니다. subject: "%{username} 님이 %{instance}에서 발생한 중재 결정에 대해 소명을 제출했습니다" new_pending_account: body: 아래에 새 계정에 대한 상세정보가 있습니다. 이 가입을 승인하거나 거부할 수 있습니다. @@ -853,11 +860,15 @@ ko: body: '아래에 있는 항목들은 공개적으로 보여지기 전에 검토를 거쳐야 합니다:' new_trending_links: no_approved_links: 현재 승인된 유행 중인 링크가 없습니다. + requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 링크를 앞지를 수 있으며, 이것은 현재 "%{lowest_link_title}"이고 %{lowest_link_score}점을 기록하고 있습니다.' title: 유행하는 링크 new_trending_statuses: no_approved_statuses: 현재 승인된 유행 중인 게시물이 없습니다. + requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 게시물을 앞지를 수 있으며, 이것은 현재 %{lowest_status_url}이고 %{lowest_status_score}점을 기록하고 있습니다.' title: 유행하는 게시물 new_trending_tags: + no_approved_tags: 현재 승인된 유행 중인 해시태그가 없습니다. + requirements: '이 후보들 중 어떤 것이라도 #%{rank}위의 승인된 유행 중인 해시태그를 앞지를 수 있으며, 이것은 현재 #%{lowest_tag_name}이고 %{lowest_tag_score}점을 기록하고 있습니다.' title: 유행하는 해시태그 subject: 새 트렌드가 %{instance}에서 심사 대기 중입니다 aliases: @@ -1407,7 +1418,7 @@ ko: default_language: 화면 표시 언어와 동일하게 disallowed_hashtags: other: '허용되지 않은 해시태그를 포함하고 있습니다: %{tags}' - edited_at: "%{date}에 편집됨" + edited_at_html: "%{date}에 편집됨" errors: in_reply_not_found: 답장하려는 게시물이 존재하지 않습니다. open_in_web: Web으로 열기 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 1f8a91031..a457b4b07 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -1,1213 +1,1718 @@ --- ku: about: - about_hashtag_html: ئەمانە توتی گشتین بە هەشتەگی گشتی #%{hashtag}}. گەر ئێوە لە هەر ڕاژەیەک هەژمارەتان بێت دەتوانیت لێرە بەم نووسراوانە هاوئاهەنگ بن. - about_mastodon_html: 'تۆڕی کۆمەڵایەتی داهاتوو: هیچ ڕیکلامێک ، هیچ چاودێرییەکی کۆمپانیا ، دیزاینی ئەخلاقی و لامەرکەزی! خاوەنی داتاکانت نابێ لە ماستۆدۆن!' - about_this: دەربارە - active_count_after: چالاک - active_footnote: بەکارهێنەرانی چالاکی مانگانە (MAU) - administered_by: 'بەڕێوەبراو لەلایەن:' - apps: ئەپەکانی مۆبایل - apps_platforms: بەکارهێنانی ماستۆدۆن لە iOS، ئەندرۆید و سەکۆکانی تر - browse_directory: گەڕان لە ڕێبەرێکی پرۆفایل و پاڵاوتن بەپێی بەرژەوەندیەکان - browse_local_posts: گەڕانی ڕاستەوخۆ لە نووسراوە گشتیەکان لەم ڕاژەوە - browse_public_posts: گەڕان لە جۆگەیەکی زیندووی نووسراوە گشتیەکان لەسەر ماستۆدۆن - contact: بەردەنگ - contact_missing: سازنەکراوە - contact_unavailable: بوونی نییە - discover_users: پەیداکردنی بەکارهێنەران - documentation: بەڵگەکان - federation_hint_html: بە هەژمارەیەک لەسەر %{instance} دەتوانیت شوێن خەڵک بکەویت لەسەر هەرڕاژەیەکی ماستۆدۆن. - get_apps: ئەپێکی تەلەفۆن تاقی بکەرەوە - hosted_on: مەستودۆن میوانداری کراوە لە %{domain} - instance_actor_flash: | - ئەم هەژمارەیە ئەکتەرێکی خەیاڵی بەکارهاتووە بۆ نوێنەرایەتی کردنی خودی ڕاژەکە و نەک هیچ بەکارهێنەرێکی تاک. - بۆ مەبەستی فیدراسیۆن بەکاردێت و نابێت بلۆک بکرێت مەگەر دەتەوێت هەموو نمونەکە بلۆک بکەیت، کە لە حاڵەتەش دا پێویستە بلۆکی دۆمەین بەکاربهێنیت. - learn_more: زیاتر فێربه - privacy_policy: ڕامیاری تایبەتێتی - see_whats_happening: بزانە چی ڕوودەدات - server_stats: 'زانیاری ڕاژەکار:' - source_code: کۆدی سەرچاوە + about_hashtag_html: Ev şandiyeke gelemperî ye bi #%{hashtag} re nîşankirî ye. Tu dikarî pê re çalak bibî heke ajimêreke te heye li ser fediverse. + about_mastodon_html: 'Tora civakî ya pêşerojê: Ne reklam, ne çavdêriya pargîdanî, sêwirana exlaqî, û desentralîzasyon! Bi Mastodon re bibe xwediyê daneyên xwe!' + about_this: Derbar + active_count_after: çalak + active_footnote: Mehane bikarhênerên çalak (MBÇ) + administered_by: 'Tê bi rêvebirin ji aliyê:' + api: API + apps: Sepana mobîl + apps_platforms: Mastodon ji iOS, Android û platformên din bi kar bîne + browse_directory: Li riya profîlê bigere û li gorî berjewendiyan parzûn bike + browse_local_posts: Ji vî rajekarê weşaneke zindî ya şandiyên giştî bigere + browse_public_posts: Weşaneke zindî ya şandiyên giştî bigere li ser Mastodon + contact: Têkilî + contact_missing: Nehate sazkirin + contact_unavailable: N/A + continue_to_web: Bo malpera sepanê bidomîne + discover_users: Bikarhêneran keşf bike + documentation: Pelbend + federation_hint_html: Bi ajimêrê xwe %{instance} re tu dikarî kesên rajekar û li derveyî mastodonê bişopînî. + get_apps: Sepaneke mobîl bicerbîne + hosted_on: Mastodon li ser%{domain} tê hildanê + instance_actor_flash: 'Ev ajimêr aktorekî aşopî ye ji bo rajekar were temsîl kirin tê bikaranîn ne ajimêra kesî ye. Ji bo armanca federasyonê dixebite û divê ney asteng kirin heta ku te xwest hemû nimûneyan asteng bikî, di vir de ger tu blogek navper bikarbînî. + + ' + learn_more: Bêtir fêr bibe + logged_in_as_html: Tu niha wekî %{username} têketî ye. + logout_before_registering: Jixwe te berê têketin kiriye. + privacy_policy: Polîtikaya nihêniyê + rules: Rêbazên rajekar + rules_html: 'Heger tu bixwazî ajimêrekî li ser rajekarê mastodon vebikî, li jêrê de kurtasî ya qaîdeyên ku tu guh bidî heye:' + see_whats_happening: Binêre ka çi diqewime + server_stats: 'Statîstîkên rajekar:' + source_code: Çavkaniya Kodî status_count_after: - one: دۆخ - other: دۆخەکان - status_count_before: لە لایەن یەکەوە - tagline: دوای هاوڕێکان بکەوە و ئەوانەی نوێ بدۆزیەوە - terms: مەرجەکانی خزمەتگوزاری - unavailable_content: ڕاژەی چاودێریکراو + one: şandî + other: şandî + status_count_before: Hatin weşan + tagline: Hevalên xwe bişopîne û yên nû bibîne + terms: Peyama mercan + unavailable_content: Rajekarên li hev kirî unavailable_content_description: - domain: ڕاژەکار - reason: هۆکار - rejecting_media: 'پەڕگەکانی میدیا لەم ڕاژانەوە پرۆسە ناکرێت یان هەڵناگیرێن، و هیچ وێنۆچکەیەک پیشان نادرێت، پێویستی بە کرتە کردنی دەستی هەیە بۆ فایلە سەرەکیەکە:' - rejecting_media_title: پاڵێوەری میدیا - silenced: 'بابەتەکانی ئەم ڕاژانە لە هێڵی کاتی گشتی و گفتوگۆکاندا دەشاردرێنەوە، و هیچ ئاگانامێک دروست ناکرێت لە چالاکی بەکارهێنەرانیان، مەگەر تۆ بەدوایان دەچیت:' - silenced_title: ڕاژە ناچالاکەکان - suspended: 'هیچ داتایەک لەم ڕاژانەوە پرۆسە ناکرێت، خەزن دەکرێت یان دەگۆڕدرێتەوە، وا دەکات هیچ کارلێک یان پەیوەندییەک لەگەڵ بەکارهێنەران لەم ڕاژانە مەحاڵ بێت:' - suspended_title: ڕاژە ڕاگیراوەکان - unavailable_content_html: ماستۆدۆن بە گشتی ڕێگەت پێدەدات بۆ پیشاندانی ناوەڕۆک لە و کارلێ کردن لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی تر بە گشتی. ئەمانە ئەو بەدەرکردنانەن کە کراون لەسەر ئەم ڕاژە تایبەتە. + domain: Rajekar + reason: Sedem + rejecting_media: 'Pelên medyayê yên ji van rajekaran nayên pêvajoyî kirin an tomarkirin, û tu dîmenek nayên xuyakirin, ku pêdivî ye ku bi desta pêlêkirina pelika rasteqîn hebe:' + rejecting_media_title: Medyayên parzûnkirî + silenced: 'Şandiyên ji van rajekaran dê di demnameyên û axaftinên gelemperî de bêne veşartin, û heya ku tu wan neşopînî dê ji çalakiyên bikarhênerên wan agahdariyek çênebe:' + silenced_title: Rajekarên sînor kirî + suspended: '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:' + suspended_title: Rajekarên rawestî + unavailable_content_html: 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. user_count_after: - one: بەکارهێنەر - other: بەکارهێنەران - user_count_before: "`خاوەن" - what_is_mastodon: ماستۆدۆن چییە? + one: bikarhêner + other: bikarhêner + user_count_before: Serrûpel + what_is_mastodon: Mastodon çi ye? accounts: - choices_html: 'هەڵبژاردنەکانی %{name}:' - endorsements_hint: دەتوانیت ئەو کەسانە پەسەند بکەیت کە پەیڕەویان دەکەیت لە ڕووکاری وێب، و ئەوان لێرە دەردەکەون. - featured_tags_hint: دەتوانیت هاشتاگی تایبەت پێشکەش بکەیت کە لێرە پیشان دەدرێت. - follow: شوێن کەوە + choices_html: 'Hilbijartina %{name}:' + endorsements_hint: Tu dikarî kesên ku di navrûyê wep de dişopînî bipejirînî û ew li vir were nîşan kirin. + featured_tags_hint: Tu dikarî hashtagên teybetî li vir tê nîşan kirin di pê de derxî. + follow: Bişopîne followers: - one: شوێنکەوتوو - other: شوێن‌کەوتووان - following: شوێن‌کەوتووی - joined: بەشداری %{date} - last_active: دوا چالاکی - link_verified_on: خاوەنداریەتی ئەم لینکە لە %{date} چێک کراوە - media: میدیا - moved_html: "%{name} گواستراوەتەوە بۆ %{new_profile_link}:" - network_hidden: ئەم زانیاریە بەردەست نیە - nothing_here: لێرە هیچ نییە! - people_followed_by: ئەو کەسانەی کە %{name} بەدوایدا دەکەون - people_who_follow: ئەو کەسانەی کە بەدوای %{name} دا دەکەون + one: Şopîner + other: Şopîner + following: Dişopîne + instance_actor_flash: Ev ajimêr listikvaneke rastkî ye ku ji bo wek nûnerê rajekar bixwe tê bikaranîn û ne bikarhênerek kesane. Ew ji bo mebestên yekbûyî tê bikaranîn û divê neyê rawestandin. + joined: Di %{date} de tevlî bû + last_active: çalakiya dawî + link_verified_on: Xwedaniya li vê girêdanê di %{date} de hatiye kontrolkirin + media: Medya + moved_html: "%{name} bar kire %{new_profile_link}:" + network_hidden: Ev zanyarî berdest nîne + nothing_here: Li vir tiştek tune ye! + people_followed_by: Kesên ku%{name} wan dişopîne + people_who_follow: Kesên%{name} dişopîne pin_errors: - following: تۆ دەبێت هەر ئێستا بە دوای ئەو کەسەدا بیت کە دەتەوێت پەسەندی بکەیت + following: Kesê ku tu dixwazî bipejirînî jixwe tu vê dişopînî posts: - one: توت - other: تووتەکان - posts_tab_heading: تووتەکان - posts_with_replies: تووتەکان و وڵامەکان + one: Şandî + other: Şandî + posts_tab_heading: Şandî + posts_with_replies: Şandî û bersiv roles: - admin: بەڕێوەبەر - bot: بۆت - group: گرووپ - moderator: مۆد - unavailable: پرۆفایل بەردەست نیە - unfollow: بەدوادانەچو + admin: Rêvebir + bot: Bot + group: Kom + moderator: Moderator + unavailable: Profîl nay bikaranîn + unfollow: Neşopîne admin: account_actions: - action: ئەنجامدانی کردار - title: ئەنجامدانی کاری بەڕێوەبردن لە %{acct} + action: Çalakî yê bike + title: Li ser %{acct} çalakiyên li hev hatî pêk bîne account_moderation_notes: - create: جێهێشتنی تێبینی - created_msg: تێبینی بەڕێوەبەر بە سەرکەوتوویی دروست کرا! - destroyed_msg: تێبینی بەڕێوەبەر بە سەرکەوتوویی لەناوچوو! + create: Nîşeyekê bihêle + created_msg: Nîşeyê moderator bi awayekî serkeftî hate afirandin! + destroyed_msg: Nîşeyê moderator bi awayekî serkeftî hate tinne kirin! accounts: - add_email_domain_block: بلۆککردنی هەموو دۆمەینەکە - approve: پەسەند کردن - approved_msg: بەرنامەی تۆمارکردنی %{username} بۆ چوونەناوی پەسەند کرا - are_you_sure: دڵنیای? - avatar: وێنۆچکە - by_domain: دۆمەین + add_email_domain_block: Navparê e-nameyê asteng bike + approve: Bipejirîne + approved_msg: Tomarkirina %{username} bi awayekî serkeftî hate pejirandin + are_you_sure: Ma tu bawerî? + avatar: Wêne + by_domain: Navper change_email: - changed_msg: ئیمەیڵی ئەژمێر بە سەرکەوتوویی گۆڕا! - current_email: ئیمەیلی ئێستا - label: گۆڕینی ئیمێڵ - new_email: ئیمەیڵی نوێ - submit: گۆڕینی ئیمێڵ - title: گۆڕینی ئیمەیڵ بۆ %{username} - confirm: پشتڕاستی بکەوە - confirmed: پشتڕاست کرا - confirming: پشتڕاستکردنەوە - delete: سڕینەوەی داتا - deleted: سڕینەوە - demote: پلە نزمکرایەوە - destroyed_msg: دراوەکانی %{username} لە ڕیزی سڕینەوەن - disable: بەستن - disable_two_factor_authentication: لەکارخستنی 2FA - disabled: بەستوو - display_name: ناوی پیشاندان - domain: دۆمەین - edit: دەستکاری - email: پۆستی ئەلکترۆنی - email_status: دۆخی ئیمەیڵ - enable: چالاک کردن - enabled: چالاککراوە - enabled_msg: هەژمارە %{username} بە سەرکەوتوویی سنووردار کرا - followers: شوێنکەوتوان - follows: شوێنکەوتوان - header: سەرپەڕە - inbox_url: نیشانی هاتنەژوور - invited_by: هاتۆتە ژورەوە لە لایەن - ip: ئای‌پی - joined: ئەندام بوو لە + changed_msg: E-nameya ajimêr bi awayekî serkeftî hate guhertin! + current_email: E-nameya heyî + label: E-nameyê biguherîne + new_email: E-nameya nû + submit: E-nameyê biguherîne + title: E-nameyê biguherîne bo %{username} + confirm: Bipejirîne + confirmed: Hate pejirandin + confirming: Tê pejirandin + custom: Kesanekirin + delete: Daneyan jê bibe + deleted: Hate jêbirin + demote: Ast daxistin + destroyed_msg: Daneyên %{username} niha ket rêzê da yê demek nêz da were jêbirin + disable: Qerisî ye + disable_sign_in_token_auth: E-name ya rastandina token neçalak bike + disable_two_factor_authentication: 2FA ne çalak bike + disabled: Qerisî ye + display_name: Navê xuyangê + domain: Navper + edit: Serrast bike + email: E-name + email_status: Rewşa E-nameyê + enable: Çalak bike + enable_sign_in_token_auth: E-name ya rastandina token çalak bike + enabled: Çalakkirî + enabled_msg: Ajimêra %{username} bi serkeftî hat çalak kirin + followers: Şopîner + follows: Dişopînê + header: Jormalper + inbox_url: Peyamên hatî URl + invite_request_text: Sedemên tevlêbûnê + invited_by: Bi vexwendinê + ip: IP + joined: Tevlî bû location: - all: هەموو - local: ناوخۆیی - remote: دوور - title: شوێن - login_status: دۆخی چوونەژوورەوە - media_attachments: هاوپێچی میدیا - memorialize: گۆڕان بە یادەوەری - memorialized: بیرکەوتنەوە - memorialized_msg: بە سەرکەوتوویی %{username} بۆ هەژمارێکی بیرەوەری گۆڕا + all: Hemû + local: Herêmî + remote: Ji dûr ve + title: Cih + login_status: Rewşa têketinê + media_attachments: Pêvekên medya + memorialize: Vegerîne bîranînê + memorialized: Bû bîranîn + memorialized_msg: "%{username} bi serkeftî veguherî ajimêra bîranînê" moderation: - active: چالاک - all: هەموو - pending: چاوەڕوان - suspended: ڕاگرتن - title: بەڕێوەبردن - moderation_notes: بەڕێوەبردنی تێبینیەکان - most_recent_activity: نوێترین چالاکی - most_recent_ip: نوێترین ئای پی - no_account_selected: هیچ هەژمارەیەک نەگۆڕاوە وەک ئەوەی هیچ یەکێک دیاری نەکراوە - no_limits_imposed: هیچ سنوورێک نەسەپێنرا - not_subscribed: بەشدار نەبوو - pending: پێداچوونەوەی چاوەڕوان - perform_full_suspension: ڕاگرتن - promote: بەرزکردنەوە - protocol: پرۆتۆکۆل - public: گشتی - push_subscription_expires: بەشداری PuSH بەسەر دەچێت - redownload: نوێکردنەوەی پرۆفایل - redownloaded_msg: پرۆفایلی %{username} لە بنەڕەتەوە بە سەرکەوتوویی نوێکرایەوە - reject: ڕەتکردنەوە - rejected_msg: بەرنامەی تۆمارکردنی %{username} بە سەرکەوتوویی ڕەتکرایەوە - remove_avatar: لابردنی وێنۆجکە - remove_header: سەرپەڕ لابدە - removed_avatar_msg: وێنەی ئەڤاتار %{username} بە سەرکەوتوویی لابرا - removed_header_msg: بە سەرکەوتوویی وێنەی سەرپەڕەی %{username} لابرا + active: Çalak + all: Hemû + pending: Tê nirxandin + suspended: Sekinandî + title: Çavdêrî + moderation_notes: Nîşeyên Rêvebirinê + most_recent_activity: Çalakîyên dawî + most_recent_ip: IP' a dawî + no_account_selected: Tu ajimêr nehat hilbijartin ji ber vê tu ajimêr nehat guhertin + no_limits_imposed: Sînor nay danîn + not_subscribed: Beşdar nebû + pending: Li benda nirxandinê ye + perform_full_suspension: Sekinî + previous_strikes: Binpêkirinên berê + previous_strikes_description_html: + one: Ev ajimêr yek binpêkirin kiriye. + other: Ev ajimêr %{count} binpêkirin kiriye. + zero: Ev ajimêr di rewşeke baş de ye. + promote: Derbasê asteke bilind be + protocol: Protokol + public: Gelemperî + push_subscription_expires: Beşdarbûna PuSH diqede + redownload: Profîl nûve bike + redownloaded_msg: Bi serkeftî profîla %{username} ji kokê va hat nûve kirin + reject: Nepejirîne + rejected_msg: Tomarkirina %{username} bi awayekî serkeftî nehate pejirandin + remove_avatar: Avatarê rake + remove_header: Sernavê rake + removed_avatar_msg: Wêneyê %{username} bi awayekî serkeftî hate rakirin + removed_header_msg: Wêneyê dîwar ê %{username} bi awayekî serkeftî hate rakirin resend_confirmation: - already_confirmed: ئەم بەکارهێنەرە پێشتر پشتڕاستکراوەتەوە - send: دووبارە ناردنی ئیمەیڵی دووپاتکردنەوە - success: ئیمەیڵی پشتڕاستکردنەوە بە سەرکەوتوویی نێردرا! - reset: ڕێکخستنەوە - reset_password: گەڕانەوەی تێپەڕوشە - resubscribe: دووبارە ئابونەبوون - role: مۆڵەتەکان + already_confirmed: Ev bikarhêner jixwe hatiye pejirandin + send: E-nameya pejirandinê dîsa bişîne + success: E-nameya pejirandinê bi awayekî serkeftî hate şandin! + reset: Ji nû ve saz bike + reset_password: Pêborînê ji nû ve saz bike + resubscribe: Dîsa beşdar bibe + role: Maf roles: - admin: بەڕێوەبەر - moderator: بەڕێوەبەر - staff: ستاف - user: بەکارهێنەر - search: گەڕان - search_same_email_domain: بەکارهێنەرانی دیکە بە ئیمەیلی یەکسان - search_same_ip: بەکارهێنەرانی تر بەهەمان ئای پی - sensitive: هەستیار - sensitized: وەک هەستیار نیشان کراوە - shared_inbox_url: بەستەری سندوقی هاوبەشکراو + admin: Rêvebir + moderator: Çavdêr + staff: Xebatkar + user: Bikarhêner + search: Bigere + search_same_email_domain: Bikarhênerên din ên bi heman navpera e-nameyê + search_same_ip: Bikarhênerên din ên xwedî heman IP + security_measures: + only_password: Têne pêborîn + password_and_2fa: Pêborîn û 2FA + password_and_sign_in_token: Pêborîn û navnîşana e-nameyê + sensitive: Hêz-hestiyar + sensitized: Wek hestiyar hatiye nîşankirin + shared_inbox_url: URLya wergirtiyên parvekirî show: - created_reports: گوزارشتی تۆمارکراوە - targeted_reports: گوزارشتکراوە لەلایەن کەسانی ترەوە - silence: سنوور - silenced: سنوورکرا - statuses: دۆخەکان - subscribe: ئابوونە - suspended: ڕاگرتن - suspension_irreversible: داتای ئەم هەژمارەیە بە شێوەیەکی نائاسایی سڕاوەتەوە. دەتوانیت هەژمارەکەت ڕابخەیت بۆ ئەوەی بەکاربێت بەڵام هیچ داتایەک ناگەڕگەڕێتەوە کە پێشتر بوونی بوو. - suspension_reversible_hint_html: هەژمارە ڕاگیرا ، و داتاکە بەتەواوی لە %{date} لادەبرێت. تا ئەو کاتە هەژمارەکە دەتوانرێت بە بێ هیچ کاریگەریەکی خراپ بژمێردرێتەوە. ئەگەر دەتەوێت هەموو داتاکانی هەژمارەکە بسڕەوە، دەتوانیت لە خوارەوە ئەمە بکەیت. - title: هەژمارەکان - unconfirmed_email: ئیمەیڵی پشتڕاستنەکراو - undo_sensitized: " هەستیار نەکردن" - undo_silenced: بێدەنگ ببە - undo_suspension: دووبارە ڕاگرتن - unsilenced_msg: هەژماری %{username} بە سەرکەوتوویی بێسنوور کرا - unsubscribe: بەتاڵکردنی ئابوونە - unsuspended_msg: هەژمارە %{username} بە سەرکەوتوویی ئابوونەی بەتاڵکرا - username: ناوی بەکارهێنەر - view_domain: پیشاندانی کورتەبۆ دۆمەین - warn: وریاکردنەوە - web: ماڵپەڕ - whitelisted: پێرستی ڕێپێدراو + created_reports: Ragihandinên ku çêkiriye + targeted_reports: Ji aliyê kesên din ve hatiye ragihandin + silence: Sînor + silenced: Bêdeng kirî + statuses: Şandî + strikes: Binpêkirinên berê + subscribe: Bibe kiryar + suspend: Hatiye rawestandin + suspended: Hatiye rawestandin + suspension_irreversible: Daneyên vê ajimêrê bêveger hatine jêbirin. Tu dikarî ajimêra xwe ji rawestandinê vegerinî da ku ew bi kar bînî lê ew ê tu daneya ku berê hebû venegere. + suspension_reversible_hint_html: Ajimêr hat qerisandin, û daneyên di %{date} de hemû were rakirin. Hetta vê demê, ajimêr bê bandorên nebaş dikare dîsa vegere. Heke tu dixwazî hemû daneyan ajimêrê niha rakî, tu dikarî li jêrê bikî. + title: Ajimêr + unblock_email: Astengiyê li ser navnîşana e-nameyê rake + unblocked_email_msg: Bi serkeftî astengiya li ser navnîşana e-nameyê %{username} hate rakirin + unconfirmed_email: E-nameya nepejirandî + undo_sensitized: Hestiyariyê vegerîne + undo_silenced: Sînorê vegerîne + undo_suspension: Dûrxistinê paşve vegerîne + unsilenced_msg: Ajimêra %{username} bi awayekî serkeftî bêsînor çêbû + unsubscribe: Dev ji beşdarbûnê berde + unsuspended_msg: Bi awayekî serkeftî beşdarbûna bi ajimêra %{username} hate berdan + username: Navê bikarhêneriyê + view_domain: Kurte ji bo navperê bide nîşan + warn: Hişyarî + web: Tevn + whitelisted: Ji bona yekbûyînê maf tê dayîn action_logs: action_types: - assigned_to_self_report: تەرخانکردنی گوزارشت - change_email_user: گۆڕینی ئیمەیڵ بۆ بەکارهێنەر - confirm_user: دڵنیابوون لە بەکارهێنەر - create_account_warning: دروستکردنی ئاگاداری - create_announcement: دروستکردنی راگەیەندراو - create_custom_emoji: دروستکردنی ئێمۆمۆجی دڵخواز - create_domain_allow: دروستکردنی ڕێپێدان بە دۆمەین - create_domain_block: دروستکردنی بلۆکی دۆمەین - create_email_domain_block: دروستکردنی بلۆکی دۆمەینی ئیمەیڵ - create_ip_block: دروستکردنی یاسای IP - demote_user: دابەزاندنی ئاستی بەکارهێنەر - destroy_announcement: سڕینەوەی راگەیەندراو - destroy_custom_emoji: سڕینەوەی ئێمۆمۆجی تایبەتمەند - destroy_domain_allow: سڕینەوەی ڕێپێدان بە دۆمەین - destroy_domain_block: سڕینەوەی بلۆکی دۆمەین - destroy_email_domain_block: سڕینەوەی بلۆکی دۆمەینی ئیمەیڵ - destroy_ip_block: سڕینەوەی یاسای IP - destroy_status: دۆخ بسڕەوە - disable_2fa_user: لەکارخستنی 2FA - disable_custom_emoji: سڕینەوەی ئێمۆمۆجی تایبەتمەند - disable_user: بەکارهێنەر لە کاربخە - enable_custom_emoji: ئیمۆمۆجی تایبەتمەند چالاک بکە - enable_user: چالاککردنی بەکارهێنەر - memorialize_account: هەژماری بیرکەوتنەوە - promote_user: بەرزکردنەوەی بەکارهێنەر - remove_avatar_user: لابردنی وێنۆجکە - reopen_report: دووبارە کردنەوەی گوزارشت - reset_password_user: گەڕانەوەی تێپەڕوشە - resolve_report: گوزارشت چارەسەربکە - sensitive_account: میدیاکە لە هەژمارەکەت وەک هەستیار نیشانە بکە - silence_account: هەژماری بێدەنگی - suspend_account: ڕاگرتنی هەژمارە - unassigned_report: گوزارشتی دیارینەکراو - unsensitive_account: میدیاکە لە هەژمارەکەت وەک هەستیار نیشانە مەکە - unsilence_account: هەژماری بێ دەنگ - unsuspend_account: هەژماری هەڵنەوەستێنراو - update_announcement: بەڕۆژکردنەوەی راگەیەندراو - update_custom_emoji: بەڕۆژکردنی ئێمۆمۆجی دڵخواز - update_status: بەڕۆژکردنی دۆخ - deleted_status: "(نووسراوە سڕاوە)" - empty: هیچ لاگی کارنەدۆزرایەوە. - filter_by_action: فلتەر کردن بە کردار - filter_by_user: فلتەر کردن بە کردار - title: تۆماری وردبینی + approve_appeal: Îtîrazê bipejirîne + approve_user: Bikarhêner bipejirîne + assigned_to_self_report: Ragihandinê diyar bike + change_email_user: E-nameya bikarhêner biguherîne + confirm_user: Bikarhêner bipejirîne + create_account_warning: Hişyariyekê çê bike + create_announcement: Daxûyaniyekê çê bike + create_custom_emoji: Emojiyên kesanekirî çê bike + create_domain_allow: Navpera ku destûr standiye peyda bike + create_domain_block: Navpera ku asteng bûye ava bike + create_email_domain_block: Navpera e-name yê de asteng kirinê peyda bike + create_ip_block: Rêziknameya IPyê saz bike + create_unavailable_domain: Navpera ku nayê bikaranîn pêk bîne + demote_user: Bikarhênerê kaşê jêr bike + destroy_announcement: Daxûyanîyê jê bibe + destroy_custom_emoji: Emojîya kesanekirî jê bibe + destroy_domain_allow: Navperên mafdayî jê bibe + destroy_domain_block: Navperên astengkirî jê bibe + destroy_email_domain_block: Navperên e-nameyê yên astengkirî jê bibe + destroy_instance: Pakirina navperê + destroy_ip_block: Tomara IPyê jêbibe + destroy_status: Şandiyê jê bibe + destroy_unavailable_domain: Navperên tuneyî jê bibe + disable_2fa_user: 2FA neçalak bike + disable_custom_emoji: Emojîya kesanekirî neçalak bike + disable_sign_in_token_auth_user: Ji bo bikarhênerê piştrastkirina navnîşana e-name yê ya token neçalak bike + disable_user: Bikarhêner neçalak bike + enable_custom_emoji: Emojîya kesanekirî çalak bike + enable_sign_in_token_auth_user: Ji bo bikarhênerê piştrastkirina navnîşana e-name yê ya token çalak bike + enable_user: Bikarhêner çalak bike + memorialize_account: Ajimêrê bike bîranînek + promote_user: Bikarhêner pêş bixe + reject_appeal: Îtîrazê nepejirîne + reject_user: Bikarhêner nepejirîne + remove_avatar_user: Avatarê rake + reopen_report: Ragihandina ji nû ve veke + reset_password_user: Pêborînê ji nû ve saz bike + resolve_report: Ragihandinê çareser bike + sensitive_account: Ajimêra hêz-hestiyar + silence_account: Ajimêrê bi sînor bike + suspend_account: Ajimêr rawestîne + unassigned_report: Ragihandinê diyar neke + unblock_email_account: Astengiyê li ser navnîşana e-nameyê rake + unsensitive_account: Medyayên di ajimêrê te de wek hestyarî nepejirîne + unsilence_account: Ajimêra sînorkirî vegerîne + unsuspend_account: Ajimêrê xwe ji rewestandinê rake + update_announcement: Daxûyaniyê rojane bike + update_custom_emoji: Emojîya kesanekirî rojane bike + update_domain_block: Navperên astengkirî rojane bike + update_status: Şandiyê rojane bike + actions: + approve_appeal_html: "%{name} îtiraza biryara çavdêriyê ji %{target} pejirand" + approve_user_html: "%{name} tomarkirina ji %{target} pejirand" + assigned_to_self_report_html: "%{name} ji xwe re ragihandinek %{target} hilda" + change_email_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} guherand" + confirm_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} piştrast kir" + create_account_warning_html: "%{name} ji bo %{target} hişyariyek şand" + create_announcement_html: "%{name} agahdarkirineke nû çêkir %{target}" + create_custom_emoji_html: "%{name} emojîyeke nû ya %{target} bar kir" + create_domain_allow_html: "%{name} bi navperê %{target} re maf da federeyê" + create_domain_block_html: "%{name} navpera %{target} asteng kir" + create_email_domain_block_html: "%{name} e-nameya navperê %{target} asteng kir" + create_ip_block_html: "%{name} ji bo IPya %{target} rêzikname saz kir" + create_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê rawestand" + demote_user_html: "%{name} bikarhênerê %{target} kaşê jêr kir" + destroy_announcement_html: "%{name} daxûyaniyeke %{target} jê bir" + destroy_custom_emoji_html: "%{name} emojiya %{target} tune kir" + destroy_domain_allow_html: "%{name} bi navperê %{target} re maf neda federeyê" + destroy_domain_block_html: "%{name} navpera %{target} asteng kir" + destroy_email_domain_block_html: "%{name} astengiya li ser navpera e-nameyê %{target} rakir" + destroy_instance_html: "%{name} navpera %{target} asteng kir" + destroy_ip_block_html: "%{name}, ji bo IPya %{target} rêziknameyê jêbir" + destroy_status_html: "%{name} ji alîyê %{target} ve şandiyê rakir" + destroy_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê berdewam kir" + disable_2fa_user_html: "%{name} ji bo bikarhênerê %{target} du faktorî neçalak kir" + disable_custom_emoji_html: "%{name} emojiya %{target} neçalak kir" + disable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameya ne çalak kir" + disable_user_html: "%{name} ji bo bikarhêner %{target} têketin neçalak kir" + enable_custom_emoji_html: "%{name} emojiya %{target} çalak kir" + enable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameyê çalak kir" + enable_user_html: "%{name} ji bo bikarhêner %{target} têketin çalak kir" + memorialize_account_html: "%{name} ajimêra %{target} veguherand rûpeleke bîranînê" + promote_user_html: "%{name} bikarhêner %{target} bilind kir" + reject_appeal_html: "%{name} îtiraza biryara çavdêriyê ji %{target} nepejirand" + reject_user_html: "%{name} tomarkirina ji %{target} nepejirand" + remove_avatar_user_html: "%{name} avatara bikarhêner %{target} rakir" + reopen_report_html: "%{name} ragihandina %{target} ji nû ve vekir" + reset_password_user_html: "%{name} pêborîna bikarhênerê %{target} ji nû ve saz kir" + resolve_report_html: "%{name} ragihandina %{target} çareser kir" + sensitive_account_html: "%{name} medyayê %{target} wekî hestiyarî nîşan kir" + silence_account_html: "%{name} ajimêra %{target} bi sînor kir" + suspend_account_html: "%{name} ajimêra %{target} hilda rawestandinê" + unassigned_report_html: "%{name} ragihandina %{target} rakir" + unblock_email_account_html: "%{name} navnîşana e-nameyê %{target} asteng kir" + unsensitive_account_html: "%{name} medyayê %{target} nîşandana wek hestiyarî rakir" + unsilence_account_html: "%{name} bêdengiya ajimêrê %{target} rakir" + unsuspend_account_html: "%{name} rawestandina ajimêrê %{target} rakir" + update_announcement_html: "%{name} daxûyaniya %{target} rojane kir" + update_custom_emoji_html: "%{name} emojiya %{target} rojane kir" + update_domain_block_html: "%{name} ji bo navpera %{target} astengkirin rojane kir" + update_status_html: "%{name} şandiya bikarhêner %{target} rojane kir" + deleted_status: "(şandiyeke jêbirî)" + empty: Tomarkirin nehate dîtin. + filter_by_action: Li gorî çalakiyê biparzinîne + filter_by_user: Li gorî bikarhênerê biparzinîne + title: Tomarê çavdêriyê announcements: - destroyed_msg: بانگەوازەکە بە سەرکەوتوویی سڕاوەتەوە! + destroyed_msg: Daxûyanî bi awayekî serkeftî hate jêbirin! edit: - title: بڵاوکردنەوەی راگەیەندراو - empty: هیچ راگەیەندراوێک نەدۆزرایەوە. - live: زیندوو + title: Daxûyaniyê serrast bike + empty: Daxûyanî nehat dîtin. + live: Zindî new: - create: دروستکردنی راگەیەندراو - title: ڕاگەیاندنی نوێ - published_msg: بانگەوازەکە بە سەرکەوتوویی بڵاو کرایەوە! - scheduled_for: خشتەکراوە بۆ %{time} - scheduled_msg: ڕاگەیاندنی خشتەی بۆ بڵاوکردنەوە! - title: ڕاگه یه نراوەکان - unpublished_msg: بانگەواز بە سەرکەوتوویی بڵاونەکرایەوە! - updated_msg: بانگەوازەکە بە سەرکەوتوویی نوێکرایەوە! + create: Daxûyaniyekê çê bike + title: Daxûyaniya nû + publish: Biweşîne + published_msg: Daxûyanî bi awayekî serkeftî hate weşan! + scheduled_for: Bo %{time} hatiye demsazkirin + scheduled_msg: Daxûyanî hate demsazkirin bo weşanê! + title: Daxuyanî + unpublish: Neweşîne + unpublished_msg: Daxûyanî bi awayekî serkeftî weşan pûç kir! + updated_msg: Daxûyanî bi awayekî serkeftî hate rojanekirin! custom_emojis: - assign_category: دانانی پۆلێن - by_domain: دۆمەین - copied_msg: کۆپیەکی ناوخۆیی ئیمۆجیبەکە بە سەرکەوتوویی دروست کرد - copy: کۆپی - copy_failed_msg: نهیتوانی کۆپیهکی ناوخۆیی ئهو ئیمۆجییە دروست بکات - create_new_category: دروستکردنی هاوپۆلی نوێ - created_msg: ئیمۆجی بە سەرکەوتوویی دروستکرا! - delete: سڕینەوە - destroyed_msg: ئیمۆجی بە سەرکەوتوویی بەتاڵکرا! - disable: لەکارخستن - disabled: ناچالاککراوە - disabled_msg: بە سەرکەوتوویی ئەو ئیمۆجییە لە کارخراوە - emoji: ئیمۆجی - enable: چالاککردن - enabled: چالاککراوە - enabled_msg: ئەو ئیمۆجییە بە سەرکەوتووانە چالاک کرا - list: پێرست - listed: پێرستکراوە + assign_category: Diyarkirina beşê + by_domain: Navper + copied_msg: Jêgirtiyê emojî ya herêmî bi serkeftî hate afirandin + copy: Jê bigire + copy_failed_msg: Jêgirtiyêke emojî ya herêmî nehate afirandin + create_new_category: Beşêke nû biafirîne + created_msg: Hestok bi serkeftî hate çêkirin! + delete: Jê bibe + destroyed_msg: Hestok bi serkeftî hate rûxandin! + disable: Neçalak bike + disabled: Neçalakkirî + disabled_msg: Ev hestok bi serkeftî hate neçalak kirin + emoji: Emoji + enable: Çalak bike + enabled: Çalakkirî + enabled_msg: Ev hestok bi serkeftî hate çalak kirin + image_hint: Mezinahiya PNG an jî GIF digîheje heya %{size} + list: Rêzok + listed: Rêzokkirî new: - title: ئیمۆجی نوێی دڵخواز زیاد بکە - not_permitted: تۆ ڕێگەپێدراو نین بۆ ئەنجامدانی ئەم کارە - overwrite: نووسینەوە - shortcode: کورتەکلیل - shortcode_hint: بەلایەنی کەمەوە ٢نووسە، تەنها نووسەکانی ئەلف و بێ و ژێرهێڵەکان - title: ئیمۆجی دڵخواز - uncategorized: هاوپۆل نەکراوە - unlist: بێ پێرست - unlisted: پێرست نەبووە - update_failed_msg: نه یتوانی ئه و ئیمۆجییه نوێ بکاتەوە - updated_msg: ئیمۆجی بە سەرکەوتوویی نوێکرایەوە! - upload: بارکردن + title: Hestokên kesane yên nû lê zêde bike + not_permitted: Mafê te tune ku tu vê çalakiyê bikî + overwrite: Bi ser de binivsîne + shortcode: Kurtekod + shortcode_hint: Herê kêm 2 tîp, tenê tîpên alfahejmarî û yên bin xêzkirî + title: Hestokên kesane + uncategorized: Bêbeş + unlist: Dervî rêzokê + unlisted: Nerêzokkirî + update_failed_msg: Ev hestok nehate rojanekirin + updated_msg: Emojî bi awayekî serkeftî hate rojanekirin! + upload: Bar bike dashboard: - software: نەرمەکالا - space: بەکارهێنانی بۆشایی - title: داشبۆرد + active_users: bikarhênerên çalak + interactions: têgerîn + media_storage: Bîrdanaka medyayê + new_users: bikarhênerên nû + opened_reports: ragihandin hatin vekirin + pending_appeals_html: + one: "%{count} îtîraz li benda nirxandinê ye" + other: "%{count} îtîraz li benda nirxandinê ne" + pending_reports_html: + one: "%{count} ragihandin benda nirxandinê ye" + other: "%{count} ragihandin benda nirxandinê ne" + pending_tags_html: + one: "%{count} hashtag benda nirxandinê ye" + other: "%{count} hashtag benda nirxandinê ne" + pending_users_html: + one: "%{count} bikarhêner benda nirxandinê ye" + other: "%{count} bikarhêner benda nirxandinê ne" + resolved_reports: ragihandinên çareserkirî + software: Nermalav + sources: Çavkaniyên tomarkirî + space: Bikaranîna cîh + title: Destgeha venasînê + top_languages: Zimanên herî çalak + top_servers: Rajekarên herî çalak + website: Malpera tevnê + disputes: + appeals: + empty: Îtîraz nehatin dîtin. + title: Îtîraz domain_allows: - add_new: ڕێپێدان بە دۆمەین - created_msg: دۆمەین بە سەرکەوتوویی رێگەی پێدرا - destroyed_msg: دۆمەین لە پێرستی رێگەی پێدرا لابرا - undo: لابردن لە پێرستی ڕێپێدراو + add_new: Maf bide navpera federasyonê + created_msg: Ji bo federasyonê maf dayîna navperê bi serkeftî hate dayîn + destroyed_msg: Ji bo federasyonê maf dayîna navperê nehat dayîn + undo: Maf nede navpera federasyonê domain_blocks: - add_new: زیادکردنی بلۆکی دۆمەینی نوێ - created_msg: بلۆککردنی دۆمەین لە حاڵێ جێبەجێکردنە - destroyed_msg: بلۆکی دۆمەین هەڵوەشاوەتەوە - domain: دۆمەین - edit: دەستکاری بلۆکی دۆمەینی نوێ - existing_domain_block_html: ئێوە پێشتر سنووری دژوارتنا لە سەر%{name} جێبەجێکردووە، سەرەتا دەبێ بلۆک هەڵوەشێنەوە. + add_new: Astengkirina navpera nû + created_msg: Navpera asteng kirinê nû hat şixulandin + destroyed_msg: Navpera asteng kirinê hat rakirin + domain: Navper + edit: Astengkirina navperê serrast bike + existing_domain_block_html: Te bi bandorê mezin sînor danî ser %{name}, Divê tu asteng kirinê rabikî, pêşî ya . new: - create: دروستکردنی بلۆک - hint: بلۆکی دۆمەین رێگری لە دروستکردنی هەژمارەی چوونەژوورەوە لە بنکەی زانیارێکان ناکات ، بەڵکو بە شێوەیەکی دووبارە و خۆکارانە رێوشێوازی پێشکەوتوو تایبەت لەسەر ئەو هەژمارانە جێبەجێ دەکات. + create: Astengkirinekê çê bike + hint: Navpera asteng kirî pêşî li çê kirina têketinên ajimêra ên di danegehê da negire, lê dê bi paş ve bizivirin û bi xweberî va ji ajimêran bi teybetî kontrola rêbazan bikin. severity: - desc_html: " بێدەنگی وا دەکات کە نووسراوەکانی هەژمارەکان نەبینراوە بێت بۆ هەر کەسێک کە شوێنیان نەکەوێ. ڕاگرتنی هەموو ناوەڕۆکی هەژمارەکە، میدیا، و داتای پرۆفایلەکەی بەکارهێنان. هیچ ئەگەر دەتەوێت فایلەکانی میدیا ڕەت بکەیتەوە." - noop: هیچ - silence: بێدەنگ - suspend: ڕاگرتن - title: بلۆکی دۆمەینی نوێ - private_comment: لێدوانی تایبەت - private_comment_hint: لێدوان دەربارەی سنوورداری ئەم دۆمەینە بۆ بەکارهێنانی ناوخۆیی لەلایەن مۆدەرەکان. - public_comment: سەرنجی گشتی - public_comment_hint: لێدوان دەربارەی سنوورداری ئەم دۆمەینە بۆ گشتی، ئەگەر بڵاوکردنەوەی لیستی سنوورداری دۆمەینەکە چالاک بکرێت. - reject_media: ڕەتکردنەوەی فایلەکانی میدیا - reject_media_hint: پەڕگە میدیای پاشکەوتکراو بە شێوەێکی ناوخۆیی لابدە و دابەزین لە داهاتوو ڕەتدەکاتەوە. ناپەیوەندیدار ە بۆ ڕاگرتن - reject_reports: گوزارشتەکان ڕەت بکەوە - reject_reports_hint: پشتگوێ خستنی هەموو گوزارشتەکان کە دێن لەم دۆمەینە. ناپەیوەندیدارە بۆ ڕاگرتن - undo: گەڕانەوەی بلۆکی دۆمەینی - view: دیتنی بلۆکی دۆمەینی + desc_html: |- + Bêdeng kirî ajimêrên wusa çêkirine xêncî şopînerên vê kes nikare şandîyên vê bibîne. + rawestî ajimêrên wusa çêkirine hemî naveroka, medya û daneyên profîlê jê bibe. Heke tu bixwazî pelên medyayê red bikîyek ji wanbi kar bîne. + noop: Ne yek + silence: Bêdengî + suspend: Dur bike + title: Astengkirina navpera nû + obfuscate: Navê navperê biveşêre + obfuscate_hint: Heke rêzoka sînorên navperê were çalakkirin navê navperê di rêzokê de bi qismî veşêre + private_comment: Şîroveya taybet + private_comment_hint: Derbarê sînorkirina vê navperê da ji bo bikaranîna hundirîn a moderatoran şîrove bikin. + public_comment: Şîroveya gelemperî + public_comment_hint: Heke reklamkirina rêzoka sînorên navperê çalak be, derbarê sînorkirina vê navperê da ji bo raya giştî şîrove bikin. + reject_media: Pelên medyayê red bike + reject_media_hint: Pelên medyayê herêmî hatine tomarkirin radike û di pêşerojê de daxistinê red dike. Ji bo rawstandinê ne girîng e + reject_reports: Ragihandinan red bike + reject_reports_hint: Ragihandinên ku ji vê navperê tê paşguh bike. Ji bo dûrbûnê re ne guncav e + undo: Astengkirina navperê vegerîne + view: Astengkirina navperê nîşan bike email_domain_blocks: - add_new: زیادکردنی نوێ - created_msg: بە سەرکەوتوویی دۆمەینی ئیمەیڵ بلۆک کرا - delete: سڕینەوە - domain: دۆمەین + add_new: Nû tevlî bike + attempts_over_week: + one: "%{count} hewldan di hefteya borî de" + other: "%{count} hewldanên tomarkirinê di hefteya borî de" + created_msg: Bi serkeftî navpera e-name hat asteng kirin + delete: Jê bibe + dns: + types: + mx: Tomarkerê MX + domain: Navper new: - create: زیادکردنی دۆمەین - title: بلۆککردنی دۆمەینی ئیمەیڵی نوێ - title: دۆمەینە بلۆککراوەکانی ئیمەیڵ + create: Navper tevlî bike + resolve: Navparê çareser bike + title: Navparê e-nameyê nû asteng bike + no_email_domain_block_selected: Tu astengên navparê e-nameyê nehatin guhertin ji ber ku tu yek nehatine hilbijartin + resolved_dns_records_hint_html: Navê navparê ji MX ên jêrîn re çareser dike, ên ku di dawiyê de berpirsiyarin ji pejirandina e-nameyê. Astengkirina navparek MX wê tomarkirina ji her navnîşana e-nameyê ya ku heman navpara MX bi kar tîne asteng bike, tevlî ku navê navparê xuya cûda be. Hişyar be ku peydekarên sereke yên e-nameyê asteng nekî. + resolved_through_html: Bi riya %{domain} ve hate çareserkirin + title: Navparên e-nameyê astengkirî + follow_recommendations: + description_html: "Şopandina pêşniyaran ji bo bikarhênerên nû re dibe alîkar ku zû naveroka balkêş bibînin. Gava ku bikarhênerek têra xwe bi kesên din re têkildar nebê da ku pêşnîyarên şopandina yên kesane bo xwe çêbike, li şûna van ajimêran têne pêşniyarkirin. Ew her roj ji tevliheviya ajimêrên bi tevlêbûnên herî dawîn ên herî bilind û jimara şopdarên herêmî yên herî pir ji bo zimaneke diyarkirî ji nû ve têne pêşniyarkirin." + language: Bo zimanê + status: Rewş + suppress: Bi bandorek mezin pêşniyara şopandinê bike + suppressed: Bandoreke mezin dibe + title: Pêşniyarên şopandinê + unsuppress: Pêşniyara şopandinê paşve vegerîne instances: - by_domain: دۆمەین - delivery_available: گەیاندن بەردەستە + availability: + description_html: + one: Ku radestkirina navparê %{count} roj bêyî serkeftin birevebiçe, heya ku radestkirinek ji navparê neyê wergirtin, wê hewildanên radestkirinê neyên kirin. + other: Ku radestkirina navparê %{count} rojên cuda bêyî serkeftin birevebiçe, heya ku radestkirinek ji navparê neyê wergirtin, wê hewildanên radestkirinê neyên kirin. + failure_threshold_reached: Rêjeya têkçûnê gihîşte %{date}. + failures_recorded: + one: Hewldana têkçûyî di %{count} roj de. + other: Hewldanên têkçûyî di %{count} rojên cuda de. + no_failures_recorded: Di tomarê de têkçûn tune. + title: Berdestbûnî + back_to_all: Hemû + back_to_limited: Sînorkirî + back_to_warning: Hişyarî + by_domain: Navper + confirm_purge: Ma tu dixwazî ku bi awayekî domdar daneyan ji vê navparê jê bibî? + content_policies: + comment: Nîşeya navxweyî + description_html: Tu dikarî polîtîkayên naverokê yên ku wê li hemû ajimêrên ji vê navparê û her kiîjan ji jêrnavparên werin sepandin diyar bikî. + policies: + reject_media: Medya nepejirîne + reject_reports: Ragihandinan nepejirîne + silence: Bi sînor bike + suspend: Rawestîne + policy: Polîtîka + reason: Sedemên gelemperî + title: Polîtîkayên naverokê + dashboard: + instance_accounts_dimension: Ajimêrên ku herî pir têne şopandin + instance_accounts_measure: ajimêrên tomarkirî + instance_followers_measure: şopînerên me li wir + instance_follows_measure: şopînerên wan li vir + instance_languages_dimension: Zimanên pir tên bikaranîn + instance_media_attachments_measure: pêvekên medyayê tomarkirî + instance_reports_measure: giliyên derbarê wan de + instance_statuses_measure: şandiyên tomarkirî + delivery: + all: Hemû + clear: Çewtiyên gihandinê paqij bike + restart: Gihandinê nû va bike + stop: Gehandinê rawestîne + unavailable: Nederbasdar + delivery_available: Gihandin berdest e + delivery_error_days: Rojên çewtiyên gehandinê + delivery_error_hint: Ger gehandin %{count} rojan ne pêkan be ewê wek bixweber wê nayê gehandin were nîşandan. + destroyed_msg: Daneyên %{domain} niha ji bo jêbirina nêzîk di rêzê de ne. + empty: Tu navper nehatine dîtin. + known_accounts: + one: "%{count} ajimêra naskirî" + other: "%{count} ajimêrên naskirî" + zero: Ajimêra naskirî tune ye moderation: - all: هەموو - limited: سنووردار - title: بەڕێوەبردن - private_comment: لێدوانی تایبەت - public_comment: سەرنجی گشتی - title: پەیوەندی نێوان ڕاژە - total_blocked_by_us: لەلایەن ئێمە بەربەست کراوە - total_followed_by_them: شوێنمان دەکەون - total_followed_by_us: شوێنیان کەوتین - total_reported: گوزارشت له باره یان - total_storage: هاوپێچی میدیا + all: Hemû + limited: Sînorkirî + title: Çavdêrî + private_comment: Şîroveya taybet + public_comment: Şîroveya ji hemû kesî re vekirî + purge: Pak bike + purge_description_html: Ku tu bawer dikî ev navpar bi domdarî negirêdayî ye, tu dikarî hemû tomarên ajimêr û daneyên xwe yîn têkildarî wê navparê jê bibî. Ev dibe ku hinek dem bigire. + title: Giştî + total_blocked_by_us: Ji aliyê me ve hatiye astengkirin + total_followed_by_them: Ji aliyê wan ve hatiye şopandin + total_followed_by_us: Ji aliyê ve me hate şopandin + total_reported: Giliyên derheqê wan de + total_storage: Pêvekên medyayê + totals_time_period_hint_html: Tevahiyên ku li jêr têne xuyakirin daneyên hemû deman dihewîne. invites: - deactivate_all: هەموو لەکارخستنی + deactivate_all: Hemûyan neçalak bike filter: - all: هەموو - available: بەردەستە - expired: بەسەرچووە - title: پاڵاوتن - title: بانگهێشتەکان + all: Hemû + available: Heye + expired: Dema wê qediya + title: Parzûn + title: Vexwendin ip_blocks: - add_new: دروستکردنی یاسا - created_msg: سەرکەوتووانە یاسای نوێی IP زیادکرا - delete: سڕینەوە + add_new: Rêbaz çê bike + created_msg: Rêzika nû a IPyê bi awayekî serkeftî hat tevlêkirin + delete: Jê bibe expires_in: - '1209600': ٢ هەفتە - '15778476': ٦ مانگ - '2629746': ١ مانگ - '31556952': ١ ساڵ - '86400': ١ ڕۆژ - '94670856': ٣ ساڵ + '1209600': 2 hefte + '15778476': 6 meh + '2629746': 1 meh + '31556952': 1 sal + '86400': 1 roj + '94670856': 3 sal new: - title: دروستکردنی یاسای نوێی IP - no_ip_block_selected: هیچ ڕێسایەکی IP نەگۆڕدرا وەک ئەوەی هیچ کامیان دەستنیشان نەکران - title: یاساکانی IP + title: Rêzika nû a IPyê çêbike + no_ip_block_selected: Ji ber ku tu ajimêr nehat hilbijartin tu rêzika IPyê nehate guhertin + title: Rêbazên IP relationships: - title: پەیوەنیەکان %{acct} + title: Têkiliyên %{acct} relays: - add_new: زیادکردنی گواستنەوەی نوێ - delete: سڕینەوە - description_html: دانەیەکی ڕێڵەی نێو ڕاژەییە(federation relay) کە قەبارەیەکی فرەی لە تووتە گشتییەکان لە نێو ڕاژە هاوبەشەکان و ئابوونەکان دەگوازێتەوە رێڵە یارمەتی بە ڕاژە بچکۆلەو مامناوە ندییەکان دەدا کە بابەتی فرەتر پەیدا بکەن گەر ڕێڵە نەبێت، ئەم بابەتە گشتییانە تەنها کاتێک پەیدا دەبن کە بە کارهێنەرانی ناوخۆیی خۆیان شوێنکەوتووی بەکارهێنەران لە سەر ڕاژەکانی دیکە بن. - disable: لەکارخستن - disabled: ناچالاککراوە - enable: چالاککراوە - enable_hint: کاتێک چالاک کرا، ڕاژەکارەکەت بەشداری دەکات لە هەموو توتەکانی گشتی لەم گواستنەوەیە، و دەست دەکات بە ناردنی توتی گشتی ئەم ڕاژەیە. - enabled: چالاککراوە - inbox_url: نیشانەی URL - pending: چاوەڕێی پەسەندکردنی ڕێلەی - save_and_enable: پاشکەوتکردن و چالاککردن - setup: دامەزراندنی ڕێڵەی پەیوەندی - signatures_not_enabled: ڕیلەکان بە دروستی کارناکات لە کاتێکدا دۆخی پارێزراو یان دۆخی سنوورداری گشتی چالاک کراوە - status: دۆخ - title: ڕێڵەکان + add_new: Guhêrkerê nû tevlê bike + delete: Jê bibe + description_html: "Guhêrkerê giştî rajekareke navberkar e ku hejmareke mezin ji şandiyan di navbera rajekaran ku jê re dibin endam û weşanê dikin diguherîne. Ew dikare ji rajekarên piçûk û navîn re bibe alîkar ku naveroka ji fendiverse ê bibîne, ku bi rengeke din pêdivî dike ku bikarhênerên herêmî bi desta li dû kesên din ên li rajekarên ji dûr be bişopînin." + disable: Neçalak bike + disabled: Neçalakkirî + enable: Çalak bike + enable_hint: Gava were çalakkirin, rajekara te dê ji hemî şandiyên giştî yên vê guhêrkerê re bibe endam, û dê dest bi şandina şandiyên giştî yên vê rajekarê bike. + enabled: Çalakkirî + inbox_url: URLa guhêrker + pending: Li benda pêjirandina guhêrker e + save_and_enable: Tomar û çalak bike + setup: Girêdanekê guhêrker saz bike + signatures_not_enabled: Dema ku moda ewle ya jî moda rêzoka spî çalak be guhêrker wê birêkûpêk nexebite + status: Rewş + title: Guhêrker report_notes: - created_msg: تێبینی ڕاپۆرت کردن بە سەرکەوتوویی دروست کرا! - destroyed_msg: تێبینی گوزارشت بە سەرکەوتوویی سڕاوەتەوە! + created_msg: Nîşeyê ragihandinê bi awayekî serkeftî pêk hat! + destroyed_msg: Nîşeyê ragihandinê bi awayekî serkeftî hate jêbirin! + today_at: Îro di %{time} de reports: account: notes: - one: "%{count} یاداشت" - other: "%{count} یاداشت" - action_taken_by: کردەوە لە لایەن - are_you_sure: دڵنیای? - assign_to_self: دیاریکردن بۆ من - assigned: بەڕێوەبەری بەرپرس - by_target_domain: دۆمەینی هەژمارەی گوزارشتدراو + one: "%{count} nîşe" + other: "%{count} nîşe" + action_log: Tomarê çavdêriyê + action_taken_by: Çalakî hate kirin ji aliyê + actions: + delete_description_html: Şandiyên hatine ragihandin wê werin jêbirin û were tomarkirin da ku ji te re bibe alîkar ku tu ji hêla heman ajimêrê ve binpêkirinên pêşerojê bêtir bikî. + mark_as_sensitive_description_html: Şandiyên hatine ragihandin wê werin nîşandan wekî hestyar û were tomarkirin da ku ji te re bibe alîkar ku tu ji hêla heman ajimêrê ve binpêkirinên pêşerojê bêtir bikî. + other_description_html: Bêtir vebijêrkên ji bo kontrolkirina tevgera ajimêrê bibîne û pêwendiyê li ser ajimêra ragihandî kesane bike. + resolve_description_html: Li hemberî ajimêra hatiye ragihandin wê tiştek pêk neyê, binpêkirin nayên tomarkirin û ragihandin wê were girtin. + silence_description_html: Wê profîl tenê ji kesên ku berê te dişopînin an ji bi destan lê serî lê didin re xuya bibe, gihandina wê bi tundî sînordar dike. Her gav dikare were vegerandin. + suspend_description_html: Heya ku di dawiyê de neyê jêbirin, wê profîl û hemû naverokên wê ne gihiştbar bin. Têkiliya bi ajimêrê re wê ne guncav be. Di nav 30 rojan de veger ji jêbirinê pêkan e. + actions_description_html: Ji bo çareserkirina vê ragihandinê biryar bide ka tê kîjan gav bavêjî. Ku tu li dijî ajimêrê ragihandî çalakiyeke cezakirinê bikî, ji bilî dema ku kategoriya Spam were hilbijartin, wê agahdariyek e-nameyê ji wan re were şandin. + add_to_report: Bo ragihandinê bêtir tevlî bike + are_you_sure: Gelo tu bawerî? + assign_to_self: Bo min diyar bike + assigned: Çavdêrê diyarkirî + by_target_domain: Navperê ya ajimêrê ragihandî + category: Beş + category_description_html: Sedema ku ev ajimêr û/an jî naverok hate ragihandin wê di pêwendiya bi ajimêrê ragihandinê de werê diyarkirin comment: - none: هیچ - created_at: گوزارشتکرا - mark_as_resolved: نیشانەی بکە وەک چارەسەرکراو - mark_as_unresolved: نیشانەکردن وەک چارەسەرنەکراوە + none: Ne yek + comment_description_html: 'Bo bêtir zanyarî bidî, %{name} nivîsand:' + created_at: Hate ragihandin + delete_and_resolve: Şandiyan jê bibe + forwarded: Beralîkirî + forwarded_to: Beralîkirî bo %{domain} + mark_as_resolved: Wekî çareserkirî nîşan bide + mark_as_sensitive: Wekî hestiyar nîşan bide + mark_as_unresolved: Wekî neçareserkirî nîşan bide + no_one_assigned: Ne yek notes: - create: زیادکردنی تێبینی - create_and_resolve: چارەسەر کردن لەگەڵ تێبینی - create_and_unresolve: دووبارە کردنەوەی بە تێبینی - delete: سڕینەوە - placeholder: باسی ئەو کردارانە بکە کە ئەنجام دراون، یان هەر نوێکردنەوەیەکی پەیوەندیداری ت... - reopen: دووبارە کردنەوەی گوزارشت - report: 'گوزارشت #%{id}' - reported_account: گوزارشتی هەژمارە - reported_by: گوزارشت لە لایەن - resolved: چارەسەرکرا - resolved_msg: گوزارشتکردن بە سەرکەوتوویی چارەسەر کرا! - status: دۆخ - title: گوزارشتکرا - unassign: دیارینەکراوە - unresolved: چارەسەر نەکراوە - updated_at: نوێکرایەوە + create: Nîşe tevlî bike + create_and_resolve: Bi nîşe re çareser bike + create_and_unresolve: Bi nîşe re dîsa veke + delete: Jê bibe + placeholder: Bide nasîn ka çi çalakî hatine kirin, an jî heman rojanekirinên din ên têkildar... + title: Nîşe + notes_description_html: Nîşeyan ji çavdêrên din û ji xwe re di pêşerojê de bibîne û bihêle + quick_actions_description_html: 'Ji bo dîtina naveroka ragihandî çalakiyeke bilez bavêje an jî li jêr bigere:' + remote_user_placeholder: bikarhênerê ji dûr ve ji %{instance} + reopen: Ragihandina ji nû ve veke + report: "@%{id} Ragihîne" + reported_account: Ajimêra ragihandî + reported_by: Ragihandî ji aliyê + resolved: Çareserkirî + resolved_msg: Ragihandin bi awayekî serkeftî hate çareserkirin! + skip_to_actions: Derbasî çalakiyan bibe + status: Rewş + statuses: Naveroka ragihandî + statuses_description_html: Naveroka sûcdar wê di danûstendina bi xwediyê ajimêra ragihandî re wê werê diyarkirin + target_origin: Jêdera ajimêrê ragihandî + title: Ragihandinên + unassign: Diyar neke + unresolved: Neçareserkirî + updated_at: Rojanekirî + view_profile: Profîlê nîşan bide + rules: + add_new: Rêbazekê tevlî bike + delete: Jê bibe + description_html: Dema ku piranîya dibêjin ku wan merçên karanînê xwendine û dipejirînin jî, bi gelemperî mirov heta ku pirsgirêkek dernekeve holê naxwîne. Bi peydakirina wan di navnîşek xala guleya rast de hêsantir bike ku tu rêbazên rajekera xwe li ser çavekî bibîne. Hewl bide ku rêbazênn yekkesî kurt û hêsan bihêlî, lê hewl bide ku wan tênexî gelek hêmanên cuda jî. + edit: Rêbazê serrast bike + empty: Tu rêbazên rajekar hê nehatine dîyarkirin. + title: Rêbazên rajekar settings: activity_api_enabled: - desc_html: ژماردنی دۆخی بڵاوکراوە ی ناوخۆیی و بەکارهێنەرە چالاکەکان و تۆماری نوێ لە سەتڵی هەفتانە - title: بڵاوکردنەوەی ئاماری کۆ دەربارەی چالاکی بەکارهێنەر + desc_html: Hejmara şandiyên weşandî yên herêmî, bikarhênerên çalak, û tomarkirin ên nû heftane + title: Tevahî amarên ên di derbarê çalakiya bikarhêneran de biweşîne bootstrap_timeline_accounts: - desc_html: چەند ناوی بەکارهێنەرێک جیابکە بە بۆر، تەنها هەژمارەی بلۆککراوەکان و ناوخۆیی کاردەکەن. بنەڕەت کاتێک بەتاڵ بوو هەموو بەڕێوەبەرە خۆجێیەکانن. - title: بەدواداچوەکانی گریمانەیی بۆ بەکارهێنەرە نوێکان + desc_html: Navên bikarhênerên pir bi xalîçê veqetîne. Dê van ajimêran di pêşnîyarên jêrîn de werin xuyakirin + title: Van ajimêran ji bikarhênerên nû re pêşniyar bike contact_information: - email: ئیمەیلی بازرگانی - username: ناوی بەکارهێنەر + email: E-nameya karsazî + username: Bi bikarhêner re têkeve têkiliyê custom_css: - desc_html: دەستکاری کردنی شێوەی CSS بارکراو لەسەر هەموو لاپەڕەکان - title: CSSی تایبەتمەند + desc_html: Bi CSS a ku li her rûpelê hatiye barkirin, awayê dîmenê biguherîne + title: CSS a kesanekirî default_noindex: - desc_html: کاردەکاتە سەر هەموو بەکارهێنەرەکان کە ئەم ڕێکخستنە خۆیان نەگۆڕاون - title: بەکارهێنەران لە پێڕستکردنی بزوێنەری گەڕان بە گریمانەیی هەڵبژێن + desc_html: Hemû bikarhênerên ku ev sazkarî bi xwe neguhertiye bandor dike + title: Pêlrêçkirna bikarhêneran ji motorê lêgerînê dûr bixe domain_blocks: - all: بۆ هەموو کەسێک - disabled: بۆ هیچ کەسێک - title: بلۆکەکانی دۆمەین پیشان بدە - users: بۆ چوونە ژوورەوەی بەکارهێنەرانی ناوخۆ + all: Bo herkesî + disabled: Bo tu kesî + title: Astengkirinên navperê nîşan bide + users: Ji bo bikarhênerên herêmî yên xwe tomar kirine domain_blocks_rationale: - title: پیشاندانی ڕێژەیی + title: Sedemê nîşan bike hero: - desc_html: نیشان درا لە پەڕەی سەرەتا. بەلایەنی کەمەوە 600x100px پێشنیارکراوە. کاتێک ڕێک نەکەویت، دەگەڕێتەوە بۆ وێنۆجکەی ڕاژە - title: وێنەی پاڵەوان + desc_html: Li ser rûpela pêşîn tê xuyakirin. Bi kêmanî 600x100px tê pêşniyarkirin. Dema ku neyê sazkirin, vedigere ser dîmena wêneya piçûk a rajekar + title: Wêneya lehengê mascot: - desc_html: نیشان دراوە لە چەند لاپەڕەیەک. بەلایەنی کەمەوە 293× 205px پێشنیارکراوە. کاتێک دیاری ناکرێت، دەگەڕێتەوە بۆ بەختبەختێکی ئاسایی - title: وێنەی ماسکۆت + desc_html: Li ser rûpela pêşîn tê xuyakirin. Bi kêmanî 293×205px tê pêşniyarkirin. Dema ku neyê sazkirin, vedigere ser dîmena wêneya piçûk a maskot ya heyî + title: Wêneya maskot peers_api_enabled: - desc_html: ناوی دۆمەینەکانێک کە ئەم ڕاژە پەیوەندی پێوەگرتووە - title: بڵاوکردنەوەی لیستی راژەکانی دۆزراوە + desc_html: Navê navperên ku ev rajekar di fendiverse de rastî wan hatiye + title: Rêzoka rajekarên hatiye dîtin di API-yê de biweşîne preview_sensitive_media: - desc_html: بینینی لینک لە وێب سایتەکانی تر وێنۆچکەیەک پیشان دەدات تەنانەت ئەگەر میدیاکە بە هەستیاری نیشان کرابێت - title: پیشاندانی میدیای هەستیار لە پێشبینیەکانی OpenGraph + desc_html: Pêşdîtinên girêdanê yên li ser malperên din tevlî ku medya wekî hestyar hatiye nîşandan wê wekî wêneyekî piçûk nîşan bide + title: Medyayê hestyar nîşan bide di pêşdîtinên OpenGraph de profile_directory: - desc_html: ڕێگەدان بە بەکارهێنەران بۆ دۆزینەوەیان - title: چالاککردنی ڕێنیشاندەرێکی پرۆفایل + desc_html: Mafê bide bikarhêneran ku bêne vedîtin + title: Pelrêçên profilê çalak bike registrations: closed_message: - desc_html: لە پەڕەی پێشەوە پیشان دەدرێت کاتێک تۆمارەکان داخراون. دەتوانیت تاگەکانی HTML بەکاربێنیت - title: نامەی تۆمارکردن داخراو + desc_html: Gava ku tomarkirin têne girtin li ser rûpelê pêşîn têne xuyang kirin. Tu dikarî nîşanên HTML-ê bi kar bîne + title: Tomarkirinê girtî ya peyaman deletion: - desc_html: ڕێ بدە بە هەر کەسێک هەژمارەکەی بسڕیتەوە - title: سڕینەوەی هەژمارە بکەوە + desc_html: Maf bide ku herkes bikaribe ajimêrê te jê bibe + title: Jê birina ajimêrê vekek min_invite_role: - disabled: هیچکەس - title: ڕێپێدانی بانگهێشتەکان لەلایەن + disabled: Ne yek + title: Maf bide vexwendinên ji alîyê + require_invite_text: + desc_html: Gava ku tomarkirin pêdiviya pejirandina destan dike, Têketina nivîsê "Tu çima dixwazî beşdar bibî?" Bibe sereke ji devla vebijêrkî be + title: Ji bo bikarhênerên nû divê ku sedemek tevlêbûnê binivîsinin registrations_mode: modes: - approved: پەسەندکردنی داواکراو بۆ ناوتۆمارکردن - none: کەس ناتوانێت خۆی تۆمار بکات - open: هەر کەسێک دەتوانێت خۆی تۆمار بکات - title: مەرجی تۆمارکردن + approved: Ji bo têketinê erêkirin pêwîste + none: Kesek nikare tomar bibe + open: Herkes dikare tomar bibe + title: Awayê tomarkirinê show_known_fediverse_at_about_page: - desc_html: کاتێک ناچالاک کرا، هێڵی کاتی گشتی کە بەستراوەتەوە بە لاپەڕەی ئێستا سنووردار دەبن، تەنها ناوەڕۆکی ناوخۆیی پیشاندەدرێن - title: نیشاندانی ڕاژەکانی دیکە لە پێشنەمایەشی ئەم ڕاژە + desc_html: Dema ku neçalak be, demnameya gerdûnî ya ku ji rûpela zeviyê ve hatî girêdan tenê bi nîşandana naveroka herêmî tên sînorkirin + title: Li ser rûpela demnameya ne naskirî naveroka giştî nîşan bide show_staff_badge: - desc_html: پیشاندانی هێمایەک هاوکار لە سەر پەڕەی بەکارهێنەر - title: نیشاندانی هێمای هاوکار + desc_html: Di rûpela bikarhêner da rozeta xebatkaran nîşan bike + title: Rozeta xebatkara nîşan bike site_description: - desc_html: کورتە باسیک دەربارەی API، دەربارەی ئەوە چ شتێک دەربارەی ئەم ڕاژەی ماستۆدۆن تایبەتە یان هەر شتێکی گرینگی دیکە. دەتوانن HTML بنووسن، بەتایبەت <a> وە <em>. - title: دەربارەی ئەم ڕاژە + desc_html: Paragrafa destpêkê li ser API. Dide nasîn ka çi ev rajekarê Mastodon taybet dike û tiştên din ên girîn. Tu dikarî hashtagên HTML-ê, bi kar bîne di <a> û <em> de. + title: Danasîna rajekar site_description_extended: - desc_html: شوێنیکی باشە بۆ نووسینی سیاسەتی ئیس، یاسا و ڕێسا ، ڕێنمایی و هەر شتیک کە تایبەت بەم ڕاژیە، تاگەکانی HTMLــلیش ڕێگەی پێدراوە - title: زانیاری تەواوکەری تایبەتمەندی + desc_html: Ji bo kodê perwerdetî, rêzik, rêbername û tiştên din ên ku rajekara te ji hev cihê dike cîhekî baş e. Tu dikarî hashtagên HTML-ê bi kar bîne + title: Zanyarên berfirehkirî ya rajekar site_short_description: - desc_html: نیشان لە شریتی لاتەنیشت و مێتا تاگەکان. لە پەرەگرافێک دا وەسفی بکە کە ماستۆدۆن چیە و چی وا لە ڕاژە کە دەکات تایبەت بێت. - title: دەربارەی ئەم ڕاژە + desc_html: Ew di alavdanka kêlekê û tagên meta de tên xuyakirin. Di yek paragrafê de rave bike ka Mastodon çi ye û ya ku ev rajekar taybetî dike. + title: Danasîna rajekarê kurt site_terms: - desc_html: دەتوانیت سیاسەتی تایبەتیێتی خۆت بنووسیت، مەرجەکانی خزمەتگوزاری یان یاسایی تر. دەتوانیت تاگەکانی HTML بەکاربێنیت - title: مەرجەکانی خزمەتگوزاری ئاسایی - site_title: ناوی ڕاژە + desc_html: Tu dikarî polîtika nihêniyê xwe, mercên karûbar an nameyên din binvisîne. Tu dikarî nîşanên HTML-ê bi kar bîne + title: Mercên bikaranîn a kesanekirî + site_title: Navê rajekar thumbnail: - desc_html: بۆ پێشبینین بەکارهاتووە لە ڕێگەی OpenGraph وە API. ڕووناکی بینین ١٢٠٠x٦٣٠پیکسێڵ پێشنیارکراوە - title: وێنەی بچکۆلەی ڕاژە + desc_html: Ji bo pêşdîtinên bi riya OpenGraph û API-yê têne bikaranîn. 1200x630px tê pêşniyar kirin + title: Wêneya piçûk a rajekar timeline_preview: - desc_html: لینکەکە نیشان بدە بۆ هێڵی کاتی گشتی لەسەر پەڕەی نیشتنەوە و ڕێگە بە API بدە دەستگەیشتنی هەبێت بۆ هێڵی کاتی گشتی بەبێ سەلماندنی ڕەسەنایەتی - title: ڕێگەبدە بە چوونە ژورەوەی نەسەلمێنراو بۆ هێڵی کاتی گشتی - title: ڕێکخستنەکانی ماڵپەڕ + desc_html: Girêdana demnameya gelemperî li ser rûpela daxistinê nîşan bide û mafê bide ku API bêyî rastandinê bigihîje damnameya gelemperî + title: Mafê bide gihîştina ne naskirî bo demnameya gelemperî + title: Sazkariyên malperê trendable_by_default: - desc_html: کاریگەری لەسەر هاشتاگی پێشوو کە پێشتر ڕێگە پێنەدراوە - title: ڕێگە بدە بە هاشتاگی بەرچاوکراوە بەبێ پێداچوونەوەی پێشوو + desc_html: Hashtagên ku berê hatibûn qedexekirin bandor dike + title: Bihêle ku hashtag bêyî nirxandinek pêşîn bibe rojev trends: - desc_html: بە ئاشکرا هاشتاگی پێداچوونەوەی پێشوو پیشان بدە کە ئێستا بەرچاوکراوەن - title: هاشتاگی بەرچاوکراوە + desc_html: Hashtagên ku berê hatibûn nirxandin ên ku niha rojev in bi gelemperî bide xuyakirin + title: Hashtagên rojevê site_uploads: - delete: سڕینەوەی فایلی بارکراو - destroyed_msg: بارکردنی ماڵپەڕ بە سەرکەوتوویی سڕدراوەتەوە! + delete: Pela barkirî jê bibe + destroyed_msg: Barkirina malperê bi serkeftî hate jêbirin! statuses: - back_to_account: گەڕانەوە بۆ لاپەڕەی هەژمارە - deleted: سڕینەوە + back_to_account: Vegere bo rûpela ajimêr + back_to_report: Vegere rûpela ragihandinê + batch: + remove_from_report: Ji ragihandinê rake + report: Ragihîne + deleted: Hate jêbirin media: - title: میدیا - no_status_selected: هیچ دۆخیک نەگۆڕاوە وەک ئەوەی هیچ بارێک دەستنیشان نەکراوە - title: دۆخی ئەژمێر - with_media: بە میدیا + title: Medya + no_status_selected: Tu şandî nehat hilbijartin ji ber vê tu şandî jî nehat guhertin + title: Şandiyên ajimêr + with_media: Bi medya yê re + strikes: + actions: + delete_statuses: "%{name} şandiyên %{target} jêbirin" + disable: "%{name} ajimêr %{target} cemidand" + mark_statuses_as_sensitive: "%{name} medyayê %{target} wekî hestiyar nîşan kir" + none: "%{name} ji bo %{target} hişyariyek şand" + sensitive: "%{name} ajimêrê %{target} wekî hestiyarî nîşan kir" + silence: "%{name} ajimêra %{target} bi sînor kir" + suspend: "%{name} ajimêra %{target} hilda rawestandinê" + appeal_approved: Îtîraz + appeal_pending: Îtîraz li benda nirxandinê ye + system_checks: + database_schema_check: + message_html: Koçberiyên databasê yên li bendê hene. Ji kerema xwe wan bişopîne da ku bicîh bikî ku sepan wekî ku tê hêvî kirin tevbigere + rules_check: + action: Rêzikên rajekara bi rê ve bibe + message_html: Te qet rêzikên rajekara diyar nekiriye. + sidekiq_process_check: + message_html: Pêvajoyên Sidekiq ên heyî ji bo %{value} di rêz (an) de tune ne. Ji kerema xwe sazkariyên Sidekiq a xwe binirxîne tags: - review: پێداچوونەوەی دۆخ - updated_msg: ڕێکخستنی هاشتاگ بە سەرکەوتوویی نوێکرایەوە - title: بەڕێوەبەر + review: Binêre rewşê + updated_msg: Sazkariyên hashtag bi awayekî serkeftî hate rojanekirin + title: Rêvebirî + trends: + allow: Bihêle + approved: Pejirandî + disallow: Nehêle + links: + allow: Mafê bide girêdanê + allow_provider: Mafê bide weşanger + description_html: Van girêdanên ku niha ji hêla ajimêrên ku rajekarê te ji wan peyaman dibîne pir têne parvekirin. Ew dikare ji bikarhênerên te re bibe alîkar ku fêr bibin ka li cîhanê çi diqewime. Heya ku tu weşanger nepejirînin, ti girêdan bi gelemperî nayê xuyangkirin. Her weha tu dikarî mafê bidî girêdanên kesane an jî nedî. + disallow: Mafê nede girêdanê + disallow_provider: Mafê nede weşanger + shared_by_over_week: + one: Di nava hefteya dawî de ji aliyê keskekî ve hate parvekirin + other: Di nava hefteya dawî de ji aliyê %{count} kes ve hate parvekirin + zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate parvekirin + title: Girêdanên di rojevê de + usage_comparison: Îro %{today} car hate parvekirin, li gorî %{yesterday} duh + pending_review: Li benda nirxandinê ye + preview_card_providers: + allowed: Girêdanên ji vê weşangerê dikarin bibin rojev + description_html: Ev navperên ku ji wan girêdanên bi gelemperî li ser rajekarê te têne parvekirin. Heya ku girêdana rojevê neyê pejirandin, girêdan wê ji raya giştî re nebin rojev. Pejirandina (an nepejirandina) te berbi jêrnavperan ve diçe. + rejected: Girêdanên ji vê weşangerê nikarin bibin rojev + title: Weşanger + rejected: Nepejirand + statuses: + allow: Mafê bide şandiyê + allow_account: Mafê bide nivîskar + description_html: Van şandiyên ku rajekarê te pê dizane ku niha pir têne parvekirin û bijartekirin. Ew dikare ji bikarhênerên te yên nû û yên vedigerin re bibe alîkar ku bêtir mirovên ku bişopînin bibînin. Heya ku tu nivîskar nepejirînî, tu şandî bi gelemperî nayên xuyangkirin, û nivîskar mafê dide ku ajimêrê xwe ji kesên din re were pêşniyarkirin. Her weha tu dikarî mafê bidî şandiyên kesane an jî nedî. + disallow: Mafê nede şandiyê + disallow_account: Mafê nede nivîskar + not_discoverable: Nivîskar nejilbijartiye ji bo ku were kifşkirin + shared_by: + one: Yek carî parvekirî an bijartî + other: "%{friendly_count} carên parvekirî û bijartî" + title: Şandiyên rojevê + tags: + current_score: Encama niha %{score} + dashboard: + tag_accounts_measure: bikaranînên bêhempa + tag_languages_dimension: Zimanên pir tên bikaranîn + tag_servers_dimension: Rajekarên pir tên bikaranîn + tag_servers_measure: rajekarên cuda + tag_uses_measure: bikaranîna giştî + description_html: Ev hashtag in ku niha di gelek şandiyên ku rajekarê te dibîne de xuya dibin. Ew dikare ji bikarhênerên te re bibe alîkar ku fêr bibin ka mirov di vê demê de herî pir li ser çi diaxive. Heya ku tu wan nepejirînî, tu hashtag bi gelemperî nayê xuyangkirin. + listable: Dikare were pêşniyarkirin + not_listable: Nikare wer pêşniyarkirin + not_trendable: Wê di bin rojevan de xuya neke + not_usable: Nikare were bikaranîn + peaked_on_and_decaying: Di %{date} de derketiye asta herî bilind, û niha winda dibe + title: Hashtagên rojevê + trendable: Dikare di bin rojevan de xuya bibe + trending_rank: 'Rojev #%{rank}' + usable: Dikare were bikaranîn + usage_comparison: "%{today} car îro hate bikaranîn, li gorî %{yesterday} duh" + used_by_over_week: + one: Di nava hefteya dawî de ji aliyê kesekî ve hatiye bikaranîn + other: Di nava hefteya dawî de ji %{count} kes ve hatiye bikaranîn + zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate bikaranîn + title: Rojev warning_presets: - add_new: زیادکردنی نوێ - delete: سڕینەوە - edit_preset: دەستکاریکردنی ئاگاداری پێشگریمان - title: بەڕێوەبردنی ئاگادارکردنەوە پێش‌سازدان + add_new: Yeka nû tevlî bike + delete: Jê bibe + edit_preset: Hişyariyên pêşsazkirî serrast bike + empty: Te hin tu hişyariyên pêşsazkirî destnîşan nekirine. + title: Hişyariyên pêşsazkirî bi rêve bibe admin_mailer: + new_appeal: + actions: + delete_statuses: ku şandiyên wan jê bibî + disable: ku ajimêrê wan bicemidînî + mark_statuses_as_sensitive: ku şandiyê wan wekî hestyar nîşan bikî + none: hişyariyek + sensitive: ku ajimêrê wan wekî hestyar nîşan bikî + silence: ku ajimêrê wan sînordar bikî + suspend: ku ajimêrê wan bidî rawestandin + body: "%{target} îtiraza biryareke çavdêriyê dike bi riya %{action_taken_by} ji %{date}, ku %{type} bû. Wan nivîsand:" + next_steps: Tu dikarî îtirazê bipejirînî ku biryara çavdêriyê têk bibî, an jî paşguh bikî. + subject: "%{username} li ser %{instance} îtiraz li biryareke çavdêriyê dike" new_pending_account: - body: وردەکاریهەژمارە نوێیەکە لە خوارەوەیە. دەتوانیت ئەم نەرمەکالا پەسەند بکەیت یان ڕەت بکەیتەوە. - subject: هەژمارەیەک نوێ بۆ پێداچوونەوە لەسەر %{instance} (%{username}) + body: Zanyariyênn ajimêra nû li jêr in. Tu dikarî vê serîlêdanê bipejirîne an pûç bike. + subject: "(%{username}) ajimêrê nû ji bo vekolandina li ser %{instance}" new_report: - body: بەکارهێنەری %{reporter} گوزارشی لە بەکارهینەری%{target} دا - body_remote: کەسێک لە %{domain} گوزارشتی %{target} ناردووە - subject: گوزارشتێکی نوی لە %{instance} (#%{id}) + body: "%{reporter} ji %{target} ê ragihand" + body_remote: Kesekî bi navê %{domain} ji %{target} ê ragihand + subject: Ragihandinek nû ji bo %{instance} (#%{id}) + new_trends: + body: 'Tiştên jêrîn berî ku ew bi gelemperî werin xuyakirin divê werin nirxandin:' + new_trending_links: + no_approved_links: Niha tu girêdanên rojeva pejirandî tune ne. + requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} girêdana diyarkirî ya pejirandî derbas bibe, niha ku "%{lowest_link_title}" bi %{lowest_link_score} puan e.' + title: Girêdanên rojevê + new_trending_statuses: + no_approved_statuses: Niha tu şandiyên rojeva pejirandî tune ne. + requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} şandiyaa diyarkirî ya pejirandî derbas bibe, niha ku %{lowest_status_url} bi %{lowest_status_score} puan e.' + title: Şandiyên rojevê + new_trending_tags: + no_approved_tags: Niha hashtagên rojevê pejirandî tune ne. + requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} hashtagaa diyarkirî ya pejirandî derbas bibe, niha ku #%{lowest_tag_name} bi %{lowest_tag_score} puan e.' + title: Hashtagên rojevê + subject: Rojevên nû ji bo nirxandinê li ser %{instance} derdikevin aliases: - add_new: دروستکردنی ناوی ساختە - created_msg: نازناوێکی نوێیان سەرکەوتووانە دروستکرد. ئێستا دەتوانیت دەست بە گواستنەوە کەیت لە هەژمێرە کۆنەکەت. - deleted_msg: سەرکەوتووانە نازناوەکان لابدە. گواستنەوە لەو هەژمارەوە بۆ ئەم کەسە چیتر نابێت. - empty: هیچ نازناوێکت نیە. - hint_html: ئەگەر دەتەوێت لە هەژمارەیەکی ترەوە بگوێزریتەوە بۆ ئەم هەژمارە، لێرەدا دەتوانیت نازناوێک دروست بکەیت، پێش ئەوەی ئەوە بەردەوام بیت لە گواستنەوەی لە هەژمارە کۆنەکە بۆ ئەم هەژمارە پێویستە. ئەم کردەوەیە خۆی لە خۆیدا بێ زەرە و ناگەڕێتەوەگواستنەوەی لە هەژمارەی کۆنە بۆ هەژمارەی نوێ دەستی پێکردووە. - remove: سڕینەوەی پەیوەندی ناز ناو + add_new: Naveke sexte çê bike + created_msg: Bi serkeftî nûçikê nû hat çêkirin. Tu niha dikarî di ajimêrê xwe kevn bar bikî. + deleted_msg: Nûçik bi serkeftî hat rakirin. Êdî nepêkan e vê ajimêrê de barkirina ajimêrek din. + empty: Nûçikên te tune ne. + hint_html: Heke tu dixwazî ji ajimêreke din bar bike bo yekî din, li vir tu dikarî bernavekê biafirîne, ku pêdivî ye berî ku tu bi şopandina şopînerên xwe ji ajimêra kevn ber bi vê yekê biçe. Ev çalakî bi serê xwe bê ziyan û vegere.Koçberiya ajimêr ji ajimêreke kevin dest pê dike. + remove: Girêdana nûçikê rake appearance: - advanced_web_interface: روخساری پێشکەوتوو - advanced_web_interface_hint: 'ئەگەر دەتەوێت پانی شاشەکە بەکاربێنیت، دەتوانی بە یارمەتی ڕووکاری پێشکەوتوو چەندین ستوونی جیاواز ڕێکبخەیت بۆ بینینی زانیاری زیاتر لە هەمان کات کە دەتەوێت بیبینیت: نووسراوەکانی نووسەرانی دیکە، ئاگانامەکان، پێرستی نووسراوەکانی هەموو شوێنێک، وە هەر ژمارەیەک لە لیستەکان و هاشتاگەکان.' - animations_and_accessibility: ئەنیمەیشن و توانایی دەستپێگەیشتن - confirmation_dialogs: پەیامەکانی پەسەندکراو - discovery: دۆزینەوە + advanced_web_interface: Navrûya tevnê yê pêşketî + advanced_web_interface_hint: 'Heke tu bixwazin tevahiya ferehiya dîmendera xwe bi kar bînî, navrûya pêşketî ya tevnê dihêle ku tu gelek stûnên cihêreng saz bikî da ku di heman demê de bi qasî ku tu dixwazî zanyariyan bibînî: Serrûpel, agahdarî, demnameya giştî, her hejmarek ji rêzik û hashtagan.' + animations_and_accessibility: Anîmasyon û gihînî + confirmation_dialogs: Gotûbêjên piştrastkirî + discovery: Vedîtin localization: - body: ماستۆدۆن لەلایەن خۆبەخشەوە وەردەگێڕێت. - guide_link_text: هەموو کەسێک دەتوانێت بەشداری بکات. - sensitive_content: ناوەڕۆکی هەستیار - toot_layout: لۆی توت + body: Mastodon ji aliyê xêrxwazan tê wergerandin. + guide_link: https://crowdin.com/project/mastodon + guide_link_text: Herkes dikare beşdar bibe. + sensitive_content: Naveroka hestiyarî + toot_layout: Xêzkirina şandîya application_mailer: - notification_preferences: گۆڕینی پەسەندکراوەکانی ئیمەیڵ - settings: 'گۆڕینی پەسەندکراوەکانی ئیمەیڵ: %{link}' - view: 'نیشاندان:' - view_profile: پرۆفایل نیشان بدە - view_status: پیشاندانی دۆخ + notification_preferences: Hevyazên e-name yê biguherîne + salutation: "%{name}," + settings: 'Hevyazên e-name yê biguherîne: %{link}' + view: 'Nîşan bide:' + view_profile: Profîlê nîşan bide + view_status: Şandiyê nîşan bide applications: - created: بەرنامە بە سەرکەوتوویی دروست کرا - destroyed: بەرنامە بە سەرکەوتوویی سڕدراوەتەوە - invalid_url: بەستەری دابینکراو نادروستە - regenerate_token: دووبارە دروستکردنەوەی نیشانەی چوونە ژوورەوە - token_regenerated: کۆدی دەستپێگەیشتن بە سەرکەوتوویی دروستکرا - warning: زۆر ئاگاداربە لەم داتایە. هەرگیز لەگەڵ کەس دا هاوبەشی مەکە! - your_token: کۆدی دەستپێگەیشتنی ئێوە + created: Sepan bi awayekî serkeftî hat çêkirin + destroyed: Sepan bi awayekî serkeftî hat jêbirin + invalid_url: URL ya hatiye dayîn ne derbasdar e + regenerate_token: Nîşandera gihandinê bi nûve çêbike + token_regenerated: Nîşandera gihandinê bi serkeftî nû ve hat çêkirin + warning: Bi van daneyan re pir baldar be. Tu caran bi kesî re parve neke! + your_token: Nîşana gihîştina te auth: - apply_for_account: داواکردنی بانگهێشتێک - change_password: تێپەڕوشە - checkbox_agreement_html: من ڕازیم بە یاساکانی ڕاژە وە مەرجەکانی خزمەتگوزاری - checkbox_agreement_without_rules_html: من ڕازیم بە مەرجەکانی خزمەتگوزاری - delete_account: سڕینەوەی هەژمارە - delete_account_html: گەر هەرەکتە هەژمارەکەت بسڕیتەوە، لە لەم قوناغانە بڕۆیتە پێشەوە. داوای پەسەند کردنتان لێدەگیرێت. + apply_for_account: Daxwaza vexwendinekê bike + change_password: Pêborîn + checkbox_agreement_html: Ez rêbazên rajeker û hêmanên karûbaran dipejirînim + checkbox_agreement_without_rules_html: Ez hêmanên karûbaran rêbazên rajeker dipejirînim + delete_account: Ajimêr jê bibe + delete_account_html: Heke tu dixwazî ajimêra xwe jê bibe, tu dikarî li vir bidomîne. Ji te tê xwestin ku were pejirandin. description: - prefix_invited_by_user: "@%{name} بانگت دەکات بۆ پەیوەندیکردن بەم ڕاژەی ماستۆدۆن!" - prefix_sign_up: ئەمڕۆ خۆت تۆمار بکە لە ماستۆدۆن! - suffix: بە هەژمارەیەک، دەتوانیت شوێن هەژمارەکانی دیکە بکەویت، نوێکردنەوەکان بڵاوبکەوە و نامە لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی ماستۆدۆن و زیاتر بگۆڕیتەوە! - didnt_get_confirmation: ڕێنماییەکانی دڵنیاکردنەوەت پێنەدرا? - dont_have_your_security_key: کلیلی ئاسایشت نیە? - forgot_password: تێپەڕوشەکەت لەبیر چووە? - invalid_reset_password_token: وشەی نهێنی دووبارە ڕێکبخەوە دروست نیە یان بەسەرچووە. تکایە داوایەکی نوێ بکە. - link_to_otp: کۆدی دوو فاکتەر لە تەلەفۆنەکەت یان کۆدی چاککردنەوە تێبنووسە - link_to_webauth: بەکارهێنانی ئامێری کلیلی پاراستن - login: چوونەژوورەوە - logout: چوونەدەرەوە - migrate_account: گواستنەوە بۆ ئەژمێرێکی تر - migrate_account_html: ئەگەر دەتەوێت ئەم هەژمارە دووبارە ئاڕاستە بکەیت بۆ ئەژمێرێکی تر، دەتوانیت کرتەیەک لێرە بکەی . - or_log_in_with: یان چوونە ژوورەوە بە - register: خۆ تۆمارکردن - registration_closed: "%{instance} ئەندامانی نوێ قبووڵ ناکات" - resend_confirmation: دووبارە ناردنی ڕێنماییەکانی دووپاتکردنەوە - reset_password: گەڕانەوەی تێپەڕوشە - security: ئاسایش - set_new_password: سازدانی تێپەڕوشەی نوێ + prefix_invited_by_user: "@%{name} te vedixwîne ku tu beşdarî vê rajekara Mastodon-ê bibî!" + prefix_sign_up: Îro li Mastodonê tomar bibe! + suffix: Bi ajimêrekê, tu yê karibî kesan bişopînî, rojanekirinan bişînî û bi bikarhênerên ji her rajekarê Mastodon re peyaman bişînî û bêhtir! + didnt_get_confirmation: Te rêwerzên pejirandinê wernegirt? + dont_have_your_security_key: Kilîda te ya ewlehiyê tune ye? + forgot_password: Te pêborîna xwe jibîrkir? + invalid_reset_password_token: Ji nû ve sazkirina pêborînê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike. + link_to_otp: Ji têlefona xwe an jî ji kodeke rizgarkirinê kodeke du-gavî binivîsine + link_to_webauth: Amûra kilîta ewlehiya xwe bi kar bîne + log_in_with: Têkeve bi riya + login: Têkeve + logout: Derkeve + migrate_account: Derbasî ajimêreke din bibe + migrate_account_html: Heke tu dixwazî ev ajimêr li ajimêreke cuda beralî bikî, tu dikarî ji vir de saz bike. + or_log_in_with: An têketinê bike bi riya + providers: + cas: CAS + saml: SAML + register: Tomar bibe + registration_closed: "%{instance} endamên nû napejirîne" + resend_confirmation: Rêwerên pejirandinê ji nû ve bişîne + reset_password: Pêborînê ji nû ve saz bike + security: Ewlehî + set_new_password: Pêborîneke nû ji nû ve saz bike setup: - email_below_hint_html: ئەگەر ناونیشانی ئیمەیڵی خوارەوە نادروستە، دەتوانیت لێرە بیگۆڕیت و ئیمەیڵێکی پشتڕاستکردنەوەی نوێ وەربگۆڕیت. - email_settings_hint_html: ئیمەیڵی پشتڕاستکردنەوە کە نێردرا بۆ %{email}. ئەگەر ناونیشانی ئیمەیڵ ڕاست نەبوو، دەتوانیت لە ڕێکبەندەکانی هەژمارەکەت بیگۆڕیت. - title: دامەزراندن + email_below_hint_html: Heke navnîşana e-nameya jêrîn ne rast be, tu dikarî wê li vir biguherîne û e-nameyeke pejirandinê ya nû bistîne. + email_settings_hint_html: E-nameya pejirandinê ji %{email} re hate şandin. Heke ew navnîşana e-nameyê ne rast be, tu dikarî wê di sazkariyên ajimêr de biguherîne. + title: Damezirandin status: - account_status: دۆخی هەژمارە - confirming: چاوەڕوانی دڵنیاکردنەوەی ئیمەیڵ بۆ تەواوکردن. - pending: ئەپلیکەیشەنەکەت چاوەڕوانی پێداچوونەوەیە لەلایەن ستافەکەمانەوە. لەوانەیە ئەمە هەندێک کاتی بخایەنێت ئەگەر ئەۆپەکەت پەسەند کرا، ئیمەیڵت پێدەگات. - redirecting_to: هەژمارەکەت ناچالاکە لەبەرئەوەی ئێستا دووبارە ئاڕاستەدەکرێتەوە بۆ %{acct}. - trouble_logging_in: کێشە ت هەیە بۆ چوونە ژوورەوە? - use_security_key: کلیلی ئاسایش بەکاربهێنە + account_status: Rewşa ajimêr + confirming: Li benda pejirandina e-nameyê ne da ku biqede. + functional: Ajimêra te êdî amade ye. + pending: Daxwaza te li benda vekolînê ji hêla xebatkarên me ye. Ev dibe ku hinek dem bigire. Heke daxwaza te were pejirandin tu yê e-nameyekê bistîne. + redirecting_to: Ajimêra te neçalak e ji ber ku niha ber bi %{acct} ve tê beralîkirin. + view_strikes: Binpêkirinên berê yên dijî ajimêrê xwe bibîne + too_fast: Form pir zû hat şandin, dîsa biceribîne. + trouble_logging_in: Têketina te de pirsgirêk çêdibe? + use_security_key: Kilîteke ewlehiyê bikar bîne authorize_follow: - already_following: ئێوە ئێستا شوێن کەوتووی ئەم هەژمارەیەی - already_requested: تۆ پێشتر داواکاری بەدواداچوت ناردوە بۆ ئەو هەژمارە - error: بەداخەوە هەڵەیەک هەبوو لە کاتی گەڕان بەدوای ئەو هەژمارەیە - follow: شوێن کەوە - follow_request: 'تۆ داواکاری شوێنکەوتنت ناردووە بۆ:' - following: 'ئەنجام بوو! تۆ ئێستا بەدوای ئەم بەکارهێنەرە دەکەویت:' + already_following: Jixwe tu vê ajimêrê dişopînî + already_requested: Jixwe te ji vê ajimêrê re daxwazîya şopandinê şandi bû + error: Mixabin, dema ajimêr hat gerandin çewtiyek çêbû + follow: Bişopîne + follow_request: 'Te ji vê kesê re daxwazîya şopandinê şand:' + following: 'Serkeftin! Tu êdî dikarî bişopînî:' post_follow: - close: یان، دەتوانیت ئەم پەنجەرەیە دابخەیت. - return: پرۆفایلی بەکارهێنەر نیشان بدە - web: بڕۆ بۆ وێب - title: دوای %{acct} بکەوە + close: An jî, tu dikarî tenê ev çarçoveyê bigirî. + return: Profîla vê bikarhênerê nîşan bike + web: Biçe tevneyê + title: Bişopîne %{acct} challenge: - confirm: بەردەوام بە - hint_html: "خاڵ: ئیمە لە کاتژمێری داهاتوو تێپەروشەت لێداوا ناکەین." - invalid_password: تێپەروشە دروست نیە - prompt: دڵنیابوون لە نهێنوشە بۆ بەردەوامبوون + confirm: Bidomîne + hint_html: "Nîşe:Ji bo demjimêreke din em ê pêborîna te careke din ji te nexwazin." + invalid_password: Pêborîna nederbasdar + prompt: Ji bo bidomî lêborînê bipejirîne crypto: errors: - invalid_key: کلیلی باوڕپێکراو Ed25519 یان Curve25519 دروست نییە - invalid_signature: واژووی Ed25519 بڕوادار نییە + invalid_key: ed25519 ne derbasdare ne jî Curve25519 kilîta + invalid_signature: Ed25519 ne îmzeyek derbasdar e + date: + formats: + default: "%b%d%Y" + with_month_name: "%B %d, %Y" datetime: distance_in_words: - about_x_hours: "%{count}کات" - about_x_years: "%{count}ساڵ" - almost_x_years: "%{count}ساڵ" - half_a_minute: ئێستا - less_than_x_seconds: ئێستا - over_x_years: "%{count}ساڵ" - x_days: "%{count}ڕۆژ" + about_x_hours: "%{count}d" + about_x_months: "%{count}meh" + about_x_years: "%{count}sal" + almost_x_years: "%{count}sal" + half_a_minute: Hema niha + less_than_x_minutes: "%{count}xulek" + less_than_x_seconds: Hema niha + over_x_years: "%{count}sal" + x_days: "%{count}roj" + x_minutes: "%{count}xulek" + x_months: "%{count}meh" + x_seconds: "%{count}çirke" deletes: - challenge_not_passed: ئەو زانیاریانەی تێنووست کردووە ڕاست نەبوو - confirm_password: تێپەڕوشەی ئێستات تێبنووسە بۆ سەلماندنی ناسنامەکەت - confirm_username: ناوی بەکارهێنەرت تێبنووسە بۆ دڵنیابوون لە کردارەکە - proceed: سڕینەوەی هەژمارە - success_msg: هەژمارەکەت بە سەرکەوتوویی سڕرایەوە + challenge_not_passed: Zanyariyên ku te nivîsandî ne rast in + confirm_password: Pêborîna xwe ya heyî binivîsine da ku nasnameya xwe piştrast bikî + confirm_username: Navê bikarhêneriyê xwe binivîse da ku prosedurê piştrast bike + proceed: Ajimêr jê bibe + success_msg: Ajimêra te bi serkeftî hate jêbirin warning: - before: 'پێش بەردەوام بوون، تکایە ئەم تێبینیانە بە وردی بخوێننەوە:' - caches: وادیارە ئەو ناوەرۆکە کە ڕاژەکانی دیکە پاشکەوتیان کردووە بمینێتەوە - data_removal: بابەتەکانت و داتاکانی تر بە هەمیشەیی لادەبرێن - email_change_html: دەتوانی ناونیشانی ئیمەیڵەکەت بگۆڕیت بەبێ سڕینەوەی هەژمارەکەت - email_contact_html: گەر ئیمەیل نەگەیشتووە بۆ داوای یارمەتی پەیامێک بنێرە بۆ %{email} پیغام دهید - email_reconfirmation_html: ئەگەر ئیمەیڵی پشتڕاستکردنەوەت پێنەگەشتووە، دەتوانیت دووبارە داوای لێبکە - irreversible: ناتوانیت هەژمارەکەت بگەڕێنیتەوە یان کارا بکەیتەوە - more_details_html: بۆ زانیاری زیاتر، پاراستنی نهێنیەکان ببینە. - username_available: ناوی تێپەڕبوونت دووبارە بەردەست دەبێت - username_unavailable: ناوی تێپەڕبوونت بەردەست نییە + before: 'Berî ku tu pêşve biçî, jkx nvan nîşeyan bi baldarî bixwîne:' + caches: Naveroka ku ji hêla rajekarên din ve hatiye pêşbîrkirin dibe ku bimîne + data_removal: Şandiyên te û daneyên din wê bi awayekî dawî bêne rakirin + email_change_html: Tu dikarî navnîşana e-nameya xwe biguherînî bêyî ku tu ajimêra xwe jê bibî + email_contact_html: Heke ew hîn jî negihîştiye, tu dikarî ji bo alîkariyê %{email} e-nameyê bişînî + email_reconfirmation_html: Heke te e-nameya pejirandinê nesitand, tu dikarî dîsa daxwaz bike + irreversible: Tu yê nikaribe ajimêra xwe serrast bike an ji nû ve çalak bike + more_details_html: Bo bêhtir zanyarî, polîtika nihêniyê binêre. + username_available: Navê bikarhêneriyê te wê dîsa peyda bibe + username_unavailable: Navê bikarhêneriyê ye wê tuneyî bimîne directories: - directory: ڕێنیشاندەرێکی پرۆفایل - explanation: دۆزینەوەی بەکارهێنەران لەسەر بنەمای بەرژەوەندییەکانیان - explore_mastodon: گەڕان لە %{title} + directory: Rêgeha profîlê + explanation: Bikarhêneran li gorî berjewendiyên wan bibîne + explore_mastodon: Vekole %{title} + disputes: + strikes: + action_taken: Çalakî hatin kirin + appeal: Îtîraz + appeal_approved: Ev binpêkirin bi serkeftî hate îtîraz kirin û êdî ne derbasdar e + appeal_rejected: Îtîraz nehate pejirandin + appeal_submitted_at: Îtîraz hate şandin + appealed_msg: Îtîraza te hatiye şandin. Ku were pejirandin, tu yê werî agahdarkirin. + appeals: + submit: Îtîrazê bişîne + associated_report: Ragihandina têkildar + created_at: Dîrok + description_html: Ev kiryarên ku li dijî ajimêrê te hatine kirin û hişyariyên ku ji hêla xebatkarên %{instance} ve ji te re hatine şandinin. + recipient: Ji kê re + status: 'Şandî #%{id}' + status_removed: Şandî jixwe ji pergalê hatî rakirin + title: "%{action} ji %{date}" + title_actions: + delete_statuses: Jêbirina şandiyê + disable: Cemdandina ajimêrê + mark_statuses_as_sensitive: Nîşankirina şandiyan wekî hestyar + none: Hişyarî + sensitive: Nîşankirina ajimêran wekî hestyar + silence: Sînorkirina ajimêrê + suspend: Rawestandina ajimêrê + your_appeal_approved: Îtîraza te hate pejirandin + your_appeal_pending: Te îtîrazek şand + your_appeal_rejected: Îtîraza te nehate pejirandin domain_validator: - invalid_domain: ناوی دۆمەین بڕوادار نییە + invalid_domain: ne naveke navper a derbasdar e errors: - '400': داواکاریەکەی کە پێشکەشت کردووە نادروستە یان نەیپێکا. - '403': تۆ مۆڵەتت نیە بۆ بینینی ئەم لاپەڕەیە. - '404': ئەو لاپەڕەیەی بەدوای دەگەڕێی لێرە نیە. - '406': ئەم پەڕەیە لە فۆرماتی داواکراودا بەردەست نییە. - '410': ئەو لاپەڕەیەی بەدوای دا دەگەڕایت چیتر لێرە بوونی نیە. + '400': Daxwaza ku te şand nederbasdar an çewt bû. + '403': Ji bo dîtina vê rûpelê mafê te nîn e. + '404': Rûpela ku tu lê digerî ne li vir e. + '406': Ev rûpel di awayê ku tê xwestin de peyda nabe. + '410': Ew rûpela ku tu lê digeriya êdî li vir nîne. '422': - content: سەلماندنەکەی ئاسایش سەرکەوتوو نەبوو. تۆ بلۆکی کۆکیز دەکەیت? - title: سەلماندنەکەی ئاسایش سەرکەوتوو نەبوو - '429': داواکاری زۆر + content: Rastekirina ewlehiyê têk çû. Ma tu kiloran asteng dikî? + title: Rastekirina ewlehiyê têk çû + '429': Gelek daxwazî '500': - content: داوای لێبوردن دەکەین، بەڵام لە کۆتاییەکەماندا. شتێک هەڵە ڕویداوە. - title: ئەم لاپەڕەیە ڕاست نییە - '503': ناتوانرێت پەڕەکە خزمەت بکرێت بەهۆی شکستی ڕاژەیەکی کاتی. - noscript_html: بۆ بەکارهێنانی بەرنامەی وێبی ماستۆدۆن، تکایە جاڤاسکریپت بەتوانا بکە. لە جیاتی ئەوە، یەکێک لە < href="%{apps_path}">ئەپێکی ماستۆدۆنبەکارببە. + content: Em xemgîn in, lê tiştek di aliyê me de şaş çû. + title: Ev rûpel ne rast e + '503': Ji ber têkçûna rajekar a demkî rûpel nayê bikaranîn. + noscript_html: Ji bo ku tu sepanaa Mastodon a tevnê bi kar bîne, jkx JavaScript-ê çalak bike. Wekî din, yek ji sepanên xwemalî ji bo Mastodon ji bo platforma xwe biceribîne. existing_username_validator: - not_found: بەکارهێنەرێک بەم هەژمارەی بەکارهێنەرە لەم ڕاژە پەیدا نەبوو - not_found_multiple: نەیتوانی %{usernames} بدۆزێتەوە + not_found: nikaribû bikarhênerek herêmî bi wê navê bikarhêner bibîne + not_found_multiple: "%{usernames} nehat dîtin" exports: archive_takeout: - date: بەروار - download: داگرتنی ئەرشیفەکەت - hint_html: دەتوانیت داوای ئەرشیفی نووسراوە و میدیای بارکراوەی خۆت بکەی. داتای هەناردەکراو لە فۆرماتی ActivityPub دەبێت، دەخوێنرێتەوە لەلایەن هەر نەرمەکالایەکی گونجاو. دەتوانیت هەموو ٧ ڕۆژ جارێک داوای ئەرشیفێکەت بکەیت. - in_progress: خەریکی کۆ کردنەوەی ئەرشیڤەکەت... - request: داوای ئەرشیفەکەت بکە - size: قەبارە - blocks: تۆ بلۆک دەکەیت - bookmarks: نیشانکراوەکان - domain_blocks: دۆمەین قەپاتکرا - lists: لیستەکان - mutes: هەژمارە بێدەنگ کراوە - storage: هەمارگەی میدیا + date: Dîrok + download: Arşîva xwe daxîne + hint_html: Tu dikarî arşîvek ji weşanên xwe û medyayên barkirî re bixwaze. Daneyên derxistî dê di forma ActivityPub de bin, ku ji hêla nermalava ku vê formê ve têne xwendin. Tu dikarî her 7 rojan arşîvekê bixwaze. + in_progress: Arşîve te tê berhev kirin... + request: Daxwaza arşîva ajimêra xwe bike + size: Mezinahî + blocks: Yên te astengkirî + bookmarks: Şûnpel + csv: CSV + domain_blocks: Navperên astengkirî + lists: Rêzok + mutes: Te bêdeng kir + storage: Bîrdanaka medyayê featured_tags: - add_new: زیادکردنی نوێ + add_new: Yeka nû tevlî bike errors: - limit: ئێوە ژمارەی بڕی ڕێگەپێدراوەی هاشتاگت هەیە - hint_html: " هاشتاگی تایبەت چییە؟ بە شێوەیەکی دیار نیشان دەدرێت لەسەر پرۆفایلی گشتی و ڕێگە بە خەڵک دەدات بۆ گەڕان لە نووسراوە گشتیەکانت بە تایبەتی لەژێر ئەو هاشتاگە. ئامرازێکی زۆر باشن بۆ پاراستنی کاری داهێنەرانە یان پڕۆژەی درێژخایەنی ئێوە." + limit: Te jixwe berê pirtirîn hashtag destnîşan kiriye + hint_html: " Hashtagên destnîşankirî çi ne? Ew bi eşkere li ser profîla te ya gelemperî têne xuyakirin û dihêlin ku mirov bi taybetî di binê wan hashtagan de li şandiyên te yên gelemperî bigere. Ew ji bo şopandina karên afirîner an projeyên demdirêj amûrek girîng in." filters: contexts: - account: پرۆفایلەکان - home: ماڵەوە - notifications: ئاگادارییەکان - public: پێرستی گشتی نووسراوەکان - thread: گفتوگۆکان + account: Profîl + home: Serrûpel û rêzok + notifications: Agahdarî + public: Demnameya gelemperî + thread: Axaftin edit: - title: دەستکاری فلتەر + title: Parzûnê serrast bike errors: - invalid_context: هیچ دەقێکی نادروست نییە یان بێ بڕوایە - invalid_irreversible: فلتەرکردنی بێ گەڕانەوە تەنها کار دەکات لەگەڵ چوارچێوەی ماڵ یان ئاگانامەکان + invalid_context: Naverok tune ye yan jî nederbasdar tê peydakirin + invalid_irreversible: Tenê qadên agahdarkirinê û serrûpel bi parzûna bêveger re dixebitin index: - delete: سڕینەوە - empty: هیچ پالێوەرێکت نیە. - title: فلتەرەکان + delete: Jê bibe + empty: Parzûnên te tune ne. + title: Parzûn new: - title: زیادکردنی فلتەری نوێ + title: Parzûnek nû li zêde bike footer: - developers: پەرەپێدەران - more: زیاتر… - resources: سەرچاوەکان - trending_now: هەوادارانی ئێستا + developers: Pêşdebir + more: Bêtir… + resources: Çavkanî + trending_now: Niha rojevê de generic: - all: هەموو - changes_saved_msg: گۆڕانکاریەکان بە سەرکەوتوویی هەڵگیرا! - copy: ڕوونووس - delete: سڕینەوە - order_by: ڕێکخستن بەپێی - save_changes: گۆڕانکاریەکان بپارێزە + all: Hemû + changes_saved_msg: Guhertin bi serkeftî tomar bû! + copy: Jê bigire + delete: Jê bibe + none: Ne yek + order_by: Rêz bike bi + save_changes: Guhertinan tomar bike + today: îro validation_errors: - one: شتێک هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەکەی خوارەوە بخشێنەوە - other: هێشتا تەواو ڕاست نیە تکایە چاو بە هەڵەی %{count} خوارەوە بخشێنەوە + one: Tiştek hîn ne rast e! Ji kerema xwe çewtiya li jêr di ber çavan re derbas bike + other: Tiştek hîn ne rast e! Ji kerema xwe %{count} çewtî li jêr di ber çavan re derbas bike html_validator: - invalid_markup: 'نیشانەی HTML نادروستی تێدایە: %{error}' + invalid_markup: 'di nav de nîşana HTML a nederbasdar heye: %{error}' imports: + errors: + over_rows_processing_limit: ji %{count} zêdetir rêzok hene modes: - merge: یەکخستن - merge_long: هێشتنەوەی تۆمارەکانی بەردەست و زیادکردنی دانەنوێکان - overwrite: نووسینەوە - overwrite_long: دراوەکانی ئێستا بسڕەوە و دراوی نوێ زیاد بکە - preface: دەتوانیت زانیاری هاوردە بکەیت کە ناردوتە تە لە ڕاژەیەکی ترەوە، وەک لیستی ئەو کەسانەی کە تۆ بەدوای دادەکەویت یان بەربەستت دەکەن. - success: داتاکەت بە سەرکەوتوویی بارکرا و ئێستا لە کاتی خۆیدا پرۆسێس دەکرێت + merge: Bi hev re bike + merge_long: Tomarên heyî bigire û yên nû lê zêde bike + overwrite: Bi ser de binivsîne + overwrite_long: Tomarkirinên heyî bi yên nû re biguherîne + preface: Tu dikarî têxistin ê daneyên bike ku te ji rajekareke din derxistî ye wek rêzoka kesên ku tu dişopîne an jî asteng dike. + success: Daneyên te bi serkeftî hat barkirin û di dema xwe de were pêvajotin types: - blocking: لیستی بلۆککردن - bookmarks: نیشانەکان - domain_blocking: لیستی بلۆککردنی دۆمەین - following: لیستی خوارەوە - muting: لیستی کپکردنەوە - upload: بارکردن - in_memoriam_html: لەیادبوون. + blocking: Rêzoka astengkirinê + bookmarks: Şûnpel + domain_blocking: Rêzoka navperên astengkirî + following: Rêzoka yên dişopînin + muting: Rêzoka bêdengiyê + upload: Bar bike + in_memoriam_html: Di bîranînê de. invites: - delete: لەکارخستن - expired: بەسەرچووە + delete: Neçalak bike + expired: Dema wê qediya expires_in: - '1800': ٣٠ خولەک - '21600': ٦ کاتژمێر - '3600': ١ کاتژمێر - '43200': ١٢ کاتژمێر - '604800': ١ هەفتە - '86400': ١ ڕۆژ - expires_in_prompt: هەرگیز - generate: دروستکردنی لینکی بانگهێشت - invited_by: 'بانگهێشتکرایت لەلایەن:' + '1800': 30 xulek + '21600': 6 demjimêr + '3600': 1 demjimêr + '43200': 12 demjimêr + '604800': 1 hefte + '86400': 1 roj + expires_in_prompt: Tu car + generate: Girêdana vexwendinê çê bike + invited_by: 'Tu hatî vexwendin ji hêla:' max_uses: - one: ١ بار - other: "%{count} بار" - max_uses_prompt: بێ سنوور - prompt: دروست کردن و هاوبەش کردنی لینکەکان لەگەڵ ئەوانی تر بۆ پێدانی چوونە ژوورەوە بۆ ئەم ڕاژە + one: 1 bikaranîn + other: "%{count} bikaranîn" + max_uses_prompt: Bê sînor + prompt: Girêdanan bi kesên din re çê bike û parve bike da ku bigihîjin vê rajekarê table: - expires_at: بەسەرچووە - uses: بەکارهاوردنەکان - title: بانگهێشتکردنی خەڵک + expires_at: Diqede + uses: Bikaranîn + title: Mirovan vexwîne lists: errors: - limit: تۆ گەیشتوویتە زۆرترین ڕێژەی لیستەکان + limit: Tu gihîştî hejmara rêzika a herî zêde + login_activities: + authentication_methods: + otp: sepandina rastandina du-gavî + password: pêborîn + sign_in_token: koda ewlehiyê bo e-nameyê + webauthn: kilîtên ewlehiyê + description_html: Heke çalakiya ku nas nakî dibînî, çêtir dibe ku pêborîna xwe biguherînî û rastandina du-gavî çalak bikî. + empty: Dîroka piştrastkirinê tune ye + failed_sign_in_html: Hewldana têketinê ser neket bi%{method} ji %{ip} (%{browser}) de + successful_sign_in_html: Bi serkeftî têketin bi %{method} ji %{ip}(%{browser}) çêbû + title: Dîroka piştrastkirinê media_attachments: validations: - images_and_video: ناتوانرێت لەگەڵ ئەو نووسراوانە کە وێنەی لەگەڵە ،ڤیدیۆ بار بکەی - not_ready: ناتوانێت فایلەکان هاوپێچ بکات کە پرۆسەکەیان تەواو نەکردووە. دووبارە هەوڵ بدە! - too_many: ناتوانێت زیاتر لە ٤ فایل هاوپێچ بکات + images_and_video: Nikare vîdyoyekê tevlî şandiyê ku berê wêne tê de heye bike + not_ready: Nikare pelên ku pêvajo neqedandî ve girêbide. Di demekê de dîsa biceribîne! + too_many: Zedetirî 4 pelan nayê tevlêkirin migrations: - acct: گوێزرایەوە بۆ - cancel: پاشگەزبوونەوە لە دووبارە ئاڕاستەکردنەوە - cancel_explanation: هەڵوەشاندنەوەی دووبارە ئاڕاستەکردنەوە هەژمارەی ئێستات چالاک دەکات، بەڵام ئەو شوێنکەوتوانی ناهێنە وه کە گواستراوەتەوە بۆ ئەو هەژمارە. - cancelled_msg: سەرکەوتووانە دووبارە ئاڕاستەکردنەوەکەی بەتاڵ کردەوە. + acct: Hate lîvandin bo + cancel: Beralîkirinê red bike + cancel_explanation: Dev berdan ji beralîkirinê dê ajimêra te ya heyî ji nû ve çalak bike, lê şopgerên ku li wê ajimêrê hatine livandin venagerêne. + cancelled_msg: Beralîkirin bi serkeftî hate betal kirin. errors: - already_moved: هەمان ئەژمێرە کە تۆ پێشتر گواستووتە بۆ - missing_also_known_as: نازناوێکی ئەم هەژمارە نییە - move_to_self: ناتوانێت هەژمارەی ئێستا بێت - not_found: نادۆزرێتەوە - on_cooldown: تۆ دەبێت چاوەڕوان بیت - followers_count: شوێنکەوتوانی کاتی لە حاڵی گواستنەوە - incoming_migrations: گواستنەوە لە هەژمارەی جیاواز - incoming_migrations_html: بۆ گواستنەوە لە هەژمارەیەکی ترەوە بۆ ئەم هەژمارە، سەرەتا پێویستە ئەژمێرێک دروست بکەی. - moved_msg: هەژمارەکەت ئێستا دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct} و شوێنکەوتوانی تۆ گواستراوەتەوە بۆ ئەوێ. - not_redirecting: هەژمارەکەت لە ئێستادا دووبارە ئاڕاستە ناکرێتەوە بۆ هیچ هەژمارەیەکی دیکە. - on_cooldown: تۆ بەم دواییە هەژمارەکەت کۆچ کردووە. ئەم کارە لە رۆژەکانی %{count} دا جارێکی تر بەردەست دەبێت. - past_migrations: گەواستنەوەکانی ڕابردوو - proceed_with_move: شوێنکەوتوان بگوازەوە - redirected_msg: ئەژمێرەکەت ئێستا دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct}. - redirecting_to: ئەژمێرەکەت دووبارە ئاڕاستە دەکرێتەوە بۆ %{acct}. - set_redirect: دووبارە ئاڕاستەکردن ڕێک بخە + already_moved: heman ajimêr e ku te berê lê bar kiriye ye + missing_also_known_as: ne nasnavê vê ajimêrê ye + move_to_self: nikare bibe ajimêra heyî + not_found: nehate dîtin + on_cooldown: Tu li ser sarbûnê yî + followers_count: Di dema tevgerê de şopîner + incoming_migrations: Derbasî ajimêreke din bibe + incoming_migrations_html: Ji bo ku tu ji ajimêrek din bar bikî vê yekê, pêşî divê tu ajimêreke bi bernaveke çê bike . + moved_msg: Ajimêrate niha li %{acct} tê rêve kirin (beralîkirin) û şopînerên te têne livandin bo wê. + not_redirecting: Ajimêra te niha bo ajimêreke din nayê beralîkirin. + on_cooldown: Te herî dawî dev ji ajimêra xwe berda. Ev fonksiyon dê di %{count} rojan de dîsa peyda bibe. + past_migrations: Koçên berê + proceed_with_move: Şopîneran bilivîne + redirected_msg: Ajimêra te niha bo %{acct} tê beralîkirin. + redirecting_to: Ajimêra te niha bo %{acct} tê beralîkirin. + set_redirect: Beralîkirin saz bike warning: - backreference_required: پێویستە سەرەتا هەژمارە نوێیەکە بۆ گەڕانەوەی سەرچاوەی ئەم هەژمارە رێکوپێک بکرێت - before: 'پێش بەردەوام بوون، تکایە ئەم تێبینیانە بە وردی بخوێننەوە:' - cooldown: دوای گواستنەوە ماوەیەکی چاوەڕوان دەبێ کە لە ماوەی ئەو دا نابێت جارێکی تر بگوازیتەوە - disabled_account: هەژمارەی ئێستات دوای ئەوە بە تەواوی بەکارناهیێت. هەرچۆنێک بێت، تۆ دەستگەیشتنت دەبێت بۆ ناردنەدەرەوەی داتا و هەروەها دووبارە کاراکردنەوە. - followers: ئەم کردارە هەموو شوێنکەوتوانی هەژمارەی ئێستا دەگوازێتەوە بۆ هەژمارەی نوێ - only_redirect_html: ئێوە دەتانن هەژمارەکەی خۆتان بیخەنە سەر هەژمارەیەکی دیکە. - other_data: هیچ داتایەکی تر بە خۆکارانە ناگوێزرێتەوە - redirect: پرۆفایلی هەژمارەی ئێستات بە ئاگادارییەکی ئاراستەکەراوە نوێ دەکرێتەوە و دووردەکەویت لە گەڕانەکان + backreference_required: Pêdivî ye ku ajimêra nû wekî referanseke paşîn a vê ajimêrê were sazkirin + before: 'Berî ku tu berdewam bikî, ji kerema xwe re van nîşaneyan bi baldarî bixwîne:' + cooldown: Piştî livandin demek heye ku di wê navberê de tu yê nikaribe dîsa bilive + disabled_account: Ajimêra te ya heyî dê paşê bi tevahî neyê bikaranîn. Lê belê, tu dikarî bigihîje derxistinê daneyan û hem jî ji nû ve çalakkirinê. + followers: Ev çalakî dê hemî şopînerên ji ajimêra heyî bar bike ajimêra nû + only_redirect_html: Wekî din, tu dikarî tenê beralîkirinekê li ser profîla xwe bicîh bike . + other_data: Daneyên din dê bi xweberî neyên livandin + redirect: Profîla ajimêra te ya heyî dê bi nîşeyeke beralîkirinê were nûve kirin û ji lêgerînan were bi dûrxistin moderation: - title: بەڕێوەبردن + title: Çavdêrî move_handler: - carry_blocks_over_text: ئەم بەکارهێنەرە گواسترایەوە بۆ %{acct}، تۆ بلۆکت کردووە. - carry_mutes_over_text: ئەم بەکارهێنەرە گواسترایەوە بۆ %{acct}، تۆ بێدەنگت کردووە. - copy_account_note_text: 'ئەم بەکارهێنەرە لە %{acct} ەوە گواستیەوە، تێبینیەکانی پێشووت دەربارەیان بوون:' + carry_blocks_over_text: Ev bikarhêner ji %{acct}, ku te astengkirî bû, bar kir. + carry_mutes_over_text: Ev bikarhêner ji %{acct}, ku te bê deng kirbû, bar kir. + copy_account_note_text: 'Ev bikarhêner ji %{acct} livî ye, li vir nîşeyên te yên berê ku te di derbarê wî/ê de nivîsandiye:' notification_mailer: + admin: + sign_up: + subject: "%{name} tomar bû" digest: - action: پیشاندانی هەموو ئاگانامەکان - body: ئەمە کورتەی ئەو نامانەی لە دەستت دا لە دوا سەردانیت لە %{since} - mention: "%{name} ئاماژەی بە تۆ کرد لە:" + action: Hemû agahdariyan nîşan bide + body: Li vir kurteyeke peyamên ku li te derbasbûnd ji serdana te ya dawîn di %{since} de + mention: "%{name} behsa te kir:" new_followers_summary: - one: لەکاتێک کە نەبوو ،شوێنکەوتوویێکی نوێت پەیداکرد،ئافەرم! - other: کاتیک کە نەبووی %{count} شوێنکەوتوویێکی نوێت پەیدا کرد! چ باشە! + one: Herwiha, dema tu dûr bûyî te şopînerek nû bi dest xist! Bijî! + other: Herwiha, dema tu dûr bûyî te %{count} şopînerek nû bi dest xist! Bijî! subject: - one: "ئاگاداریێکی نووی لە دوایین سەردانی ئێوە\U0001F418" - other: "%{count} ئاگاداریێکی نوێ لە دوایین سەردانی ئێوە\U0001F418" - title: لە غیابی تۆدا... + one: "1 agahdarî ji serdana te ya herî dawî ji \U0001F418" + other: "%{count} agahdarî ji serdana te ya herî dawî ji \U0001F418" + title: Di tunebûna te de... favourite: - body: 'دۆخت پەسەندکراوە لەلایەن %{name}:' - subject: "%{name} دۆخی تۆی پەسەند کرد" - title: دڵخوازکردنی نوێ + body: 'Şandiya te hate bijartin ji alî %{name} ve:' + subject: "%{name} şandiya te hez kir" + title: Bijarteyek nû follow: - body: "%{name} ئێستا شوێنکەوتوو ئێوەیە!" - subject: "%{name} ئێستا شوێنکەوتوو ئێوەیە" - title: شوێنکەوتوانی نوێ + body: "%{name} niha te dişopîne!" + subject: "%{name} niha te dişopîne" + title: Şopînereke nû follow_request: - action: بەڕێوەبردنی داوای شوێنکەوتن - body: "%{name} داوای کردووە کە شوێنت بکەوێت" - subject: 'چاوەڕوانی شوێنکەوتووە: %{name}' - title: داواکاری شوینکەوتنی نوێ + action: Daxwazên şopandinê bi rê ve bibe + body: "%{name} daxwaza şopandina te kir" + subject: Şopîner li bendê ye:%{name} + title: Daxwazeke şopandinê ya nû mention: - action: وەڵام - body: "%{name} لێرە ناوی ئێووەی بردووە:" - subject: "%{name} لێرە ناوی ئێووەی بردووە" - title: ناوبراوەی نوێ + action: Bersivê bide + body: 'Tu hatiyî qalkirin ji aliyê %{name}:' + subject: Tu hatiye qalkirin ji aliyê %{name} + title: Qalkirina nû + poll: + subject: Rapirsî ji hêla %{name} ve qediya reblog: - body: "%{name} نووسیسراوەکەی ئێوەی توتاندەوە:" - subject: "%{name} نووسراوەکەتی دووبارە توتاند" - title: توتاندنەوەی نوێ + body: 'Şandiye te hate bilindkirin ji hêla %{name} ve:' + subject: "%{name} şandiya te bilind kir" + title: Bilindkirinên nû + status: + subject: "%{name} niha şand" + update: + subject: "%{name} şandiyek guhert" notifications: - email_events: رووداوەکان بۆ ئاگاداری ئیمەیلی - email_events_hint: 'ئەو ڕووداوانە دیاریبکە کە دەتەوێت ئاگانامەکان وەربگری بۆ:' - other_settings: ڕێکبەندەکانی ئاگانامەکانی تر + email_events: Bûyer bo agahdariyên e-nameyê + email_events_hint: 'Bûyera ku tu dixwazî agahdariyan jê wergerî hilbijêre:' + other_settings: Sazkariya agahdariyên din + number: + human: + decimal_units: + format: "%n%u" + units: + billion: B + million: M + quadrillion: Q + thousand: Hezar + trillion: Trîlyon otp_authentication: - code_hint: کۆدێک داخڵ بکە کە دروست کراوە لەلایەن ئەپی ڕەسەنایەتیەوە بۆ دڵنیابوون - description_html: ئەگەر تۆ هاتنەژوورەوەی دوو قۆناغی بە یارمەتی ئەپێکی پەسەندکردن چالاک بکەن، پێویستە بۆ چوونەژوورەوە ، بە تەلەفۆنەکەتان کە کۆدیکتان بۆ دروستدەکات دەستپێگەیشتنتان هەبێت. - enable: چالاککردن - instructions_html: " QR بدۆزەوە بۆ ناو ڕەسەنایەتی گووگڵ یان کاربەرنامەی TOTP هاوشێوە لەسەر تەلەفۆنەکەت . لە ئێستاوە، ئەو کاربەرنامەیە نیشانە دروست دەکات کە دەبێت داخڵیان بکەیت لەکاتی چوونە ژوورەوە." - manual_instructions: 'ئەگەر ناتوانیت کۆدی QR سکان بکەیت و پێویستە بە دەستی تێبنووسە، ئەمە نهێنیی دەقی سادەیە:' - setup: ئامادەکردن - wrong_code: کۆدی داخڵکراو نادروستە! ئایا کاتی ڕاژە و کاتی ئامێر راستن? + code_hint: Ji bo pejirandinê têkeve koda te ya ku ji alîyê sepana piştraskirinê va hatiye çê kirin + description_html: Heke tubi piştrastkirina du-faktorî re sepana piştrastkirinê çalak bikî, ji bo têketinê hewceye telefona te li ba te be, ji bona têketinê te ra nîşaneyan çê bike. + enable: Çalak bike + instructions_html: "Vê kodê QR kontrol bike bi riya Google Authenticator an jî sepanekeTOTP li ser têlefona xwe . Ji niha û pê ve, ew sepan dê nîşanên ku divê tu binivîsîne dema têketinê de biafirîne." + manual_instructions: 'Heke tu nikarî bî koda QR venêrî û pêwîst be bi dest bikevî, ev nivîsê hêsan ê veşartî:' + setup: Saz bike + wrong_code: Koda têketinê betal e! Dema rajekarê û dema amûrê raste? pagination: - newer: نوێتر - next: داهاتوو - older: کۆنتر - prev: پێشوو + newer: Nûtir + next: Pêş + older: Kevntir + prev: Paş + truncate: "…" polls: errors: - already_voted: تۆ پێشتر دەنگت داوە لەسەر ئەم ڕاپرسییە - duplicate_options: خاوەنی ئایەمی دووبارە - duration_too_long: لە داهاتوو زۆر دوورە - duration_too_short: لە داهاتوو زۆر نزیکە - expired: ڕاپرسیەکە پێشتر کۆتایی هاتووە - invalid_choice: بژاردەی دەنگدانی هەڵبژێردراو بوونی نییە - over_character_limit: ناتوانێت هەر کامێکی درێژتر بێت لە %{max} نووسە - too_few_options: پێویستە زیاتر لە یەک بڕگەی هەبێت - too_many_options: ناتوانێت زیاتر لە %{max} بەندی تێدا بێت + already_voted: Te berê deng dabû vê rapirsîyê + duplicate_options: tiştên dubare tê de hene + duration_too_long: di pêşerojê de pir dûr e + duration_too_short: gelek zû ye + expired: Jixwe rapirsî dawî bû + invalid_choice: Vebijarka dengdanê ya bijartî tune + over_character_limit: her yek ji %{max} karakterê dirêjtirîn nabe + too_few_options: divê ji yekî zêdetir tişt hebin + too_many_options: nikare ji %{max} hêmanan bêhtir pêk bê preferences: - other: هی تر - posting_defaults: بڵاوکردنی بنەڕەتەکان - public_timelines: هێڵی کاتی گشتی + other: Yên din + posting_defaults: Berdestên şandiyê + public_timelines: Demnameya gelemperî reactions: errors: - limit_reached: سنووری کاردانه وه ی جیاواز گه یشت - unrecognized_emoji: ئیمۆجییەکی ناسراو نییە + limit_reached: Sînorê reaksiyonên cihêrengî gihîşte asta dawî + unrecognized_emoji: emojîyeke ne naskirî ye relationships: - activity: چالاکی هەژمارە - dormant: ناچالاک - follow_selected_followers: شوێنکەوتوان دیاریکراو بکە - followers: شوێنکەوتوان - following: شوێن‌کەوتووی - invited: بانگهێشتەکان - last_active: دوایین چالاکی - most_recent: تازەترین - moved: گوێزرایەوە - mutual: دوولایەنە - primary: سەرەتایی - relationship: پەیوەندی - remove_selected_domains: لابردنی هەموو شوێنکەوتوانی دۆمەینە دیاریکراوەکان - remove_selected_followers: شوێنکەوتوانی دیاریکراو لابدە - remove_selected_follows: کۆتایی بە بەدوادانەچوی بەکارهێنەرە دیاریکراوەکان بدە - status: دۆخی هەژمارە + activity: Çalakiya ajimêrê + dormant: Xewok + follow_selected_followers: Şopînerên hilbijartî bişopîne + followers: Şopîner + following: Dişopîne + invited: Vexwendî + last_active: Çalakiya dawî + most_recent: Herî dawî + moved: Barkirî + mutual: Hevpar + primary: Sereke + relationship: Pêwendî + remove_selected_domains: Hemû şopînerên ji navpera hilbijartî rake + remove_selected_followers: Şopînerên hilbijartî rake + remove_selected_follows: Bikarhênerên hilbijartî neşopîne + status: Rewşa ajimêr remote_follow: - acct: ناونیشانی هەژمارەی username@domainخۆت لێرە بنووسە - missing_resource: نەیتوانی URLی ئاراستەکردنەوەی پێویست بدۆزێتەوە بۆ ئەژمێرەکەت - no_account_html: هێشتا نەبووی بە ئەندام؟ لێرە دەتوانی هەژمارەیەک دروست بکەی - proceed: بەردەوام بە بۆ بەدواداچوون - prompt: 'تۆ بەدوای دا دەچیت:' - reason_html: " بۆچی ئەم هەنگاوە پێویستە؟ %{instance} لەوانەیە ئەو ڕاژەیە نەبێت کە تۆ تۆمارت کردووە، بۆیە پێویستە سەرەتا دووبارە ئاڕاستەت بکەین بۆ ڕاژەکاری ماڵەوەت." + acct: Navnîşana ajimêra xwe username@domain yê ku tu yê jê çalakî bikî binvsîne + missing_resource: Ji bona ajimêra te pêwistiya beralîkirina URLyê nehate dîtin + no_account_html: Ajimêra te tune? Tu dikarîli vir tomar bibe + proceed: Şopandinê bidomîne + prompt: 'Tu yê bişopînî:' + reason_html: "Ev gav ji bona çi pêwîst e?%{instance}rajekerên ku tu tomarkiriyî dibe ku tunebe, ji bona vê divê pêşî te beralîyê rajekera te bi xwe bikin." remote_interaction: favourite: - proceed: بۆ دڵخوازکردنی ئەم توتە - prompt: 'دەتەوێت ئەم تووتە تپەسەند بکەیت؛:' + proceed: Ber bi bijarteyê ve biçe + prompt: 'Tu dixwazî vê şandiyê bibijêrî:' reblog: - proceed: بەردەوام بە بۆ دووبارە توتاندن - prompt: 'دەتەوێت ئەم تووتە دووبارە بکەیتەوە:' + proceed: Bo bilindkirinê bidomîne + prompt: 'Tu dixwazî vê şandî ye bilind bikî:' reply: - proceed: بۆ وەڵامدانەوە - prompt: 'دەتەوێت ئەم تووتە وڵام بدەیتەوە:' + proceed: Bersivandinê bidomîne + prompt: 'Tu dixwazî bersiva vê şandiyê bidî:' + reports: + errors: + invalid_rules: rêbazên derbasdar nîşan nadê scheduled_statuses: - over_daily_limit: ئێوە لە سنووری ڕیپێدراوی %{limit} توتی ئەو رۆژە،خۆرتر ڕۆیشتوویت - over_total_limit: تۆ سنووری خشتەکراوی %{limit} ت بەزاندووە - too_soon: پێویستە بەرواری خشتەکراو لە داهاتوودا بێت + over_daily_limit: Te sînorê %{limit} şandiyên demsazkirî yên ji bo îro derbas kir + over_total_limit: Te sînorê %{limit} şandiyên demsazkirî derbas kir + too_soon: Dîroka bernamesazkirinê divê dîrokeke ji îro pêşvetir be sessions: - activity: دوایین چالاکی - browser: وێبگەڕ + activity: Çalakiya dawî + browser: Gerok browsers: - blackberry: بلاکبێری - chrome: کرۆم - edge: مایکرۆسۆفت ئیچ - electron: ئەلکترۆن - firefox: فایەرفۆکس - generic: وێبگەڕی نەناسراو - ie: ئینتێرنێت ئێکسپلۆرەر - micro_messenger: مایکرۆمێسنجەر - nokia: وێبگەڕی نۆکیا ئێس ٤٠ ئۆڤی - opera: ئۆپێرا - otter: ئۆتەر - phantom_js: فانتۆم جەی ئێس - qq: وێبگەڕی QQ - safari: سافری - uc_browser: وێبگەڕی UC - current_session: دانیشتنی ئێستا - description: "%{browser} لەسەر %{platform}" - explanation: ئەمانە وێبگەڕەکەن کە ئێستا چووەتە ژوورەوە بۆ ئەژمێری ماستۆدۆنی خۆت. - ip: ئای‌پی + alipay: Alipay + blackberry: Blackberry + chrome: Chrome + edge: Microsoft Edge + electron: Electron + firefox: Firefox + generic: Gerokeke nenas + ie: Internet Explorer + micro_messenger: MicroMessenger + nokia: Nokia S40 Ovi Browser + opera: Opera + otter: Otter + phantom_js: PhantomJS + qq: Geroka QQ + safari: Safari + uc_browser: Geroka UCB + weibo: Weibo + current_session: Danişîna heyî + description: "%{platform} ser %{browser}" + explanation: Gerokên tevnê di dema heyî de hene ku têketin kirine di ajimêra te ya Mastodon. + ip: IP platforms: - android: ئەندرۆید - blackberry: بلاکبێری - chrome_os: سیستەمی کارگێڕی کرۆم - firefox_os: سیستەمی کارگێڕی فایەرفۆکس - linux: لینۆکس - mac: ماک - other: سیستەمیکارگێڕی نەناسراو - windows: ویندۆز - windows_mobile: ویندۆزموبایل - windows_phone: ویندۆزفۆن - revoke: بەتاڵکردن - revoke_success: دانیشتن بەسەرکەوتوویی بەتاڵکرا - title: کۆبوونەوەکان + adobe_air: Adobe Air + android: Android + blackberry: Blackberry + chrome_os: Chrome OS + firefox_os: Firefox OS + ios: iOS + linux: Linux + mac: macOS + other: platforma nenas + windows: Windows + windows_mobile: Windows Mobile + windows_phone: Windows Phone + revoke: Rake + revoke_success: Danişîn bi serkeftî hate rakirin + title: Danîştin + view_authentication_history: Dîroka rastekirina ajimêra xwe bibîne settings: - account: هەژمارە - account_settings: ڕێکخستنەکانی هەژمارە - aliases: نازناوەی هەژمارە - appearance: ڕووخسار - authorized_apps: ئەپەکانی ڕێگەپێدراو - back: گەڕانەوە بۆ ماستۆدۆن - delete: سڕینەوەی هەژمارە - development: گەشەپێدان - edit_profile: دەستکاری پرۆفایل - export: ناردن زانیاری - featured_tags: هاشتاگی تایبەت - import: هاوردن - import_and_export: هاوردەکردن و ناردن - migrate: گواستنەوەی هەژمارە - notifications: ئاگادارییەکان - preferences: پەسەندەکان - profile: پرۆفایل - relationships: شوێنکەوتوو و شوێنکەوتوان - two_factor_authentication: کۆدی دووقۆناغی هاتنەژوور - webauthn_authentication: کلیلەکانی پاراستن + account: Ajimêr + account_settings: Sazkariyên ajimêr + aliases: Nûçikên ajimêra + appearance: Xuyang + authorized_apps: Rayedarê sepanan + back: Vegere bo Mastodon + delete: Jêbirina ajimêr + development: Pêşdebir + edit_profile: Profîlê serrast bike + export: Derxistinê daneyan + featured_tags: Hashtagên bijarte + import: Têxistin + import_and_export: Têxistin û derxistin + migrate: Barkirina ajimêrê + notifications: Agahdarî + preferences: Hilbijarte + profile: Profîl + relationships: Yên tê şopandin û şopîner + statuses_cleanup: Bi xweberî ve jêbirina şandiya + strikes: Binpêkirinên çavdêriyê + two_factor_authentication: Piştrastkirinê du-faktorî + webauthn_authentication: Kilîdên ewlehiyê statuses: attached: audio: - one: "%{count} دەنگ" - other: "%{count} دەنگ" - description: 'هاوپێچ: %{attached}' + one: "%{count} deng" + other: "%{count} deng" + description: 'Pêvek: %{attached}' image: - one: "%{count} وێنە" - other: "%{count} وێنەکان" + one: "%{count} wêne" + other: "%{count} wêne" video: - one: "%{count} ڤیدیۆ" - other: "%{count} ڤیدیۆکان" - boosted_from_html: توکراوەتەوە لەلایەن %{acct_link} - content_warning: 'ئاگاداری ناوەڕۆک: %{warning}' + one: "%{count} vîdyo" + other: "%{count} vîdyo" + boosted_from_html: Bilindkirî ji alî %{acct_link} ve + content_warning: 'Hişyariya naverokê: %{warning}' + default_language: Wekî zimanê navrûya bikarhêneriyê disallowed_hashtags: - one: 'هاشتاگی ڕێگەپێنەدراوەی تێدابوو: %{tags}' - other: 'هاشتاگەکانی ڕێگەپێنەدراوەی تێدابوو: %{tags}' + one: 'hashtagek bê maf tê de hebû: %{tags}' + other: 'hashtagek bê maf tê de hebû: %{tags}' + edited_at_html: Di %{date} de hate serrastkirin errors: - in_reply_not_found: ئەو دۆخەی کە تۆ هەوڵی وەڵامدانەوەی دەدەیت وادەرناکەوێت کە هەبێت. - open_in_web: کردنەوە لە وێب - over_character_limit: سنووری نووسەی %{max} تێپەڕێنرا + in_reply_not_found: Ew şandiya ku tu dikî nakî bersivê bide xuya nake an jî hatiye jêbirin. + open_in_web: Di tevnê de veke + over_character_limit: sînorê karakterê %{max} derbas kir pin_errors: - limit: تۆ پێشتر زۆرترین ژمارەی توتتی چەسپیوەت هەیە - ownership: نووسراوەکانی تر ناتوانرێ بسەلمێت - reblog: بەهێزکردن ناتوانرێت بچەسپێ + direct: Şandiyên ku tenê ji bikarhênerên qalkirî re têne xuyangkirin, nayê derzîkirin + limit: Jixwe te mezintirîn hejmara şandîyên xwe derzî kir + ownership: Şandiya kesekî din nay derzî kirin + reblog: Ev şandî nayê derzî kirin poll: total_people: - one: "%{count} کەس" - other: "%{count} خەڵک" + one: "%{count} kes" + other: "%{count} kes" total_votes: - one: "%{count} دەنگ" - other: "%{count} دەنگەکان" - vote: دەنگ - show_more: زیاتر پیشان بدە - show_newer: نوێتر پیشان بدە - show_older: پیشاندانی کۆنتر - show_thread: نیشاندانی ڕشتە - sign_in_to_participate: بچۆ ژوورەوە بۆ بەشداریکردن لە گفتوگۆکەدا + one: "%{count} deng" + other: "%{count} deng" + vote: Deng bide + show_more: Bêtir nîşan bide + show_newer: Nûtirîn nîşan bide + show_older: Kevntirîn nîşan bide + show_thread: Mijarê nîşan bide + sign_in_to_participate: Ji bo tevlî sohbetê bibî xwe tomar bike + title: "%{name}%{quote}" visibilities: - private: شوێنکەوتوانی تەنها - private_long: تەنها بۆ شوێنکەوتوانی پیشان بدە - public: گشتی - public_long: هەموو کەس دەتوانێت ببینێت - unlisted: پێرست نەبووە - unlisted_long: هەموو کەس دەتوانێت بیبینێت، بەڵام لە هێڵی کاتی گشتی دا نەریزراوە + direct: Rasterast + private: Tenê şopîneran + private_long: Tenê bo şopîneran nîşan bide + public: Gelemperî + public_long: Herkes dikare bibîne + unlisted: Nerêzokkirî + unlisted_long: Herkes dikare bibîne, lê di demnameya gelemperî de nayê rêz kirin + statuses_cleanup: + enabled: Şandiyên berê bi xweberî va jê bibe + enabled_hint: Gava ku ew gihîştibe sînorê temenê diyarkirî, şandiyên te bi xweberî jê dibe, ji bilî van awareteyên jêrîn + exceptions: Awarte + explanation: Ji ber ku jêbirina şandiyan pêvajoyeke biha ye, ev hêdî hêdî bi demê re tê kirin dema ku rajekar wekî din mijûl nebe. Ji ber vê sedemê, dibe ku şandiyên te demek şûnda ku bigihîjin sînorê temenê wê werin jêbirin. + ignore_favs: Ecibandinan paşguh bike + ignore_reblogs: Bilindkirinê piştguh bike + interaction_exceptions: Awarteyên li ser bingehên têkiliyan + interaction_exceptions_explanation: Bizanibe ku heke şandiyeke ku ji binî ve têkeve jêrî bijare an bilindkirin ê piştî ku carek din di ser wan re derbas bibe, garantiyek tune ku werin jêbirin. + keep_direct: Peyamên rasterast veşêre + keep_direct_hint: Tu peyamên te yekcar jê naçe + keep_media: Peyamên bi pêvekên medyayê ve ne biveşêre + keep_media_hint: Yek ji peyamên te yê ku bi pêvekên medyayê ve ne jê nabe + keep_pinned: Peyamên xwe yên ku hatine derzîkirî veşêre + keep_pinned_hint: Yek ji peyamên te yê derzîkirî jê nabe + keep_polls: Rapirsîyan veşêre + keep_polls_hint: Yek ji rapirsiyên te jê nabe + keep_self_bookmark: Şandiyên ku wek şûnpel hatine tevlêkirin veşêre + keep_self_bookmark_hint: Şandî heke te wek şûnpel tomar kiriye we neyê jêbirin + keep_self_fav: Şandiyên ku te eciband veşêre + keep_self_fav_hint: Ger te şandiyên xwe ecibandibe jê nabe + min_age: + '1209600': 2 hefte + '15778476': 6 meh + '2629746': 1 meh + '31556952': 1 sal + '5259492': 2 meh + '604800': 1 hefte + '63113904': 2 sal + '7889238': 3 meh + min_age_label: Şêmûga demê + min_favs: Peyamên ku ji wê zêdetir hatine ecibandin veşêre + min_favs_hint: Şandî ku ji evqas hezkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe + min_reblogs: Şandiyên ku bêtir hatine bilindkirin veşêre + min_reblogs_hint: Şandî ku ji ji vê hejmarê bêtir bilindkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe stream_entries: - pinned: توتی چەسپکراو - reblogged: بەهێزکردن - sensitive_content: ناوەڕۆکی هەستیار + pinned: Şandiya derzîkirî + reblogged: bilindkirî + sensitive_content: Naveroka hestiyarî tags: - does_not_match_previous_name: لەگەڵ ناوی پێشوو یەک ناگرێتەوە + does_not_match_previous_name: bi navê berê re li hev nayê terms: body_html: | -

سیاسەتی تایبەت

-

چ زانیاریێک کۆ دەکەینەوە؟

-
    -
  • زانیاری ئەژمێری بنەڕەتی: ئەگەر تۆ لەسەر ئەم ڕاژەی تۆماربکەیت، لەوانەیە داوات لێبکرێت ناوی بەکارهێنەر، ناونیشانی ئیمەیڵ و نهێنوشە تێبنووسیت. هەروەها دەتوانیت زانیاری پرۆفایلی زیاتر تێبنووسی ت وەک ناوی پیشاندان و ژیاننامە، و بارکردنی وێنەی پرۆفایل و وێنەی سەرپەڕە. ناوی بەکارهێنەر، ناوی پیشاندان، ژیاننامە، وێنەی پرۆفایل و وێنەی سەرپەڕە هەمیشە بە ئاشکرا لیست کراوە.
  • -
  • پۆستەکان، بەدواکەوتن و زانیاری گشتی : لیستی ئەو کەسانەی کە پەیڕەوی دەکەیت بە ئاشکرا لیست کراوە، هەمان شت بۆ شوێنکەوتەکانت ڕاستە. کاتێک ئیمەیڵێکت پێشکەش کرد، بەروار و کات خەزن کراوە و هەروەها ئەو بەرنامەیەی کە نامەکەت لەوە پێشکەش کردووە. نامەکان لەوانەیە هاوپێچی میدیای تێدابێت، وەک وێنە و ڤیدیۆ. گشتی و لیستە نەکراوەکان بابەتەکان بە ئاشکرا بەردەستن. کاتێک بابەتێک پێشکەش دەکەیت لەسەر پرۆفایلەکەت، کە هەروەها زانیاری بەردەستی گشتیە. بابەتەکانت دەگەیەنینە شوێنکەوتەکانت، لە هەندێک حاڵەتدا مانای وایە دەگەیەنینە ڕاژەکاری جیاواز و کۆپیەکان لەوێ هەڵگیراون. کاتێک بابەتەکان دەسڕیتەوە، ئەمە بە هەمان شێوەیە دەگەیەنیتە شوێنکەوتوانی خۆت. کاری سەرلێبڕین یان بە دڵنییاکردنی پۆستی تر هەمیشە گشتیە.
  • -
  • ڕاستەوخۆ و تەنها شوێنکەوتوانی بابەتەکان: هەموو بابەتەکان خەزن کراون و لە ڕاژەکارەکە دا پرۆسەکراون. پۆست تەنها شوێنکەوتوانی خۆت دەگەیەنینە شوێنکەوتوانی خۆت و بەکارهێنەران کە تێیدا باس دەکرێت، و پۆستی ڕاستەوخۆش تەنها دەگەیەنینە ئەو بەکارهێنەرانەی کە ئاماژەیان پێکراوە لە هەندێک حاڵەتدا واتە دەگەیەنینە ڕاژەی جیاوازەکان و کۆپیەکان لەوێ هەڵگیراون ئێمە هەوڵی باوەڕێکی باش دەکەین بۆ سنووردارکردنی گەیشتن بەو پۆستانە تەنها بۆ کەسانی ڕێگەپێدراو، بەڵام لەوانەیە ڕاژەکارەکانی تر سەرکەوتوو نەبوون. بۆیە گرنگە پێداچوونەوە بە سێرڤەرەکان بکەیت کە شوێنکەوتوانی تۆ هی ئەوەن. لەوانەیە بژاردەیەک بگۆڕیت بۆ پەسەندکردن و ڕەتکردنەوەی شوێنکەوتوانی نوێ بە دەستی لە ڕێکبەندەکان. تکایە لە بیرت بێت کە کارپێکەرەکانی سێرڤەرەکە و هەر خزمەتکاری وەرگرێک لەوانەیە ئەم جۆرە نامانە ، و وەرگرەکان لەوانەیە گرتەی شاشە یان کۆپی بکەن یان بە پێچەوانەوە دووبارە بەشداری پێبکەن. هیچ زانیاریەکی مەترسیدار لەسەر ماستۆدۆن بڵاو
  • -
  • ئای پی و مێتاداتای تر: کاتێک دەچیتە ژوورەوە، ئێمە ئەو ئای پی ە تۆمار دەکەین کە تۆ لە ناوی ەوە داخڵ تدەکەیت، هەروەها ناوی بەرنامەی وێبگەڕەکەت. هەموو ئەو کۆکراوانەی لە کۆبوونەوەکاندا هەن بۆ پێداچوونەوە و بەتاڵکردنەوەت لە ڕێکبەندەکان. نوێترین ناونیشانی IP بەکارهێنراوە خەزن کراوە بۆ ١٢ مانگ. هەروەها لەوانەیە ئێمە مادە ڕاژەکارەکان بهێڵین کە ئای پی ئەدرێسی هەموو داواکارییەک بۆ ڕاژەکارەکانمان
  • -
- < hr="spacer" /> - -

ئێمە زانیاری ئێوەمان بۆ چییە؟

- -

ئەو زانیاریانەی لە ئێوە کۆی دەکەین لەوانەیە بەم ڕێگایانە بەکار بهێنرێت:

+

Privacy Policy

+

What information do we collect?

    -
  • بۆ دابینکردنی ئەرکە سەرەکیەکانی ماستۆدۆن. دەتوانیت تەنها کارلێک بکەیت لەگەڵ ناوەڕۆکی کەسانی تر و ناوەڕۆکی خۆت پۆست بکەیت کاتێک دەچیتە ژوورەوە. بۆ نموونە، لەوانەیە شوێن کەسانی تر بکەویت بۆ بینینی پۆستە تێکەڵەکانیان لە تایم لاینی ماڵەوەی تایبەتی خۆت.
  • -
  • بۆ چاودێری کردنی کۆمەڵگا، بۆ نموونە بەراوردکردنی ناونیشانی IPەکەت لەگەڵ کەسانی ناسراو بۆ دیاریکردنی خۆدزینەوە یان پێشێلکاریتر.
  • -
  • ئەو ئیمەیڵەی کە تۆ دەستەبەرت کردووە لەوانەیە بەکاربێت بۆ ناردنی زانیاری، ئاگاداری دەربارەی کەسانی تر کە کارلێک دەکەن لەگەڵ ناوەڕۆکەکەت یان ناردنی نامەکانت، و وەڵامدانەوەی پرسیارکردنەکان، و/یان داواکارییان یان پرسیارەکانی تر.
  • +
  • Basic account information: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.
  • +
  • Posts, following and other public information: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.
  • +
  • Direct and followers-only posts: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. Please keep in mind that the operators of the server and any receiving server may view such messages, and that recipients may screenshot, copy or otherwise re-share them. Do not share any dangerous information over Mastodon.
  • +
  • IPs and other metadata: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.
- < hr="spacer" /> -

چۆن زانیاریەکەت دەپارێزین؟

+
-

ئێمە چەندین پێوانەی ئەمنی جۆراوجۆر جێبەجێ دەکەین بۆ پاراستنی سەلامەتی زانیاری ە تایبەتیەکانت کاتێک تۆ داخڵت کردووە یان پێشکەشکردن یان چوونە ژوورەوە بۆ زانیاری تایبەتی. لە نێوان شتەکانی تردا، دانیشتنی وێبگەڕەکەت، هەروەها ترافیکی نێوان کاربەرنامەکانت و API، بە SSL پارێزراوە، و نهێنوشەکەت بە بەکارهێنانی ئەلگاریتمی یەک-ڕێگەی بەهێز بە هاوسێکراوە. دەتوانیت سەلماندنی دوو-فاکتەر بەتوانا بکەیت بۆ زیاتر پاراستنی چوونە ژوورەوە بۆ ئەژمێرەکەت.

+

What do we use your information for?

- < hr="spacer" /> - < hr="spacer" /> - -

بیمەنامەی هێشتنەوە داتامان چییە؟

- -

ئێمە بە باشی هەوڵ بۆ باوەڕەکان

+

Any of the information we collect from you may be used in the following ways:

    -
  • سێرڤەری پاراستنی ناونووسەکان کە ناونیشانی ئای پی تێدایە بۆ هەموو داواکاریەکان بۆ ئەم سێرڤەرە، تا ئێستا وەک ئەو جۆرە لۆگانە پارێزراون، زیاتر لە 90 ڕۆژ.
  • -
  • ئای پیەکە بپارێزە کە پەیوەندی بە بەکارهێنەرە تۆمارکراوەکان هەیە زیاتر لە 12 مانگ.
  • +
  • To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.
  • +
  • To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.
  • +
  • The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.
-

دەتوانیت داواکاری و داگرتنی ئەرشیفی ناوەڕۆکەکەت بکەیت، لەوانە بابەتەکانت، هاوپێچەکانی میدیا، وێنەی پرۆفایل، و وێنەی سەرپەڕە.

-

تۆ دەتوانیت بە شێوەیەکی نائاسایی ئەژمێرەکەت بسڕیتەوە لە هەر کاتێکدا.

+
- < hr="spacer"/> +

How do we protect your information?

-

ئایا ئێمە کۆکیز بەکار بێنە؟

+

We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may enable two-factor authentication to further secure access to your account.

-

بەڵێ کۆکیزەکان فایلی بچووکن کە سایتێک یان دابینکەری خزمەتگوزاریەکەی دەیگوێزێتەوە بۆ هارد درایڤی کۆمپیوتەرەکەت لە ڕێگەی وێبگەڕەکەت (ئەگەر ڕێگەت پێ بدەیت). ئەم کۆکیزانە وێبسایتە بەتوانا دەکەن بۆ ناسینەوەی وێبگەڕەکەت و، ئەگەر ئەژمێرێکی تۆمارکراوت هەیە، بیبەستە بە ئەژمێری تۆمارکراو.

+
-

کۆکیز بەکاربێنە بۆ تێگەیشتن و هەڵگرتنی پەسەندیەکانی تۆ بۆ سەردانەکانی داهاتوو.

+

What is our data retention policy?

- < hr="spacer" /> +

We will make a good faith effort to:

-

> ئایا هیچ زانیارییەک بۆ حزبەکانی دەرەوە ئاشکرا دەکەین؟ +
    +
  • Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 90 days.
  • +
  • Retain the IP addresses associated with registered users no more than 12 months.
  • +
-

ئێمە زانیاریە تایبەتەکانت نافرۆشین، بازرگانی دەکەین، یان ناگوازرێتەوە بۆ حزبەکانی دەرەوە. ئەمە لایەنی سێیەمی باوەڕپێکراو ی تێدا نییە کە یارمەتیمان دەدات لە کارپێکردنی سایتەکەمان، ئەنجامدانی کارەکانمان، یان خزمەتکردنی ئێوە، هەتا ئەو حزبانە ڕازی بن بە نهێنی هێشتنەوەی ئەم زانیاریانە. هەروەها لەوانەیە زانیاریەکەت بڵاوکەینەوه کاتێک پێمان وایە ئازادکردن گونجاوە بۆ پابەندبوون بە یاسا، سەپاندنی سیاسەتی ماڵپەڕەکەمان، یان پاراستنی مافەکانمان یان مافی تر، موڵک، یان سەلامەتی.

+

You can request and download an archive of your content, including your posts, media attachments, profile picture, and header image.

-

لەوانەیە ناوەڕۆکی گشتیت دابەزێنرابێت لەلایەن خزمەتگوزاریەکانی ترەوە لە تۆڕەکەدا. پۆستە گشتی و تەنها شوێنکەوتوانی تۆ دەگەیەنینە ئەو سێرڤەرانەی کە شوێنکەوتوانی تێیدا نواندووە، و پەیامی ڕاستەوخۆ دەگەیەنینە خزمەتکارەکانی وەرگرەکان، لە دووری ئەوەی کە شوێنکەوتوانی یان وەرگرەکان لە سێرڤەرێکی جیاواز لەم.

+

You may irreversibly delete your account at any time.

-

کاتێک تۆ مۆڵەت بە کاربەرنامەیەک بدەیت بۆ بەکارهێنانی ئەژمێرەکەت، بەگوێرەی مەودای مۆڵەتەکانت کە پەسەندت کردووە، لەوانەیە بچێتە ناو زانیاری پرۆفایلی گشتی، لیستی خوارەوەت، شوێنکەوتوانی تۆ، لیستەکانت، هەموو بابەتەکانت، و دڵراوەکانی تۆ. کاربەرنامەکان هەرگیز ناتوانن دەستگەیشتنیان هەبێت بە ناونیشانی ئیمەیڵ یان نهێنوشە.

- < hr="spacer" /> +
-

بەکارهێنانی سایت لەلایەن منداڵانەوە

+

Do we use cookies?

-

ئەگەر ئەم سێرڤەرە لە یەکێتی ئەورووپا یان ئی ئی ئی ئەی بێت: ماڵپەڕ، بەرهەم و خزمەتگوزارییەکانی ئێمە هەموویان ئاراستەی ئەو کەسانە دەکرێت کە بە لایەنی کەمەوە 16 ساڵ ن. ئەگەر تەمەنت لە خوار 16 ساڵەوە بێت، لە سەر پێداویستی GDPR (General Data Protection Regulation) ئەم سایتە بەکارمەهێنیت.

+

Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.

-

ئەگەر ئەم سێرڤەرە لە ئەمریکا بێت: ماڵپەڕ و بەرهەم و خزمەتگوزاریەکانمان هەمووی ئاراستەی ئەو کەسانە دەکرێت کە بە لایەنی کەمەوە 13 ساڵ ن. ئەگەر تۆ لە خوار تەمەنی 13 ساڵیەوەبیت، لە سەر داواکاریەکانی COPPA (Children's Online Privacy Protection act) ئەم سایتە بەکارمەهێنیت.

+

We use cookies to understand and save your preferences for future visits.

-

یاسا دەتوانێت جیاواز بێت ئەگەر ئەم سێرڤەرە لە دەسەڵاتی دادوەری تر بێت.

+
- < hr="spacer" /> +

Do we disclose any information to outside parties?

-

گۆڕانکاریەکان لە سیاسەتی تایبەتمەندیمان

+

We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety.

-

ئەگەر بڕیارمان دا سیاسەتی تایبەتمەندیمان بگۆڕین، ئەو گۆڕانکاریانە لەم پەڕەیە بڵاودەکەینەوە.

+

Your public content may be downloaded by other servers in the network. Your public and followers-only posts are delivered to the servers where your followers reside, and direct messages are delivered to the servers of the recipients, in so far as those followers or recipients reside on a different server than this.

-

ئەم دۆکیومێنتە CC-BY-SA ە. دوایین جار نوێکرایەوە لە 7ی ئازاری 2018.

+

When you authorize an application to use your account, depending on the scope of permissions you approve, it may access your public profile information, your following list, your followers, your lists, all your posts, and your favourites. Applications can never access your e-mail address or password.

-

لە بنەڕەتدا لە < href="https://github.com/discourse/discourse">Discourse privacy policy.

- title: "%{instance} مەرجەکانی خزمەتگوزاری و سیاسەتی تایبەتیێتی" +
+ +

Site usage by children

+ +

If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site.

+ +

If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site.

+ +

Law requirements can be different if this server is in another jurisdiction.

+ +
+ +

Changes to our Privacy Policy

+ +

If we decide to change our privacy policy, we will post those changes on this page.

+ +

This document is CC-BY-SA. It was last updated March 7, 2018.

+ +

Originally adapted from the Discourse privacy policy.

+ title: "%{instance} mercên bikaranîn û politîkayên nehêniyê" themes: - contrast: ماستۆدۆن (کۆنتراستی بەرز) - default: ماستۆدۆن (ڕەش) - mastodon-light: ماستۆدۆن (کاڵ) + contrast: Mastodon (dijberiya bilind) + default: Mastodon (Tarî) + mastodon-light: Mastodon (Ronahî) + time: + formats: + default: "%b %d, %Y, %H:%M" + month: "%b %Y" + time: "%H:%M" two_factor_authentication: - add: زیادکردن - disable: لەکارخستنی 2FA - disabled_success: سەلماندنی سەلماندنی دوو-فاکتەر بە سەرکەوتوویی لەکارخراوە - edit: دەستکاری - enabled: سەلماندنی دوو-فاکتەر چالاک کراوە - enabled_success: سەلماندنی دوو-فاکتەر بە سەرکەوتوویی چالاک کرا - generate_recovery_codes: دروست کردنی کۆدی چاککردنەوە - lost_recovery_codes: کۆدی گەڕاندنەوە ڕێگەت پێ دەدات کە دەستگەیشتنت بۆ هەژمارەکەت بەدەست بهێنێ ئەگەر تەلەفۆنەکەت لەدەست بدەیت. ئەگەر کۆدەکانی چاکبوونەوەت لەدەست داوە، دەتوانیت لێرە دووبارە دروستیان کەی. کۆدی چاککردنەوەی کۆنت هەڵدەوەشێنێتەوە. - methods: دوو - میتۆدی فاکتەر - otp: ئەپی ڕاستەوە - recovery_codes: پاڵپشتکردن لە کۆدی هێنانەوەی - recovery_codes_regenerated: کۆدی گەڕاندنەوە بە سەرکەوتوویی دووبارە دروست بوویەوە - recovery_instructions_html: گەر تەلەفۆنەکەت بزر کرد دەتوانی بە یەکێک لە کۆدەکانی خوارەوە چاودێری هەژمارەکەت لە دەست بگریت.ائەم کۆدانە لە شوێنێکی پاراو هەڵبگرە بۆ نموونە چاپی بکەن یان لەگەڵ بەڵگەنامە گرینگەکانت دایبنێ. - webauthn: کلیلەکانی پاراستن + add: Tevlî bike + disable: 2FA neçalak bike + disabled_success: Rastandina du-gavî bi serfirazî hate sekinandin + edit: Serrast bike + enabled: Rastandina du-gavî bi serfirazî hate çalak kirin + enabled_success: Rastandina du-gavî bi serfirazî hate çalak kirin + generate_recovery_codes: Kodên xilaskirinê çêbike + lost_recovery_codes: Ku telefon winda bibe kodên xilaskirinê derfet dide ku tu bigihijî ajimêra xwe. Heke te kodên xwe yê xilaskirinê winda kiribe tu dikarî ji vê derê dîsa ava bikî. Kodên te yê xilaskirinê ên kevin wê nederbasdar bibe. + methods: Rêbazên du-gavî + otp: Sepana Authenticator + recovery_codes: Kilîtên rizgarbûna hilanînê + recovery_codes_regenerated: Kilîtên rizgarbûna bi serkeftî hate nûvkirin + recovery_instructions_html: Heke gava te têlefona xwe winda kir, tu dikarî yek ji kodên rizgarkirinê yên jêrîn bi kar bîne da ku tu bigihîjî ajimêra xwe. Kodên rizgarkirinê li cihekî ewle biparêze . Mînakî, tu dikarî wan çap bikî û wan bi peldandkên din ên girîng re tomar bike. + webauthn: Kilîdên ewlehiyê user_mailer: + appeal_approved: + action: Biçe ajimêra xwe + explanation: Îtîraza binpêkirinê ya li dijî ajimêrê te ya %{strike_date} ku te di %{appeal_date} de şandibû hate pejirandin. Ajimêrê te careke din di rewşek baş de ye. + subject: Îtîraza te ji %{date} hate pejirandin + title: Îtîraz hate pejirandin + appeal_rejected: + explanation: Îtîraza binpêkirinê ya li dijî ajimêrê te ya di %{strike_date} de ku te di %{appeal_date} de şandibû nehat pejirandin. + subject: Îtîraza te ji %{date} nehate pejirandin + title: Îtîraz nehate pejirandin backup_ready: - explanation: ئێوە وشانێکی پاڵپشتی تەواوت لە هەژمارەکەی خۆت داوا کردووە، ئەم پاڵپشتییە ئێستا ئامادەی بارکردنە! - subject: ئارشیڤی ئێوە ئامادەی داگرتنە - title: وەرگرتنی ئارشیڤ + explanation: Te yedekîya tijê ya ajimêrê xwe Mastodonê xwest. Niha ji daxistinê re amade ye! + subject: Arşîva te amede ye bo daxistinê + title: Pakêtkirina arşîvan sign_in_token: - details: 'وردەکاریی هەوڵەکان:' - explanation: 'هەوڵێک بۆ هاتنە نێو هەژمارەکەتان لە ناونیسانێکی ئای‌پی پەیداکرا. گەر خۆتانن. تێپەڕوشەی پاراستن بۆ پەڕەی بەرنگاری دابین بکە:' - further_actions: 'گەر ئێوە نیین تکایە تێپەڕوشە بگۆڕە وە لێرەوە پەسەند بوونی دوو قۆناغی لە سەر هەژمارەکەتان چالاک بکەن:' - subject: تکایە دڵنیابە لە هەوڵدان بۆ چوونە ژوورەوە - title: هەوڵدان بۆ چوونە ژوورەوە + details: 'Li vir hûrgiliyên hewldanê hene:' + explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IPya nenas nas kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr têkeve rûpela jêpirsînê:' + further_actions: 'Ger ev ne tu bî, ji kerema xwe re şîfreya xwe biguherîne û li ser hesaba xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çêkî:' + subject: Ji kerema xwe re hewldanên têketinê piştrast bike + title: Hewldanên têketinê warning: + appeal: Îtîrazekê bişîne + appeal_description: Heke tu bawer dikî ku ev şaşetiyeke, tu dikarî îtîrazekê ji karmendên %{instance} re bişînî. + categories: + spam: Nexwestî (Spam) + violation: Naverok rêbazên civakê yên jêrîn binpê dike + explanation: + delete_statuses: Hate dîtin ku hinek şandiyên te yek an jî çend rêwerzên civatê binpê dikin û dû re ji hêla çavdêrên %{instance} ve hatine rakirin. + disable: Tu êdî nikarî ajimêra xwe bi kar bînî, lê profîla te û daneyên din bê ziyan dimînin. Tu dikarî ji daneyên xwe hilanînê bixwazî, sazkariyên ajimêrê biguherîmî an jî ajimêrê xwe jê bibî. + mark_statuses_as_sensitive: Hinek şandiyên te ji hêla çavdêrên %{instance} ve wekî hestyar hatine nîşankirin. Ev tê vê wateyê ku berî ku pêşdîtinek were xuyang kirin pêdivî ye ku mirov di nav şandiyan de bitikînî. Dema ku di pêşerojê de bişînî tu dikarî medyayê wekî xwe hestyar nîşan bikî. + sensitive: Ji niha û pê ve, hemû pelên te yên medyayê yên hatine barkirin wê li piştî hişyariyek wekî hestyar û veşartî bêne nîşankirin. + silence: Tu hîn jî dikarî ajimêra xwe bi kar bînî lê tenê kesên ku jixwe te dişopînin wê şandiyên te li ser vê rajekarê bibînin, û dibe ku tu ji cûrbecûr taybetmendiyên vedîtinê werî bi dûrxistin. Lêbelê, yên din hîn jî dikarin bi destan te bişopînin. + suspend: Tu êdî nikarî têkevî ajimêra xwe, û profîla te û daneyên din êdî nayên gihîştin. Dîsa jî tu dikarî têkevî da ku hilanîna daneyên xwe daxwaz bikî heya ku dane bi tevahî werin rakirin di hundirê 30 roj de, lê em ê hin daneyan biparêzin da ku tu ji rawestandinê rizgar bikî. + reason: 'Sedem:' + statuses: 'Şandiyên binavkirî:' subject: - disable: هەژمارەکەت %{acct} بەستراوە - none: ئاگاداری بۆ %{acct} - silence: هەژمارەکەی %{acct} سنووردار کراوە - suspend: هەژمارەکەی %{acct} ڕاگیرا + delete_statuses: Şandiyên te yên li ser %{acct} hatin rakirin + disable: Ajimêra te a %{acct} hat qerisandin + mark_statuses_as_sensitive: Şandiyên te yên li ser %{acct} wekî hestyar hatine nîşankirin + none: Hişyarî bo %{acct} + sensitive: Şandiyên te yên li ser %{acct} wê ji niha û pê ve wekî hestyar bêne nîşankirin + silence: Ajimêra te ya %{acct} hate bisînorkirin + suspend: Ajimêra te %{acct} hate rawestandin title: - disable: هەژمارە بەستراوە - none: ئاگاداری - silence: هەژماری سنووردار - suspend: هەژمار ڕاگیرا + delete_statuses: Şandî hatin rakirin + disable: Ajimêr hate qerisandin + mark_statuses_as_sensitive: Şandî wekî hestyar hatine nîşankirin + none: Hişyarî + sensitive: Ajimêr wekî hestyar hate nîşankirin + silence: Ajimêr sînor kiriye + suspend: Ajimêr hatiye rawestandin welcome: - edit_profile_action: پرۆفایلی جێگیرکردن - edit_profile_step: 'ئێوە دەتوانن پرۆفایلەکەتان بە دڵخوازی خۆتان بگۆڕن: دەتوانن وێنەی پرۆفایل،وێنەی پاشبنەما،ناو و... هتد دابین بکەن. ئەگەر هەرەکت بێت دەتوانی هەژمارەکەت تایبەت بکەیتەوە تا تەنها کەسانێک کە ئێوە ڕێگەتان داوە دەتوانن شوێنکەوتوو هەژمارەکەتان بن.' - explanation: ئەمە چەند ئامۆژگارییەکن بۆ دەست پێکردنت - final_action: دەست بکە بە بڵاوکردنەوە - final_step: 'چیزی بنووسید! تەنانەت گەر ئێستا کەسێک شوێن کەوتووی ئێوە نەبوو، هەژمارەکانی دیکە و سەردانکەرەکانی پرۆفایلەکەتان نووسراوەکانی گشتی ئێوە دەبینن. بۆ نموونە لە پێرستی نووسراوە خۆماڵییەکان و لە لکاوەی(هاشتاگ) ەکان، شایەد هەرەکتان بێت بە چەسپکراوەی # خۆتان بناسێنن.' - full_handle: ناوی بەکارهێنەری تەواوی ئێوە - full_handle_hint: ئەمە ئەو شتەیە کە بە هاوڕێکانت دەلێی بۆ ئەوەی پەیام یان لە ڕاژەیەکی دیکەی ترەوە بەدوات بکەون. - review_preferences_action: گۆڕینی پەسەندەکان - review_preferences_step: دڵنیابە لە دانانی پەسەندکراوەکانت، وەک کام ئیمەیل کە دەتەوێت وەریبگرێ، یان دەتەوێت چ ئاستێکی تایبەتیت بۆ بابەتەکانت پێش گریمانە بێت. ئەگەر نەخۆشی جوڵەت(دڵ تێکەڵدان لە وێنە جووڵەییەکان) نیە، دەتوانیت هەڵبژێریت بۆ بەتواناکردنی پەخشکردنی خۆکاری GIF. - subject: بەخێربیت بۆ ماستۆدۆن - tip_federated_timeline: پێرستی نووسراوەکانی هەمووشوێنێک وێنەیەکی گشتی لە تۆڕی ماستۆدۆنە، بەڵام تەنها بریتییە لە هاوسێکان کە شوێنیان کەوتن؛بس تەواو نییە. - tip_following: بە شیوەی بنەڕەتی بەڕێوەبەران ڕاژەکەتان چاودێری دەکەن، بۆ پەداکردنی کەسانی سەرنجڕاکێشە چاودێری نووسراوە ناخۆیی و نووسراوەکانی شوێنەکانی دیکە بکەن. - tip_local_timeline: پێرستی نووسراوە ناوخۆییەکان شێوەیەکی تەواو لە بەکارهێنەران لە سەر %{instance} پیسان دەدەن، ئەمانە جەیرانی ئێوەن! - tip_mobile_webapp: ئەگەر وێبگەڕی مۆبایلەکەت پێشنیاری زیادکردنی ماستۆدۆن بۆ شاشەی ڕوومێزیەکەتی کرد، دەتوانیت ئاگانامەکانی هاندان وەربگری. لە زۆر ڕوەوە وەک بەرنامەیەیەکی ئەسڵی ئیس دەکا! - tips: ئامۆژگاریەکان - title: بەخێربێیت، بەکارهێنەر %{name}! + edit_profile_action: Profîlê saz bike + edit_profile_step: Tu dikarî profîla xwe bi barkirina wêne, sernav, guherandina navê xuyangê xwe û bêhtir ve xweş bikî. Heke tu dixwazî şagirtên nû binirxînî berî ku mafê bidî ku ew te bişopînê, tu dikarî ajimêra xwe kilît bike. + explanation: Li vir çend serişte hene ku tu dest pê bike + final_action: Dest bi weşandinê bike + final_step: 'Dest bi weşandinê bike! Bêyî şopîneran jî dibe ku şandiyên te yên gelemperî ji hêla kesên din ve werin dîtin, mînakî li ser demjimêra herêmî û di hashtagan de. Dibe ku tu bixwazî xwe li ser hashtagê #nasname bidî nasandin.' + full_handle: Hemî destikê te + full_handle_hint: Ji hevalên xwe re, ji bona ji rajekarekê din peyam bişîne an jî ji bona ku te bikaribe bişopîne tişta ku tu bibêjî ev e. + review_preferences_action: Bijartinan biguherîne + review_preferences_step: Pê bawer be ku vebijêrkên xwe saz bikî, wek mînak kîjan e-nameyên ku tu dixwaziî wergirîne, an tu dixwazî weşanên te ji kîjan astê nehêniyê de kesanekirî bin. Heke nexweşiya te ya tevgerê tune be, tu dikarî hilbijêrî ku GIF ya xweser çalak bibe. + subject: Tu bi xêr hatî Mastodon + tip_federated_timeline: Demnameya giştî dimenêke gelemperî a Mastodon e. Lê tenê kesên ku ciranên te endamên wê ne dihewîne, ji ber vê yekê ew hemû nîne. + tip_following: Tu rêvebir (ên) rajeker wek berdest dişopînî. Ji bo mirovên balkêştir bibînî, demnameya herêmî û federasyonî kontrol bike. + tip_local_timeline: Demnameya herêmî, dimenêke bi giştî ye li ser %{instance} e. Ev ciranên te yên herî nêzik in! + tip_mobile_webapp: Ger geroka te ya desta pêşkêşî te bike ku tu Mastodon li ser ekrana xwe ya malê lê zêde bikî, tu dikarî agahdariyên push bistînî. Ew bi gelek awayan mîna serîlêdanek xwemalî tevdigere! + tips: Serbend + title: Bi xêr hatî, %{name}! users: - follow_limit_reached: ناتوانیت زیاتر لە %{limit} خەڵک پەیڕەو کەیت - generic_access_help_html: کێشەت هەیە لە گەیشتن بە هەژمارەکەت؟ دەتوانیت لەگەڵ %{email} بۆ یارمەتیدان پەیوەندی بگرن - invalid_otp_token: کۆدی دوو-فاکتەر نادروستە - invalid_sign_in_token: کۆدی پاراستن دروست نیە - otp_lost_help_html: گەر بەو دووڕێگا نەتوانی بچیتە ژوورەوە، لەوانەیە پەیوەندی بگری بە %{email} بۆ یارمەتی - seamless_external_login: تۆ لە ڕێگەی خزمەتگوزاری دەرەکیەوە داخڵ بووی، بۆیە ڕێکبەندەکانی نهێنوشە و ئیمەیل بەردەست نین. - signed_in_as: 'چوونە ژوورەوە وەک:' - suspicious_sign_in_confirmation: وادیارە تۆ پێشتر لەم ئامێرە نەچویتە ژوورەوە، و بۆ ماوەیەک نەچویتە ژوورەوە، بۆیە کۆدی پاراستن دەنێردرینە ناونیشانی ئیمەیڵەکەت بۆ دڵنیابوون لەوەی کە ئەوە تۆیت. + follow_limit_reached: Tu nikarî zêdetirî %{limit} kesan bişopînî + generic_access_help_html: Di gihîştina ajimêrê te de pirsgirêk heye? Tu dikarî ji bo alîkariyê bi %{email} re têkilî deyne + invalid_otp_token: Koda du-gavî ya nelê + invalid_sign_in_token: Kilîda ewlehiyê a nelê + otp_lost_help_html: Heke te gihîştina herduyan ji dest da, dibe ku tu bi %{email} re têkilî deyne + seamless_external_login: Te bi servîsekî biyanî re têketina xwe kir, ji ber vê yekê şîfre û e-name nayê bikaranîn. + signed_in_as: 'Têketin wekî:' + suspicious_sign_in_confirmation: Xuya dike ku te berê têketin ji vê amûrê nekiriye, ji ber vê yekê em kodeke ewlehiyê ji navnîşana e-nameya te re dişînin da ku piştrast bikî ku tu ye an na. verification: - explanation_html: 'دەتوانیت خۆت بسەلمێنیت وەک خاوەنی لینکەکان لە مێتاداتای پرۆفایلەکەت. بۆ ئەمە، ماڵپەڕە لینککراوەکە پێویستە لینکێکی تێدا بێت بۆ پرۆفایلی ماستۆدۆنەکەت. بەستەری دەبێت هەبێت ="me". ناوەڕۆکی دەقی لینکەکە گرنگ نییە. ئەمە نموونەیەکە:' - verification: ساغ کردنەوە + explanation_html: 'Tu dikarî xwe wekî xwediyê girêdanên li daneyê meta profîla xwe piştrast bikî. Ji bo vê, hewceye girêda malperê di nav profîla te ya mastodonê de girêdanekî paş hebe. Girêdana paşhewceye taybetîyek rel="me"hebe. Naveroka nivîsa girêdanê ne girîng e. Ev jî mînakek e:' + verification: Piştrastkirin webauthn_credentials: - add: زیادکردنی کلیلی ئاسایشی نوێ + add: Kilîteke ewlehiyê nû tevlî bike create: - error: کێشەیەک هەبوو لە زیادکردنی کلیلی پاراستنەکەت. تکایە دووبارە هەوڵ دەوەشنەوە. - success: کلیلی ئاسایشت بە سەرکەوتوویی زیادکرا. - delete: سڕینەوە - delete_confirmation: ئایا دڵنیایت لەوەی دەتەوێت ئەم کلیلی پاراستنە بسڕیتەوە? - description_html: ئەگەر تۆ کلیلی سەلماندنت چالاک دەکەی، بۆ چوونە ژوورەوە پێویستت پێ دەبێ، یەکێک لە کلیلە کانی ئاسایشت بەکاربێنیت. + error: Gava Kilîteke ewlehiyê nû dihat tevlîkirin pirsgirêkek derket. Jkx dîsa biceribîne. + success: Tevlîkirina kilîteke ewlehiyê nû bi awayekî serkeftî qediya. + delete: Jê bibe + delete_confirmation: Ma tu bi rastî dixwazî ku ev kilîta ewlehiyê jê bibe? + description_html: Heker tu piştrastkirina kilîta ewlehiyê çalak bikî, Ji bo têketinê ger tu kilîtekî ewlehiyê bikarbînî. destroy: - error: کێشەیەک هەبوو لە سڕینەوەی کلیلی پاراستنەکەت. تکایە دووبارە هەوڵ بدەرەوە. - success: کلیلی ئاسایشت بە سەرکەوتوویی سڕایەوە. - invalid_credential: کۆدی پاراستن دروست نیە - nickname_hint: نازناوی کلیلی ئاسایشی نوێت تێبنووسە - not_enabled: تۆ هێشتا WebAuthnت چالاک نەکردووە - not_supported: ئەم وێبگەڕە پشتگیری کلیلەکانی پاراستن ناکات - otp_required: بۆ بەکارهێنانی کلیلەکانی پاراستن تکایە سەرەتا سەلماندنی دوو-فاکتەر چالاک بکە. - registered_on: تۆمارکراو لە %{date} + error: Dema kilîda ewlehiyê hate jêbirin pirsgirêkek peyda bû. Ji kerema xwe re careke din biceribîne. + success: Kilîda ewlehiyê bi awayekî serkeftî hatê jêbirin. + invalid_credential: Kilîda ewlehiyê a nelê + nickname_hint: Bernavka kilîda te ya ewlehiyê a nû têkevê + not_enabled: Te hê WebAuthn çalak nekiriye + not_supported: Ev gerok piştgiriya kilîtên ewlehiyê nakê + otp_required: Ji bo ku tu kilîtên ewlehiyê bikar bînî, ji kerema xwe re pêşî piştrastkirina du-gavî çalak bike. + registered_on: Di %{date} dîrokê de tomar bû diff --git a/config/locales/lv.yml b/config/locales/lv.yml index f095dc589..8f6df9961 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -1458,7 +1458,7 @@ lv: one: 'saturēja neatļautu tēmturi: %{tags}' other: 'saturēja neatļautus tēmturus: %{tags}' zero: 'neatļauti tēmturi: %{tags}' - edited_at: Rediģēts %{date} + edited_at_html: Rediģēts %{date} errors: in_reply_not_found: Šķiet, ka ziņa, uz kuru tu mēģini atbildēt, nepastāv. open_in_web: Atvērt webā diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 7acb66569..9a093f9d3 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -1395,7 +1395,6 @@ pl: many: 'zawiera niedozwolone hashtagi: %{tags}' one: 'zawiera niedozwolony hashtag: %{tags}' other: 'zawiera niedozwolone hashtagi: %{tags}' - edited_at: Edytowano %{date} errors: in_reply_not_found: Post, na który próbujesz odpowiedzieć, nie istnieje. open_in_web: Otwórz w przeglądarce diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 070745b37..912e42a7d 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -25,6 +25,7 @@ pt-BR: Esta conta é um ator virtual usado para representar o próprio servidor e não qualquer usuário individual. É usado para propósitos de federação e não deve ser bloqueado a menos que queira bloquear toda a instância, o que no caso devia usar um bloqueio de domínio. learn_more: Saiba mais + logout_before_registering: Já está logado. privacy_policy: Política de Privacidade rules: Regras do servidor rules_html: 'Abaixo está um resumo das regras que você precisa seguir se você quer ter uma conta neste servidor do Mastodon:' @@ -443,10 +444,14 @@ pt-BR: title: Recomendações de contas unsuppress: Restaurar recomendação de contas instances: + availability: + title: Disponibilidade back_to_all: Todas back_to_warning: Aviso by_domain: Domínio confirm_purge: Você tem certeza de que deseja excluir permanentemente os dados deste domínio? + content_policies: + policy: Políticas delivery: all: Todos clear: Limpar erros de entrega diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 55b8f0356..0fdfff517 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -373,6 +373,7 @@ pt-PT: enable: Ativar enabled: Ativado enabled_msg: Ativado com sucesso este emoji + image_hint: PNG ou GIF até %{size} list: Lista listed: Listado new: @@ -1436,7 +1437,7 @@ pt-PT: disallowed_hashtags: one: 'continha uma hashtag proibida: %{tags}' other: 'continha as hashtags proibidas: %{tags}' - edited_at: Editado em %{date} + edited_at_html: Editado em %{date} errors: in_reply_not_found: A publicação a que está a tentar responder parece não existir. open_in_web: Abrir no browser diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 193bb39ff..579ea6462 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -485,6 +485,13 @@ ru: back_to_warning: Все узлы требующие внимания by_domain: Домен confirm_purge: Вы уверены, что хотите навсегда удалить данные с этого домена? + content_policies: + policy: Политика + dashboard: + instance_accounts_measure: сохраненные учетные записи + instance_languages_dimension: Популярные языки + instance_media_attachments_measure: сохраненные медиафайлы + instance_statuses_measure: сохраненные посты delivery: all: Все clear: Очистить ошибки доставки @@ -507,12 +514,14 @@ ru: private_comment: Приватный комментарий public_comment: Публичный комментарий purge: Удалить данные + purge_description_html: Если вы считаете, что этот домен отключен навсегда, вы можете удалить все записи учетной записи и связанные с этим доменом данные из своего хранилища. Это может занять некоторое время. title: Федерация total_blocked_by_us: Заблокировано нами total_followed_by_them: Их подписчиков total_followed_by_us: Наших подписчиков total_reported: Жалобы на них total_storage: Медиафайлы + totals_time_period_hint_html: Итоги, показанные ниже, включают данные за всё время. invites: deactivate_all: Отключить все filter: @@ -731,6 +740,7 @@ ru: disable: "%{name} заморозил(а) учётную запись %{target}" mark_statuses_as_sensitive: "%{name} отметил(а) %{target} посты как деликатные" none: "%{name} отправил(а) предупреждение %{target}" + sensitive: "%{name} отметил(а) учетную запись %{target} как деликатную" silence: "%{name} ограничил(а) учетную запись %{target}" appeal_pending: Обжалование в обработке system_checks: @@ -1375,7 +1385,7 @@ ru: many: 'содержались запрещённые хэштеги: %{tags}' one: 'содержался запрещённый хэштег: %{tags}' other: 'содержались запрещённые хэштеги: %{tags}' - edited_at: 'Последнее изменение: %{date}' + edited_at_html: Редактировано %{date} errors: in_reply_not_found: Пост, на который вы пытаетесь ответить, не существует или удалён. open_in_web: Открыть в веб-версии diff --git a/config/locales/simple_form.ckb.yml b/config/locales/simple_form.ckb.yml new file mode 100644 index 000000000..82187aae5 --- /dev/null +++ b/config/locales/simple_form.ckb.yml @@ -0,0 +1,206 @@ +--- +ckb: + simple_form: + hints: + account_alias: + acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە + account_migration: + acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە + account_warning_preset: + text: دەتوانی ڕستەسازی ی توت بەکاربێنیت، وەک لینک، هاشتاگ و باسەکان + title: ئارەزوومەندانە. دیار نیە بۆ وەرگر + admin_account_action: + include_statuses: بەکارهێنەرەکە دەبینێت کام توتی هۆکاری کرداری بەڕێوەبەر یان ئاگادارکردنەوە + send_email_notification: بەکارهێنەر ڕوننکردەوەیەک دەبینێت کە تێدا دەزانێت چی بە سەر هەژمارەکەی هاتووە + text_html: ئارزوومەندانە. دەتوانن وەک توتی ئاسایی بینووسن. دەتوانن بۆ کەمکردنەوەی کات ئاگادارییەکان لە پێشەوە زیادبکەن + type_html: گەرکتە لەگەڵ هەژمارەی %{acct} چی بکەیت + warning_preset_id: ئارەزوومەندانەیە. هێشتا دەتوانیت لە کۆتایی دەق شتێک زیاد بکەی + announcement: + all_day: کاتێک چاودێریکرا، تەنها بەروارەکانی مەودای کات پیشان دەدرێت + ends_at: ئارەزوومەندانەیە. ئەم کاتە راگەیەنراوەکە بە شێوەیەکی خۆکارانە بڵاوناکرێتەوە + scheduled_at: چۆڵ یبهێڵەوە بۆ بڵاوکردنەوەی دەستبەجێی بانگەوازەکە + starts_at: ئارەزوومەندانەیە. لە حاڵەتی ڕاگەیاندنی تۆ بەستراو بە مەودایەکی کاتی دیاریکراو + text: دەتوانیت ڕستەسازی توت بەکار بێنیت. تکایە بیر لەو بۆشاییە بکەوە کە بانگەوازەکە لەسەر شاشەی بەکارهێنەرەکە دەست نیشان دەکات + defaults: + autofollow: ئەو کەسانەی کە لە ڕێگەی بانگهێشتکردنەوە تۆمار دەکرێن بە خۆکارانە شوێنت دەکەون + avatar: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}px + bot: ئەم هەژمارە بەشێوەیەکی سەرەکی کردارە خۆکارانە ئەنجام دەدات و لەوانەیە چاودێری نەکرێت + context: یەک یان چەند دەقێک کە پالافتنەکە جێبەجێ بکات + current_password: بۆ مەبەستی پاراستن تکایە تێپەروشەی هەژمارەی ئێستاکەت بنووسە + current_username: بۆ دڵنیابوون، تکایە ناوی بەکارهێنەری ئەم هەژمارەیە بنووسە + digest: تەنیا دوای ماوەیەکی زۆر لە بێ چالاکیدەنێردرێت و تەنیا ئەگەر نامەیەکی کەسیت بۆ نووسرابێت + email: ئیمەیڵێکی پشتڕاستکردنەوەت بۆ دەنێردرێت + fields: دەتوانیت تا ٤بڕگەت هەبێت کە وەک خشتەیەک لەسەر پرۆفایلەکەت پیشان بدرێت + header: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}پیکسێڵ + inbox_url: نیشانەی پەڕەی سەرەکی ئەو رێڵە کە هەرەکتە بەکاریببەیت ڕوونووس دەکات + irreversible: توتە فلتەرکراوەکە بە شێوەیەکی نەگەڕاو فرەدەدرێن، تەنانەت ئەگەر فلتەردواتر لاببرێت + locale: زمانی ڕووکاری بەکارهێنەر، ئیمەیلەکان و ئاگانامەکان + locked: بە دەستی شوێنکەوتوانی خۆت پەسەند بکە + password: بەلایەنی کەمەوە ٨ نووسە بەکاربهێنە + phrase: سەربەخۆ لە بچکۆلی و گەورەیی پیتەکان، لەگەڵ دەقی ئەسڵی یان ئاگانامەکانی ناوەرۆکی توتەکان هاوئاهەنگ دەکرێت + scopes: APIـیەکانی بەرنامەنووسی کە ئەم ماڵپەڕە دەستپێگەیشتنی لەگەڵیان هیە. ئەگەر بەرزترین ئاست هەڵبژێرن ئیتر نیاز بە بژاردەی ئاستی نزم نییە. + setting_aggregate_reblogs: بۆ ئەو دووبارە توتانە کە بە نوێیی پێتان نیشان دراوە،دووبارە توتەکانی پێشتر زیاد مەکە(تەنها کاریگەری لەسەر توتەکانی ئەم دواییە هەیە) + setting_default_sensitive: میدیای هەستیار لە بنەڕەت شاراوەیە و دەتوانرێت بە کلیکیک ئاشکرا بکرێت + setting_display_media_default: شاردنەوەی ئەو میدیایانەی وەک هەستیار نیشانکراون + setting_display_media_hide_all: هەمیشە میدیا بشارەوە + setting_display_media_show_all: هەمیشە میدیا نیشان بدە + setting_hide_network: کێ دوای دەکەویت و کێ دوای تۆ دەکەوێت لە پرۆفایلەکەت پیشان نادرێت + setting_noindex: کاردەکاتە سەر پرۆفایل و لاپەڕە گشتیەکانت + setting_show_application: بەرنامەیەک کە بە یارمەتیت توت دەکەیت، لە دیمەنی وردی توتەکان پیشان دەدرێت + setting_use_blurhash: سێبەرەکان لە سەر بنەمای ڕەنگەکانی بەکارهاتوو لە وێنە داشاراوەکان دروست دەبن بەڵام وردەزانیاری وێنە تێیدا ڕوون نییە + setting_use_pending_items: لەجیاتی ئەوەی بە خۆکارانە کێشان هەبێت لە نووسراوەکان بە کرتەیەک بەڕۆژبوونی پێرستی نووسراوەکان بشارەوە + username: ناوی بەکارهێنەری ئێوە لەسەر %{domain} یەکتا دەبێت + whole_word: کاتێک کلیل‌وشە بریتییە لە ژمارە و پیت، تنەها کاتێک پەیدا دەبێت کە لەگەڵ گشتی وشە لە نێو دەقەکە هاوئاهەنگ بێت، نە تەنها لەگەڵ بەشێک لە وشە + domain_allow: + domain: ئەم دۆمەینە دەتوانێت دراوە لە ئەم ڕاژە وەربگرێت و دراوەی ئەم دۆمەینە لێرە ڕێکدەخرین و پاشکەوت دەکرێن + email_domain_block: + with_dns_records: هەوڵێک بۆ چارەسەرکردنی تۆمارەکانی DNSی دۆمەین دراوە کە ئەنجامەکان بلۆک دەکرێت + featured_tag: + name: 'لەوانەیە بتەوێت یەکێک لەمانە بەکاربهێنیت:' + form_challenge: + current_password: تۆ دەچیتە ناو ناوچەی پارێزراو + imports: + data: فایلی CSV هەناردەکراوە لە ڕاژەیەکی تری ماستۆدۆن + invite_request: + text: ئەمە یارمەتیمان دەدات بۆ پێداچوونەوەی بەرنامەکەت + ip_block: + comment: دڵخوازە. لەبیرتە بۆچی ئەم یاسایەت زیاد کرد. + expires_in: ناونیشانی IP سەرچاوەی سنوردارن، هەندێک جار هاوبەشکراون و زۆر جار دەستەکان دەگۆڕن. لەبەر ئەم هۆیە، بلۆکی IP بێ نەناسراو پێشنیار نەکراوە. + ip: ناونیشانی IPv4 یان IPv6 تێبنووسە. دەتوانیت هەموو مەوداکان بلۆک بکەیت بە بەکارهێنانی داڕستانی CIDR. وریابە خۆت قفڵ مەکە! + severities: + no_access: بلۆککردنی گەیشتن بە هەموو سەرچاوەکان + sign_up_requires_approval: نوێ ناوتۆمارکردن پێویستی بە ڕەزامەندی تۆیە + severity: هەڵبژێرە چی ڕوودەدات لەگەڵ داواکاریەکانی ئەم IP + sessions: + otp: 'کۆدی دوو-فاکتۆر بنووسە کە لەلایەن ئەپی تەلەفۆنەکەتەوە دروست کراوە یان یەکێک لە کۆدەکانی هێنانەوەی خۆت بەکاربهێنە:' + webauthn: ئەگەر کلیلی USB بێت دڵنیابە لە تێکردنی و ئەگەر پێویست بوو، لێیبدە. + tag: + name: ئێوە دەتوانن گەورەیی و بجکۆلیی پیتەکان دەستکاری بکەن تاکوو خوێنەوارتر دیاربن + user: + chosen_languages: کاتێک چاودێری کرا، تەنها توتەکان بە زمانە دیاریکراوەکان لە هێڵی‌کاتی گشتی پیشان دەدرێت + labels: + account: + fields: + name: ناونیشان + value: ناوەڕۆک + account_alias: + acct: چارەسەرکردنی هەژمارە کۆنەکە + account_migration: + acct: چارەسەرکردنی هەژمارە نوێکە + account_warning_preset: + text: دەقی پێشوەختی ڕێکخستن + title: سەردێڕ + admin_account_action: + include_statuses: لەخۆگرتنی توتەکانی گوزارشت لە ئیمەیل + send_email_notification: بەکارهێنەر ئاگادار بکەوە بۆ هەر ئیمەیڵێک + text: ئاگاداری تایبەتمەند + type: کردار + types: + disable: بەستن + none: ناردنی ئاگاداری + sensitive: هەستیار + silence: سنوور + suspend: ڕاگرتن + warning_preset_id: بەکاهێنانی ئاگاداری پێش وەختە + announcement: + all_day: ڕووداوی هەموو ڕۆژەکە + ends_at: کۆتایی ڕووداو + scheduled_at: بڵاوکراوەکە خشتە بکە + starts_at: دەستپێکردنی ڕووداو + text: بانگەواز + defaults: + autofollow: بانگهێشت کردن بۆ شوێنکەوتنی هەژمارەکەت + avatar: وێنۆچکە + bot: ئەمە هەژمارێکی ساختەیە + chosen_languages: پاڵاوتنی زمانەکان + confirm_new_password: پشتڕاستکردنەوەی تێپەڕوشەی نوێ + confirm_password: پشتڕاستکردنەوەی تێپەڕوشە + context: چوارچێوەی پاڵافتن + current_password: تێپەروشەی ئێستا + data: دراوه + discoverable: ئەم هەژمێرە لە پێرستی بژاردەی بەکارهێنەران نیشان بدە + display_name: ناوی پیشاندان + email: ناونیشانی ئیمەیڵ + expires_in: بەسەردەچێت پاش + fields: مێتاداتای پرۆفایل + header: سەرپەڕە + inbox_url: بەستەری سندوقی گواستنەوەی + irreversible: فرێدان لەجیاتی شاردنەوە + locale: زمانی پەڕەی بەکارهێنەر + locked: داخستنی هەژمارە + max_uses: زۆرترین ژمارەی بەکاربەرەکان + new_password: تێپەروشەی نوێ + note: دەربارەی ئیوە + otp_attempt: کۆدی دووقۆناغی هاتنەژوور + password: تێپەڕوشە + phrase: وشەکلیل یان دەستەواژە + setting_advanced_layout: چالاککردنی ڕووکاری وێبی پێشکەوتوو + setting_aggregate_reblogs: گرووپی توتەکان یەکبخە + setting_auto_play_gif: خۆکاربەخشکردنی GIFــەکان + setting_boost_modal: پیشاندانی دیالۆگی دووپاتکردنەوە پێش دوبارە توتاندن + setting_crop_images: لە تووتی نەکراوە،وینەکان لە ئەندازی ۱٦×۹ ببڕە + setting_default_language: زمانی نووسراوەکانتان + setting_default_privacy: چوارچێوەی تایبەتێتی ئێوە + setting_default_sensitive: هەمیشە نیشانکردنی میدیا وەک هەستیار + setting_delete_modal: نیساندانی پەیامی پەسەند کردن پاش سڕینەوە + setting_disable_swiping: جوڵەی سڕینەوە لە کاربخە + setting_display_media: پیشاندانی میدیا + setting_display_media_default: بنەڕەت + setting_display_media_hide_all: شاردنەوەی هەموو + setting_display_media_show_all: هەموو نیشان بدە + setting_expand_spoilers: هەمیشە ئەو توتانەی کە بە ئاگادارکردنەوەکانی ناوەڕۆکەوە نیشانەکراون، پیسان بدە + setting_hide_network: شاردنەوەی تۆڕەکەت + setting_noindex: داوا لە مەکینەی گەڕان بۆ پیشاننەدان لە دەئەنجامی گەڕانەکان + setting_reduce_motion: کەمکردنەوەی جوڵە لە ئەنیمەکان + setting_show_application: ئاشکراکردنی ئەپەکان بۆ ناردنی توتەکان + setting_system_font_ui: فۆنتی بنەڕەتی سیستەم بەکاربهێنە + setting_theme: ڕووکاری ماڵپەڕ + setting_trends: پیشاندانی نووسراوە بەرچاوکراوەی ئەمڕۆ + setting_unfollow_modal: پیشاندانی پەیامی پەسەندکردن پێش شوێن‌نەکەوتنی کەسێک + setting_use_blurhash: بەجیاتی وینەی داشاراوە، سێبەری ڕەنگاوڕەنگ نیشان بدە + setting_use_pending_items: دۆخی خاو + severity: ئاستی گرنگی + sign_in_token_attempt: کۆدی پاراستن + type: جۆری هاوردەکردن + username: ناوی بەکارهێنەر + username_or_email: ناوی بەکاهێنەر یان ئیمەیڵ + whole_word: هەموو وشەکە + email_domain_block: + with_dns_records: لەخۆگرتنی تۆمارەکانی MX و ئای پییەکانی دۆمەین + featured_tag: + name: هەشتاگ + interactions: + must_be_follower: قەپاتکردنی ئاگانامەکان بێجگە لە شوێنکەوتووان + must_be_following: بەئاگانامەکان بلۆک بکە لە خەڵکێک کە پەیڕەویان ناکەیت + must_be_following_dm: پەیامەکانی ڕاستەوخۆ بلۆک بکە لەو کەسانەی کە، پەیڕەوی ناکەن + invite: + comment: بۆچوون + invite_request: + text: بۆچی دەتەوێت بەشدار بیت? + ip_block: + comment: بۆچوون + severities: + no_access: بلۆککردنی ده‌ستپێگه‌یشتن + sign_up_requires_approval: سنووردارکردنی چوونەناو + severity: یاسا + notification_emails: + digest: کورتکردنی ئاگادارییکەن لەیەک ئیمەیل + favourite: کەسێک دۆخی تۆی بەدڵ بوو + follow: کەسێک دوای تۆ کەوت + follow_request: کەسێک داوای کردووە کە بەدوات بکەوێت + mention: کەسێک باسی کردووی + pending_account: هەژمارەی نوێ پێویستی بە پێداچوونەوەهەیە + reblog: کاتێک کەسێک نووسراوەی ئێوە دووبارە توت دەکاتەوە + tag: + listable: ڕیگەبدە ئەم هاشتاگە لە پێرستی هەڵبژاردەی بەکارهێنەران و پەڕەی گەڕان نیشان بدرێت + name: هەشتاگ + trendable: ڕێگەبدە ئەم هەشتاگە لە نووسراوەی بەرچاوکراو نیسان بدرێت + usable: ڕێگەبدە بە توتەکان بۆ بەکارهێنانی ئەم هەشتاگە + 'no': نە + recommended: پێشنیارکراوە + required: + text: پێویستە + title: + sessions: + webauthn: یەکێک لە کلیلەکانی پاراستن بەکاربهێنە بۆ چوونە ژوورەوە + 'yes': بەڵێ diff --git a/config/locales/simple_form.da.yml b/config/locales/simple_form.da.yml index 6bf2f1ebc..f69a92a60 100644 --- a/config/locales/simple_form.da.yml +++ b/config/locales/simple_form.da.yml @@ -27,44 +27,46 @@ da: scheduled_at: Lad stå tomt for straks at publicere bekendtgørelsen starts_at: Valgfri. Såfremt din bekendtgørelse er knyttet til et bestemt tidsinterval text: Du kan bruge markup-formattering i indlæg. Vær opmærksom på den plads, som en bekendtgørelse vil fylde på brugerens skærm + appeal: + text: En advarsel kan kun appelleres én gang defaults: - autofollow: Personer, som har tilmeldt sig via invitationen, vil automatisk følge dig + autofollow: Personer tilmeldt via invitationen vil automatisk blive følgere avatar: PNG, GIF eller JPG. Maks. %{size}. Auto-nedskaleres til %{dimensions}px bot: Signalér til andre, at denne konto primært udfører automatiserede handlinger og muligvis ikke monitoreres - context: En eller flere kontekster, hvor filteret skal være gældende + context: En eller flere kontekster, hvor filteret skal anvendes current_password: Angiv af sikkerhedsårsager adgangskoden til den aktuelle konto current_username: For at bekræfte, angiv brugernavnet for den aktuelle konto - digest: Sendes kun efter en lang inaktivitetsperiode, og kun hvis du har modtaget personlige beskeder i dit fravær + digest: Sendes kun efter en lang inaktivitetsperiode, og kun hvis du har modtaget personlige beskeder under fraværet discoverable: Tillad kontoen at blive fundet af fremmede via anbefalinger og øvrige funktioner - email: Du tilsendes en bekræftelsese-mail - fields: Du kan have op til 4 elementer vist som en tabel på din profil + email: En bekræftelsese-mail fremsendes + fields: Profilen kan have op til 4 elementer vist som en tabel header: PNG, GIF eller JPG. Maks. %{size}. Auto-nedskaleres til %{dimensions}px - inbox_url: Kopiér URL'en fra forsiden af den videreformidler, du ønsker at bruge - irreversible: Filtrerede indlæg forsvinder helt, selv hvis filteret senere fjernes - locale: Brugerfladesprog, e-mails og push-notifikationer + inbox_url: Kopiér URL'en fra forsiden af den videreformidler, der skal anvendes + irreversible: Filtrerede indlæg forsvinder permanent, selv hvis filteret senere fjernes + locale: Sprog til brug for brugerflade, e-mails og push-notifikationer locked: Godkend manuelt følgeanmodninger for at styre, hvem der følger dig password: Brug mindst 8 tegn - phrase: Matches uanset majuskel-/minuskel-brug i teksten eller indholdsadvarsel på et indlæg - scopes: Hvilke API'er applikationen vil få adgang til. Vælges en højniveaudstrækning, vil granuleringsvalg være unødvendige. - setting_aggregate_reblogs: Vis ikke nye boosts for indlæg boostet for nylig (påvirker kun nyligt modtagne boosts) - setting_default_sensitive: Sensitive medier er som standard skjult og kan afsløres med et klik - setting_display_media_default: Skjul medier markeret som sensitive + phrase: Matches uanset uanset brug af store/små bogstaver i teksten eller indholdsadvarsel for et indlæg + scopes: De API'er, som applikationen vil kunne tilgå. Vælges en topniveaudstrækning, vil detailvalg være unødvendige. + setting_aggregate_reblogs: Vis ikke nye boosts for nyligt boostede indlæg (påvirker kun nyligt modtagne boosts) + setting_default_sensitive: Sensitive medier er som standard skjult og kan vises med et klik + setting_display_media_default: Skjul medier med sensitiv-markering setting_display_media_hide_all: Skjul altid medier setting_display_media_show_all: Vis altid medier setting_hide_network: Hvem du følger, og hvem som følger dig, skjules på din profil - setting_noindex: Påvirker din offentlige profil og statussider - setting_show_application: Applikation, hvormed du skrive indlæg, vil fremgå i den detaljerede visning af dine indlæg + setting_noindex: Påvirker din offentlige profil samt indlægssider + setting_show_application: Applikationen, hvormed der postes, vil fremgå af detailvisningen af dine indlæg setting_use_blurhash: Gradienter er baseret på de skjulte grafikelementers farver, men slører alle detaljer - setting_use_pending_items: Klik for at vise tidslinjeopdateringer i stedet auto-feedrulning + setting_use_pending_items: Skjul tidslinjeopdateringer bag et klik i stedet for brug af auto-feedrulning username: Dit brugernavn vil være unikt på %{domain} - whole_word: Når nøgleordet/-udtrykket er rent alfanumerisk, bruges det kun, såfremt det matcher hele ordet + whole_word: Ved rent alfanumeriske nøgleord/-sætning, forudsætter brugen matchning af hele ordet domain_allow: - domain: Dette domæne vil kunne hente data, og dermed behandle og gemme indgående data, fra denne server + domain: Dette domæne vil kunne hente data, som efterfølgende behandles og gemmes, fra denne server email_domain_block: - domain: Dette kan være domænenavnet i e-mailadressen eller MX-posten, den bruger. Begge tjekkes ved tilmelding. - with_dns_records: Et forsøg på at løse det givne domænes DNS-poster foretages og resultaterne blokeres ligeledes + domain: Dette kan være domænenavnet vist i den benyttede i e-mailadresse eller MX-post. Begge tjekkes under tilmelding. + with_dns_records: Et forsøg på at opløse det givne domænes DNS-poster foretages, og resultaterne blokeres ligeledes featured_tag: - name: 'Du vil formentlig ønske at bruge en af flg.:' + name: 'Et af flg. ønskes måske anvendt:' form_challenge: current_password: Du bevæger dig ind på et sikkert område imports: @@ -72,20 +74,20 @@ da: invite_request: text: Dette vil hjælpe os med at gennemgå din ansøgning ip_block: - comment: Valgfri. Husk, hvorfor du tilføjede denne regel. - expires_in: IP-adresser er en begrænset ressource, de deles undertiden og skifter ofte hænder. Af denne grund anbefales ubegrænsede IP-blokke ikke. - ip: Angiv en IPv4- eller IPv6-adresse. Du kan blokere hele intervaller vha. CIDR-syntaksen. Vær forsigtig med ikke at låse dig ude! + comment: Valgfri. Begrundelse for denne regel. + expires_in: IP-adresser er en begrænset ressource, de deles undertiden og skifter ofte hænder, hvorfor ubegrænsede IP-blokke ikke anbefales. + ip: Angiv en IPv4- eller IPv6-adresse. Hele intervaller kan blokeres vha. CIDR-syntaksen. Pas på med ikke selv at blive låst ude! severities: no_access: Blokér adgang til alle ressourcer sign_up_requires_approval: Nye tilmeldinger kræver din godkendelse - severity: Vælg, hvad der vil ske med anmodninger fra denne IP + severity: Afgør, hvordan forespørgsler fra denne IP behandles rule: text: Beskriv på en kort og enkel form en regel/krav for brugere på denne server sessions: - otp: 'Angiv tofaktorkoden generet af appen på din mobil eller brug en af dine genoprettelses koder:' + otp: 'Angiv tofaktorkoden generet af din mobil-app eller brug en af genoprettelseskoderne:' webauthn: Er det en USB-nøgle, så sørg for at isætte den og, om nødvendigt, åbne den manuelt. tag: - name: Du kan kun ændre bogstavtyperne for eksempelvis at gøre det mere læsbart + name: Kun bogstavtyper (store/små) kan ændres, eksempelvis for at gøre det mere læsbart user: chosen_languages: Når markeret, vil kun indlæg på de valgte sprog fremgå på offentlige tidslinjer labels: @@ -94,29 +96,29 @@ da: name: Etiket value: Indhold account_alias: - acct: Kaldenavn på den gamle konto + acct: Brugernavn på den gamle konto account_migration: - acct: Kaldenavn på den nye konto + acct: Brugernavn på den nye konto account_warning_preset: - text: Tilpasset tekst + text: Tekstskabelon title: Titel admin_account_action: - include_statuses: Inkludér anmeldte indlæg i e-mailen - send_email_notification: Advisér brugeren pr. e-mail + include_statuses: Medtag anmeldte indlæg i e-mailen + send_email_notification: Underret brugeren pr. e-mail text: Tilpasset advarsel type: Handling types: disable: Frys none: Send en advarsel - sensitive: Sensitive - silence: Begrænsning + sensitive: Sensitiv + silence: Begræns suspend: Suspendér - warning_preset_id: Brug en forvalgsadvarsel + warning_preset_id: Brug en advarselsskabelon announcement: all_day: Heldagsbegivenhed ends_at: Slut på begivenhed scheduled_at: Planlæg offentliggørelse - starts_at: Start af begivenhed + starts_at: Start på begivenhed text: Bekendtgørelse appeal: text: Forklar, hvorfor denne beslutning bør omgøres @@ -124,10 +126,10 @@ da: autofollow: Invitér til at følge din konto avatar: Profilbillede bot: Dette er en bot-konto - chosen_languages: Filtrér sprog + chosen_languages: Sprogfiltrering confirm_new_password: Bekræft ny adgangskode confirm_password: Bekræft adgangskode - context: Filtrér kontekster + context: Kontekstfiltrering current_password: Aktuel adgangskode data: Data discoverable: Foreslå konto til andre @@ -152,12 +154,12 @@ da: setting_auto_play_gif: Autoafspil animerede GIF'er setting_boost_modal: Vis bekræftelsesdialog inden boosting setting_crop_images: Beskær billeder i ikke-ekspanderede indlæg til 16x9 - setting_default_language: Sprog for opslag - setting_default_privacy: Fortrolighed for opslag + setting_default_language: Sprog for indlæg + setting_default_privacy: Fortrolighed for indlæg setting_default_sensitive: Markér altid medier som sensitive setting_delete_modal: Vis bekræftelsesdialog før et indlæg slettes setting_disable_swiping: Deaktivér strygebevægelser - setting_display_media: Medivisning + setting_display_media: Medievisning setting_display_media_default: Standard setting_display_media_hide_all: Skjul alle setting_display_media_show_all: Vis alle @@ -165,7 +167,7 @@ da: setting_hide_network: Skjul din sociale graf setting_noindex: Fravælg søgemaskineindeksering setting_reduce_motion: Reducér animationsbevægelse - setting_show_application: Viser applikation, der bruges til at sende indlæg + setting_show_application: Vis applikationen brugt til at poste indlæg setting_system_font_ui: Brug systemets standardskrifttype setting_theme: Webstedstema setting_trends: Vis dagens tendenser @@ -184,8 +186,8 @@ da: name: Hashtag interactions: must_be_follower: Blokér notifikationer fra ikke-følgere - must_be_following: Blokér notifikationer fra folk du ikke følger - must_be_following_dm: Bloker direkte beskeder fra folk du ikke følger + must_be_following: Blokér notifikationer fra folk, som ikke følges + must_be_following_dm: Bloker direkte beskeder fra folk, som ikke følges invite: comment: Kommentar invite_request: @@ -205,13 +207,13 @@ da: follow_request: Nogen anmodede om at følge dig mention: Nogen nævnte dig pending_account: Ny konto kræver gennemgang - reblog: Nogen boostede din status - report: Ny anmeldelse er indsendt + reblog: Nogen boostede dit indlæg + report: Ny anmeldelse indsendt trending_tag: Ny tendens kræver revidering rule: text: Regel tag: - listable: Tillad visning af dette hashtag i søgninger og på profilmappen + listable: Tillad visning af dette hashtag i søgninger og forslag name: Hashtag trendable: Tillad visning af dette hashtag under trends usable: Tillad indlæg at benytte dette hashtag @@ -219,7 +221,7 @@ da: recommended: Anbefalet required: mark: "*" - text: krævet + text: obligatorisk title: sessions: webauthn: Brug en af dine sikkerhedskoder til indlogning diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml index 99a27e4e6..f2894385f 100644 --- a/config/locales/simple_form.eu.yml +++ b/config/locales/simple_form.eu.yml @@ -27,6 +27,8 @@ eu: scheduled_at: Laga hutsik iragarpena berehala argitaratzeko starts_at: Aukerakoa. Zure iragarpena denbora-tarte batera lotuta dagoenerako text: Tootetako sintaxia erabili dezakezu. Kontuan izan iragarpenak erabiltzailearen pantailan hartuko duen neurria + appeal: + text: Abisu bati errekurtsoa behin bakarrik jarri diezaiokezu defaults: autofollow: Gonbidapena erabiliz izena ematen dutenek automatikoki jarraituko dizute avatar: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px neurrira eskalatuko da @@ -35,6 +37,7 @@ eu: current_password: Segurtasunagatik sartu uneko kontuaren pasahitza current_username: Berresteko sartu uneko kontuaren erabiltzaile-izena digest: Jarduerarik gabeko epe luze bat eta gero mezu pertsonalen bat jaso baduzu, besterik ez + discoverable: Baimendu zure kontua ezezagunek aurkitu ahal izatea gomendio, joera eta beste ezaugarrien bidez email: Baieztapen e-mail bat bidaliko zaizu fields: 4 elementu bistaratu ditzakezu taula batean zure profilean header: PNG, GIF edo JPG. Gehienez %{size}. %{dimensions}px eskalara txikituko da @@ -60,6 +63,7 @@ eu: domain_allow: domain: Domeinu honek zerbitzari honetatik datuak hartu ahal izango ditu eta bertatik jasotako informazioa prozesatu eta gordeko da 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: 'Hauetakoren bat erabili zenezake:' @@ -116,6 +120,8 @@ eu: scheduled_at: Programatu argitaratzea starts_at: Ekitaldiaren hasiera text: Iragarpena + appeal: + text: Azaldu zergatik bota behar litzatekeen atzera erabaki hau defaults: autofollow: Gonbidatu zure kontua jarraitzera avatar: Abatarra @@ -194,6 +200,7 @@ eu: sign_up_requires_approval: Mugatu izen emateak severity: Araua notification_emails: + appeal: Norbaitek moderatzailearen erabakia eskatu du digest: Bidali laburpenak e-mail bidez favourite: Bidali e-mail bat norbaitek zure mezua gogoko duenean follow: Bidali e-mail bat norbaitek jarraitzen zaituenean @@ -201,6 +208,8 @@ eu: mention: Bidali e-mail bat norbaitek zu aipatzean pending_account: Bidali e-mail bat kontu bat berrikusi behar denean reblog: Bidali e-mail bat norbaitek zure mezuari bultzada ematen badio + report: Salaketa berria bidali da + trending_tag: Joera berriak berrikuspena behar du rule: text: Araua tag: diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml index 6254d915b..bba49f1e2 100644 --- a/config/locales/simple_form.id.yml +++ b/config/locales/simple_form.id.yml @@ -37,6 +37,7 @@ id: current_password: Untuk tujuan keamanan mohon masukkan kata sandi akun ini current_username: Untuk konfirmasi, mohon masukkan nama pengguna akun ini digest: Hanya kirim setelah lama tidak aktif dan hanya jika Anda menerima pesan personal atas absensi Anda + discoverable: Izinkan akun Anda ditemukan orang lain lewat rekomendasi, tren, dan fitur lain email: Anda akan dikirimi email konfirmasi fields: Anda bisa memiliki hingga 4 item utk ditampilkan sebagai tabel di profil Anda header: PNG, GIF atau JPG. Maksimal %{size}. Ukuran dikecilkan menjadi %{dimensions}px diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml index 76440ee95..4f38ae030 100644 --- a/config/locales/simple_form.ku.yml +++ b/config/locales/simple_form.ku.yml @@ -3,204 +3,228 @@ ku: simple_form: hints: account_alias: - acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە + acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike account_migration: - acct: دیاریکردنی username@domain ئەو هەژمارە کە دەتەوێت بیگوازیەوە لە + acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike account_warning_preset: - text: دەتوانی ڕستەسازی ی توت بەکاربێنیت، وەک لینک، هاشتاگ و باسەکان - title: ئارەزوومەندانە. دیار نیە بۆ وەرگر + text: Tu dikarî wek URLyan, hashtagan û şîroveyan, tootê ristesazî jî bikarbînî + title: Bi dilê xwe ye. Ji wergir re nay xûyakirin admin_account_action: - include_statuses: بەکارهێنەرەکە دەبینێت کام توتی هۆکاری کرداری بەڕێوەبەر یان ئاگادارکردنەوە - send_email_notification: بەکارهێنەر ڕوننکردەوەیەک دەبینێت کە تێدا دەزانێت چی بە سەر هەژمارەکەی هاتووە - text_html: ئارزوومەندانە. دەتوانن وەک توتی ئاسایی بینووسن. دەتوانن بۆ کەمکردنەوەی کات ئاگادارییەکان لە پێشەوە زیادبکەن - type_html: گەرکتە لەگەڵ هەژمارەی %{acct} چی بکەیت - warning_preset_id: ئارەزوومەندانەیە. هێشتا دەتوانیت لە کۆتایی دەق شتێک زیاد بکەی + include_statuses: Bikarhênerê bibîne kîjan toot dibin sedemê çalakî an jî agahdarî + send_email_notification: Bikarhêner dê ravekirinê tiştê ku bi ajimêra wan re qewimî bistîne + text_html: Bi dili xwe ye. Tu dikarî hevoksazî ye toot bikarbînî. Tu dikarî pêşsazîyên hişyariyê lê zêde bikî ji bo ku demê derbas nekî + type_html: Hilbijêre ka tu yê çi bikî bi %{acct} re + types: + disable: Nehêle bila bikarhêner ajimêrê xwe bikar bîne lê naverokan jê nebe an jî veneşêre. + none: Ji bo ku tu hişyariyekê ji bikarhêner re bişînî vê bi kar bîne, bêyî ku çalakiyeke din dest lê neda. + sensitive: Neçar bihêle ku ev bikarhêner hemû pêvekên medyayê hestiyar nîşan bike. + silence: Pêşî li bikarhêneran bigire ku bikarhêner bi herkesî ra xûyabarî neşîne, post û agahdarîyên xwe ji mirovên ku wan naşopîne veşêre. + suspend: Pêşîya hevbandorîya vî ajimêrê bigire û naveroka wê jê bibe. Di nava 30 rojan de tê vegerandin. + warning_preset_id: Bi dilê xwe ye. Tu hîn jî dikarî dawîya pêşsazkirî de nivîsek teybet li zêde bikî announcement: - all_day: کاتێک چاودێریکرا، تەنها بەروارەکانی مەودای کات پیشان دەدرێت - ends_at: ئارەزوومەندانەیە. ئەم کاتە راگەیەنراوەکە بە شێوەیەکی خۆکارانە بڵاوناکرێتەوە - scheduled_at: چۆڵ یبهێڵەوە بۆ بڵاوکردنەوەی دەستبەجێی بانگەوازەکە - starts_at: ئارەزوومەندانەیە. لە حاڵەتی ڕاگەیاندنی تۆ بەستراو بە مەودایەکی کاتی دیاریکراو - text: دەتوانیت ڕستەسازی توت بەکار بێنیت. تکایە بیر لەو بۆشاییە بکەوە کە بانگەوازەکە لەسەر شاشەی بەکارهێنەرەکە دەست نیشان دەکات + all_day: Dema were nîşankirin, tenê dîrokên navbera demê dê werin nîşan kirin + ends_at: Bi dilê xwe ye. Daxuyanî di vê demê de bi xweberî ji weşanê de rabe + scheduled_at: Vala bihêle ku yekcar daxûyanî were weşandin + starts_at: Bi dilê xwe ye. Heke daxûyanî ya te di demeke diyar ve girêdayî be + text: Tu dikarî hevoksazî yên toot bikarbînî. Ji kerema xwe cihê ku ev daxuyanî li ser dîmenderê bikarhêner bigire baldar be + appeal: + text: Tu dikarî tenê carekê îtîraza binpêkirinê bikî defaults: - autofollow: ئەو کەسانەی کە لە ڕێگەی بانگهێشتکردنەوە تۆمار دەکرێن بە خۆکارانە شوێنت دەکەون - avatar: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}px - bot: ئەم هەژمارە بەشێوەیەکی سەرەکی کردارە خۆکارانە ئەنجام دەدات و لەوانەیە چاودێری نەکرێت - context: یەک یان چەند دەقێک کە پالافتنەکە جێبەجێ بکات - current_password: بۆ مەبەستی پاراستن تکایە تێپەروشەی هەژمارەی ئێستاکەت بنووسە - current_username: بۆ دڵنیابوون، تکایە ناوی بەکارهێنەری ئەم هەژمارەیە بنووسە - digest: تەنیا دوای ماوەیەکی زۆر لە بێ چالاکیدەنێردرێت و تەنیا ئەگەر نامەیەکی کەسیت بۆ نووسرابێت - email: ئیمەیڵێکی پشتڕاستکردنەوەت بۆ دەنێردرێت - fields: دەتوانیت تا ٤بڕگەت هەبێت کە وەک خشتەیەک لەسەر پرۆفایلەکەت پیشان بدرێت - header: PNG, GIF یان JPG. لە زۆربەی %{size}. دەبێتە ئەندازەیەکی کەمکراوە بۆ %{dimensions}پیکسێڵ - inbox_url: نیشانەی پەڕەی سەرەکی ئەو رێڵە کە هەرەکتە بەکاریببەیت ڕوونووس دەکات - irreversible: توتە فلتەرکراوەکە بە شێوەیەکی نەگەڕاو فرەدەدرێن، تەنانەت ئەگەر فلتەردواتر لاببرێت - locale: زمانی ڕووکاری بەکارهێنەر، ئیمەیلەکان و ئاگانامەکان - locked: بە دەستی شوێنکەوتوانی خۆت پەسەند بکە - password: بەلایەنی کەمەوە ٨ نووسە بەکاربهێنە - phrase: سەربەخۆ لە بچکۆلی و گەورەیی پیتەکان، لەگەڵ دەقی ئەسڵی یان ئاگانامەکانی ناوەرۆکی توتەکان هاوئاهەنگ دەکرێت - scopes: APIـیەکانی بەرنامەنووسی کە ئەم ماڵپەڕە دەستپێگەیشتنی لەگەڵیان هیە. ئەگەر بەرزترین ئاست هەڵبژێرن ئیتر نیاز بە بژاردەی ئاستی نزم نییە. - setting_aggregate_reblogs: بۆ ئەو دووبارە توتانە کە بە نوێیی پێتان نیشان دراوە،دووبارە توتەکانی پێشتر زیاد مەکە(تەنها کاریگەری لەسەر توتەکانی ئەم دواییە هەیە) - setting_default_sensitive: میدیای هەستیار لە بنەڕەت شاراوەیە و دەتوانرێت بە کلیکیک ئاشکرا بکرێت - setting_display_media_default: شاردنەوەی ئەو میدیایانەی وەک هەستیار نیشانکراون - setting_display_media_hide_all: هەمیشە میدیا بشارەوە - setting_display_media_show_all: هەمیشە میدیا نیشان بدە - setting_hide_network: کێ دوای دەکەویت و کێ دوای تۆ دەکەوێت لە پرۆفایلەکەت پیشان نادرێت - setting_noindex: کاردەکاتە سەر پرۆفایل و لاپەڕە گشتیەکانت - setting_show_application: بەرنامەیەک کە بە یارمەتیت توت دەکەیت، لە دیمەنی وردی توتەکان پیشان دەدرێت - setting_use_blurhash: سێبەرەکان لە سەر بنەمای ڕەنگەکانی بەکارهاتوو لە وێنە داشاراوەکان دروست دەبن بەڵام وردەزانیاری وێنە تێیدا ڕوون نییە - setting_use_pending_items: لەجیاتی ئەوەی بە خۆکارانە کێشان هەبێت لە نووسراوەکان بە کرتەیەک بەڕۆژبوونی پێرستی نووسراوەکان بشارەوە - username: ناوی بەکارهێنەری ئێوە لەسەر %{domain} یەکتا دەبێت - whole_word: کاتێک کلیل‌وشە بریتییە لە ژمارە و پیت، تنەها کاتێک پەیدا دەبێت کە لەگەڵ گشتی وشە لە نێو دەقەکە هاوئاهەنگ بێت، نە تەنها لەگەڵ بەشێک لە وشە + autofollow: Mirovên ku bi rêya vexwendinê xwe tomar kirine ew ên bi xweberî te bişopînin + avatar: PNG, GIF an jî JPG. Herî zêde %{size} dê ber bi %{dimensions}px ve were kêmkirin + bot: Ji yên din re nîşan bike ku ajimêr bi piranî kiryarên xweberî dike û dibe ku neyê çavdêrî kirin + context: Yek an jî zêdetir girêdan divê parzûn were sepandin + current_password: Ji bo ewlehiyê ji kerema xwe şîfreya ajimêrê xwe niha têkevin + current_username: Ji bo piştrastkirinê, ji kerema xwe navê bikarhêner ya ajimêrê niha binvîse + digest: Tenê piştî demek dirêj neçalakiyê de û tenê di nebûna te da peyamên teybetî standî be tê şandin + discoverable: Mafê biden ku ajimêra te bi pêşniyar û taybetmendiyên din ji aliyê biyaniyan ve bê vedîtin + email: Ji te re e-name ya pejirandinê were + fields: Tu dikarî heya 4 hêmanan wekî tabloyek li ser profîla xwe nîşan bidî + header: PNG, GIF an jî JPG. Herî zêde %{size} ber bi %{dimensions}px ve were kêmkirin + inbox_url: URLyê di rûpela pêşî de guhêrkerê ku tu dixwazî bi kar bînî jê bigire + irreversible: Tootên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe + locale: Zimanê navrûyê bikarhêner, agahdarîyên e-name û pêl kirin + locked: Bi destan daxwazên şopê hilbijêrîne da ku kî bikaribe te bişopîne + password: Herî kêm 8 karakter bikar bîne + phrase: Ji rewşa nivîsê tîpên girdek/hûrdek an jî ji hişyariya naveroka ya şandiyê wek serbixwe wê were hevbeş kirin + scopes: |- + Sepana ku dê kîjan maf bide bigihije APIyan. + Ger te asteke jor hilbijartibe, ne pêwîste ku tu yên berfirehî a kesane hilbijêrî. + setting_aggregate_reblogs: Bilindkirinên ku nû hatine weşan ji şandiyên di dema dawî de nîşan nede (tenê li ser bilindkirinên nû wergirtî bandor dike) + setting_default_sensitive: Medyaya hestiyar berdestî ve tê veşartin û bi tikandin dikare were eşkere kirin + setting_display_media_default: Medyaya wekî hestyarî hatiye nîşankirî ye veşêre + setting_display_media_hide_all: Medyayê tim veşêre + setting_display_media_show_all: Medyayê tim nîşan bike + setting_hide_network: Kesên ku te dişopîne û kesên tu dişopînî ev ên profîla te de were veşartin + setting_noindex: Bandor li hemî profîla te û tootên rûpela te dike + setting_show_application: Navê sepana ku tu ji bo şandinê wê bi kar tîne dê di dîtinê berferh ên di şandiyên te de were xuyakirin + setting_use_blurhash: Gradyen xwe bi rengên dîtbarîyên veşartî ve radigire, lê belê hûrgilîyan diveşêre + setting_use_pending_items: Li şûna ku herkê wek bixweber bizivirînî nûvekirina demnameyê li paş tikandinekî veşêre + username: Navê te yê bikarhênerî li ser %{domain} de bêhempa be + whole_word: Dema peyvkilîd an jî hevok bi tenê alfahejmarî çêbe, bi tenê hemû bêjeyê re li hev bike wê pêk bê domain_allow: - domain: ئەم دۆمەینە دەتوانێت دراوە لە ئەم ڕاژە وەربگرێت و دراوەی ئەم دۆمەینە لێرە ڕێکدەخرین و پاشکەوت دەکرێن + domain: Ev navê navperê, ji vê rajekarê wê daneyan bistîne û daneyên ku jê bê wê were sazkirin û veşartin email_domain_block: - with_dns_records: هەوڵێک بۆ چارەسەرکردنی تۆمارەکانی DNSی دۆمەین دراوە کە ئەنجامەکان بلۆک دەکرێت + domain: Ev dikare bibe navê navparek ku di navnîşana e-nameyê de an tomara MX ya ku ew bi kar tîne de xuya dike. Ew ê di dema tomarkirinê de werin kontrolkirin. + with_dns_records: Hewl tê dayîn ku tomarên DNSê yên li qada jê re hatine dayîn were çareserkirin û encamên wê jî were astengkirin featured_tag: - name: 'لەوانەیە بتەوێت یەکێک لەمانە بەکاربهێنیت:' + name: 'Belkî tu yekê bi kar bînî çi van:' form_challenge: - current_password: تۆ دەچیتە ناو ناوچەی پارێزراو + current_password: Tu dikevî qadeke ewledar imports: - data: فایلی CSV هەناردەکراوە لە ڕاژەیەکی تری ماستۆدۆن + data: Pelê CSV-ê ji rajekareke din a Mastodon hate derxistin invite_request: - text: ئەمە یارمەتیمان دەدات بۆ پێداچوونەوەی بەرنامەکەت + text: Ev ê alikariya me bikê bo nirxandina sepanê te ip_block: - comment: دڵخوازە. لەبیرتە بۆچی ئەم یاسایەت زیاد کرد. - expires_in: ناونیشانی IP سەرچاوەی سنوردارن، هەندێک جار هاوبەشکراون و زۆر جار دەستەکان دەگۆڕن. لەبەر ئەم هۆیە، بلۆکی IP بێ نەناسراو پێشنیار نەکراوە. - ip: ناونیشانی IPv4 یان IPv6 تێبنووسە. دەتوانیت هەموو مەوداکان بلۆک بکەیت بە بەکارهێنانی داڕستانی CIDR. وریابە خۆت قفڵ مەکە! + comment: Bi dilê xwe ye. Ji bîr neke te çima ev bîranînê lê zêde kiriye. + expires_in: Navnîşanên IPyan çavkaniyên bi sînor in, carinan dihê parvekirin lê pirî caran dest diguherîne. Ji bo vê blokên IP ên nediyar nayê pêşniyarkirin. + ip: Têkeve navnîşana IPv4 an jî IPv6'yek. Tu dikarî bi hevoksazî ya CIDR re hemî valahîyan asteng bikî. Hay ji xwe hebe ku xwe derve nehêle! severities: - no_access: بلۆککردنی گەیشتن بە هەموو سەرچاوەکان - sign_up_requires_approval: نوێ ناوتۆمارکردن پێویستی بە ڕەزامەندی تۆیە - severity: هەڵبژێرە چی ڕوودەدات لەگەڵ داواکاریەکانی ئەم IP + no_access: Gihîştina hemî çavkaniyan asteng bike + sign_up_requires_approval: Tomarkirinên nû de pejirandina te pêwîste + severity: Daxwazên ku ji vê IPyê tên dê çi bibe hilbijêre + rule: + text: Ji bo bikarhênerên li ser vê rajekarê rêzikek an jî pêdivîyê pênase bike. Hewl bide ku rêzikê kin û xwerû bigire sessions: - otp: 'کۆدی دوو-فاکتۆر بنووسە کە لەلایەن ئەپی تەلەفۆنەکەتەوە دروست کراوە یان یەکێک لە کۆدەکانی هێنانەوەی خۆت بەکاربهێنە:' - webauthn: ئەگەر کلیلی USB بێت دڵنیابە لە تێکردنی و ئەگەر پێویست بوو، لێیبدە. + otp: 'Koda du-gavî a telefona xwe têkevê an jî yek ji wan kodên xilaskirinê têkevê:' + webauthn: Heke kilîta USB-yê be, jê ewle be ku wê têxinê û heke pêdivî be, pê li wê bike. tag: - name: ئێوە دەتوانن گەورەیی و بجکۆلیی پیتەکان دەستکاری بکەن تاکوو خوێنەوارتر دیاربن + name: Tîpan, mînak ji bo ku bêhtir paknivîs bibe, tenê rewşa tîpên girdek/hûrdek dikarî biguherînî user: - chosen_languages: کاتێک چاودێری کرا، تەنها توتەکان بە زمانە دیاریکراوەکان لە هێڵی‌کاتی گشتی پیشان دەدرێت + chosen_languages: Dema were nîşankirin, tenê parvekirinên bi zimanên hilbijartî dê di rêzikên giştî de werin nîşandan labels: account: fields: - name: ناونیشان - value: ناوەڕۆک + name: Nîşan + value: Naverok account_alias: - acct: چارەسەرکردنی هەژمارە کۆنەکە + acct: Destika ajimêrê te yê kevn account_migration: - acct: چارەسەرکردنی هەژمارە نوێکە + acct: Destika ajimêrê te yê nû account_warning_preset: - text: دەقی پێشوەختی ڕێکخستن - title: سەردێڕ + text: Nivîsa pêşsazkirî + title: Sernav admin_account_action: - include_statuses: لەخۆگرتنی توتەکانی گوزارشت لە ئیمەیل - send_email_notification: بەکارهێنەر ئاگادار بکەوە بۆ هەر ئیمەیڵێک - text: ئاگاداری تایبەتمەند - type: کردار + include_statuses: Şandiyên hatine ragihandinê jî têxe nav e-name yê + send_email_notification: Bikarhênerê bi e-name yê agahdar bike + text: Agahdarî ya kesane + type: Çalakî types: - disable: بەستن - none: ناردنی ئاگاداری - sensitive: هەستیار - silence: سنوور - suspend: ڕاگرتن - warning_preset_id: بەکاهێنانی ئاگاداری پێش وەختە + disable: Qerisî ye + none: Hişyariyek bişîne + sensitive: Hestiyar + silence: Bi sînor bike + suspend: Hatiye rawestandin + warning_preset_id: Hişyariyeke pêşsazkirî bi kar bîne announcement: - all_day: ڕووداوی هەموو ڕۆژەکە - ends_at: کۆتایی ڕووداو - scheduled_at: بڵاوکراوەکە خشتە بکە - starts_at: دەستپێکردنی ڕووداو - text: بانگەواز + all_day: Çalakiya tevahiya rojê + ends_at: Dawiya bûyerê + scheduled_at: Weşanê demsaz bike + starts_at: Destpêka bûyerê + text: Daxuyanî + appeal: + text: Şîrove bike çima divê ev biryar were berovajîkirin defaults: - autofollow: بانگهێشت کردن بۆ شوێنکەوتنی هەژمارەکەت - avatar: وێنۆچکە - bot: ئەمە هەژمارێکی ساختەیە - chosen_languages: پاڵاوتنی زمانەکان - confirm_new_password: پشتڕاستکردنەوەی تێپەڕوشەی نوێ - confirm_password: پشتڕاستکردنەوەی تێپەڕوشە - context: چوارچێوەی پاڵافتن - current_password: تێپەروشەی ئێستا - data: دراوه - discoverable: ئەم هەژمێرە لە پێرستی بژاردەی بەکارهێنەران نیشان بدە - display_name: ناوی پیشاندان - email: ناونیشانی ئیمەیڵ - expires_in: بەسەردەچێت پاش - fields: مێتاداتای پرۆفایل - header: سەرپەڕە - inbox_url: بەستەری سندوقی گواستنەوەی - irreversible: فرێدان لەجیاتی شاردنەوە - locale: زمانی پەڕەی بەکارهێنەر - locked: داخستنی هەژمارە - max_uses: زۆرترین ژمارەی بەکاربەرەکان - new_password: تێپەروشەی نوێ - note: دەربارەی ئیوە - otp_attempt: کۆدی دووقۆناغی هاتنەژوور - password: تێپەڕوشە - phrase: وشەکلیل یان دەستەواژە - setting_advanced_layout: چالاککردنی ڕووکاری وێبی پێشکەوتوو - setting_aggregate_reblogs: گرووپی توتەکان یەکبخە - setting_auto_play_gif: خۆکاربەخشکردنی GIFــەکان - setting_boost_modal: پیشاندانی دیالۆگی دووپاتکردنەوە پێش دوبارە توتاندن - setting_crop_images: لە تووتی نەکراوە،وینەکان لە ئەندازی ۱٦×۹ ببڕە - setting_default_language: زمانی نووسراوەکانتان - setting_default_privacy: چوارچێوەی تایبەتێتی ئێوە - setting_default_sensitive: هەمیشە نیشانکردنی میدیا وەک هەستیار - setting_delete_modal: نیساندانی پەیامی پەسەند کردن پاش سڕینەوە - setting_disable_swiping: جوڵەی سڕینەوە لە کاربخە - setting_display_media: پیشاندانی میدیا - setting_display_media_default: بنەڕەت - setting_display_media_hide_all: شاردنەوەی هەموو - setting_display_media_show_all: هەموو نیشان بدە - setting_expand_spoilers: هەمیشە ئەو توتانەی کە بە ئاگادارکردنەوەکانی ناوەڕۆکەوە نیشانەکراون، پیسان بدە - setting_hide_network: شاردنەوەی تۆڕەکەت - setting_noindex: داوا لە مەکینەی گەڕان بۆ پیشاننەدان لە دەئەنجامی گەڕانەکان - setting_reduce_motion: کەمکردنەوەی جوڵە لە ئەنیمەکان - setting_show_application: ئاشکراکردنی ئەپەکان بۆ ناردنی توتەکان - setting_system_font_ui: فۆنتی بنەڕەتی سیستەم بەکاربهێنە - setting_theme: ڕووکاری ماڵپەڕ - setting_trends: پیشاندانی نووسراوە بەرچاوکراوەی ئەمڕۆ - setting_unfollow_modal: پیشاندانی پەیامی پەسەندکردن پێش شوێن‌نەکەوتنی کەسێک - setting_use_blurhash: بەجیاتی وینەی داشاراوە، سێبەری ڕەنگاوڕەنگ نیشان بدە - setting_use_pending_items: دۆخی خاو - severity: ئاستی گرنگی - sign_in_token_attempt: کۆدی پاراستن - type: جۆری هاوردەکردن - username: ناوی بەکارهێنەر - username_or_email: ناوی بەکاهێنەر یان ئیمەیڵ - whole_word: هەموو وشەکە + autofollow: Ji bo şopandina ajimêra xwe vexwîne + avatar: Wêne + bot: Ev ajimêrekî bot e + chosen_languages: Parzûnê zimanan + confirm_new_password: Peborîna nû bipejirîne + confirm_password: Peborîn bipejirîne + context: Parzûnê naverokan + current_password: Pêborîna heyî + data: Dane + discoverable: Ji yên din re ajimêrê pêşniyar bike + display_name: Navê nîşandanê + email: Navnîşana E-nameyê + expires_in: Dîroka xilasbûyînê + fields: Profîla daneyên meta + header: Jormalper + honeypot: "%{label} (tijî neke)" + inbox_url: URLya guhêzkera wergirtî + irreversible: Li şûna veşartinê jê bibe + locale: Zimanê navrûyê + locked: Ajimêr qefl bike + max_uses: Hejmara bikaranîna herî zêde + new_password: Pêborîna nû + note: Jiyanname + otp_attempt: Koda du faktoran + password: Pêborîn + phrase: Peyvkilîd an jî hevok + setting_advanced_layout: Navrûya tevnê yê pêşketî çalak bike + setting_aggregate_reblogs: Di demnameyê de şandiyên bilindkirî kom bike + setting_auto_play_gif: GIF ên livok bi xweber bilîzine + setting_boost_modal: Gotûbêja pejirandinê nîşan bide berî ku şandî werê bilindkirin + setting_crop_images: Wêneyên di nav şandiyên ku nehatine berfireh kirin wek 16×9 jê bike + setting_default_language: Zimanê weşanê + setting_default_privacy: Ewlehiya weşanê + setting_default_sensitive: Her dem medya wek hestyar bide nîşan + setting_delete_modal: Berî ku peyamek were jêbirin, gotûbêja pejirandinê nîşan bide + setting_disable_swiping: Tevgerên dişiqite ne çalak bike + setting_display_media: Nîşandana medyayê + setting_display_media_default: Berdest + setting_display_media_hide_all: Hemûyan veşêre + setting_display_media_show_all: Hemûyan nîşan bide + setting_expand_spoilers: Şandîyên ku bi agahdarîyên naverokê va hatine nîşankirin her dem berfireh bike + setting_hide_network: Grafîka xwe ya civakî veşêre + setting_noindex: Bes e nexe di nav rêzên lêgerîna gerokan + setting_reduce_motion: Lîstikên livoka kêm bike + setting_show_application: Sepana ku ji bo şandina toot'a tê bikaranîn diyar bike + setting_system_font_ui: Curenivîsa berdest a pergalê bi kar bîne + setting_theme: Rûkarê malperê + setting_trends: Rojeva îro nîşan bide + setting_unfollow_modal: Gotûbêja pejirandinê nîşan bide berî ku dev ji şopa kesekî tê berdan + setting_use_blurhash: Ji bo medyaya veşartî de gradyanên rengîn nîşan bike + setting_use_pending_items: Awayê hêdî + severity: Asta girîngiyê + sign_in_token_attempt: Koda ewlehiyê + type: Cureya têxistinê + username: Navê bikarhêneriyê + username_or_email: Navê bikarhêner an jî e-name + whole_word: Hemû peyv email_domain_block: - with_dns_records: لەخۆگرتنی تۆمارەکانی MX و ئای پییەکانی دۆمەین + with_dns_records: Tomarên MX û IP yên hundirê navper lê zêde bike featured_tag: - name: هەشتاگ + name: Hashtag interactions: - must_be_follower: قەپاتکردنی ئاگانامەکان بێجگە لە شوێنکەوتووان - must_be_following: بەئاگانامەکان بلۆک بکە لە خەڵکێک کە پەیڕەویان ناکەیت - must_be_following_dm: پەیامەکانی ڕاستەوخۆ بلۆک بکە لەو کەسانەی کە، پەیڕەوی ناکەن + must_be_follower: Danezanên ji kesên ku ne şopînerên min tên asteng bike + must_be_following: Agahdariyan asteng bike ji kesên ku tu wan naşopînî + must_be_following_dm: Peyamên rasterast asteng bike ji kesên ku tu wan naşopînî invite: - comment: بۆچوون + comment: Şîrove invite_request: - text: بۆچی دەتەوێت بەشدار بیت? + text: Tu çima dixwazî beşdar bibî? ip_block: - comment: بۆچوون + comment: Şîrove + ip: IP severities: - no_access: بلۆککردنی ده‌ستپێگه‌یشتن - sign_up_requires_approval: سنووردارکردنی چوونەناو - severity: یاسا + no_access: Gihîştinê asteng bike + sign_up_requires_approval: Tomaran sînordar bike + severity: Rêbaz notification_emails: - digest: کورتکردنی ئاگادارییکەن لەیەک ئیمەیل - favourite: کەسێک دۆخی تۆی بەدڵ بوو - follow: کەسێک دوای تۆ کەوت - follow_request: کەسێک داوای کردووە کە بەدوات بکەوێت - mention: کەسێک باسی کردووی - pending_account: هەژمارەی نوێ پێویستی بە پێداچوونەوەهەیە - reblog: کاتێک کەسێک نووسراوەی ئێوە دووبارە توت دەکاتەوە + appeal: Kesek îtîrazê biryara çavdêr dike + digest: Kurte e-name bişîne + favourite: Kesekî şandiya te hez kir + follow: Kesekî te şopand + follow_request: Kesekî daxwaz kir bo şopandina te + mention: Kesekî qale te kir + pending_account: Pewîste ku ajimêra nû bihê lêkolînkirin + reblog: Kesekî şandiya te bilind kir + report: Ragihandina nû hate şandin + trending_tag: Rojeva nû pêdivî nirxandinê ye + rule: + text: Rêbaz tag: - listable: ڕیگەبدە ئەم هاشتاگە لە پێرستی هەڵبژاردەی بەکارهێنەران و پەڕەی گەڕان نیشان بدرێت - name: هەشتاگ - trendable: ڕێگەبدە ئەم هەشتاگە لە نووسراوەی بەرچاوکراو نیسان بدرێت - usable: ڕێگەبدە بە توتەکان بۆ بەکارهێنانی ئەم هەشتاگە - 'no': نە - recommended: پێشنیارکراوە + listable: Bihêle ku ev hashtag werê xuyakirin di lêgerîn û pêşniyaran de + name: Hashtag + trendable: Bihêle ku ev hashtag werê xuyakirin di bin rojevê de + usable: Bihêle ku şandî ev hashtag bi kar bînin + 'no': Na + recommended: Pêşniyarkirî required: - text: پێویستە + mark: "*" + text: pêdivî ye title: sessions: - webauthn: یەکێک لە کلیلەکانی پاراستن بەکاربهێنە بۆ چوونە ژوورەوە - 'yes': بەڵێ + webauthn: Yek ji kilîtên ewlehiyê yên xwe bi kar bîne bo têketinê + 'yes': Erê diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index a50468543..a1dbe66f9 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -28,7 +28,7 @@ th: starts_at: ไม่จำเป็น ในกรณีที่ประกาศของคุณผูกไว้กับช่วงเวลาที่เฉพาะเจาะจง text: คุณสามารถใช้ไวยากรณ์โพสต์ โปรดระวังพื้นที่ที่ประกาศจะใช้ในหน้าจอของผู้ใช้ appeal: - text: คุณสามารถอุทธรณ์การลงโทษได้เพียงครั้งเดียวเท่านั้น + text: คุณสามารถอุทธรณ์การดำเนินการได้เพียงครั้งเดียวเท่านั้น defaults: autofollow: ผู้คนที่ลงทะเบียนผ่านคำเชิญจะติดตามคุณโดยอัตโนมัติ avatar: PNG, GIF หรือ JPG สูงสุด %{size} จะถูกย่อขนาดเป็น %{dimensions}px diff --git a/config/locales/simple_form.vi.yml b/config/locales/simple_form.vi.yml index 29f19a844..033209456 100644 --- a/config/locales/simple_form.vi.yml +++ b/config/locales/simple_form.vi.yml @@ -200,23 +200,23 @@ vi: sign_up_requires_approval: Giới hạn đăng ký severity: Mức độ notification_emails: - appeal: Có người khiếu nại quyết định kiểm duyệt + appeal: Ai đó kháng cáo kiểm duyệt digest: Gửi email định kỳ favourite: Ai đó thích tút của bạn follow: Ai đó theo dõi bạn follow_request: Ai đó yêu cầu theo dõi bạn mention: Ai đó nhắc đến bạn - pending_account: Tài khoản mới cần phê duyệt + pending_account: Phê duyệt tài khoản mới reblog: Ai đó đăng lại tút của bạn - report: Đã gửi báo cáo mới - trending_tag: Một xu hướng cần được xem xét + report: Ai đó gửi báo cáo + trending_tag: Phê duyệt xu hướng mới rule: text: Quy tắc tag: - listable: Cho phép hashtag này xuất hiện trong tìm kiếm và đề xuất + listable: Cho phép xuất hiện trong tìm kiếm và đề xuất name: Hashtag - trendable: Cho phép hashtag này xuất hiện trong xu hướng - usable: Cho phép dùng hashtag này trong tút + trendable: Cho phép xuất hiện trong xu hướng + usable: Cho phép dùng trong tút 'no': Tắt recommended: Đề xuất required: diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml index a612f02cd..2867b47b6 100644 --- a/config/locales/simple_form.zh-CN.yml +++ b/config/locales/simple_form.zh-CN.yml @@ -3,9 +3,9 @@ zh-CN: simple_form: hints: account_alias: - acct: 指定你想要迁移过来的原帐号:用户名@站点域名 + acct: 指定你想要迁移过来的原账号:用户名@站点域名 account_migration: - acct: 指定你想迁移过去的目标帐号:用户名@站点域名 + acct: 指定你想迁移过去的目标账号:用户名@站点域名 account_warning_preset: text: 你可以使用嘟文格式,例如加入 URL、话题标签和“@” title: 可选。对接收者不可见 @@ -37,6 +37,7 @@ zh-CN: current_password: 为了安全起见,请输入当前账号的密码 current_username: 请输入当前账号的用户名以确认 digest: 仅在你长时间未登录,且收到了私信时发送 + discoverable: 允许他人通过推荐、趋势和其他途径发现你的账户 email: 我们会向你发送一封确认邮件 fields: 这将会在个人资料页上以表格的形式展示,最多 4 个项目 header: 文件大小限制 %{size},只支持 PNG、GIF 或 JPG 格式。图片分辨率将会压缩至 %{dimensions}px @@ -95,7 +96,7 @@ zh-CN: name: 标签 value: 内容 account_alias: - acct: 处理旧帐号 + acct: 处理旧账号 account_migration: acct: 处理新账号 account_warning_preset: @@ -205,7 +206,7 @@ zh-CN: follow: 当有用户关注我时,发送电子邮件提醒我 follow_request: 当有用户向我发送关注请求时,发送电子邮件提醒我 mention: 当有用户在嘟文中提及我时,发送电子邮件提醒我 - pending_account: 在有帐号需要审核时,发送电子邮件提醒我 + pending_account: 在有账号需要审核时,发送电子邮件提醒我 reblog: 当有用户转嘟了我的嘟文时,发送电子邮件提醒我 report: 新举报已提交 trending_tag: 新趋势待审核 diff --git a/config/locales/sl.yml b/config/locales/sl.yml index b498ffd30..6de760dbc 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -969,7 +969,7 @@ sl: one: 'vsebuje nedovoljeni ključnik: %{tags}' other: 'vsebuje nedovoljenih ključnikov: %{tags}' two: 'vsebuje nedovoljena ključnika: %{tags}' - edited_at: Urejeno %{date} + edited_at_html: Urejeno %{date} open_in_web: Odpri na spletu over_character_limit: omejitev %{max} znakov je presežena pin_errors: diff --git a/config/locales/sq.yml b/config/locales/sq.yml index 8b2decd98..a497ef81a 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -1428,7 +1428,6 @@ sq: disallowed_hashtags: one: 'përmbante një hashtag të palejuar: %{tags}' other: 'përmbante hashtag-ë të palejuar: %{tags}' - edited_at: Përpunuar më %{date} errors: in_reply_not_found: Gjendja të cilës po provoni t’i përgjigjeni s’duket se ekziston. open_in_web: Hape në internet diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 79118a283..40337ce69 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -1088,7 +1088,7 @@ sv: disallowed_hashtags: one: 'innehöll en otillåten hashtag: %{tags}' other: 'innehöll de otillåtna hashtagarna: %{tags}' - edited_at: 'Ändrad: %{date}' + edited_at_html: 'Ändrad: %{date}' errors: in_reply_not_found: Statusen du försöker svara på existerar inte. open_in_web: Öppna på webben diff --git a/config/locales/th.yml b/config/locales/th.yml index c78be217b..c4294be7f 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -152,10 +152,11 @@ th: not_subscribed: ไม่ได้บอกรับ pending: การตรวจทานที่รอดำเนินการ perform_full_suspension: ระงับ - previous_strikes: การลงโทษก่อนหน้านี้ + previous_strikes: การดำเนินการก่อนหน้านี้ previous_strikes_description_html: - one: บัญชีนี้มี หนึ่ง การลงโทษ - other: บัญชีนี้มี %{count} การลงโทษ + one: บัญชีนี้มี หนึ่ง การดำเนินการ + other: บัญชีนี้มี %{count} การดำเนินการ + zero: บัญชีนี้ อยู่ในสถานะที่ดี promote: เลื่อนขั้น protocol: โปรโตคอล public: สาธารณะ @@ -196,7 +197,7 @@ th: silence: จำกัด silenced: จำกัดอยู่ statuses: โพสต์ - strikes: การลงโทษก่อนหน้านี้ + strikes: การดำเนินการก่อนหน้านี้ subscribe: บอกรับ suspend: ระงับ suspended: ระงับอยู่ @@ -354,6 +355,7 @@ th: enable: เปิดใช้งาน enabled: เปิดใช้งานอยู่ enabled_msg: เปิดใช้งานอีโมจินั้นสำเร็จ + image_hint: PNG หรือ GIF สูงสุด %{size} list: แสดงรายการ listed: อยู่ในรายการ new: @@ -742,6 +744,8 @@ th: allow_account: อนุญาตผู้สร้าง disallow: ไม่อนุญาตโพสต์ disallow_account: ไม่อนุญาตผู้สร้าง + shared_by: + other: แบ่งปันและชื่นชอบ %{friendly_count} ครั้ง title: โพสต์ที่กำลังนิยม tags: current_score: คะแนนปัจจุบัน %{score} @@ -778,6 +782,7 @@ th: delete_statuses: เพื่อลบโพสต์ของเขา disable: เพื่ออายัดบัญชีของเขา mark_statuses_as_sensitive: เพื่อทำเครื่องหมายโพสต์ของเขาว่าละเอียดอ่อน + none: คำเตือน sensitive: เพื่อทำเครื่องหมายบัญชีของเขาว่าละเอียดอ่อน silence: เพื่อจำกัดบัญชีของเขา suspend: เพื่อระงับบัญชีของเขา @@ -935,6 +940,7 @@ th: strikes: action_taken: การกระทำที่ใช้ appeal: อุทธรณ์ + appeal_rejected: ปฏิเสธการอุทธรณ์แล้ว appeal_submitted_at: ส่งการอุทธรณ์แล้ว appeals: submit: ส่งการอุทธรณ์ @@ -1098,6 +1104,7 @@ th: warning: before: 'ก่อนดำเนินการต่อ โปรดอ่านหมายเหตุเหล่านี้อย่างระมัดระวัง:' followers: การกระทำนี้จะย้ายผู้ติดตามทั้งหมดจากบัญชีปัจจุบันไปยังบัญชีใหม่ + other_data: จะไม่ย้ายข้อมูลอื่น ๆ โดยอัตโนมัติ moderation: title: การควบคุม move_handler: @@ -1220,6 +1227,9 @@ th: reply: proceed: ดำเนินการต่อเพื่อตอบกลับ prompt: 'คุณต้องการตอบกลับโพสต์นี้:' + reports: + errors: + invalid_rules: ไม่ได้อ้างอิงกฎที่ถูกต้อง scheduled_statuses: too_soon: วันที่ตามกำหนดการต้องอยู่ในอนาคต sessions: @@ -1243,6 +1253,7 @@ th: weibo: Weibo current_session: เซสชันปัจจุบัน description: "%{browser} ใน %{platform}" + explanation: นี่คือเว็บเบราว์เซอร์ที่เข้าสู่ระบบบัญชี Mastodon ของคุณในปัจจุบัน ip: IP platforms: adobe_air: Adobe Air @@ -1280,6 +1291,7 @@ th: profile: โปรไฟล์ relationships: การติดตามและผู้ติดตาม statuses_cleanup: การลบโพสต์แบบอัตโนมัติ + strikes: การดำเนินการการควบคุม two_factor_authentication: การรับรองความถูกต้องด้วยสองปัจจัย webauthn_authentication: กุญแจความปลอดภัย statuses: @@ -1296,7 +1308,9 @@ th: default_language: เหมือนกับภาษาส่วนติดต่อ disallowed_hashtags: other: 'มีแฮชแท็กที่ไม่อนุญาต: %{tags}' - edited_at: แก้ไขเมื่อ %{date} + edited_at_html: แก้ไขเมื่อ %{date} + errors: + in_reply_not_found: ดูเหมือนว่าจะไม่มีโพสต์ที่คุณกำลังพยายามตอบกลับอยู่ open_in_web: เปิดในเว็บ pin_errors: direct: ไม่สามารถปักหมุดโพสต์ที่ปรากฏแก่ผู้ใช้ที่กล่าวถึงเท่านั้น diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 341431363..6e6477b92 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -1437,7 +1437,7 @@ tr: disallowed_hashtags: one: 'izin verilmeyen bir etiket içeriyordu: %{tags}' other: 'izin verilmeyen hashtag''leri içeriyordu: %{tags}' - edited_at: "%{date} tarihinde düzenlenmiş" + edited_at_html: "%{date} tarihinde düzenlendi" errors: in_reply_not_found: Yanıtlamaya çalıştığınız durum yok gibi görünüyor. open_in_web: Web sayfasında aç diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 219c7cdb7..a4d29d3e4 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -23,6 +23,7 @@ uk: hosted_on: Mastodon розміщено на %{domain} instance_actor_flash: "Цей обліковий запис є віртуальною особою, яка використовується для представлення самого сервера, а не певного користувача. Він використовується для потреб федерації і не повинен бути заблокований, якщо тільки ви не хочете заблокувати весь сервер, у цьому випадку ви повинні скористатися блокуванням домену. \n" learn_more: Дізнатися більше + logout_before_registering: Ви вже увійшли. privacy_policy: Політика приватності rules: Правила сервера rules_html: 'Внизу наведено підсумок правил, яких ви повинні дотримуватися, якщо хочете мати обліковий запис на цьому сервері Mastodon:' @@ -368,6 +369,7 @@ uk: enable: Увімкнути enabled: Увімкнено enabled_msg: Емодзі успішно увімкнене + image_hint: PNG або GIF до %{size} list: Список listed: У списку new: @@ -1332,7 +1334,6 @@ uk: many: 'заборонених хештеґів: %{tags}' one: 'заборонений хештеґ: %{tags}' other: 'заборонених хештеґів: %{tags}' - edited_at: Відредаговано %{date} errors: in_reply_not_found: Статуса, на який ви намагаєтеся відповісти, не існує. open_in_web: Відкрити у вебі diff --git a/config/locales/vi.yml b/config/locales/vi.yml index c420f2176..459b950a6 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -8,7 +8,7 @@ vi: active_footnote: Người dùng hoạt động hàng tháng (MAU) administered_by: 'Quản trị viên:' api: API - apps: Ứng dụng di động + apps: Apps apps_platforms: Lướt Mastodon trên iOS, Android và các nền tảng khác browse_directory: Bạn bè từ khắp mọi nơi trên thế giới browse_local_posts: Xem những gì đang xảy ra @@ -158,7 +158,7 @@ vi: not_subscribed: Chưa đăng ký pending: Chờ duyệt perform_full_suspension: Vô hiệu hóa - previous_strikes: Những lần trước + previous_strikes: Lịch sử kiểm duyệt previous_strikes_description_html: one: Người dùng này có một lần cảnh cáo. other: Người dùng này có %{count} lần cảnh cáo. @@ -204,7 +204,7 @@ vi: silence: Ẩn silenced: Hạn chế statuses: Tút - strikes: Những lần trước + strikes: Lịch sử kiểm duyệt subscribe: Đăng ký suspend: Vô hiệu hóa suspended: Vô hiệu hóa @@ -227,7 +227,7 @@ vi: whitelisted: Danh sách trắng action_logs: action_types: - approve_appeal: Cho phép Xuất Hiện + approve_appeal: Đồng ý kháng cáo approve_user: Phê duyệt người dùng assigned_to_self_report: Tự xử lý báo cáo change_email_user: Đổi email @@ -259,7 +259,7 @@ vi: enable_user: Kích hoạt lại người dùng memorialize_account: Đánh dấu tưởng niệm promote_user: Chỉ định vai trò - reject_appeal: Từ chối Xuất Hiện + reject_appeal: Từ chối kháng cáo reject_user: Từ chối người dùng remove_avatar_user: Xóa ảnh đại diện reopen_report: Mở lại báo cáo @@ -338,7 +338,7 @@ vi: edit: title: Sửa thông báo empty: Không tìm thấy thông báo. - live: Trực tiếp + live: Đang hiển thị new: create: Tạo thông báo title: Tạo thông báo mới @@ -367,6 +367,7 @@ vi: enable: Cho phép enabled: Đã cho phép enabled_msg: Đã cho phép thành công Emoji này + image_hint: PNG hoặc GIF tối đa %{size} list: Danh sách listed: Liệt kê new: @@ -407,7 +408,7 @@ vi: disputes: appeals: empty: Không tìm thấy. - title: Xuất Hiện + title: Kháng cáo domain_allows: add_new: Cho phép liên hợp với máy chủ created_msg: Máy chủ đã được kích hoạt liên hợp thành công @@ -570,7 +571,7 @@ vi: save_and_enable: Lưu và kích hoạt setup: Kết nối mạng liên hợp signatures_not_enabled: Mạng liên hợp sẽ không hoạt động nếu chế độ an ninh hoặc chế độ danh sách trắng được bật trước đó - status: Trạng thái hiện tại + status: Trạng thái title: Mạng liên hợp report_notes: created_msg: Đã thêm ghi chú kiểm duyệt! @@ -628,7 +629,7 @@ vi: status: Trạng thái statuses: Nội dung bị báo cáo statuses_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn trong giao tiếp với tài khoản báo cáo - target_origin: Nguồn đã báo cáo người dùng + target_origin: Nguồn báo cáo title: Báo cáo unassign: Bỏ qua unresolved: Chờ xử lý @@ -775,31 +776,31 @@ vi: links: allow: Liên kết cho phép allow_provider: Nguồn đăng cho phép - description_html: Đây là những liên kết được chia sẻ nhiều trên máy chủ của bạn. Nó có thể giúp người dùng của bạn tìm hiểu những gì đang xảy ra trên thế giới. Không có liên kết nào được hiển thị công khai cho đến khi bạn duyệt nguồn. Bạn cũng có thể cho phép hoặc từ chối các liên kết riêng lẻ. + description_html: Đây là những liên kết được chia sẻ nhiều trên máy chủ của bạn. Nó có thể giúp người dùng tìm hiểu những gì đang xảy ra trên thế giới. Không có liên kết nào được hiển thị công khai cho đến khi bạn duyệt nguồn. Bạn cũng có thể cho phép hoặc từ chối từng liên kết riêng. disallow: Liên kết cấm disallow_provider: Nguồn đăng bị cấm shared_by_over_week: - one: Chia sẻ bởi một người trong tuần qua - other: Chia sẻ bởi %{count} người trong tuần qua + one: một người chia sẻ trong tuần qua + other: "%{count} người chia sẻ trong tuần qua" zero: Không ai chia sẻ trong tuần qua - title: Liên kết đang là xu hướng + title: Liên kết xu hướng usage_comparison: Chia sẻ %{today} lần hôm nay, so với %{yesterday} lần hôm qua pending_review: Đang chờ preview_card_providers: allowed: Liên kết từ nguồn đăng này có thể thành xu hướng - description_html: Đây là những nguồn mà từ đó các liên kết thường được chia sẻ trên máy chủ của bạn. Các liên kết sẽ không được trở thành xu hướng trừ khi bạn cho phép nguồn. Sự cho phép (hoặc từ chối) của bạn mở rộng đến các tên miền phụ. + description_html: Đây là những nguồn mà từ đó các liên kết thường được chia sẻ trên máy chủ của bạn. Các liên kết sẽ không được trở thành xu hướng trừ khi bạn cho phép nguồn. Sự cho phép (hoặc cấm) của bạn áp dụng luôn cho các tên miền phụ. rejected: Liên kết từ nguồn đăng không thể thành xu hướng title: Nguồn đăng rejected: Đã cấm statuses: allow: Cho phép tút allow_account: Cho phép người đăng - description_html: Đây là những tút hiện đang được đăng lại và yêu thích rất nhiều trên máy chủ của bạn ở thời điểm hiện tại. Nó có thể giúp người dùng mới và người dùng cũ của bạn tìm thấy nhiều người hơn để theo dõi. Không có bài viết nào được hiển thị công khai cho đến khi bạn cho phép tác giả và tác giả cho phép đề xuất tài khoản của họ cho người khác. Bạn cũng có thể cho phép hoặc từ chối các tút riêng lẻ. + description_html: Đây là những tút đang được đăng lại và yêu thích rất nhiều trên máy chủ của bạn. Nó có thể giúp người dùng mới và người dùng cũ tìm thấy nhiều người hơn để theo dõi. Không có tút nào được hiển thị công khai cho đến khi bạn cho phép người đăng và người cho phép đề xuất tài khoản của họ cho người khác. Bạn cũng có thể cho phép hoặc từ chối từng tút riêng. disallow: Không cho phép tút disallow_account: Không cho phép người đăng not_discoverable: Tác giả đã chọn không tham gia mục khám phá shared_by: - other: Đã chia sẻ và thích %{friendly_count} lần + other: Được thích và đăng lại %{friendly_count} lần title: Tút xu hướng tags: current_score: Chỉ số gần đây %{score} @@ -809,7 +810,7 @@ vi: tag_servers_dimension: Top máy chủ tag_servers_measure: máy chủ khác tag_uses_measure: tổng người dùng - description_html: Đây là những hashtag hiện đang xuất hiện trong rất nhiều tút trên máy chủ của bạn. Nó có thể giúp người dùng của bạn tìm ra những gì mọi người đang nói nhiều nhất vào lúc này. Không có hashtag nào được hiển thị công khai cho đến khi bạn cho phép chúng. + description_html: Đây là những hashtag đang xuất hiện trong rất nhiều tút trên máy chủ của bạn. Nó có thể giúp người dùng của bạn tìm ra những gì mọi người đang quan tâm nhiều nhất vào lúc này. Không có hashtag nào được hiển thị công khai cho đến khi bạn cho phép chúng. listable: Có thể đề xuất not_listable: Không thể đề xuất not_trendable: Không xuất hiện xu hướng @@ -880,9 +881,9 @@ vi: confirmation_dialogs: Hộp thoại xác nhận discovery: Khám phá localization: - body: Mastodon Tiếng Việt được dịch bởi Hồ Nhất Duy. + body: Mastodon được dịch bởi tình nguyện viên. guide_link: https://crowdin.com/project/mastodon - guide_link_text: Đây là trang cá nhân của anh ấy. + guide_link_text: Ai cũng có thể đóng góp. sensitive_content: Nội dung nhạy cảm toot_layout: Tút application_mailer: @@ -1413,7 +1414,7 @@ vi: default_language: Giống ngôn ngữ giao diện disallowed_hashtags: other: 'chứa các hashtag bị cấm: %{tags}' - edited_at: Đã sửa %{date} + edited_at_html: Đã sửa %{date} errors: in_reply_not_found: Bạn đang trả lời một tút không còn tồn tại. open_in_web: Xem trong web @@ -1446,12 +1447,12 @@ vi: statuses_cleanup: enabled: Tự động xóa những tút cũ enabled_hint: Tự động xóa các tút của bạn khi chúng tới thời điểm nhất định, trừ những trường hợp ngoại lệ bên dưới - exceptions: Ngoại trừ - explanation: Việc xóa tút rất tốn thời gian vì tút của bạn sẽ tăng dần theo năm tháng. Bởi lý do này, bạn nên xóa những tút cũ khi chúng đã đạt tới thời điểm nhất định. + exceptions: Ngoại lệ + explanation: Tút của bạn sẽ tăng dần theo năm tháng. Bạn nên xóa những tút cũ khi chúng đã đạt tới thời điểm nhất định. ignore_favs: Bỏ qua số luợt thích ignore_reblogs: Bỏ qua lượt đăng lại interaction_exceptions: Ngoại lệ dựa trên tương tác - interaction_exceptions_explanation: Lưu ý rằng không có gì đảm bảo rằng các tút sẽ bị xóa nếu chúng xuống dưới ngưỡng mức yêu thích hoặc đăng lại sau khi đã từng vượt qua. + interaction_exceptions_explanation: Lưu ý rằng không có gì đảm bảo rằng các tút sẽ bị xóa nếu chúng tụt dưới ngưỡng mức yêu thích hoặc đăng lại, dù đã từng đạt. keep_direct: Giữ lại tin nhắn keep_direct_hint: Không xóa tin nhắn của bạn keep_media: Giữ lại những tút có đính kèm media diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index c8f7175f5..6561a5716 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -16,13 +16,17 @@ zh-CN: contact: 联系方式 contact_missing: 未设定 contact_unavailable: 未公开 + continue_to_web: 继续前往网页应用 discover_users: 发现用户 documentation: 文档 federation_hint_html: 在 %{instance} 上拥有账号后,你可以关注任何兼容Mastodon的服务器上的人。 get_apps: 尝试移动应用 hosted_on: 运行在 %{domain} 上的 Mastodon 实例 - instance_actor_flash: "这个账号是个虚拟帐号,不代表任何用户,只用来代表服务器本身。它用于和其它服务器互通,所以不应该被封禁,除非你想封禁整个实例。但是想封禁整个实例的时候,你应该用域名封禁。 \n" + instance_actor_flash: '这个账号是个虚拟账号,不代表任何用户,只用来代表服务器本身。它用于和其它服务器互通,所以不应该被封禁,除非你想封禁整个实例。但是想封禁整个实例的时候,你应该用域名封禁。 + + ' learn_more: 了解详情 + logged_in_as_html: 你当前是以 %{username} 登录的。 logout_before_registering: 您已登录。 privacy_policy: 隐私政策 rules: 服务器规则 @@ -123,7 +127,7 @@ zh-CN: enable: 解冻 enable_sign_in_token_auth: 启用电子邮件令牌认证 enabled: 已启用 - enabled_msg: 成功解冻 %{username} 的帐号 + enabled_msg: 成功解冻 %{username} 的账号 followers: 关注者 follows: 正在关注 header: 个人资料页横幅图片 @@ -141,7 +145,7 @@ zh-CN: media_attachments: 媒体文件 memorialize: 设置为追悼帐户 memorialized: 被悼念 - memorialized_msg: 成功将 %{username} 转换为悼念帐号 + memorialized_msg: 成功将 %{username} 转换为悼念账号 moderation: active: 活跃 all: 全部 @@ -151,16 +155,16 @@ zh-CN: moderation_notes: 管理员备注 most_recent_activity: 最后一次活跃的时间 most_recent_ip: 最后一次活跃的 IP 地址 - no_account_selected: 因为没有选中任何帐号,所以没有更改 + no_account_selected: 因为没有选中任何账号,所以没有更改 no_limits_imposed: 无限制 not_subscribed: 未订阅 pending: 待审核 perform_full_suspension: 封禁 previous_strikes: 既往处罚 previous_strikes_description_html: - one: 此帐号有1次处罚。 - other: 此帐号有%{count}次处罚。 - zero: 此帐号记录良好。 + one: 此账号有1次处罚。 + other: 此账号有%{count}次处罚。 + zero: 此账号记录良好。 promote: 升任 protocol: 协议 public: 公开页面 @@ -206,8 +210,8 @@ zh-CN: subscribe: 订阅 suspend: 封禁 suspended: 已封禁 - suspension_irreversible: 该帐号的数据已被不可逆转地删除。你可以取消暂停该帐号以使其可用,但它不会恢复以前拥有的任何数据。 - suspension_reversible_hint_html: 帐号已封禁,数据将在 %{date} 完全删除。 在此之前,帐号仍可恢复,并且没有任何不良影响。 如果你想立即移除该帐号的所有数据,可以在下面进行。 + suspension_irreversible: 该账号的数据已被不可逆转地删除。你可以取消暂停该账号以使其可用,但它不会恢复以前拥有的任何数据。 + suspension_reversible_hint_html: 账号已封禁,数据将在 %{date} 完全删除。 在此之前,账号仍可恢复,并且没有任何不良影响。 如果你想立即移除该账号的所有数据,可以在下面进行。 title: 用户 unblock_email: 取消屏蔽邮件地址 unblocked_email_msg: 成功取消屏蔽了 %{username} 的邮件地址 @@ -215,9 +219,9 @@ zh-CN: undo_sensitized: 去除敏感内容标记 undo_silenced: 解除隐藏 undo_suspension: 解除封禁 - unsilenced_msg: 成功解除 %{username} 的帐号限制 + unsilenced_msg: 成功解除 %{username} 的账号限制 unsubscribe: 取消订阅 - unsuspended_msg: 已成功取消封禁 %{username} 的帐号 + unsuspended_msg: 已成功取消封禁 %{username} 的账号 username: 用户名 view_domain: 查看域名摘要 warn: 警告 @@ -263,12 +267,12 @@ zh-CN: reopen_report: 重开举报 reset_password_user: 重置密码 resolve_report: 处理举报 - sensitive_account: 将你帐号中的媒体标记为敏感内容 + sensitive_account: 将你账号中的媒体标记为敏感内容 silence_account: 隐藏用户 suspend_account: 封禁用户 unassigned_report: 取消举报的指派 unblock_email_account: 取消屏蔽邮件地址 - unsensitive_account: 去除你帐号中媒体的敏感内容标记 + unsensitive_account: 去除你账号中媒体的敏感内容标记 unsilence_account: 解除账号隐藏 unsuspend_account: 解除账号封禁 update_announcement: 更新公告 @@ -365,6 +369,7 @@ zh-CN: enable: 启用 enabled: 已启用 enabled_msg: 表情启用成功 + image_hint: 最大 %{size} 的 PNG 或 GIF list: 列表 listed: 已显示 new: @@ -387,7 +392,7 @@ zh-CN: new_users: 新用户 opened_reports: 被发起的举报 pending_appeals_html: - other: "%{count} 个待处理举报" + other: "%{count} 个待处理申诉" pending_reports_html: other: "%{count} 个待处理举报" pending_tags_html: @@ -466,13 +471,39 @@ zh-CN: title: 关注推荐 unsuppress: 恢复推荐关注 instances: + availability: + description_html: + other: 如果连续 %{count} 天 均无法成功向该域名投递消息,则将不再尝试向其投递,直至收到来自该域名的消息。 + failure_threshold_reached: 于 %{date} 达到失败阈值。 + failures_recorded: + other: 在 %{count} 天中尝试失败。 + no_failures_recorded: 没有失败记录。 + title: 可用性 back_to_all: 全部 back_to_limited: 受限 back_to_warning: 警告 by_domain: 域名 confirm_purge: 你确认要从这个实例中永久地删除数据吗? content_policies: + comment: 内部备注 + description_html: 你可以设置应用于此域名所有账号和其所有子域名的内容策略。 + policies: + reject_media: 拒收媒体 + reject_reports: 拒收举报 + silence: 隐藏 + suspend: 封禁 + policy: 策略 + reason: 公开理由 title: 本站点内容发布规则 + dashboard: + instance_accounts_dimension: 被关注最多的账号 + instance_accounts_measure: 存储的账号 + instance_followers_measure: 本站关注者 + instance_follows_measure: 对方关注者 + instance_languages_dimension: 语言排行 + instance_media_attachments_measure: 存储的媒体文件 + instance_reports_measure: 关于对方的举报 + instance_statuses_measure: 存储的嘟文 delivery: all: 全部 clear: 清理投递错误 @@ -495,12 +526,14 @@ zh-CN: private_comment: 私密评论 public_comment: 公开评论 purge: 删除 + purge_description_html: 如果你确认此域名已永久离线,可以从存储中删除此域名的所有账号记录和相关数据。这将会需要一段时间。 title: 已知实例 total_blocked_by_us: 被我站屏蔽的 total_followed_by_them: 被对方关注的 total_followed_by_us: 被我站关注的 total_reported: 关于对方的举报 total_storage: 媒体文件 + totals_time_period_hint_html: 下方显示的总数来自全部历史数据。 invites: deactivate_all: 撤销所有邀请链接 filter: @@ -553,19 +586,20 @@ zh-CN: action_log: 审计日志 action_taken_by: 操作执行者 actions: - delete_description_html: 被举报的嘟文将被删除,同时该帐号将被标记一次处罚,以供未来同一帐号再次违规时参考。 - other_description_html: 查看控制该被举报帐号行为以及与其通信范围的更多选项。 - resolve_description_html: 不会对被举报帐号采取任何动作,举报将被关闭,也不会留下处罚记录。 - silence_description_html: 只有关注或手工搜索此帐号才能查看其资料,将严重限制其触达范围。可随时撤销。 - suspend_description_html: 此帐号及其内容将无法访问,并最终被删除。也无法与该帐号交互。可在30天内撤销。 - actions_description_html: 决定采取何种措施处理此举报。如果对被举报帐号采取惩罚性措施,将向其发送一封电子邮件通知。但若选中垃圾信息类别则不会发送通知。 - add_to_report: 添加到报告 + delete_description_html: 被举报的嘟文将被删除,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。 + mark_as_sensitive_description_html: 被举报的嘟文将被标记为敏感内容,同时该账号将被标记一次处罚,以供未来同一账号再次违规时参考。 + other_description_html: 查看更多控制该账号行为的选项,并自定义编写与被举报账号的通信。 + resolve_description_html: 不会对被举报账号采取任何动作,举报将被关闭,也不会留下处罚记录。 + silence_description_html: 只有关注或手工搜索此账号才能查看其资料,将严重限制其触达范围。可随时撤销。 + suspend_description_html: 此账号及其内容将无法访问,并最终被删除。也无法与该账号交互。可在30天内撤销。 + actions_description_html: 决定采取何种措施处理此举报。如果对被举报账号采取惩罚性措施,将向其发送一封电子邮件通知。但若选中垃圾信息类别则不会发送通知。 + add_to_report: 增加更多举报内容 are_you_sure: 你确定吗? assign_to_self: 接管 assigned: 已接管的监察员 by_target_domain: 被举报账户的域名 category: 类别 - category_description_html: 此帐号和/或内容被举报的原因将在与该帐号的通信中被引用。 + category_description_html: 在与被举报账户的通信时,将引用该账号和/或内容被举报的原因 comment: none: 没有 comment_description_html: "%{name} 补充道:" @@ -596,7 +630,7 @@ zh-CN: skip_to_actions: 跳转到操作 status: 状态 statuses: 被举报内容 - statuses_description_html: 违规内容将在与该帐号的通信中被引用 + statuses_description_html: 在与该账号的通信中将引用违规内容 target_origin: 被举报账号的来源 title: 举报 unassign: 取消接管 @@ -720,7 +754,7 @@ zh-CN: disable: "%{name} 冻结了用户 %{target}" mark_statuses_as_sensitive: "%{name} 已将 %{target} 的嘟文标记为敏感内容" none: "%{name} 向 %{target} 发送了警告" - sensitive: "%{name} 将 %{target} 的帐号标记为敏感内容" + sensitive: "%{name} 将 %{target} 的账号标记为敏感内容" silence: "%{name} 限制了用户 %{target}" suspend: "%{name} 封禁了用户 %{target}" appeal_approved: 已申诉 @@ -744,6 +778,7 @@ zh-CN: links: allow: 允许链接 allow_provider: 允许发布者 + description_html: 这些是当前此服务器可见账号的嘟文中被大量分享的链接。它可以帮助用户了解正在发生的事情。发布者获得批准前不会公开显示任何链接。你也可以批准或拒绝单个链接。 disallow: 不允许链接 disallow_provider: 不允许发布者 shared_by_over_week: @@ -755,14 +790,19 @@ zh-CN: pending_review: 待审核 preview_card_providers: allowed: 来自此发布者的链接可进入流行列表 + description_html: 这些域名所属的链接经常在此服务器上被分享。在对应域名获得批准前链接不会公开显示在趋势中。批准和拒绝操作也会对子域名生效。 rejected: 来自此发布者的链接不会进入流行列表 title: 发布者 rejected: 已拒绝 statuses: allow: 允许嘟文 allow_account: 允许作者 + description_html: 这些是当前此服务器可见的被大量分享和喜欢的嘟文。它可以帮助新用户和老用户发现更多可关注的账号。发布者获得批准前不会公开显示任何嘟文。同时发布者还需要允许其账号被推荐给其他用户。你也可以批准或拒绝单条嘟文。 disallow: 禁止本嘟文 disallow_account: 禁止本作者 + not_discoverable: 发布者未选择可被发现 + shared_by: + other: 被分享和喜欢%{friendly_count}次 title: 热门嘟文 tags: current_score: 当前 %{score} 分 @@ -772,6 +812,7 @@ zh-CN: tag_servers_dimension: 服务器排行 tag_servers_measure: 不同服务器 tag_uses_measure: 总使用 + description_html: 这些是当前此服务器可见嘟文中大量出现的标签。它可以帮助用户发现其他人正关注的话题。在获得批准前不会公开显示任何标签。 listable: 可被推荐 not_listable: 不会被推荐 not_trendable: 不会出现在流行列表中 @@ -797,27 +838,31 @@ zh-CN: new_appeal: actions: delete_statuses: 删除其嘟文 - disable: 冻结其帐号 + disable: 冻结其账号 + mark_statuses_as_sensitive: 标记其嘟文为敏感内容 none: 警告 - sensitive: 标记其帐号为敏感内容 - silence: 限制其帐号 - suspend: 停用其帐号 + sensitive: 标记其账号为敏感内容 + silence: 限制其账号 + suspend: 停用其账号 body: "%{target} 对 %{action_taken_by} 于 %{date} 做出的 %{type} 审核结果提出申诉,写道:" next_steps: 你可以批准此申诉并撤销该审核结果,也可以忽略此申诉。 subject: "%{username} 对 %{instance} 的审核结果提出了申诉" new_pending_account: body: 新帐户的详细信息如下。你可以批准或拒绝此申请。 - subject: 在 %{instance} 上有新帐号 ( %{username}) 需要审核 + subject: 在 %{instance} 上有新账号 (%{username}) 需要审核 new_report: body: "%{reporter} 举报了用户 %{target}" body_remote: 来自 %{domain} 的用户举报了用户 %{target} subject: 来自 %{instance} 的用户举报(#%{id}) new_trends: + body: 以下项目需要审核才能公开显示: new_trending_links: no_approved_links: 当前没有经过批准的热门链接。 + requirements: '以下候选均可超过 #%{rank} 已批准趋势链接,当前为 "%{lowest_link_title}",分数为 %{lowest_link_score}。' title: 热门链接 new_trending_statuses: no_approved_statuses: 当前没有经过批准的热门链接。 + requirements: '以下候选均可超过 #%{rank} 已批准趋势嘟文,当前为 %{lowest_status_url} 分数为 %{lowest_status_score}。' title: 热门嘟文 new_trending_tags: no_approved_tags: 目前没有经批准的热门标签。 @@ -829,7 +874,7 @@ zh-CN: created_msg: 成功创建了一个新别名。你现在可以从旧账户开始迁移了。 deleted_msg: 成功移除别名。已经无法从该帐户移动到此帐户了。 empty: 你没有设置别名 - hint_html: 如果你想把另一个帐号迁移到这里,你可以先在这里创建一个别名。如果你想把关注者迁移过来,这一步是必须的。设置别名的操作时无害而且可以恢复的帐号迁移的操作会从旧帐号开始。 + hint_html: 如果你想从另一个账号迁移到这里,可以先在这里创建一个别名。要把旧账号的关注者迁移过来,这一步是必须的。设置别名的操作是无害且可撤销的账号迁移的操作会从旧账号发起。 remove: 取消关联别名 appearance: advanced_web_interface: 高级 Web 界面 @@ -868,7 +913,7 @@ zh-CN: description: prefix_invited_by_user: "@%{name} 邀请你加入这个Mastodon服务器!" prefix_sign_up: 现在就注册 Mastodon! - suffix: 注册一个帐号,你就可以关注别人、发布嘟文、并和其它任何Mastodon服务器上的用户交流,而且还有其它更多功能! + suffix: 注册一个账号,你就可以关注他人、发布嘟文、并和其它任何 Mastodon 服务器上的用户交流,而且还有其它更多功能! didnt_get_confirmation: 没有收到确认邮件? dont_have_your_security_key: 没有你的安全密钥? forgot_password: 忘记密码? @@ -879,7 +924,7 @@ zh-CN: login: 登录 logout: 登出 migrate_account: 迁移到另一个帐户 - migrate_account_html: 如果你希望引导别人关注另一个帐户,请点击这里进行设置。 + migrate_account_html: 如果你希望引导他人关注另一个账号,请点击这里进行设置。 or_log_in_with: 或通过外部服务登录 providers: cas: CAS @@ -892,15 +937,15 @@ zh-CN: set_new_password: 设置新密码 setup: email_below_hint_html: 如果下面的电子邮箱地址是错误的,你可以在这里修改并重新发送新的确认邮件。 - email_settings_hint_html: 确认邮件已经发送到%{email}。如果该邮箱地址不对,你可以在帐号设置里面修改。 + email_settings_hint_html: 确认邮件已经发送到%{email}。如果该邮箱地址不对,你可以在账号设置里面修改。 title: 初始设置 status: account_status: 帐户状态 confirming: 等待电子邮件确认完成。 - functional: 你的帐号可以正常使用了。 + functional: 你的账号可以正常使用了。 pending: 工作人员正在审核你的申请。这需要花点时间。在申请被批准后,你将收到一封电子邮件。 redirecting_to: 你的帐户无效,因为它已被设置为跳转到 %{acct} - view_strikes: 查看针对你帐号的记录 + view_strikes: 查看针对你账号的记录 too_fast: 表单提交过快,请重试。 trouble_logging_in: 登录有问题? use_security_key: 使用安全密钥 @@ -983,12 +1028,12 @@ zh-CN: title: "%{action} 于 %{date}" title_actions: delete_statuses: 嘟文删除 - disable: 帐号冻结 + disable: 账号冻结 mark_statuses_as_sensitive: 标记嘟文有敏感内容 none: 警告 - sensitive: 标记帐号有敏感内容 - silence: 帐号限制 - suspend: 帐号封禁 + sensitive: 标记账号有敏感内容 + silence: 账号限制 + suspend: 账号封禁 your_appeal_approved: 你的申诉已被批准 your_appeal_pending: 你已提交申诉 your_appeal_rejected: 你的申诉已被驳回 @@ -1102,7 +1147,7 @@ zh-CN: max_uses: other: "%{count} 次" max_uses_prompt: 无限制 - prompt: 生成分享链接,邀请别人在本服务器注册 + prompt: 生成分享链接,邀请他人在本服务器注册 table: expires_at: 失效时间 uses: 已使用次数 @@ -1129,34 +1174,34 @@ zh-CN: migrations: acct: 新帐户的 用户名@域名 cancel: 取消跳转 - cancel_explanation: 取消跳转将会重新激活你当前的帐号,但是已经迁移到新账号的关注者不会回来。 + cancel_explanation: 取消跳转将会重新激活你当前的账号,但是已经迁移到新账号的关注者不会回来。 cancelled_msg: 成功取消跳转 errors: - already_moved: 和你已经迁移过的帐号相同 - missing_also_known_as: 没有引用此帐号 + already_moved: 和你已经迁移过的账号相同 + missing_also_known_as: 没有引用此账号 move_to_self: 不能是当前帐户 not_found: 找不到 on_cooldown: 你正处于冷却状态 followers_count: 迁移时的关注者 - incoming_migrations: 从其它帐号迁移 - incoming_migrations_html: 要把另一个帐号移动到本帐号,首先你需要 创建一个帐号别名 。 - moved_msg: 你的帐号现在会跳转到%{acct} ,同时关注者也会迁移过去 。 - not_redirecting: 你的帐号当前未跳转到其它帐户。 - on_cooldown: 你最近已经迁移过你的帐号。此功能将在%{count} 天后再次可用。 + incoming_migrations: 从其它账号迁移 + incoming_migrations_html: 要把另一个账号移动到本账号,首先你需要创建一个账号别名 。 + moved_msg: 你的账号现在会跳转到 %{acct} ,同时关注者也会一并迁移 。 + not_redirecting: 你的账号当前未跳转到其它账号。 + on_cooldown: 你最近已经迁移过你的账号。此功能将在%{count} 天后再次可用。 past_migrations: 迁移记录 proceed_with_move: 移动关注者 redirected_msg: 你的账号现在会跳转至 %{acct} redirecting_to: 你的帐户被跳转到了 %{acct}。 set_redirect: 设置跳转 warning: - backreference_required: 新账号必须先引用现在这个帐号 + backreference_required: 新账号必须先引用当前账号 before: 在继续前,请仔细阅读下列说明: cooldown: 移动后会有一个冷却期,在此期间你将无法再次移动 disabled_account: 此后,你的当前帐户将无法使用。但是,你仍然有权导出数据或者重新激活。 followers: 这步操作将把所有关注者从当前账户移动到新账户 - only_redirect_html: 或者,你可以只在你的帐号资料上设置一个跳转。 + only_redirect_html: 或者,你可以只在你的账号资料上设置一个跳转。 other_data: 不会自动移动其它数据 - redirect: 在收到一个跳转通知后,你当前的帐号资料将会更新,并被排除在搜索范围外 + redirect: 在收到一个跳转通知后,你当前的账号资料将会更新,并被排除在搜索范围外 moderation: title: 运营 move_handler: @@ -1252,7 +1297,7 @@ zh-CN: limit_reached: 互动种类的限制 unrecognized_emoji: 不是一个可识别的表情 relationships: - activity: 帐号活动 + activity: 账号活动 dormant: 休眠 follow_selected_followers: 关注选中的关注者 followers: 关注者 @@ -1271,7 +1316,7 @@ zh-CN: remote_follow: acct: 请输入你的“用户名@实例域名” missing_resource: 无法确定你的帐户的跳转 URL - no_account_html: 还没有帐号?你可以注册一个 + no_account_html: 还没有账号?你可以注册一个 proceed: 确认关注 prompt: 你正准备关注: reason_html: "为什么需要这个步骤? %{instance} 可能不是你所注册的服务器,所以我们需要先跳转到你所在的服务器。" @@ -1335,9 +1380,9 @@ zh-CN: title: 会话 view_authentication_history: 查看账户的认证历史 settings: - account: 帐号 + account: 账号 account_settings: 帐户设置 - aliases: 帐号别名 + aliases: 账号别名 appearance: 外观 authorized_apps: 已授权的应用 back: 返回 Mastodon @@ -1371,7 +1416,7 @@ zh-CN: default_language: 与界面显示语言相同 disallowed_hashtags: other: 包含了这些禁止的话题标签:%{tags} - edited_at: 编辑于 %{date} + edited_at_html: 编辑于 %{date} errors: in_reply_not_found: 你回复的嘟文似乎不存在 open_in_web: 在站内打开 @@ -1379,7 +1424,7 @@ zh-CN: pin_errors: direct: 仅对被提及的用户可见的帖子不能被置顶 limit: 你所置顶的嘟文数量已经达到上限 - ownership: 不能置顶别人的嘟文 + ownership: 不能置顶他人的嘟文 reblog: 不能置顶转嘟 poll: total_people: @@ -1405,7 +1450,7 @@ zh-CN: enabled: 自动删除旧嘟文 enabled_hint: 当您的嘟文达到指定的过期时间后自动删除,除非它们与下面的例外之一相匹配 exceptions: 例外 - explanation: 因为删除帖子是一个昂贵的操作,所以这个操作会随着时间的推移而缓慢地完成,当服务器没有其他忙碌的时候。 为此原因,您的帖子可能会在达到年龄界限后被删除。 + explanation: 删除嘟文是一个消耗系统资源的耗时操作,所以这个操作会在服务器空闲时完成。因此,您的嘟文可能会在达到过期阈值之后一段时间才会被删除。 ignore_favs: 取消喜欢 ignore_reblogs: 忽略转嘟 interaction_exceptions: 基于互动的例外 @@ -1434,7 +1479,7 @@ zh-CN: min_age_label: 过期阈值 min_favs: 保留如下嘟文:喜欢数超过 min_favs_hint: 喜欢数超过该阈值的的嘟文不被删除。如果留空,则无视喜欢数,直接删除。 - min_reblogs: 保留如下嘟文:转嘟属超过 + min_reblogs: 保留如下嘟文:转嘟数超过 min_reblogs_hint: 转嘟数超过该阈值的的嘟文不被删除。如果留空,则无视被转嘟的数量,直接删除。 stream_entries: pinned: 置顶嘟文 @@ -1551,12 +1596,12 @@ zh-CN: webauthn: 安全密钥 user_mailer: appeal_approved: - action: 前往你的帐号 - explanation: 你于 %{appeal_date} 对 %{strike_date} 在你帐号上做出的处罚提出的申诉已被批准,你的帐号已回到正常状态。 + action: 前往你的账号 + explanation: 你于 %{appeal_date} 对 %{strike_date} 在你账号上做出的处罚提出的申诉已被批准,你的账号已回到正常状态。 subject: 你于 %{date} 提出的申诉已被批准 title: 申诉已批准 appeal_rejected: - explanation: 你于 %{appeal_date} 对 %{strike_date} 在你帐号上做出的处罚提出的申诉已被驳回。 + explanation: 你于 %{appeal_date} 对 %{strike_date} 在你账号上做出的处罚提出的申诉已被驳回。 subject: 你于 %{date} 提出的申诉已被驳回 title: 申诉已驳回 backup_ready: @@ -1580,7 +1625,7 @@ zh-CN: disable: 你不能再使用你的帐户,但你的个人资料和其他数据保持不变。你可以请求数据备份,更改账户设置或删除账户。 mark_statuses_as_sensitive: 你的一些嘟文已经被 %{instance} 检察员标记为敏感内容。这意味着人们需要在嘟文中点击媒体,才能显示媒体预览。你可以在今后发嘟时自行将媒体标记为敏感内容。 sensitive: 即刻起,你上传的所有媒体文件都将被标记为敏感内容并隐藏,在点击警告后才能查看。 - silence: 你可以继续使用你的帐号,但只有已关注你的人才能在看到你在此服务器上的嘟文,并且你会被排除在各类公共列表之外。其他用户仍可以手动关注你。 + silence: 你可以继续使用你的账号,但只有已关注你的人才能在看到你在此服务器上的嘟文,并且你会被排除在各类公共列表之外。其他用户仍可以手动关注你。 suspend: 你不能再使用你的帐户,并且你的个人资料和其他数据都将无法访问。在大约30天内,你仍可以登录并请求数据备份,之后相关数据将被完全删除。我们会保留一些基础数据以避免封禁失效。 reason: 理由: statuses: 被引用的嘟文: diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index f1e0ea446..43a71a5dd 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -367,7 +367,7 @@ zh-TW: enable: 啟用 enabled: 已啟用 enabled_msg: 已啟用表情符號 - image_hint: 檔案大小最大至 %{size} 之PNG 或 GIF + image_hint: 檔案大小最大至 %{size} 之 PNG 或 GIF list: 列表 listed: 已顯示 new: @@ -1416,7 +1416,7 @@ zh-TW: default_language: 與介面語言相同 disallowed_hashtags: other: 含有不得使用的標籤: %{tags} - edited_at: 已編輯:%{date} + edited_at_html: 編輯於 %{date} errors: in_reply_not_found: 您嘗試回覆的嘟文看起來不存在。 open_in_web: 以網頁開啟 From b07906bdb0127cd73662506b519183cc51a2758e Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 17 Mar 2022 01:37:03 +0100 Subject: [PATCH 08/73] Fix wrong language code for Kurdish languages (#17812) --- app/helpers/application_helper.rb | 2 +- app/helpers/languages_helper.rb | 5 +++-- config/application.rb | 2 +- .../20220316233212_update_kurdish_locales.rb | 17 +++++++++++++++++ db/schema.rb | 2 +- lib/mastodon/maintenance_cli.rb | 2 +- 6 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 db/migrate/20220316233212_update_kurdish_locales.rb diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index c5d9bbc19..e997570b5 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -9,9 +9,9 @@ module ApplicationHelper RTL_LOCALES = %i( ar + ckb fa he - ku ).freeze def friendly_number_to_human(number, **options) diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb index 9be35ad8e..4318781aa 100644 --- a/app/helpers/languages_helper.rb +++ b/app/helpers/languages_helper.rb @@ -88,7 +88,7 @@ module LanguagesHelper ko: ['Korean', '한국어'].freeze, kr: ['Kanuri', 'Kanuri'].freeze, ks: ['Kashmiri', 'कश्मीरी'].freeze, - ku: ['Kurdish', 'Kurdî'].freeze, + ku: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze, kv: ['Komi', 'коми кыв'].freeze, kw: ['Cornish', 'Kernewek'].freeze, ky: ['Kyrgyz', 'Кыргызча'].freeze, @@ -188,8 +188,9 @@ module LanguagesHelper ISO_639_3 = { ast: ['Asturian', 'Asturianu'].freeze, + ckb: ['Sorani (Kurdish)', 'سۆرانی'].freeze, kab: ['Kabyle', 'Taqbaylit'].freeze, - kmr: ['Northern Kurdish', 'Kurmancî'].freeze, + kmr: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze, zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze, }.freeze diff --git a/config/application.rb b/config/application.rb index c6f775162..eb5af9cc0 100644 --- a/config/application.rb +++ b/config/application.rb @@ -76,6 +76,7 @@ module Mastodon :bn, :br, :ca, + :ckb, :co, :cs, :cy, @@ -108,7 +109,6 @@ module Mastodon :ka, :kab, :kk, - :kmr, :kn, :ko, :ku, diff --git a/db/migrate/20220316233212_update_kurdish_locales.rb b/db/migrate/20220316233212_update_kurdish_locales.rb new file mode 100644 index 000000000..36586622f --- /dev/null +++ b/db/migrate/20220316233212_update_kurdish_locales.rb @@ -0,0 +1,17 @@ +class UpdateKurdishLocales < ActiveRecord::Migration[6.1] + class User < ApplicationRecord + # Dummy class, to make migration possible across version changes + end + + disable_ddl_transaction! + + def up + User.where(locale: 'ku').in_batches.update_all(locale: 'ckb') + User.where(locale: 'kmr').in_batches.update_all(locale: 'ku') + end + + def down + User.where(locale: 'ku').in_batches.update_all(locale: 'kmr') + User.where(locale: 'ckb').in_batches.update_all(locale: 'ku') + end +end diff --git a/db/schema.rb b/db/schema.rb index 73a07079d..c92f2d1c5 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2022_03_10_060959) do +ActiveRecord::Schema.define(version: 2022_03_16_233212) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" diff --git a/lib/mastodon/maintenance_cli.rb b/lib/mastodon/maintenance_cli.rb index 33beec236..6e5242bff 100644 --- a/lib/mastodon/maintenance_cli.rb +++ b/lib/mastodon/maintenance_cli.rb @@ -14,7 +14,7 @@ module Mastodon end MIN_SUPPORTED_VERSION = 2019_10_01_213028 # rubocop:disable Style/NumericLiterals - MAX_SUPPORTED_VERSION = 2022_03_10_060959 # rubocop:disable Style/NumericLiterals + MAX_SUPPORTED_VERSION = 2022_03_16_233212 # rubocop:disable Style/NumericLiterals # Stubs to enjoy ActiveRecord queries while not depending on a particular # version of the code/database From 588d2b27a789fee376ee0e48d2a56d272f0b4796 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 17 Mar 2022 12:54:07 +0100 Subject: [PATCH 09/73] Remove old files for renamed translation (#17818) Follow-up to #17812 in which `kmr` has been renamed to `ku` --- app/javascript/mastodon/locales/kmr.json | 543 ------ .../mastodon/locales/whitelist_kmr.json | 2 - config/locales/activerecord.kmr.yml | 32 - config/locales/devise.kmr.yml | 119 -- config/locales/doorkeeper.kmr.yml | 185 -- config/locales/kmr.yml | 1718 ----------------- config/locales/simple_form.kmr.yml | 230 --- 7 files changed, 2829 deletions(-) delete mode 100644 app/javascript/mastodon/locales/kmr.json delete mode 100644 app/javascript/mastodon/locales/whitelist_kmr.json delete mode 100644 config/locales/activerecord.kmr.yml delete mode 100644 config/locales/devise.kmr.yml delete mode 100644 config/locales/doorkeeper.kmr.yml delete mode 100644 config/locales/kmr.yml delete mode 100644 config/locales/simple_form.kmr.yml diff --git a/app/javascript/mastodon/locales/kmr.json b/app/javascript/mastodon/locales/kmr.json deleted file mode 100644 index 0298c51ec..000000000 --- a/app/javascript/mastodon/locales/kmr.json +++ /dev/null @@ -1,543 +0,0 @@ -{ - "account.account_note_header": "Nîşe", - "account.add_or_remove_from_list": "Tevlî bike an rake ji rêzokê", - "account.badges.bot": "Bot", - "account.badges.group": "Kom", - "account.block": "@{name} asteng bike", - "account.block_domain": "{domain} navpar asteng bike", - "account.blocked": "Astengkirî", - "account.browse_more_on_origin_server": "Li pelên resen bêhtir bigere", - "account.cancel_follow_request": "Daxwaza şopandinê rake", - "account.direct": "Peyamekê bişîne @{name}", - "account.disable_notifications": "Êdî min agahdar neke gava @{name} diweşîne", - "account.domain_blocked": "Navper hate astengkirin", - "account.edit_profile": "Profîl serrast bike", - "account.enable_notifications": "Min agahdar bike gava @{name} diweşîne", - "account.endorse": "Taybetiyên li ser profîl", - "account.follow": "Bişopîne", - "account.followers": "Şopîner", - "account.followers.empty": "Kesekî hin ev bikarhêner neşopandiye.", - "account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", - "account.following": "Dişopîne", - "account.following_counter": "{count, plural, one {{counter} Dişopîne} other {{counter} Dişopîne}}", - "account.follows.empty": "Ev bikarhêner hin kesekî heya niha neşopandiye.", - "account.follows_you": "Te dişopîne", - "account.hide_reblogs": "Bilindkirinên ji @{name} veşêre", - "account.joined": "Tevlîbû di {date} de", - "account.link_verified_on": "Xwedaniya li vê girêdanê di {date} de hatiye kontrolkirin", - "account.locked_info": "Rewşa vê ajimêrê wek kilît kirî hatiye saz kirin. Xwedî yê ajimêrê, kesên vê bişopîne bi dest vekolin dike.", - "account.media": "Medya", - "account.mention": "Qal @{name} bike", - "account.moved_to": "{name} hate livandin bo:", - "account.mute": "@{name} Bêdeng bike", - "account.mute_notifications": "Agahdariyan ji @{name} bêdeng bike", - "account.muted": "Bêdengkirî", - "account.posts": "Şandî", - "account.posts_with_replies": "Şandî û bersiv", - "account.report": "@{name} Ragihîne", - "account.requested": "Li benda erêkirinê ye. Ji bo betal kirina daxwazê pêl bikin", - "account.share": "Profîla @{name} parve bike", - "account.show_reblogs": "Bilindkirinên ji @{name} nîşan bike", - "account.statuses_counter": "{count, plural,one {{counter} şandî}other {{counter} şandî}}", - "account.unblock": "Astengê li ser @{name} rake", - "account.unblock_domain": "Astengê li ser navperê {domain} rake", - "account.unblock_short": "Astengiyê rake", - "account.unendorse": "Li ser profîl nîşan neke", - "account.unfollow": "Neşopîne", - "account.unmute": "@{name} Bêdeng bike", - "account.unmute_notifications": "Agahdariyan ji @{name} bêdeng bike", - "account.unmute_short": "Bêdeng neke", - "account_note.placeholder": "Bitikîne bo nîşeyekê tevlî bikî", - "admin.dashboard.daily_retention": "Rêjeya ragirtina bikarhêner bi roj piştî tomarkirinê", - "admin.dashboard.monthly_retention": "Rêjeya ragirtina bikarhêner bi meh piştî tomarkirinê", - "admin.dashboard.retention.average": "Navîn", - "admin.dashboard.retention.cohort": "Meha tomarkirinê", - "admin.dashboard.retention.cohort_size": "Bikarhênerên nû", - "alert.rate_limited.message": "Jkx dîsa biceribîne piştî {retry_time, time, medium}.\n \n", - "alert.rate_limited.title": "Rêje sînorkirî ye", - "alert.unexpected.message": "Çewtiyeke bêhêvî çê bû.", - "alert.unexpected.title": "Wey li min!", - "announcement.announcement": "Daxuyanî", - "attachments_list.unprocessed": "(bêpêvajo)", - "autosuggest_hashtag.per_week": "Her hefte {count}", - "boost_modal.combo": "Ji bo derbas bî carekî din de pêlê {combo} bike", - "bundle_column_error.body": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.", - "bundle_column_error.retry": "Dîsa biceribîne", - "bundle_column_error.title": "Çewtiya torê", - "bundle_modal_error.close": "Bigire", - "bundle_modal_error.message": "Di dema barkirina vê hêmanê de tiştek çewt çê bû.", - "bundle_modal_error.retry": "Dîsa bicerbîne", - "column.blocks": "Bikarhênerên astengkirî", - "column.bookmarks": "Şûnpel", - "column.community": "Demnameya herêmî", - "column.direct": "Peyamên taybet", - "column.directory": "Li profîlan bigere", - "column.domain_blocks": "Navperên astengkirî", - "column.favourites": "Bijarte", - "column.follow_requests": "Daxwazên şopandinê", - "column.home": "Serrûpel", - "column.lists": "Rêzok", - "column.mutes": "Bikarhênerên bêdengkirî", - "column.notifications": "Agahdarî", - "column.pins": "Şandiya derzîkirî", - "column.public": "Demnameyê federalîkirî", - "column_back_button.label": "Veger", - "column_header.hide_settings": "Sazkariyan veşêre", - "column_header.moveLeft_settings": "Stûnê bilivîne bo çepê", - "column_header.moveRight_settings": "Stûnê bilivîne bo rastê", - "column_header.pin": "Bi derzî bike", - "column_header.show_settings": "Sazkariyan nîşan bide", - "column_header.unpin": "Bi derzî neke", - "column_subheading.settings": "Sazkarî", - "community.column_settings.local_only": "Tenê herêmî", - "community.column_settings.media_only": "Tenê media", - "community.column_settings.remote_only": "Tenê ji dûr ve", - "compose_form.direct_message_warning": "Ev şandî tenê ji bikarhênerên qalkirî re wê were şandin.", - "compose_form.direct_message_warning_learn_more": "Bêtir fêr bibe", - "compose_form.hashtag_warning": "Ev şandî ji ber ku nehatiye tomarkirin dê di binê hashtagê de neyê tomar kirin. Tenê peyamên gelemperî dikarin bi hashtagê werin lêgerîn.", - "compose_form.lock_disclaimer": "Ajimêrê te {locked} nîne. Herkes dikare te bişopîne da ku şandiyên te yên tenê şopînerên te ra xûya dibin bibînin.", - "compose_form.lock_disclaimer.lock": "girtî ye", - "compose_form.placeholder": "Çi di hişê te derbas dibe?", - "compose_form.poll.add_option": "Hilbijarekî tevlî bike", - "compose_form.poll.duration": "Dema rapirsî yê", - "compose_form.poll.option_placeholder": "{number} Hilbijêre", - "compose_form.poll.remove_option": "Vê hilbijarê rake", - "compose_form.poll.switch_to_multiple": "Rapirsî yê biguherînin da ku destûr bidin vebijarkên pirjimar", - "compose_form.poll.switch_to_single": "Rapirsîyê biguherîne da ku mafê bidî tenê vebijêrkek", - "compose_form.publish": "Toot", - "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Guhertinan tomar bike", - "compose_form.sensitive.hide": "{count, plural, one {Medya wekî hestiyar nîşan bide} other {Medya wekî hestiyar nîşan bide}}", - "compose_form.sensitive.marked": "{count, plural, one {Medya wekî hestiyar hate nîşan} other {Medya wekî hestiyar nîşan}}", - "compose_form.sensitive.unmarked": "{count, plural, one {Medya wekî hestiyar nehatiye nîşan} other {Medya wekî hestiyar nehatiye nîşan}}", - "compose_form.spoiler.marked": "Hişyariya naverokê rake", - "compose_form.spoiler.unmarked": "Hişyariya naverokê tevlî bike", - "compose_form.spoiler_placeholder": "Li vir hişyariya xwe binivîse", - "confirmation_modal.cancel": "Dev jê berde", - "confirmations.block.block_and_report": "Asteng bike & ragihîne", - "confirmations.block.confirm": "Asteng bike", - "confirmations.block.message": "Ma tu dixwazî ku {name} asteng bikî?", - "confirmations.delete.confirm": "Jê bibe", - "confirmations.delete.message": "Ma tu dixwazî vê şandiyê jê bibî?", - "confirmations.delete_list.confirm": "Jê bibe", - "confirmations.delete_list.message": "Ma tu dixwazî bi awayekî herdemî vê rêzokê jê bibî?", - "confirmations.discard_edit_media.confirm": "Biavêje", - "confirmations.discard_edit_media.message": "Guhertinên neqedandî di danasîna an pêşdîtina medyayê de hene, wan bi her awayî bavêje?", - "confirmations.domain_block.confirm": "Hemî navperê asteng bike", - "confirmations.domain_block.message": "Tu ji xwe bawerî, bi rastî tu dixwazî hemû {domain} asteng bikî? Di gelek rewşan de asteng kirin an jî bêdeng kirin têrê dike û tê tercîh kirin. Tu nikarî naveroka vê navperê di demnameyê an jî agahdariyên xwe de bibînî. Şopînerên te yê di vê navperê were jêbirin.", - "confirmations.logout.confirm": "Derkeve", - "confirmations.logout.message": "Ma tu dixwazî ku derkevî?", - "confirmations.mute.confirm": "Bêdeng bike", - "confirmations.mute.explanation": "Ev ê şandinên ji wan tê û şandinên ku behsa wan dike veşêre, lê hê jî maf dide ku ew şandinên te bibînin û te bişopînin.", - "confirmations.mute.message": "Bi rastî tu dixwazî {name} bêdeng bikî?", - "confirmations.redraft.confirm": "Jê bibe & ji nû ve serrast bike", - "confirmations.redraft.message": "Bi rastî tu dixwazî şandî ye jê bibî û nûve reşnivîsek çê bikî? Bijarte û şandî wê wenda bibin û bersivên ji bo şandiyê resen wê sêwî bimînin.", - "confirmations.reply.confirm": "Bersivê bide", - "confirmations.reply.message": "Bersiva niha li ser peyama ku tu niha berhev dikî dê binivsîne. Ma pê bawer î ku tu dixwazî bidomînî?", - "confirmations.unfollow.confirm": "Neşopîne", - "confirmations.unfollow.message": "Ma tu dixwazî ku dev ji şopa {name} berdî?", - "conversation.delete": "Axaftinê jê bibe", - "conversation.mark_as_read": "Wekî xwendî nîşan bide", - "conversation.open": "Axaftinê nîşan bide", - "conversation.with": "Bi {names} re", - "directory.federated": "Ji fediversên naskirî", - "directory.local": "Tenê ji {domain}", - "directory.new_arrivals": "Kesên ku nû hatine", - "directory.recently_active": "Di demên dawî de çalak", - "embed.instructions": "Bi jêgirtina koda jêrîn vê şandiyê li ser malpera xwe bicîh bikin.", - "embed.preview": "Wa ye wê wusa xuya bike:", - "emoji_button.activity": "Çalakî", - "emoji_button.custom": "Kesanekirî", - "emoji_button.flags": "Nîşankirî", - "emoji_button.food": "Xwarin û vexwarin", - "emoji_button.label": "Emoji têxe", - "emoji_button.nature": "Sirûştî", - "emoji_button.not_found": "Hestokên lihevhatî nehate dîtin", - "emoji_button.objects": "Tişt", - "emoji_button.people": "Mirov", - "emoji_button.recent": "Pir caran tê bikaranîn", - "emoji_button.search": "Bigere...", - "emoji_button.search_results": "Encamên lêgerînê", - "emoji_button.symbols": "Sembol", - "emoji_button.travel": "Geşt û şûn", - "empty_column.account_suspended": "Ajimêr hatiye rawestandin", - "empty_column.account_timeline": "Li vir şandî tune!", - "empty_column.account_unavailable": "Profîl nayê peydakirin", - "empty_column.blocks": "Te tu bikarhêner asteng nekiriye.", - "empty_column.bookmarked_statuses": "Hîn tu peyamên şûnpelkirî tuneye. Gava ku hûn yek şûnpel bikin, ew ê li vir xûya bike.", - "empty_column.community": "Demnameya herêmî vala ye. Tiştek ji raya giştî re binivsînin da ku rûpel biherike!", - "empty_column.direct": "Hêj peyameke te yê rasterast tuneye. Gava ku tu yekî bişeynî an jî bigirî, ew ê li vir xûya bike.", - "empty_column.domain_blocks": "Hê jî navperên hatine asteng kirin tune ne.", - "empty_column.explore_statuses": "Tiştek niha di rojevê de tune. Paşê vegere!", - "empty_column.favourited_statuses": "Hîn tu peyamên te yên bijare tunene. Gava ku te yekî bijart, ew ê li vir xûya bike.", - "empty_column.favourites": "Hîn tu kes vê peyamê nebijartiye. Gava ku hin kes bijartin, ew ê li vir xûya bikin.", - "empty_column.follow_recommendations": "Wusa dixuye ku ji bo we tu pêşniyar nehatine çêkirin. Hûn dikarin lêgerînê bikarbînin da ku li kesên ku hûn nas dikin bigerin an hashtagên trendî bigerin.", - "empty_column.follow_requests": "Hê jî daxwaza şopandinê tunne ye. Dema daxwazek hat, yê li vir were nîşan kirin.", - "empty_column.hashtag": "Di vê hashtagê de hêj tiştekî tune.", - "empty_column.home": "Demnameya mala we vala ye! Ji bona tijîkirinê bêtir mirovan bişopînin. {suggestions}", - "empty_column.home.suggestions": "Hinek pêşniyaran bibîne", - "empty_column.list": "Di vê rêzokê de hîn tiştek tune ye. Gava ku endamên vê rêzokê peyamên nû biweşînin, ew ê li vir xuya bibin.", - "empty_column.lists": "Hêj qet rêzokê te tunne ye. Dema yek peyda bû, yê li vir were nîşan kirin.", - "empty_column.mutes": "Te tu bikarhêner bêdeng nekiriye.", - "empty_column.notifications": "Hêj hişyariyên te tunene. Dema ku mirovên din bi we re têkilî danîn, hûn ê wê li vir bibînin.", - "empty_column.public": "Li vir tiştekî tuneye! Ji raya giştî re tiştekî binivîsîne, an ji bo tijîkirinê ji rajekerên din bikarhêneran bi destan bişopînin", - "error.unexpected_crash.explanation": "Ji ber xeletîyeke di koda me da an jî ji ber mijara lihevhatina gerokan, ev rûpel rast nehat nîşandan.", - "error.unexpected_crash.explanation_addons": "Ev rûpel bi awayekî rast nehat nîşandan. Ev çewtî mimkûn e ji ber lêzêdekirina gerokan an jî amûrên wergera xweberî pêk tê.", - "error.unexpected_crash.next_steps": "Nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.", - "error.unexpected_crash.next_steps_addons": "Ne çalak kirin û nûkirina rûpelê biceribîne. Heke ev bi kêr neyê, dibe ku te hîn jî bi rêya gerokeke cuda an jî sepana xwecîhê Mastodonê bi kar bîne.", - "errors.unexpected_crash.copy_stacktrace": "Şopa gemara (stacktrace) tûrikê ra jê bigire", - "errors.unexpected_crash.report_issue": "Pirsgirêkekê ragihîne", - "explore.search_results": "Encamên lêgerînê", - "explore.suggested_follows": "Ji bo te", - "explore.title": "Vekole", - "explore.trending_links": "Nûçe", - "explore.trending_statuses": "Şandî", - "explore.trending_tags": "Hashtag", - "follow_recommendations.done": "Qediya", - "follow_recommendations.heading": "Mirovên ku tu dixwazî ji wan peyaman bibînî bişopîne! Hin pêşnîyar li vir in.", - "follow_recommendations.lead": "Li gorî rêza kronolojîkî peyamên mirovên ku tu dişopînî dê demnameya te de xûya bike. Ji xeletiyan netirse, bi awayekî hêsan her wextî tu dikarî dev ji şopandinê berdî!", - "follow_request.authorize": "Mafê bide", - "follow_request.reject": "Nepejirîne", - "follow_requests.unlocked_explanation": "Tevlî ku ajimêra te ne kilît kiriye, karmendên {domain} digotin qey tu dixwazî ku pêşdîtina daxwazên şopandinê bi destan bike.", - "generic.saved": "Tomarkirî", - "getting_started.developers": "Pêşdebir", - "getting_started.directory": "Rêgeha profîlê", - "getting_started.documentation": "Pelbend", - "getting_started.heading": "Destpêkirin", - "getting_started.invite": "Mirovan Vexwîne", - "getting_started.open_source_notice": "Mastodon nermalava çavkaniya vekirî ye. Tu dikarî pirsgirêkan li ser GitHub-ê ragihînî di {github} de an jî dikarî tevkariyê bikî.", - "getting_started.security": "Sazkariyên ajimêr", - "getting_started.terms": "Mercên karûberan", - "hashtag.column_header.tag_mode.all": "û {additional}", - "hashtag.column_header.tag_mode.any": "an {additional}", - "hashtag.column_header.tag_mode.none": "bêyî {additional}", - "hashtag.column_settings.select.no_options_message": "Ti pêşniyar nehatin dîtin", - "hashtag.column_settings.select.placeholder": "Têkeve hashtagê…", - "hashtag.column_settings.tag_mode.all": "Van hemûyan", - "hashtag.column_settings.tag_mode.any": "Yek ji van", - "hashtag.column_settings.tag_mode.none": "Ne yek ji van", - "hashtag.column_settings.tag_toggle": "Ji bo vê stûnê hin pêvekan tevlî bike", - "home.column_settings.basic": "Bingehîn", - "home.column_settings.show_reblogs": "Bilindkirinan nîşan bike", - "home.column_settings.show_replies": "Bersivan nîşan bide", - "home.hide_announcements": "Reklaman veşêre", - "home.show_announcements": "Reklaman nîşan bide", - "intervals.full.days": "{number, plural, one {# roj} other {# roj}}", - "intervals.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}}\n \n", - "intervals.full.minutes": "{number, plural, one {# xulek} other {# xulek}}", - "keyboard_shortcuts.back": "Vegere paşê", - "keyboard_shortcuts.blocked": "Rêzoka bikarhênerên astengkirî veke", - "keyboard_shortcuts.boost": "Şandiyê bilind bike", - "keyboard_shortcuts.column": "Stûna balkişandinê", - "keyboard_shortcuts.compose": "Bal bikşîne cîhê nivîsê/textarea", - "keyboard_shortcuts.description": "Danasîn", - "keyboard_shortcuts.direct": "Ji stûnê peyamên rasterast veke", - "keyboard_shortcuts.down": "Di rêzokê de dakêşe jêr", - "keyboard_shortcuts.enter": "Şandiyê veke", - "keyboard_shortcuts.favourite": "Şandiya bijarte", - "keyboard_shortcuts.favourites": "Rêzokên bijarte veke", - "keyboard_shortcuts.federated": "Demnameyê federalîkirî veke", - "keyboard_shortcuts.heading": "Kurterêyên klavyeyê", - "keyboard_shortcuts.home": "Demnameyê veke", - "keyboard_shortcuts.hotkey": "Bişkoka kurterê", - "keyboard_shortcuts.legend": "Vê çîrokê nîşan bike", - "keyboard_shortcuts.local": "Demnameya herêmî veke", - "keyboard_shortcuts.mention": "Qala nivîskarî/ê bike", - "keyboard_shortcuts.muted": "Rêzoka bikarhênerên bêdeng kirî veke", - "keyboard_shortcuts.my_profile": "Profîla xwe veke", - "keyboard_shortcuts.notifications": "Stûnê agahdariyan veke", - "keyboard_shortcuts.open_media": "Medya veke", - "keyboard_shortcuts.pinned": "Şandiyên derzîkirî veke", - "keyboard_shortcuts.profile": "Profîla nivîskaran veke", - "keyboard_shortcuts.reply": "Bersivê bide şandiyê", - "keyboard_shortcuts.requests": "Rêzoka daxwazên şopandinê veke", - "keyboard_shortcuts.search": "Bal bide şivika lêgerînê", - "keyboard_shortcuts.spoilers": "Zeviya hişyariya naverokê nîşan bide/veşêre", - "keyboard_shortcuts.start": "Stûna \"destpêkê\" veke", - "keyboard_shortcuts.toggle_hidden": "Nivîsa paş hişyariya naverokê nîşan bide/veşêre", - "keyboard_shortcuts.toggle_sensitivity": "Medyayê nîşan bide/veşêre", - "keyboard_shortcuts.toot": "Dest bi şandiyeke nû bike", - "keyboard_shortcuts.unfocus": "Bal nede cîhê nivîsê /lêgerînê", - "keyboard_shortcuts.up": "Di rêzokê de rake jor", - "lightbox.close": "Bigire", - "lightbox.compress": "Qutîya wêneya nîşan dike bitepisîne", - "lightbox.expand": "Qutîya wêneya nîşan dike fireh bike", - "lightbox.next": "Pêş", - "lightbox.previous": "Paş", - "lists.account.add": "Tevlî rêzokê bike", - "lists.account.remove": "Ji rêzokê rake", - "lists.delete": "Rêzokê jê bibe", - "lists.edit": "Rêzokê serrast bike", - "lists.edit.submit": "Sernavê biguherîne", - "lists.new.create": "Rêzokê tevlî bike", - "lists.new.title_placeholder": "Sernavê rêzoka nû", - "lists.replies_policy.followed": "Bikarhênereke şopandî", - "lists.replies_policy.list": "Endamên rêzokê", - "lists.replies_policy.none": "Ne yek", - "lists.replies_policy.title": "Bersivan nîşan bide:", - "lists.search": "Di navbera kesên ku te dişopînin bigere", - "lists.subheading": "Rêzokên te", - "load_pending": "{count, plural, one {# hêmaneke nû} other {#hêmaneke nû}}", - "loading_indicator.label": "Tê barkirin...", - "media_gallery.toggle_visible": "{number, plural, one {Wêneyê veşêre} other {Wêneyan veşêre}}", - "missing_indicator.label": "Nehate dîtin", - "missing_indicator.sublabel": "Ev çavkanî nehat dîtin", - "mute_modal.duration": "Dem", - "mute_modal.hide_notifications": "Agahdariyan ji ev bikarhêner veşêre?", - "mute_modal.indefinite": "Nediyar", - "navigation_bar.apps": "Sepana mobîl", - "navigation_bar.blocks": "Bikarhênerên astengkirî", - "navigation_bar.bookmarks": "Şûnpel", - "navigation_bar.community_timeline": "Demnameya herêmî", - "navigation_bar.compose": "Şandiyeke nû binivsîne", - "navigation_bar.direct": "Peyamên rasterast", - "navigation_bar.discover": "Vekolê", - "navigation_bar.domain_blocks": "Navparên astengkirî", - "navigation_bar.edit_profile": "Profîl serrast bike", - "navigation_bar.explore": "Vekole", - "navigation_bar.favourites": "Bijarte", - "navigation_bar.filters": "Peyvên bêdengkirî", - "navigation_bar.follow_requests": "Daxwazên şopandinê", - "navigation_bar.follows_and_followers": "Şopandin û şopîner", - "navigation_bar.info": "Derbarê vî rajekarî", - "navigation_bar.keyboard_shortcuts": "Bişkoka kurterê", - "navigation_bar.lists": "Rêzok", - "navigation_bar.logout": "Derkeve", - "navigation_bar.mutes": "Bikarhênerên bêdengkirî", - "navigation_bar.personal": "Kesanî", - "navigation_bar.pins": "Şandiya derzîkirî", - "navigation_bar.preferences": "Sazkarî", - "navigation_bar.public_timeline": "Demnameyê federalîkirî", - "navigation_bar.security": "Ewlehî", - "notification.admin.sign_up": "{name} tomar bû", - "notification.favourite": "{name} şandiya te hez kir", - "notification.follow": "{name} te şopand", - "notification.follow_request": "{name} dixwazê te bişopîne", - "notification.mention": "{name} qale te kir", - "notification.own_poll": "Rapirsîya te qediya", - "notification.poll": "Rapirsiyeke ku te deng daye qediya", - "notification.reblog": "{name} şandiya te bilind kir", - "notification.status": "{name} niha şand", - "notification.update": "{name} şandiyek serrast kir", - "notifications.clear": "Agahdariyan pak bike", - "notifications.clear_confirmation": "Bi rastî tu dixwazî bi awayekî dawî hemû agahdariyên xwe pak bikî?", - "notifications.column_settings.admin.sign_up": "Tomarkirinên nû:", - "notifications.column_settings.alert": "Agahdariyên sermaseyê", - "notifications.column_settings.favourite": "Bijarte:", - "notifications.column_settings.filter_bar.advanced": "Hemû beşan nîşan bide", - "notifications.column_settings.filter_bar.category": "Şivika parzûna bilêz", - "notifications.column_settings.filter_bar.show_bar": "Darika parzûnê nîşan bide", - "notifications.column_settings.follow": "Şopînerên nû:", - "notifications.column_settings.follow_request": "Daxwazên şopandinê nû:", - "notifications.column_settings.mention": "Qalkirin:", - "notifications.column_settings.poll": "Encamên rapirsiyê:", - "notifications.column_settings.push": "Agahdarîyên yekser", - "notifications.column_settings.reblog": "Bilindkirî:", - "notifications.column_settings.show": "Di nav stûnê de nîşan bike", - "notifications.column_settings.sound": "Deng lêxe", - "notifications.column_settings.status": "Şandiyên nû:", - "notifications.column_settings.unread_notifications.category": "Agahdariyên nexwendî", - "notifications.column_settings.unread_notifications.highlight": "Agahiyên nexwendî nîşan bike", - "notifications.column_settings.update": "Serrastkirin:", - "notifications.filter.all": "Hemû", - "notifications.filter.boosts": "Bilindkirî", - "notifications.filter.favourites": "Bijarte", - "notifications.filter.follows": "Şopîner", - "notifications.filter.mentions": "Qalkirin", - "notifications.filter.polls": "Encamên rapirsiyê", - "notifications.filter.statuses": "Ji kesên tu dişopînî re rojanekirin", - "notifications.grant_permission": "Destûrê bide.", - "notifications.group": "{count} agahdarî", - "notifications.mark_as_read": "Hemî agahdarîya wek xwendî nîşan bike", - "notifications.permission_denied": "Agahdarîyên sermaseyê naxebite ji ber ku berê de daxwazî ya destûr dayîna gerokê hati bû red kirin", - "notifications.permission_denied_alert": "Agahdarîyên sermaseyê nay çalak kirin, ji ber ku destûr kirina gerokê pêşî de hati bû red kirin", - "notifications.permission_required": "Agahdarîyên sermaseyê naxebite çunkî mafê pêwîst dike nehatiye dayîn.", - "notifications_permission_banner.enable": "Agahdarîyên sermaseyê çalak bike", - "notifications_permission_banner.how_to_control": "Da ku agahdariyên mastodon bistînî gava ne vekirî be. Agahdariyên sermaseyê çalak bike\n Tu dikarî agahdariyên sermaseyê bi rê ve bibî ku bi hemû cureyên çalakiyên ên ku agahdariyan rû didin ku bi riya tikandînê li ser bişkoka {icon} çalak dibe.", - "notifications_permission_banner.title": "Tu tiştî bîr neke", - "picture_in_picture.restore": "Vegerîne paş", - "poll.closed": "Girtî", - "poll.refresh": "Nû bike", - "poll.total_people": "{count, plural, one {# kes} other {# kes}}", - "poll.total_votes": "{count, plural, one {# deng} other {# deng}}", - "poll.vote": "Deng bide", - "poll.voted": "Te dengê xwe da vê bersivê", - "poll.votes": "{votes, plural, one {# deng} other {# deng}}", - "poll_button.add_poll": "Rapirsîyek zêde bike", - "poll_button.remove_poll": "Rapirsî yê rake", - "privacy.change": "Nepênîtiya şandiyan biguherîne", - "privacy.direct.long": "Tenê ji bo bikarhênerên qalkirî tê dîtin", - "privacy.direct.short": "Taybet", - "privacy.private.long": "Tenê bo şopîneran xuyabar e", - "privacy.private.short": "Tenê şopîneran", - "privacy.public.long": "Ji bo herkesî li berçav e, di demnameyên gelemperî de dê xûyakirin", - "privacy.public.short": "Gelemperî", - "privacy.unlisted.long": "Ji herkesî ra tê xûya, lê demnameyê gelemperî ra nay xûyakirin", - "privacy.unlisted.short": "Nerêzok", - "refresh": "Nû bike", - "regeneration_indicator.label": "Tê barkirin…", - "regeneration_indicator.sublabel": "Mala te da tê amedekirin!", - "relative_time.days": "{number}r", - "relative_time.full.days": "{number, plural, one {# roj} other {# roj}} berê", - "relative_time.full.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} berê", - "relative_time.full.just_now": "hema niha", - "relative_time.full.minutes": "{number, plural, one {# xulek} other {# xulek}} berê", - "relative_time.full.seconds": "{number, plural, one {# çirke} other {# çirke}} berê", - "relative_time.hours": "{number}d", - "relative_time.just_now": "niha", - "relative_time.minutes": "{number}x", - "relative_time.seconds": "{number}ç", - "relative_time.today": "îro", - "reply_indicator.cancel": "Dev jê berde", - "report.block": "Asteng bike", - "report.block_explanation": "Tu yê şandiyên wan nebînî. Ew ê nikaribin şandiyên te bibînin an jî te bişopînin. Ew ê bizanibin ku ew hatine astengkirin.", - "report.categories.other": "Yên din", - "report.categories.spam": "Nexwestî (Spam)", - "report.categories.violation": "Naverok yek an çend rêbazên rajekar binpê dike", - "report.category.subtitle": "Baştirîn lihevhatin hilbijêre", - "report.category.title": "Ji me re bêje ka çi diqewime bi vê {type} re", - "report.category.title_account": "profîl", - "report.category.title_status": "şandî", - "report.close": "Qediya", - "report.comment.title": "Tiştek din heye ku tu difikirî ku divê em zanibin?", - "report.forward": "Biçe bo {target}", - "report.forward_hint": "Ajimêr ji rajekarek din da ne. Tu kopîyeka anonîm ya raporê bişînî li wur?", - "report.mute": "Bêdeng bike", - "report.mute_explanation": "Tê yê şandiyên wan nebînî. Ew hin jî dikarin te bişopînin û şandiyên te bibînin û wê nizanibin ku ew hatine bêdengkirin.", - "report.next": "Pêş", - "report.placeholder": "Şiroveyên zêde", - "report.reasons.dislike": "Ez jê hez nakim", - "report.reasons.dislike_description": "Ew ne tiştek e ku tu dixwazî bibînî", - "report.reasons.other": "Tiştekî din e", - "report.reasons.other_description": "Pirsgirêk di kategoriyên din de cih nagire", - "report.reasons.spam": "Ew spam e", - "report.reasons.spam_description": "Girêdanên xerab, tevlêbûna sexte, an jî bersivên dubarekirî", - "report.reasons.violation": "Ew rêzikên rajekar binpê dike", - "report.reasons.violation_description": "Tu dizanî ku ew rêzikên taybetiyê binpê dike", - "report.rules.subtitle": "Hemûyên ku têne sepandin hibijêre", - "report.rules.title": "Kîjan rêzik têne binpêkirin?", - "report.statuses.subtitle": "Hemûyên ku têne sepandin hibijêre", - "report.statuses.title": "Tu şandiyên ku vê ragihandinê piştgirî dikin hene?", - "report.submit": "Bişîne", - "report.target": "Ragihandin {target}", - "report.thanks.take_action": "Li vir vebijêrkên te hene ji bo kontrolkirina tiştê ku tu li se Mastodon dibînî:", - "report.thanks.take_action_actionable": "Dema ku em vê yekê dinirxînin, tu dikarî li dijî @{name} tedbîran bigirî:", - "report.thanks.title": "Tu naxwazî vê bibînî?", - "report.thanks.title_actionable": "Spas ji bo ragihandina te, em ê binirxînin.", - "report.unfollow": "@{name} neşopîne", - "report.unfollow_explanation": "Tê vê ajimêrê dişopînî. Ji bo ku êdî şandiyên wan di rojeva xwe de nebînî, wan neşopîne.", - "search.placeholder": "Bigere", - "search_popout.search_format": "Dirûva lêgerîna pêşketî", - "search_popout.tips.full_text": "Nivîsên hêsan, şandiyên ku te nivîsandiye, bijare kiriye, bilind kiriye an jî yên behsa te kirine û her wiha navê bikarhêneran, navên xûya dike û hashtagan vedigerîne.", - "search_popout.tips.hashtag": "hashtag", - "search_popout.tips.status": "şandî", - "search_popout.tips.text": "Nivîsên hêsan, navên xûya ên ku li hev hatî, bikarhêner û hashtagan vedigerîne", - "search_popout.tips.user": "bikarhêner", - "search_results.accounts": "Mirov", - "search_results.all": "Hemû", - "search_results.hashtags": "Hashtag", - "search_results.nothing_found": "Ji bo van peyvên lêgerînê tiştek nehate dîtin", - "search_results.statuses": "Şandî", - "search_results.statuses_fts_disabled": "Di vê rajekara Mastodonê da lêgerîna şandîyên li gorî naveroka wan ne çalak e.", - "search_results.total": "{count, number} {count, plural, one {encam} other {encam}}", - "status.admin_account": "Ji bo @{name} navrûya venihêrtinê veke", - "status.admin_status": "Vê şandîyê di navrûya venihêrtinê de veke", - "status.block": "@{name} asteng bike", - "status.bookmark": "Şûnpel", - "status.cancel_reblog_private": "Bilind neke", - "status.cannot_reblog": "Ev şandî nayê bilindkirin", - "status.copy": "Girêdanê jê bigire bo weşankirinê", - "status.delete": "Jê bibe", - "status.detailed_status": "Dîtina axaftina berfireh", - "status.direct": "Peyama rasterast @{name}", - "status.edit": "Serrast bike", - "status.edited": "Di {date} de hate serrastkirin", - "status.edited_x_times": "{count, plural, one {{count} car} other {{count} car}} hate serrastkirin", - "status.embed": "Hedimandî", - "status.favourite": "Bijarte", - "status.filtered": "Parzûnkirî", - "status.history.created": "{name} {date} afirand", - "status.history.edited": "{name} {date} serrast kir", - "status.load_more": "Bêtir bar bike", - "status.media_hidden": "Medya veşartî ye", - "status.mention": "Qal @{name} bike", - "status.more": "Bêtir", - "status.mute": "@{name} Bêdeng bike", - "status.mute_conversation": "Axaftinê bêdeng bike", - "status.open": "Vê şandiyê berferh bike", - "status.pin": "Li ser profîlê derzî bike", - "status.pinned": "Şandiya derzîkirî", - "status.read_more": "Bêtir bixwîne", - "status.reblog": "Bilind bike", - "status.reblog_private": "Bi dîtina resen bilind bike", - "status.reblogged_by": "{name} bilind kir", - "status.reblogs.empty": "Kesekî hin ev şandî bilind nekiriye. Gava kesek bilind bike, ew ên li vir werin xuyakirin.", - "status.redraft": "Jê bibe & ji nû ve reşnivîs bike", - "status.remove_bookmark": "Şûnpêlê jê rake", - "status.reply": "Bersivê bide", - "status.replyAll": "Mijarê bibersivîne", - "status.report": "{name} gilî bike", - "status.sensitive_warning": "Naveroka hestiyarî", - "status.share": "Parve bike", - "status.show_less": "Kêmtir nîşan bide", - "status.show_less_all": "Ji bo hemîyan kêmtir nîşan bide", - "status.show_more": "Hêj zehftir nîşan bide", - "status.show_more_all": "Bêtir nîşan bide bo hemûyan", - "status.show_thread": "Mijarê nîşan bide", - "status.uncached_media_warning": "Tune ye", - "status.unmute_conversation": "Axaftinê bêdeng neke", - "status.unpin": "Şandiya derzîkirî ji profîlê rake", - "suggestions.dismiss": "Pêşniyarê paşguh bike", - "suggestions.header": "Dibe ku bala te bikşîne…", - "tabs_bar.federated_timeline": "Giştî", - "tabs_bar.home": "Serrûpel", - "tabs_bar.local_timeline": "Herêmî", - "tabs_bar.notifications": "Agahdarî", - "tabs_bar.search": "Bigere", - "time_remaining.days": "{number, plural, one {# roj} other {# roj}} maye", - "time_remaining.hours": "{number, plural, one {# demjimêr} other {# demjimêr}} maye", - "time_remaining.minutes": "{number, plural, one {# xulek} other {# xulek}} maye", - "time_remaining.moments": "Demên mayî", - "time_remaining.seconds": "{number, plural, one {# çirke} other {# çirke}} maye", - "timeline_hint.remote_resource_not_displayed": "{resource} Ji rajekerên din nayê dîtin.", - "timeline_hint.resources.followers": "Şopîner", - "timeline_hint.resources.follows": "Şopîner", - "timeline_hint.resources.statuses": "Şandiyên kevn", - "trends.counter_by_accounts": "{count, plural, one {{counter} kes} other {{counter} kes}} diaxivin", - "trends.trending_now": "Rojev", - "ui.beforeunload": "Ger ji Mastodonê veketi wê reşnivîsa te jî winda bibe.", - "units.short.billion": "{count}B", - "units.short.million": "{count}M", - "units.short.thousand": "{count}H", - "upload_area.title": "Ji bo barkirinê kaş bike û deyne", - "upload_button.label": "Wêne, vîdeoyek an jî pelê dengî tevlî bike", - "upload_error.limit": "Sînora barkirina pelan derbas bû.", - "upload_error.poll": "Di rapirsîyan de mafê barkirina pelan nayê dayîn.", - "upload_form.audio_description": "Ji bona kesên kêm dibihîsin re pênase bike", - "upload_form.description": "Ji bona astengdarên dîtinê re vebêje", - "upload_form.edit": "Serrast bike", - "upload_form.thumbnail": "Wêneyê biçûk biguherîne", - "upload_form.undo": "Jê bibe", - "upload_form.video_description": "Ji bo kesên kerr û lalan pênase bike", - "upload_modal.analyzing_picture": "Wêne tê analîzkirin…", - "upload_modal.apply": "Bisepîne", - "upload_modal.applying": "Tê sepandin…", - "upload_modal.choose_image": "Wêneyê hilbijêre", - "upload_modal.description_placeholder": "Rovîyek qehweyî û bilez li ser kûçikê tîral banz dide", - "upload_modal.detect_text": "Ji nivîsa wêneyê re serwext be", - "upload_modal.edit_media": "Medyayê sererast bike", - "upload_modal.hint": "Ji bo hilbijartina xala navendê her tim dîmenê piçûk de pêşdîtina çerxê bitikîne an jî kaş bike.", - "upload_modal.preparing_ocr": "OCR dihê amadekirin…", - "upload_modal.preview_label": "Pêşdîtin ({ratio})", - "upload_progress.label": "Tê barkirin...", - "video.close": "Vîdyoyê bigire", - "video.download": "Pelê daxe", - "video.exit_fullscreen": "Ji dîmendera tijî derkeve", - "video.expand": "Vîdyoyê berferh bike", - "video.fullscreen": "Dimendera tijî", - "video.hide": "Vîdyo veşêre", - "video.mute": "Dengê qut bike", - "video.pause": "Rawestîne", - "video.play": "Vêxe", - "video.unmute": "Dengê qut neke" -} diff --git a/app/javascript/mastodon/locales/whitelist_kmr.json b/app/javascript/mastodon/locales/whitelist_kmr.json deleted file mode 100644 index 0d4f101c7..000000000 --- a/app/javascript/mastodon/locales/whitelist_kmr.json +++ /dev/null @@ -1,2 +0,0 @@ -[ -] diff --git a/config/locales/activerecord.kmr.yml b/config/locales/activerecord.kmr.yml deleted file mode 100644 index 30afeda99..000000000 --- a/config/locales/activerecord.kmr.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- -kmr: - activerecord: - attributes: - poll: - expires_at: Dîroka dawîbûnê - options: Hilbijark - user: - agreement: Peymana karûbarê - email: Navnîşana E-nameyê - locale: Herêmî - password: Pêborîn - user/account: - username: Navê bikarhêneriyê - user/invite_request: - text: Sedem - errors: - models: - account: - attributes: - username: - invalid: pêdivî ye ku tenê tîp, hejmar û xêzikên jêrîn hebin - reserved: hatiye bikaranîn - status: - attributes: - reblog: - taken: ev nivîs berê heye jixwe - user: - attributes: - email: - blocked: dabînkerê e-nameya qedexe bi kar tîne - unreachable: xuya ye ku tune ye diff --git a/config/locales/devise.kmr.yml b/config/locales/devise.kmr.yml deleted file mode 100644 index 14528ff62..000000000 --- a/config/locales/devise.kmr.yml +++ /dev/null @@ -1,119 +0,0 @@ ---- -kmr: - devise: - confirmations: - confirmed: Navnîşana te ya e-nameyê bi awayekî serkeftî hat piştrastkirin. - send_instructions: Çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêre. - send_paranoid_instructions: Heger navnîşana e-name ya te danegeha me de hebe çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêrin. - failure: - already_authenticated: Jixwe te berê têketin kiriye. - inactive: Ajimêra te hîn nehatiye çalakkirin. - invalid: Nederbasdar %{authentication_keys} an jî şîfre. - last_attempt: Peşiya kilît kirina ajimêra te carek din jî biceribîne. - locked: Ajimêra ye hat kilît kirin. - not_found_in_database: Nederbasdar %{authentication_keys} an jî şîfre. - pending: Ajimêra te hîn tê vekolandin. - timeout: Danişîna te qedîya. Ji kerema xwe ji bo berdewamiyê dîsa têkeve. - unauthenticated: Peşiya berdewamiya te têketina xwe bike an jî xwe tomar bike. - unconfirmed: Peşiya berdewamiyê, navnîşana e-name ya xwe bipejirîne. - mailer: - confirmation_instructions: - action: Navnîşana e-nameyê piştrast bike - action_with_app: Piştrast bike û vegere bo %{app} - explanation: Te li ser %{host} ajimêrek çê kiriye bi navnîşana vê e-nameyê re. Tu ji çalakkirina wê bi tikandinekê dûr î. Heke ev ne tu bûya, ji kerema xwe guh nede vê e-nameyê. - explanation_when_pending: |- - Te bi vê navnîşana e -nameyê serlêdana vexwendina %{host} kir. Gava ku tu navnîşana e-nameya xwe piştrast bikî, em ê serlêdana te binirxînin. Tu dikarî têkevî da ku hûrguliyên xwe biguherînî an ajimêra xwe jê bibî, lê heya ku ajimêra te neyê pejirandin tu nekarî piraniya fonksiyonan bi kar bînî - Heke serlêdana te werê red kirin, dê daneyên te werin jêbirin, ji ber vê yekê çalakîyek din ji te nayê xwestin. Heke ev ne tu bû, ji kerema xwe guh nede vê e-nameyê. - extra_html: Jkx vê jî kontrol bike rêbazên rajekar û mercên me yên karûbaran. - subject: 'Mastodon: ji bo %{instance} pejirandinê rêwerzan' - title: Navnîşana e-nameyê piştrast bike - email_changed: - explanation: 'Navnîşana e-nameyê ajimêra te hate guhertin bo:' - extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî. - subject: 'Mastodon: E-name hate guhertin' - title: Navnîşana e-nameya nû - password_change: - explanation: Pêborîna ajimêra te hate guhertin. - extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî. - subject: 'Mastodon: pêborîn hate guhertin' - title: Pêborîn hate guhertin - reconfirmation_instructions: - explanation: Navnîşana nû piştrast bike da ku tu e-nameya xwe biguherînî. - extra: |- - Heke ev daxwaz ji aliyê te de nehate pêkanîn, jkx guh nede vê e-nameyê - Navnîşana e-nameyê bo ajimêra Mastodon wê tu guhertin pêk neyîne heya ku tu li girêdana Jêrin bitikînî. - subject: 'Mastodon: E-nameyê piştrast bike bo %{instance}' - title: Navnîşana e-nameyê piştrast bike - reset_password_instructions: - action: Pêborînê biguherîne - explanation: Te ji bo ajimêra xwe daxwaza pêborîneke nû kiriye. - extra: Heke te ev daxwaz nekir, jkx guh nede vê e-nameyê. Pêborîna te wê neyê guhertin heya ku tu li girêdana Jêrin bitikînî û yeka nû çê bikî. - subject: 'Mastodon: rêwerzên jê birina pêborîn' - title: Pêborîn ji nû ve saz bike - two_factor_disabled: - explanation: Ji bo ajimêrê te piştrastkirina du-faktorî hat asteng kirin. Niha tu tenê bi navnîşana e-name û şîfre ya xwe dikarî têketin bikî. - subject: 'Mastodon: piştrastkirina du- faktorî neçalak bike' - title: 2FA Neçalak e - two_factor_enabled: - explanation: Piştrastkirinê du-faktorî ya ajimêrê te hat çalak kirin. Ji bo têketinê ji alî sepanê cotkirî TOTP ve hewceyî nîşanderek heye. - subject: 'Mastodon: piştrastkirina du-faktorî hat çalak kirin' - title: 2FA Çalak e - two_factor_recovery_codes_changed: - explanation: Kodên paşve hatiye rizgarkirin betal bû û yên nû hat çêkirin. - subject: 'Mastodon: kodên rizgarkirî ên du-faktorî dîsa hat avakirin' - title: Kodê 2FA ya rizgarkirinê hatine guhertin - unlock_instructions: - subject: 'Mastodon: kilîdê rêwerzan veke' - webauthn_credential: - added: - explanation: Kilîta ewlehiyê jêrîn li ajimêra te hate tevlîkirin - subject: Kilîta ewlehiyê ya nû - title: Kilîta ewlehiyê ya nû hate tevlîkirin - deleted: - explanation: Kilîta ewlehiyê jêrîn li ajimêra te hate jêbirin - subject: 'Mastodon: Kilîta ewlehiyê hate jêbirin' - title: Yek ji kilîta ewlehiyê yên te hate jêbirin - webauthn_disabled: - explanation: Rastandina kilîta ewlehiyê hate çalakkirin bo ajimêra te. kilîta te ya ewlehiyê niha bo têketinê dikarê bê karanîn. Têketin niha gengaz e ku mirov tenê nîşana ku ji hêla sepana cotkirî ya TOTP ve hatî avakirin bi kar bîne. - subject: 'Mastodon: Rastandin bi kilîta ewlehiyê re nehate çalakirin' - title: Kilîta ewlehiyê neçalak e - webauthn_enabled: - explanation: Rastandina kilîta ewlehiyê hate çalakkirin bo ajimêra te. kilîta te ya ewlehiyê niha bo têketinê dikarê bê karanîn. - subject: 'Mastodon: Rastandina kilîta ewlehiyê hate çalakkirin' - title: Kilîta ewlehiyê çalak e - omniauth_callbacks: - failure: Nikare ji %{kind} rastandinê bikê ji bo " %{reason}". - success: Ji ajimêra %{kind} bi serkeftî hate rastandin. - passwords: - no_token: Tu nikarî xwe bigihînî vê rûpelê bêyî ku tu ji e-nameya ji nû ve sazkirina pêborînê wernegerî. Heke tu ji e-nameya ji nû ve sazkirina pêborînê tê, ji kerema xwe pê ewle be ku tu girêdanê ya tevahî bi kar tînî. - send_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. - send_paranoid_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî di hundir çend xulkan de. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. - updated: Pêborîna te bi serkeftî hate guhertin. Niha tu têketî ye. - updated_not_active: Pêborîna te bi serkeftî hate guhertin. - registrations: - destroyed: Xatirê te! Ajimêra te bi serkeftî hate pûçkirin. Em hêvî dikin ku tu di nêzîk de te dîsa bibînin. - signed_up: Bi xêr hatî! Te bi serkeftî tomarkirin kir. - signed_up_but_inactive: Te bi serkeftî tomarkirin kir. lê piştî ku tu çalak bikî em dikarin ku tu têketinê bikî. - signed_up_but_locked: Te bi serkeftî tomarkirin kir. lê ajimêra te girtiye ber wê tu nikarî ku têketinê bikî. - signed_up_but_pending: Peyamek bi girêda pejirandinê ji navnîşana e-nameya te re hate şandin. Piştî ku tu girêdanê bitikînî, em ê serlêdana te binirxînin. Heke werê pejirandin tu yê bê agahdarkirin. - signed_up_but_unconfirmed: Peyamek bi girêda pejirandinê ji navnîşana e-nameya te re hate şandin. Ji kerema xwe girêdanê bişopîne da ku tu ajimêra xwe çalak bikî. Ji kerema xwe heke te ev e-name nestand peldanka spama xwe kontrol bike. - update_needs_confirmation: Te ajimêra xwe bi awayekî serkeftî rojane kir, lê pêdiviya me bi kontrolkirina navnîşana e -nameya te ya nû heye. Ji kerema xwe e -nameya xwe kontrol bike û girêdana piştrastkirinê bişopîne da ku navnîşana e -nameya xwe ya nû piştrast bikî. Ji kerema xwe heke te ev e -name nestand peldanka spama xwe kontrol bike. - updated: Ajimêra te bi awayekî serkeftî hate rojanekirin. - sessions: - already_signed_out: Derketina te serkeftî bû. - signed_in: Têketina te serkeftî bû. - signed_out: Derketina te serkeftî bû. - unlocks: - send_instructions: Çend xulek şûnde ji bo navnîşana e-name ya te çawa were pejirandinê, tu yê e-name yek hildî. Heke ev e-name yê hilnedî ji kerema xwe re peldanka nexwestî binêrin. - send_paranoid_instructions: Hek ajimêra te hebe, tu yê e-nameyeke bi zanyariyan bistînî ka mirov çawa di çend xulekan de ajimêr vedikê. Ji kerema xwe heke te ev e-name nestand peldanka spama xwe kontrol bike. - unlocked: Ajimêra te bi serkeftî vebû. Ji kerema xwe têkeve da ku tu bidomînî. - errors: - messages: - already_confirmed: jixwe hate pejirandin, ji kerema xwe têketinê biceribîne - confirmation_period_expired: pêdivî ye ku di nav %{period} de werê pejirandin, ji kerema xwe yeka nû bixwaze - expired: qediya ye, ji kerema xwe yeka nû bixwaze - not_found: nehate dîtin - not_locked: ne girtî bû - not_saved: - one: '1 çewtî nehişt ku %{resource} werê tomarkirin:' - other: "%{count} çewtî nehişt ku %{resource} werê tomarkirin:" diff --git a/config/locales/doorkeeper.kmr.yml b/config/locales/doorkeeper.kmr.yml deleted file mode 100644 index 281de3bbd..000000000 --- a/config/locales/doorkeeper.kmr.yml +++ /dev/null @@ -1,185 +0,0 @@ ---- -kmr: - activerecord: - attributes: - doorkeeper/application: - name: Navê sepanê - redirect_uri: Girêdana beralîkirî - scopes: Berfirehî - website: Malpera sepanê - errors: - models: - doorkeeper/application: - attributes: - redirect_uri: - fragment_present: perçe tê de tinne. - invalid_uri: ger ev URL derbasdar be. - relative_uri: teqez URl'yek hebe. - secured_uri: ger HTTPS/SSL URl hebe. - doorkeeper: - applications: - buttons: - authorize: Destûr bide - cancel: Dev jê berde - destroy: Tinne bike - edit: Serrast bike - submit: Bişîne - confirmations: - destroy: Ma tu bawerî? - edit: - title: Sepanê serrast bike - form: - error: Wey li min! kontrol bikeku form çewtî tê de tune - help: - native_redirect_uri: Bo testên herêmî %{native_redirect_uri} bikar bîne - redirect_uri: Serê URl de rêzek bikarbînin - scopes: Berfirehî bi valahîyan re veqetîne. Bo bikaranîna berfirehî ya standard vala bihêle. - index: - application: Sepan - callback_url: URl ya vegeriyayî - delete: Jê bibe - empty: Qet sepanê te tinne. - name: Nav - new: Sepanê nû - scopes: Berfirehî - show: Nîşan bike - title: Sepanê te - new: - title: Sepanê nû - show: - actions: Çalakî - application_id: Kilîdê rajegir - callback_urls: URlyên vegeriyayî - scopes: Berfirehî - secret: Rajegirî veşartî - title: 'Sepan: %{name}' - authorizations: - buttons: - authorize: Destûr bide - deny: Guh nedê - error: - title: Xeletîyek çêbû - new: - prompt_html: "%{client_name} mafê dixwaze ku bigihîje ajimêrê te. Ew sepanek aliyê sêyemîn e. Ku tu pê bawer nakî, wê demê divê tu mafê gihiştinê nedî. " - review_permissions: Gihiştinan binirxînin - title: Destûr kirin pêwîst e - show: - title: Destûr hildana vê kodê jê bigire û ji sepanê re pêve bike. - authorized_applications: - buttons: - revoke: Betal bike - confirmations: - revoke: Ma tu bawerî? - index: - authorized_at: Maf hate dayîn di %{date} de - description_html: Ev sepan in ku dikarin bi riya karanîna API ve bigihîjin ajimêrê te. Ku sepanên tu li vir nas nakî hene, an sepanek çewt tevdigere, tu dikarî gihîştina wê têk bibî. - last_used_at: Herî dawî di %{date} de hate bikaranîn - never_used: Tu car nehatiye bikaranîn - scopes: Maf - superapp: Hundirin - title: Sepanên destûrmendê te - errors: - messages: - access_denied: Xwedîyê çavkanîyê an jî destûrmendê rajeker daxwazî red kirin. - credential_flow_not_configured: Herikîna pêborînê bawername ya xwediyê çavkaniyê, ji ber Doorkeeper.configure.resource_owner_from_credentials nehat pevsazkirin. - invalid_client: Erêkirina nasnameyê rajegir ji ber rajegirê nediyar têk çû, erêkirina nasnameyê rajegir di nav da tinne an jî rêbaza erêkirinê ne piştgirêdayî ye. - invalid_grant: Mafê ku hatiye peyda kirin ne derbasdar e, qediya ye, pûç e, girêdana ya ku di daxwaza mafê de tê bikaranîn li hev nagire an jî rajegirekî din hildaye. - invalid_redirect_uri: Girêdan beralîkirî ya di nav da ne derbasdar e. - invalid_request: - missing_param: 'Pîvana hewce dike kêm e: %{value}.' - request_not_authorized: Hewceye daxwazî rêdayî be. Ji bo daxwazî rêdayî be pîvana hewce dike kêm an jî betal e. - unknown: Di nav daxwazîyê de pîvanekî hewceyî kêm e. Nirxekî pîvanê bê piştgirêdayî tê de heye an jî wek din xelet e. - invalid_resource_owner: Bawernameyên xwediyê çavkanîyê yên hatine pêşkeş kirin ne derbasdar e an jî xwedîyê çavkanîyê nayê dîtin - invalid_scope: Berfirehiya tê xwestin nederbasdare, nenas e, an jî xelet e. - invalid_token: - expired: Dema nîşana gihîştinê qediya - revoked: Nîşana gihîştin hatibû pûçkirin - unknown: Nîşana gihîştinê derbasdar e - resource_owner_authenticator_not_configured: Xwedîyê çavkanîyê, ji ber ku nehatîye sazkirin bi ser neket di Doorkeeper.configure.resource_owner_authenticator de. - server_error: Rajekarê rastandinê bi şertek nediyar re rûbirû ma ku nehişt ku ew daxwazê ​​bicîh bîne. - temporarily_unavailable: Mafê rajekarê hetta demekî ji ber zêde barkirinê an jî lê nihêrîna rajekarê daxwaz bi cîh nay. - unauthorized_client: Rajegir nahêlê ku vê daxwazê bi vê awayê bicîh bîne. - unsupported_grant_type: Cureyê maf dayînê ji alîyê rajekara mafê va ne piştgirêdayî ye. - unsupported_response_type: Mafê rajekarê cûreya vê bersîvê piştgirêdayî nîne. - flash: - applications: - create: - notice: Sepan hate çêkirin. - destroy: - notice: Sepan hate jêbirin. - update: - notice: Sepan hate rojanekirin. - authorized_applications: - destroy: - notice: Sepan hate dûrxisitn. - grouped_scopes: - access: - read: Gihîştina tenê xwendin - read/write: Gihîştina xwendin û nivîsandin - write: Gihîştina tenê nivîsandin - title: - accounts: Ajimêr - admin/accounts: Rêveberiya ajimêran - admin/all: Hemû fonksiyonên reveberî - admin/reports: Rêveberiya ragihandinan - all: Her tişt - blocks: Astengkirin - bookmarks: Şûnpel - conversations: Axaftin - crypto: Dawî bi dawî şifrekirî - favourites: Bijarte - filters: Parzûn - follow: Pêwendî - follows: Şopîner - lists: Rêzok - media: Pêvekên medya - mutes: Bêdengkirin - notifications: Agahdarî - push: Agahdariyên Push - reports: Ragihandin - search: Lêgerîn - statuses: Şandî - layouts: - admin: - nav: - applications: Sepan - oauth2_provider: Peydakarê OAuth2 - application: - title: Mafê dayînê OAuth pêwist e - scopes: - admin:read: hemû daneyên li ser rajekar bixwîne - admin:read:accounts: zanyariyên hestiyar yên hemû ajimêran li ser rajekar bixwîne - admin:read:reports: zanyariyên hestiyar yên hemû gilîyan û ajimêrên gilêkirî li ser rajekar bixwîne - admin:write: hemû daneyên li ser rajekar biguherîne - admin:write:accounts: di ajimêrê de çalakiyên li hev kirî pêk bîne - admin:write:reports: di ragihandinê de çalakiyên li hev kirî pêk bîne - crypto: dawî bi dawî şifrekirî bi kar bîne - follow: têkiliyên ajimêrê biguherîne - push: agahdariyên xwe bistîne - read: hemû daneyên ajimêra xwe bixwîne - read:accounts: zanyariyên ajimêran bibîne - read:blocks: ajimêran ku te astenkiriye bibîne - read:bookmarks: şûnpelên xwe bibîne - read:favourites: bijarteyên xwe bibîne - read:filters: parzûnûn xwe bibîne - read:follows: şopînerên xwe bibîne - read:lists: rêzoka xwe bibîne - read:mutes: ajimêrên bêdeng kirî bibîne - read:notifications: agahdariyên xwe bibîne - read:reports: ragihandinên xwe bibîne - read:search: li ser navê xwe lêgerîn bike - read:statuses: hemû şandiyan bibîne - write: hemû daneyên ajimêra xwe biguherîne - write:accounts: profîla xwe biguherîne - write:blocks: hemû ajimêr û navperan asteng bike - write:bookmarks: şandiyan di şûnpelê de tomar bike - write:conversations: bêdengkirin û jêbirina axaftinan - write:favourites: şandiyên bijarte - write:filters: parzûnan çê bike - write:follows: kesan bişopîne - write:lists: rêzokan çê bike - write:media: pelên medya bar bike - write:mutes: mirovan û axaftinan bêdeng bike - write:notifications: agahdariyên xwe pak bike - write:reports: mirovên din gilî bike - write:statuses: şandiyekê biweşîne diff --git a/config/locales/kmr.yml b/config/locales/kmr.yml deleted file mode 100644 index 69f0e9da0..000000000 --- a/config/locales/kmr.yml +++ /dev/null @@ -1,1718 +0,0 @@ ---- -kmr: - about: - about_hashtag_html: Ev şandiyeke gelemperî ye bi #%{hashtag} re nîşankirî ye. Tu dikarî pê re çalak bibî heke ajimêreke te heye li ser fediverse. - about_mastodon_html: 'Tora civakî ya pêşerojê: Ne reklam, ne çavdêriya pargîdanî, sêwirana exlaqî, û desentralîzasyon! Bi Mastodon re bibe xwediyê daneyên xwe!' - about_this: Derbar - active_count_after: çalak - active_footnote: Mehane bikarhênerên çalak (MBÇ) - administered_by: 'Tê bi rêvebirin ji aliyê:' - api: API - apps: Sepana mobîl - apps_platforms: Mastodon ji iOS, Android û platformên din bi kar bîne - browse_directory: Li riya profîlê bigere û li gorî berjewendiyan parzûn bike - browse_local_posts: Ji vî rajekarê weşaneke zindî ya şandiyên giştî bigere - browse_public_posts: Weşaneke zindî ya şandiyên giştî bigere li ser Mastodon - contact: Têkilî - contact_missing: Nehate sazkirin - contact_unavailable: N/A - continue_to_web: Bo malpera sepanê bidomîne - discover_users: Bikarhêneran keşf bike - documentation: Pelbend - federation_hint_html: Bi ajimêrê xwe %{instance} re tu dikarî kesên rajekar û li derveyî mastodonê bişopînî. - get_apps: Sepaneke mobîl bicerbîne - hosted_on: Mastodon li ser%{domain} tê hildanê - instance_actor_flash: 'Ev ajimêr aktorekî aşopî ye ji bo rajekar were temsîl kirin tê bikaranîn ne ajimêra kesî ye. Ji bo armanca federasyonê dixebite û divê ney asteng kirin heta ku te xwest hemû nimûneyan asteng bikî, di vir de ger tu blogek navper bikarbînî. - - ' - learn_more: Bêtir fêr bibe - logged_in_as_html: Tu niha wekî %{username} têketî ye. - logout_before_registering: Jixwe te berê têketin kiriye. - privacy_policy: Polîtikaya nihêniyê - rules: Rêbazên rajekar - rules_html: 'Heger tu bixwazî ajimêrekî li ser rajekarê mastodon vebikî, li jêrê de kurtasî ya qaîdeyên ku tu guh bidî heye:' - see_whats_happening: Binêre ka çi diqewime - server_stats: 'Statîstîkên rajekar:' - source_code: Çavkaniya Kodî - status_count_after: - one: şandî - other: şandî - status_count_before: Hatin weşan - tagline: Hevalên xwe bişopîne û yên nû bibîne - terms: Peyama mercan - unavailable_content: Rajekarên li hev kirî - unavailable_content_description: - domain: Rajekar - reason: Sedem - rejecting_media: 'Pelên medyayê yên ji van rajekaran nayên pêvajoyî kirin an tomarkirin, û tu dîmenek nayên xuyakirin, ku pêdivî ye ku bi desta pêlêkirina pelika rasteqîn hebe:' - rejecting_media_title: Medyayên parzûnkirî - silenced: 'Şandiyên ji van rajekaran dê di demnameyên û axaftinên gelemperî de bêne veşartin, û heya ku tu wan neşopînî dê ji çalakiyên bikarhênerên wan agahdariyek çênebe:' - silenced_title: Rajekarên sînor kirî - suspended: '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:' - suspended_title: Rajekarên rawestî - unavailable_content_html: 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. - user_count_after: - one: bikarhêner - other: bikarhêner - user_count_before: Serrûpel - what_is_mastodon: Mastodon çi ye? - accounts: - choices_html: 'Hilbijartina %{name}:' - endorsements_hint: Tu dikarî kesên ku di navrûyê wep de dişopînî bipejirînî û ew li vir were nîşan kirin. - featured_tags_hint: Tu dikarî hashtagên teybetî li vir tê nîşan kirin di pê de derxî. - follow: Bişopîne - followers: - one: Şopîner - other: Şopîner - following: Dişopîne - instance_actor_flash: Ev ajimêr listikvaneke rastkî ye ku ji bo wek nûnerê rajekar bixwe tê bikaranîn û ne bikarhênerek kesane. Ew ji bo mebestên yekbûyî tê bikaranîn û divê neyê rawestandin. - joined: Di %{date} de tevlî bû - last_active: çalakiya dawî - link_verified_on: Xwedaniya li vê girêdanê di %{date} de hatiye kontrolkirin - media: Medya - moved_html: "%{name} bar kire %{new_profile_link}:" - network_hidden: Ev zanyarî berdest nîne - nothing_here: Li vir tiştek tune ye! - people_followed_by: Kesên ku%{name} wan dişopîne - people_who_follow: Kesên%{name} dişopîne - pin_errors: - following: Kesê ku tu dixwazî bipejirînî jixwe tu vê dişopînî - posts: - one: Şandî - other: Şandî - posts_tab_heading: Şandî - posts_with_replies: Şandî û bersiv - roles: - admin: Rêvebir - bot: Bot - group: Kom - moderator: Moderator - unavailable: Profîl nay bikaranîn - unfollow: Neşopîne - admin: - account_actions: - action: Çalakî yê bike - title: Li ser %{acct} çalakiyên li hev hatî pêk bîne - account_moderation_notes: - create: Nîşeyekê bihêle - created_msg: Nîşeyê moderator bi awayekî serkeftî hate afirandin! - destroyed_msg: Nîşeyê moderator bi awayekî serkeftî hate tinne kirin! - accounts: - add_email_domain_block: Navparê e-nameyê asteng bike - approve: Bipejirîne - approved_msg: Tomarkirina %{username} bi awayekî serkeftî hate pejirandin - are_you_sure: Ma tu bawerî? - avatar: Wêne - by_domain: Navper - change_email: - changed_msg: E-nameya ajimêr bi awayekî serkeftî hate guhertin! - current_email: E-nameya heyî - label: E-nameyê biguherîne - new_email: E-nameya nû - submit: E-nameyê biguherîne - title: E-nameyê biguherîne bo %{username} - confirm: Bipejirîne - confirmed: Hate pejirandin - confirming: Tê pejirandin - custom: Kesanekirin - delete: Daneyan jê bibe - deleted: Hate jêbirin - demote: Ast daxistin - destroyed_msg: Daneyên %{username} niha ket rêzê da yê demek nêz da were jêbirin - disable: Qerisî ye - disable_sign_in_token_auth: E-name ya rastandina token neçalak bike - disable_two_factor_authentication: 2FA ne çalak bike - disabled: Qerisî ye - display_name: Navê xuyangê - domain: Navper - edit: Serrast bike - email: E-name - email_status: Rewşa E-nameyê - enable: Çalak bike - enable_sign_in_token_auth: E-name ya rastandina token çalak bike - enabled: Çalakkirî - enabled_msg: Ajimêra %{username} bi serkeftî hat çalak kirin - followers: Şopîner - follows: Dişopînê - header: Jormalper - inbox_url: Peyamên hatî URl - invite_request_text: Sedemên tevlêbûnê - invited_by: Bi vexwendinê - ip: IP - joined: Tevlî bû - location: - all: Hemû - local: Herêmî - remote: Ji dûr ve - title: Cih - login_status: Rewşa têketinê - media_attachments: Pêvekên medya - memorialize: Vegerîne bîranînê - memorialized: Bû bîranîn - memorialized_msg: "%{username} bi serkeftî veguherî ajimêra bîranînê" - moderation: - active: Çalak - all: Hemû - pending: Tê nirxandin - suspended: Sekinandî - title: Çavdêrî - moderation_notes: Nîşeyên Rêvebirinê - most_recent_activity: Çalakîyên dawî - most_recent_ip: IP' a dawî - no_account_selected: Tu ajimêr nehat hilbijartin ji ber vê tu ajimêr nehat guhertin - no_limits_imposed: Sînor nay danîn - not_subscribed: Beşdar nebû - pending: Li benda nirxandinê ye - perform_full_suspension: Sekinî - previous_strikes: Binpêkirinên berê - previous_strikes_description_html: - one: Ev ajimêr yek binpêkirin kiriye. - other: Ev ajimêr %{count} binpêkirin kiriye. - zero: Ev ajimêr di rewşeke baş de ye. - promote: Derbasê asteke bilind be - protocol: Protokol - public: Gelemperî - push_subscription_expires: Beşdarbûna PuSH diqede - redownload: Profîl nûve bike - redownloaded_msg: Bi serkeftî profîla %{username} ji kokê va hat nûve kirin - reject: Nepejirîne - rejected_msg: Tomarkirina %{username} bi awayekî serkeftî nehate pejirandin - remove_avatar: Avatarê rake - remove_header: Sernavê rake - removed_avatar_msg: Wêneyê %{username} bi awayekî serkeftî hate rakirin - removed_header_msg: Wêneyê dîwar ê %{username} bi awayekî serkeftî hate rakirin - resend_confirmation: - already_confirmed: Ev bikarhêner jixwe hatiye pejirandin - send: E-nameya pejirandinê dîsa bişîne - success: E-nameya pejirandinê bi awayekî serkeftî hate şandin! - reset: Ji nû ve saz bike - reset_password: Pêborînê ji nû ve saz bike - resubscribe: Dîsa beşdar bibe - role: Maf - roles: - admin: Rêvebir - moderator: Çavdêr - staff: Xebatkar - user: Bikarhêner - search: Bigere - search_same_email_domain: Bikarhênerên din ên bi heman navpera e-nameyê - search_same_ip: Bikarhênerên din ên xwedî heman IP - security_measures: - only_password: Têne pêborîn - password_and_2fa: Pêborîn û 2FA - password_and_sign_in_token: Pêborîn û navnîşana e-nameyê - sensitive: Hêz-hestiyar - sensitized: Wek hestiyar hatiye nîşankirin - shared_inbox_url: URLya wergirtiyên parvekirî - show: - created_reports: Ragihandinên ku çêkiriye - targeted_reports: Ji aliyê kesên din ve hatiye ragihandin - silence: Sînor - silenced: Bêdeng kirî - statuses: Şandî - strikes: Binpêkirinên berê - subscribe: Bibe kiryar - suspend: Hatiye rawestandin - suspended: Hatiye rawestandin - suspension_irreversible: Daneyên vê ajimêrê bêveger hatine jêbirin. Tu dikarî ajimêra xwe ji rawestandinê vegerinî da ku ew bi kar bînî lê ew ê tu daneya ku berê hebû venegere. - suspension_reversible_hint_html: Ajimêr hat qerisandin, û daneyên di %{date} de hemû were rakirin. Hetta vê demê, ajimêr bê bandorên nebaş dikare dîsa vegere. Heke tu dixwazî hemû daneyan ajimêrê niha rakî, tu dikarî li jêrê bikî. - title: Ajimêr - unblock_email: Astengiyê li ser navnîşana e-nameyê rake - unblocked_email_msg: Bi serkeftî astengiya li ser navnîşana e-nameyê %{username} hate rakirin - unconfirmed_email: E-nameya nepejirandî - undo_sensitized: Hestiyariyê vegerîne - undo_silenced: Sînorê vegerîne - undo_suspension: Dûrxistinê paşve vegerîne - unsilenced_msg: Ajimêra %{username} bi awayekî serkeftî bêsînor çêbû - unsubscribe: Dev ji beşdarbûnê berde - unsuspended_msg: Bi awayekî serkeftî beşdarbûna bi ajimêra %{username} hate berdan - username: Navê bikarhêneriyê - view_domain: Kurte ji bo navperê bide nîşan - warn: Hişyarî - web: Tevn - whitelisted: Ji bona yekbûyînê maf tê dayîn - action_logs: - action_types: - approve_appeal: Îtîrazê bipejirîne - approve_user: Bikarhêner bipejirîne - assigned_to_self_report: Ragihandinê diyar bike - change_email_user: E-nameya bikarhêner biguherîne - confirm_user: Bikarhêner bipejirîne - create_account_warning: Hişyariyekê çê bike - create_announcement: Daxûyaniyekê çê bike - create_custom_emoji: Emojiyên kesanekirî çê bike - create_domain_allow: Navpera ku destûr standiye peyda bike - create_domain_block: Navpera ku asteng bûye ava bike - create_email_domain_block: Navpera e-name yê de asteng kirinê peyda bike - create_ip_block: Rêziknameya IPyê saz bike - create_unavailable_domain: Navpera ku nayê bikaranîn pêk bîne - demote_user: Bikarhênerê kaşê jêr bike - destroy_announcement: Daxûyanîyê jê bibe - destroy_custom_emoji: Emojîya kesanekirî jê bibe - destroy_domain_allow: Navperên mafdayî jê bibe - destroy_domain_block: Navperên astengkirî jê bibe - destroy_email_domain_block: Navperên e-nameyê yên astengkirî jê bibe - destroy_instance: Pakirina navperê - destroy_ip_block: Tomara IPyê jêbibe - destroy_status: Şandiyê jê bibe - destroy_unavailable_domain: Navperên tuneyî jê bibe - disable_2fa_user: 2FA neçalak bike - disable_custom_emoji: Emojîya kesanekirî neçalak bike - disable_sign_in_token_auth_user: Ji bo bikarhênerê piştrastkirina navnîşana e-name yê ya token neçalak bike - disable_user: Bikarhêner neçalak bike - enable_custom_emoji: Emojîya kesanekirî çalak bike - enable_sign_in_token_auth_user: Ji bo bikarhênerê piştrastkirina navnîşana e-name yê ya token çalak bike - enable_user: Bikarhêner çalak bike - memorialize_account: Ajimêrê bike bîranînek - promote_user: Bikarhêner pêş bixe - reject_appeal: Îtîrazê nepejirîne - reject_user: Bikarhêner nepejirîne - remove_avatar_user: Avatarê rake - reopen_report: Ragihandina ji nû ve veke - reset_password_user: Pêborînê ji nû ve saz bike - resolve_report: Ragihandinê çareser bike - sensitive_account: Ajimêra hêz-hestiyar - silence_account: Ajimêrê bi sînor bike - suspend_account: Ajimêr rawestîne - unassigned_report: Ragihandinê diyar neke - unblock_email_account: Astengiyê li ser navnîşana e-nameyê rake - unsensitive_account: Medyayên di ajimêrê te de wek hestyarî nepejirîne - unsilence_account: Ajimêra sînorkirî vegerîne - unsuspend_account: Ajimêrê xwe ji rewestandinê rake - update_announcement: Daxûyaniyê rojane bike - update_custom_emoji: Emojîya kesanekirî rojane bike - update_domain_block: Navperên astengkirî rojane bike - update_status: Şandiyê rojane bike - actions: - approve_appeal_html: "%{name} îtiraza biryara çavdêriyê ji %{target} pejirand" - approve_user_html: "%{name} tomarkirina ji %{target} pejirand" - assigned_to_self_report_html: "%{name} ji xwe re ragihandinek %{target} hilda" - change_email_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} guherand" - confirm_user_html: "%{name} navnîşana e-nameya bikarhêner %{target} piştrast kir" - create_account_warning_html: "%{name} ji bo %{target} hişyariyek şand" - create_announcement_html: "%{name} agahdarkirineke nû çêkir %{target}" - create_custom_emoji_html: "%{name} emojîyeke nû ya %{target} bar kir" - create_domain_allow_html: "%{name} bi navperê %{target} re maf da federeyê" - create_domain_block_html: "%{name} navpera %{target} asteng kir" - create_email_domain_block_html: "%{name} e-nameya navperê %{target} asteng kir" - create_ip_block_html: "%{name} ji bo IPya %{target} rêzikname saz kir" - create_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê rawestand" - demote_user_html: "%{name} bikarhênerê %{target} kaşê jêr kir" - destroy_announcement_html: "%{name} daxûyaniyeke %{target} jê bir" - destroy_custom_emoji_html: "%{name} emojiya %{target} tune kir" - destroy_domain_allow_html: "%{name} bi navperê %{target} re maf neda federeyê" - destroy_domain_block_html: "%{name} navpera %{target} asteng kir" - destroy_email_domain_block_html: "%{name} astengiya li ser navpera e-nameyê %{target} rakir" - destroy_instance_html: "%{name} navpera %{target} asteng kir" - destroy_ip_block_html: "%{name}, ji bo IPya %{target} rêziknameyê jêbir" - destroy_status_html: "%{name} ji alîyê %{target} ve şandiyê rakir" - destroy_unavailable_domain_html: "%{name} bi navperê %{target} re gihandinê berdewam kir" - disable_2fa_user_html: "%{name} ji bo bikarhênerê %{target} du faktorî neçalak kir" - disable_custom_emoji_html: "%{name} emojiya %{target} neçalak kir" - disable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameya ne çalak kir" - disable_user_html: "%{name} ji bo bikarhêner %{target} têketin neçalak kir" - enable_custom_emoji_html: "%{name} emojiya %{target} çalak kir" - enable_sign_in_token_auth_user_html: "%{name} ji bo %{target} nîşana mafdayîna e-nameyê çalak kir" - enable_user_html: "%{name} ji bo bikarhêner %{target} têketin çalak kir" - memorialize_account_html: "%{name} ajimêra %{target} veguherand rûpeleke bîranînê" - promote_user_html: "%{name} bikarhêner %{target} bilind kir" - reject_appeal_html: "%{name} îtiraza biryara çavdêriyê ji %{target} nepejirand" - reject_user_html: "%{name} tomarkirina ji %{target} nepejirand" - remove_avatar_user_html: "%{name} avatara bikarhêner %{target} rakir" - reopen_report_html: "%{name} ragihandina %{target} ji nû ve vekir" - reset_password_user_html: "%{name} pêborîna bikarhênerê %{target} ji nû ve saz kir" - resolve_report_html: "%{name} ragihandina %{target} çareser kir" - sensitive_account_html: "%{name} medyayê %{target} wekî hestiyarî nîşan kir" - silence_account_html: "%{name} ajimêra %{target} bi sînor kir" - suspend_account_html: "%{name} ajimêra %{target} hilda rawestandinê" - unassigned_report_html: "%{name} ragihandina %{target} rakir" - unblock_email_account_html: "%{name} navnîşana e-nameyê %{target} asteng kir" - unsensitive_account_html: "%{name} medyayê %{target} nîşandana wek hestiyarî rakir" - unsilence_account_html: "%{name} bêdengiya ajimêrê %{target} rakir" - unsuspend_account_html: "%{name} rawestandina ajimêrê %{target} rakir" - update_announcement_html: "%{name} daxûyaniya %{target} rojane kir" - update_custom_emoji_html: "%{name} emojiya %{target} rojane kir" - update_domain_block_html: "%{name} ji bo navpera %{target} astengkirin rojane kir" - update_status_html: "%{name} şandiya bikarhêner %{target} rojane kir" - deleted_status: "(şandiyeke jêbirî)" - empty: Tomarkirin nehate dîtin. - filter_by_action: Li gorî çalakiyê biparzinîne - filter_by_user: Li gorî bikarhênerê biparzinîne - title: Tomarê çavdêriyê - announcements: - destroyed_msg: Daxûyanî bi awayekî serkeftî hate jêbirin! - edit: - title: Daxûyaniyê serrast bike - empty: Daxûyanî nehat dîtin. - live: Zindî - new: - create: Daxûyaniyekê çê bike - title: Daxûyaniya nû - publish: Biweşîne - published_msg: Daxûyanî bi awayekî serkeftî hate weşan! - scheduled_for: Bo %{time} hatiye demsazkirin - scheduled_msg: Daxûyanî hate demsazkirin bo weşanê! - title: Daxuyanî - unpublish: Neweşîne - unpublished_msg: Daxûyanî bi awayekî serkeftî weşan pûç kir! - updated_msg: Daxûyanî bi awayekî serkeftî hate rojanekirin! - custom_emojis: - assign_category: Diyarkirina beşê - by_domain: Navper - copied_msg: Jêgirtiyê emojî ya herêmî bi serkeftî hate afirandin - copy: Jê bigire - copy_failed_msg: Jêgirtiyêke emojî ya herêmî nehate afirandin - create_new_category: Beşêke nû biafirîne - created_msg: Hestok bi serkeftî hate çêkirin! - delete: Jê bibe - destroyed_msg: Hestok bi serkeftî hate rûxandin! - disable: Neçalak bike - disabled: Neçalakkirî - disabled_msg: Ev hestok bi serkeftî hate neçalak kirin - emoji: Emoji - enable: Çalak bike - enabled: Çalakkirî - enabled_msg: Ev hestok bi serkeftî hate çalak kirin - image_hint: Mezinahiya PNG an jî GIF digîheje heya %{size} - list: Rêzok - listed: Rêzokkirî - new: - title: Hestokên kesane yên nû lê zêde bike - not_permitted: Mafê te tune ku tu vê çalakiyê bikî - overwrite: Bi ser de binivsîne - shortcode: Kurtekod - shortcode_hint: Herê kêm 2 tîp, tenê tîpên alfahejmarî û yên bin xêzkirî - title: Hestokên kesane - uncategorized: Bêbeş - unlist: Dervî rêzokê - unlisted: Nerêzokkirî - update_failed_msg: Ev hestok nehate rojanekirin - updated_msg: Emojî bi awayekî serkeftî hate rojanekirin! - upload: Bar bike - dashboard: - active_users: bikarhênerên çalak - interactions: têgerîn - media_storage: Bîrdanaka medyayê - new_users: bikarhênerên nû - opened_reports: ragihandin hatin vekirin - pending_appeals_html: - one: "%{count} îtîraz li benda nirxandinê ye" - other: "%{count} îtîraz li benda nirxandinê ne" - pending_reports_html: - one: "%{count} ragihandin benda nirxandinê ye" - other: "%{count} ragihandin benda nirxandinê ne" - pending_tags_html: - one: "%{count} hashtag benda nirxandinê ye" - other: "%{count} hashtag benda nirxandinê ne" - pending_users_html: - one: "%{count} bikarhêner benda nirxandinê ye" - other: "%{count} bikarhêner benda nirxandinê ne" - resolved_reports: ragihandinên çareserkirî - software: Nermalav - sources: Çavkaniyên tomarkirî - space: Bikaranîna cîh - title: Destgeha venasînê - top_languages: Zimanên herî çalak - top_servers: Rajekarên herî çalak - website: Malpera tevnê - disputes: - appeals: - empty: Îtîraz nehatin dîtin. - title: Îtîraz - domain_allows: - add_new: Maf bide navpera federasyonê - created_msg: Ji bo federasyonê maf dayîna navperê bi serkeftî hate dayîn - destroyed_msg: Ji bo federasyonê maf dayîna navperê nehat dayîn - undo: Maf nede navpera federasyonê - domain_blocks: - add_new: Astengkirina navpera nû - created_msg: Navpera asteng kirinê nû hat şixulandin - destroyed_msg: Navpera asteng kirinê hat rakirin - domain: Navper - edit: Astengkirina navperê serrast bike - existing_domain_block_html: Te bi bandorê mezin sînor danî ser %{name}, Divê tu asteng kirinê rabikî, pêşî ya . - new: - create: Astengkirinekê çê bike - hint: Navpera asteng kirî pêşî li çê kirina têketinên ajimêra ên di danegehê da negire, lê dê bi paş ve bizivirin û bi xweberî va ji ajimêran bi teybetî kontrola rêbazan bikin. - severity: - desc_html: |- - Bêdeng kirî ajimêrên wusa çêkirine xêncî şopînerên vê kes nikare şandîyên vê bibîne. - rawestî ajimêrên wusa çêkirine hemî naveroka, medya û daneyên profîlê jê bibe. Heke tu bixwazî pelên medyayê red bikîyek ji wanbi kar bîne. - noop: Ne yek - silence: Bêdengî - suspend: Dur bike - title: Astengkirina navpera nû - obfuscate: Navê navperê biveşêre - obfuscate_hint: Heke rêzoka sînorên navperê were çalakkirin navê navperê di rêzokê de bi qismî veşêre - private_comment: Şîroveya taybet - private_comment_hint: Derbarê sînorkirina vê navperê da ji bo bikaranîna hundirîn a moderatoran şîrove bikin. - public_comment: Şîroveya gelemperî - public_comment_hint: Heke reklamkirina rêzoka sînorên navperê çalak be, derbarê sînorkirina vê navperê da ji bo raya giştî şîrove bikin. - reject_media: Pelên medyayê red bike - reject_media_hint: Pelên medyayê herêmî hatine tomarkirin radike û di pêşerojê de daxistinê red dike. Ji bo rawstandinê ne girîng e - reject_reports: Ragihandinan red bike - reject_reports_hint: Ragihandinên ku ji vê navperê tê paşguh bike. Ji bo dûrbûnê re ne guncav e - undo: Astengkirina navperê vegerîne - view: Astengkirina navperê nîşan bike - email_domain_blocks: - add_new: Nû tevlî bike - attempts_over_week: - one: "%{count} hewldan di hefteya borî de" - other: "%{count} hewldanên tomarkirinê di hefteya borî de" - created_msg: Bi serkeftî navpera e-name hat asteng kirin - delete: Jê bibe - dns: - types: - mx: Tomarkerê MX - domain: Navper - new: - create: Navper tevlî bike - resolve: Navparê çareser bike - title: Navparê e-nameyê nû asteng bike - no_email_domain_block_selected: Tu astengên navparê e-nameyê nehatin guhertin ji ber ku tu yek nehatine hilbijartin - resolved_dns_records_hint_html: Navê navparê ji MX ên jêrîn re çareser dike, ên ku di dawiyê de berpirsiyarin ji pejirandina e-nameyê. Astengkirina navparek MX wê tomarkirina ji her navnîşana e-nameyê ya ku heman navpara MX bi kar tîne asteng bike, tevlî ku navê navparê xuya cûda be. Hişyar be ku peydekarên sereke yên e-nameyê asteng nekî. - resolved_through_html: Bi riya %{domain} ve hate çareserkirin - title: Navparên e-nameyê astengkirî - follow_recommendations: - description_html: "Şopandina pêşniyaran ji bo bikarhênerên nû re dibe alîkar ku zû naveroka balkêş bibînin. Gava ku bikarhênerek têra xwe bi kesên din re têkildar nebê da ku pêşnîyarên şopandina yên kesane bo xwe çêbike, li şûna van ajimêran têne pêşniyarkirin. Ew her roj ji tevliheviya ajimêrên bi tevlêbûnên herî dawîn ên herî bilind û jimara şopdarên herêmî yên herî pir ji bo zimaneke diyarkirî ji nû ve têne pêşniyarkirin." - language: Bo zimanê - status: Rewş - suppress: Bi bandorek mezin pêşniyara şopandinê bike - suppressed: Bandoreke mezin dibe - title: Pêşniyarên şopandinê - unsuppress: Pêşniyara şopandinê paşve vegerîne - instances: - availability: - description_html: - one: Ku radestkirina navparê %{count} roj bêyî serkeftin birevebiçe, heya ku radestkirinek ji navparê neyê wergirtin, wê hewildanên radestkirinê neyên kirin. - other: Ku radestkirina navparê %{count} rojên cuda bêyî serkeftin birevebiçe, heya ku radestkirinek ji navparê neyê wergirtin, wê hewildanên radestkirinê neyên kirin. - failure_threshold_reached: Rêjeya têkçûnê gihîşte %{date}. - failures_recorded: - one: Hewldana têkçûyî di %{count} roj de. - other: Hewldanên têkçûyî di %{count} rojên cuda de. - no_failures_recorded: Di tomarê de têkçûn tune. - title: Berdestbûnî - back_to_all: Hemû - back_to_limited: Sînorkirî - back_to_warning: Hişyarî - by_domain: Navper - confirm_purge: Ma tu dixwazî ku bi awayekî domdar daneyan ji vê navparê jê bibî? - content_policies: - comment: Nîşeya navxweyî - description_html: Tu dikarî polîtîkayên naverokê yên ku wê li hemû ajimêrên ji vê navparê û her kiîjan ji jêrnavparên werin sepandin diyar bikî. - policies: - reject_media: Medya nepejirîne - reject_reports: Ragihandinan nepejirîne - silence: Bi sînor bike - suspend: Rawestîne - policy: Polîtîka - reason: Sedemên gelemperî - title: Polîtîkayên naverokê - dashboard: - instance_accounts_dimension: Ajimêrên ku herî pir têne şopandin - instance_accounts_measure: ajimêrên tomarkirî - instance_followers_measure: şopînerên me li wir - instance_follows_measure: şopînerên wan li vir - instance_languages_dimension: Zimanên pir tên bikaranîn - instance_media_attachments_measure: pêvekên medyayê tomarkirî - instance_reports_measure: giliyên derbarê wan de - instance_statuses_measure: şandiyên tomarkirî - delivery: - all: Hemû - clear: Çewtiyên gihandinê paqij bike - restart: Gihandinê nû va bike - stop: Gehandinê rawestîne - unavailable: Nederbasdar - delivery_available: Gihandin berdest e - delivery_error_days: Rojên çewtiyên gehandinê - delivery_error_hint: Ger gehandin %{count} rojan ne pêkan be ewê wek bixweber wê nayê gehandin were nîşandan. - destroyed_msg: Daneyên %{domain} niha ji bo jêbirina nêzîk di rêzê de ne. - empty: Tu navper nehatine dîtin. - known_accounts: - one: "%{count} ajimêra naskirî" - other: "%{count} ajimêrên naskirî" - zero: Ajimêra naskirî tune ye - moderation: - all: Hemû - limited: Sînorkirî - title: Çavdêrî - private_comment: Şîroveya taybet - public_comment: Şîroveya ji hemû kesî re vekirî - purge: Pak bike - purge_description_html: Ku tu bawer dikî ev navpar bi domdarî negirêdayî ye, tu dikarî hemû tomarên ajimêr û daneyên xwe yîn têkildarî wê navparê jê bibî. Ev dibe ku hinek dem bigire. - title: Giştî - total_blocked_by_us: Ji aliyê me ve hatiye astengkirin - total_followed_by_them: Ji aliyê wan ve hatiye şopandin - total_followed_by_us: Ji aliyê ve me hate şopandin - total_reported: Giliyên derheqê wan de - total_storage: Pêvekên medyayê - totals_time_period_hint_html: Tevahiyên ku li jêr têne xuyakirin daneyên hemû deman dihewîne. - invites: - deactivate_all: Hemûyan neçalak bike - filter: - all: Hemû - available: Heye - expired: Dema wê qediya - title: Parzûn - title: Vexwendin - ip_blocks: - add_new: Rêbaz çê bike - created_msg: Rêzika nû a IPyê bi awayekî serkeftî hat tevlêkirin - delete: Jê bibe - expires_in: - '1209600': 2 hefte - '15778476': 6 meh - '2629746': 1 meh - '31556952': 1 sal - '86400': 1 roj - '94670856': 3 sal - new: - title: Rêzika nû a IPyê çêbike - no_ip_block_selected: Ji ber ku tu ajimêr nehat hilbijartin tu rêzika IPyê nehate guhertin - title: Rêbazên IP - relationships: - title: Têkiliyên %{acct} - relays: - add_new: Guhêrkerê nû tevlê bike - delete: Jê bibe - description_html: "Guhêrkerê giştî rajekareke navberkar e ku hejmareke mezin ji şandiyan di navbera rajekaran ku jê re dibin endam û weşanê dikin diguherîne. Ew dikare ji rajekarên piçûk û navîn re bibe alîkar ku naveroka ji fendiverse ê bibîne, ku bi rengeke din pêdivî dike ku bikarhênerên herêmî bi desta li dû kesên din ên li rajekarên ji dûr be bişopînin." - disable: Neçalak bike - disabled: Neçalakkirî - enable: Çalak bike - enable_hint: Gava were çalakkirin, rajekara te dê ji hemî şandiyên giştî yên vê guhêrkerê re bibe endam, û dê dest bi şandina şandiyên giştî yên vê rajekarê bike. - enabled: Çalakkirî - inbox_url: URLa guhêrker - pending: Li benda pêjirandina guhêrker e - save_and_enable: Tomar û çalak bike - setup: Girêdanekê guhêrker saz bike - signatures_not_enabled: Dema ku moda ewle ya jî moda rêzoka spî çalak be guhêrker wê birêkûpêk nexebite - status: Rewş - title: Guhêrker - report_notes: - created_msg: Nîşeyê ragihandinê bi awayekî serkeftî pêk hat! - destroyed_msg: Nîşeyê ragihandinê bi awayekî serkeftî hate jêbirin! - today_at: Îro di %{time} de - reports: - account: - notes: - one: "%{count} nîşe" - other: "%{count} nîşe" - action_log: Tomarê çavdêriyê - action_taken_by: Çalakî hate kirin ji aliyê - actions: - delete_description_html: Şandiyên hatine ragihandin wê werin jêbirin û were tomarkirin da ku ji te re bibe alîkar ku tu ji hêla heman ajimêrê ve binpêkirinên pêşerojê bêtir bikî. - mark_as_sensitive_description_html: Şandiyên hatine ragihandin wê werin nîşandan wekî hestyar û were tomarkirin da ku ji te re bibe alîkar ku tu ji hêla heman ajimêrê ve binpêkirinên pêşerojê bêtir bikî. - other_description_html: Bêtir vebijêrkên ji bo kontrolkirina tevgera ajimêrê bibîne û pêwendiyê li ser ajimêra ragihandî kesane bike. - resolve_description_html: Li hemberî ajimêra hatiye ragihandin wê tiştek pêk neyê, binpêkirin nayên tomarkirin û ragihandin wê were girtin. - silence_description_html: Wê profîl tenê ji kesên ku berê te dişopînin an ji bi destan lê serî lê didin re xuya bibe, gihandina wê bi tundî sînordar dike. Her gav dikare were vegerandin. - suspend_description_html: Heya ku di dawiyê de neyê jêbirin, wê profîl û hemû naverokên wê ne gihiştbar bin. Têkiliya bi ajimêrê re wê ne guncav be. Di nav 30 rojan de veger ji jêbirinê pêkan e. - actions_description_html: Ji bo çareserkirina vê ragihandinê biryar bide ka tê kîjan gav bavêjî. Ku tu li dijî ajimêrê ragihandî çalakiyeke cezakirinê bikî, ji bilî dema ku kategoriya Spam were hilbijartin, wê agahdariyek e-nameyê ji wan re were şandin. - add_to_report: Bo ragihandinê bêtir tevlî bike - are_you_sure: Gelo tu bawerî? - assign_to_self: Bo min diyar bike - assigned: Çavdêrê diyarkirî - by_target_domain: Navperê ya ajimêrê ragihandî - category: Beş - category_description_html: Sedema ku ev ajimêr û/an jî naverok hate ragihandin wê di pêwendiya bi ajimêrê ragihandinê de werê diyarkirin - comment: - none: Ne yek - comment_description_html: 'Bo bêtir zanyarî bidî, %{name} nivîsand:' - created_at: Hate ragihandin - delete_and_resolve: Şandiyan jê bibe - forwarded: Beralîkirî - forwarded_to: Beralîkirî bo %{domain} - mark_as_resolved: Wekî çareserkirî nîşan bide - mark_as_sensitive: Wekî hestiyar nîşan bide - mark_as_unresolved: Wekî neçareserkirî nîşan bide - no_one_assigned: Ne yek - notes: - create: Nîşe tevlî bike - create_and_resolve: Bi nîşe re çareser bike - create_and_unresolve: Bi nîşe re dîsa veke - delete: Jê bibe - placeholder: Bide nasîn ka çi çalakî hatine kirin, an jî heman rojanekirinên din ên têkildar... - title: Nîşe - notes_description_html: Nîşeyan ji çavdêrên din û ji xwe re di pêşerojê de bibîne û bihêle - quick_actions_description_html: 'Ji bo dîtina naveroka ragihandî çalakiyeke bilez bavêje an jî li jêr bigere:' - remote_user_placeholder: bikarhênerê ji dûr ve ji %{instance} - reopen: Ragihandina ji nû ve veke - report: "@%{id} Ragihîne" - reported_account: Ajimêra ragihandî - reported_by: Ragihandî ji aliyê - resolved: Çareserkirî - resolved_msg: Ragihandin bi awayekî serkeftî hate çareserkirin! - skip_to_actions: Derbasî çalakiyan bibe - status: Rewş - statuses: Naveroka ragihandî - statuses_description_html: Naveroka sûcdar wê di danûstendina bi xwediyê ajimêra ragihandî re wê werê diyarkirin - target_origin: Jêdera ajimêrê ragihandî - title: Ragihandinên - unassign: Diyar neke - unresolved: Neçareserkirî - updated_at: Rojanekirî - view_profile: Profîlê nîşan bide - rules: - add_new: Rêbazekê tevlî bike - delete: Jê bibe - description_html: Dema ku piranîya dibêjin ku wan merçên karanînê xwendine û dipejirînin jî, bi gelemperî mirov heta ku pirsgirêkek dernekeve holê naxwîne. Bi peydakirina wan di navnîşek xala guleya rast de hêsantir bike ku tu rêbazên rajekera xwe li ser çavekî bibîne. Hewl bide ku rêbazênn yekkesî kurt û hêsan bihêlî, lê hewl bide ku wan tênexî gelek hêmanên cuda jî. - edit: Rêbazê serrast bike - empty: Tu rêbazên rajekar hê nehatine dîyarkirin. - title: Rêbazên rajekar - settings: - activity_api_enabled: - desc_html: Hejmara şandiyên weşandî yên herêmî, bikarhênerên çalak, û tomarkirin ên nû heftane - title: Tevahî amarên ên di derbarê çalakiya bikarhêneran de biweşîne - bootstrap_timeline_accounts: - desc_html: Navên bikarhênerên pir bi xalîçê veqetîne. Dê van ajimêran di pêşnîyarên jêrîn de werin xuyakirin - title: Van ajimêran ji bikarhênerên nû re pêşniyar bike - contact_information: - email: E-nameya karsazî - username: Bi bikarhêner re têkeve têkiliyê - custom_css: - desc_html: Bi CSS a ku li her rûpelê hatiye barkirin, awayê dîmenê biguherîne - title: CSS a kesanekirî - default_noindex: - desc_html: Hemû bikarhênerên ku ev sazkarî bi xwe neguhertiye bandor dike - title: Pêlrêçkirna bikarhêneran ji motorê lêgerînê dûr bixe - domain_blocks: - all: Bo herkesî - disabled: Bo tu kesî - title: Astengkirinên navperê nîşan bide - users: Ji bo bikarhênerên herêmî yên xwe tomar kirine - domain_blocks_rationale: - title: Sedemê nîşan bike - hero: - desc_html: Li ser rûpela pêşîn tê xuyakirin. Bi kêmanî 600x100px tê pêşniyarkirin. Dema ku neyê sazkirin, vedigere ser dîmena wêneya piçûk a rajekar - title: Wêneya lehengê - mascot: - desc_html: Li ser rûpela pêşîn tê xuyakirin. Bi kêmanî 293×205px tê pêşniyarkirin. Dema ku neyê sazkirin, vedigere ser dîmena wêneya piçûk a maskot ya heyî - title: Wêneya maskot - peers_api_enabled: - desc_html: Navê navperên ku ev rajekar di fendiverse de rastî wan hatiye - title: Rêzoka rajekarên hatiye dîtin di API-yê de biweşîne - preview_sensitive_media: - desc_html: Pêşdîtinên girêdanê yên li ser malperên din tevlî ku medya wekî hestyar hatiye nîşandan wê wekî wêneyekî piçûk nîşan bide - title: Medyayê hestyar nîşan bide di pêşdîtinên OpenGraph de - profile_directory: - desc_html: Mafê bide bikarhêneran ku bêne vedîtin - title: Pelrêçên profilê çalak bike - registrations: - closed_message: - desc_html: Gava ku tomarkirin têne girtin li ser rûpelê pêşîn têne xuyang kirin. Tu dikarî nîşanên HTML-ê bi kar bîne - title: Tomarkirinê girtî ya peyaman - deletion: - desc_html: Maf bide ku herkes bikaribe ajimêrê te jê bibe - title: Jê birina ajimêrê vekek - min_invite_role: - disabled: Ne yek - title: Maf bide vexwendinên ji alîyê - require_invite_text: - desc_html: Gava ku tomarkirin pêdiviya pejirandina destan dike, Têketina nivîsê "Tu çima dixwazî beşdar bibî?" Bibe sereke ji devla vebijêrkî be - title: Ji bo bikarhênerên nû divê ku sedemek tevlêbûnê binivîsinin - registrations_mode: - modes: - approved: Ji bo têketinê erêkirin pêwîste - none: Kesek nikare tomar bibe - open: Herkes dikare tomar bibe - title: Awayê tomarkirinê - show_known_fediverse_at_about_page: - desc_html: Dema ku neçalak be, demnameya gerdûnî ya ku ji rûpela zeviyê ve hatî girêdan tenê bi nîşandana naveroka herêmî tên sînorkirin - title: Li ser rûpela demnameya ne naskirî naveroka giştî nîşan bide - show_staff_badge: - desc_html: Di rûpela bikarhêner da rozeta xebatkaran nîşan bike - title: Rozeta xebatkara nîşan bike - site_description: - desc_html: Paragrafa destpêkê li ser API. Dide nasîn ka çi ev rajekarê Mastodon taybet dike û tiştên din ên girîn. Tu dikarî hashtagên HTML-ê, bi kar bîne di <a> û <em> de. - title: Danasîna rajekar - site_description_extended: - desc_html: Ji bo kodê perwerdetî, rêzik, rêbername û tiştên din ên ku rajekara te ji hev cihê dike cîhekî baş e. Tu dikarî hashtagên HTML-ê bi kar bîne - title: Zanyarên berfirehkirî ya rajekar - site_short_description: - desc_html: Ew di alavdanka kêlekê û tagên meta de tên xuyakirin. Di yek paragrafê de rave bike ka Mastodon çi ye û ya ku ev rajekar taybetî dike. - title: Danasîna rajekarê kurt - site_terms: - desc_html: Tu dikarî polîtika nihêniyê xwe, mercên karûbar an nameyên din binvisîne. Tu dikarî nîşanên HTML-ê bi kar bîne - title: Mercên bikaranîn a kesanekirî - site_title: Navê rajekar - thumbnail: - desc_html: Ji bo pêşdîtinên bi riya OpenGraph û API-yê têne bikaranîn. 1200x630px tê pêşniyar kirin - title: Wêneya piçûk a rajekar - timeline_preview: - desc_html: Girêdana demnameya gelemperî li ser rûpela daxistinê nîşan bide û mafê bide ku API bêyî rastandinê bigihîje damnameya gelemperî - title: Mafê bide gihîştina ne naskirî bo demnameya gelemperî - title: Sazkariyên malperê - trendable_by_default: - desc_html: Hashtagên ku berê hatibûn qedexekirin bandor dike - title: Bihêle ku hashtag bêyî nirxandinek pêşîn bibe rojev - trends: - desc_html: Hashtagên ku berê hatibûn nirxandin ên ku niha rojev in bi gelemperî bide xuyakirin - title: Hashtagên rojevê - site_uploads: - delete: Pela barkirî jê bibe - destroyed_msg: Barkirina malperê bi serkeftî hate jêbirin! - statuses: - back_to_account: Vegere bo rûpela ajimêr - back_to_report: Vegere rûpela ragihandinê - batch: - remove_from_report: Ji ragihandinê rake - report: Ragihîne - deleted: Hate jêbirin - media: - title: Medya - no_status_selected: Tu şandî nehat hilbijartin ji ber vê tu şandî jî nehat guhertin - title: Şandiyên ajimêr - with_media: Bi medya yê re - strikes: - actions: - delete_statuses: "%{name} şandiyên %{target} jêbirin" - disable: "%{name} ajimêr %{target} cemidand" - mark_statuses_as_sensitive: "%{name} medyayê %{target} wekî hestiyar nîşan kir" - none: "%{name} ji bo %{target} hişyariyek şand" - sensitive: "%{name} ajimêrê %{target} wekî hestiyarî nîşan kir" - silence: "%{name} ajimêra %{target} bi sînor kir" - suspend: "%{name} ajimêra %{target} hilda rawestandinê" - appeal_approved: Îtîraz - appeal_pending: Îtîraz li benda nirxandinê ye - system_checks: - database_schema_check: - message_html: Koçberiyên databasê yên li bendê hene. Ji kerema xwe wan bişopîne da ku bicîh bikî ku sepan wekî ku tê hêvî kirin tevbigere - rules_check: - action: Rêzikên rajekara bi rê ve bibe - message_html: Te qet rêzikên rajekara diyar nekiriye. - sidekiq_process_check: - message_html: Pêvajoyên Sidekiq ên heyî ji bo %{value} di rêz (an) de tune ne. Ji kerema xwe sazkariyên Sidekiq a xwe binirxîne - tags: - review: Binêre rewşê - updated_msg: Sazkariyên hashtag bi awayekî serkeftî hate rojanekirin - title: Rêvebirî - trends: - allow: Bihêle - approved: Pejirandî - disallow: Nehêle - links: - allow: Mafê bide girêdanê - allow_provider: Mafê bide weşanger - description_html: Van girêdanên ku niha ji hêla ajimêrên ku rajekarê te ji wan peyaman dibîne pir têne parvekirin. Ew dikare ji bikarhênerên te re bibe alîkar ku fêr bibin ka li cîhanê çi diqewime. Heya ku tu weşanger nepejirînin, ti girêdan bi gelemperî nayê xuyangkirin. Her weha tu dikarî mafê bidî girêdanên kesane an jî nedî. - disallow: Mafê nede girêdanê - disallow_provider: Mafê nede weşanger - shared_by_over_week: - one: Di nava hefteya dawî de ji aliyê keskekî ve hate parvekirin - other: Di nava hefteya dawî de ji aliyê %{count} kes ve hate parvekirin - zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate parvekirin - title: Girêdanên di rojevê de - usage_comparison: Îro %{today} car hate parvekirin, li gorî %{yesterday} duh - pending_review: Li benda nirxandinê ye - preview_card_providers: - allowed: Girêdanên ji vê weşangerê dikarin bibin rojev - description_html: Ev navperên ku ji wan girêdanên bi gelemperî li ser rajekarê te têne parvekirin. Heya ku girêdana rojevê neyê pejirandin, girêdan wê ji raya giştî re nebin rojev. Pejirandina (an nepejirandina) te berbi jêrnavperan ve diçe. - rejected: Girêdanên ji vê weşangerê nikarin bibin rojev - title: Weşanger - rejected: Nepejirand - statuses: - allow: Mafê bide şandiyê - allow_account: Mafê bide nivîskar - description_html: Van şandiyên ku rajekarê te pê dizane ku niha pir têne parvekirin û bijartekirin. Ew dikare ji bikarhênerên te yên nû û yên vedigerin re bibe alîkar ku bêtir mirovên ku bişopînin bibînin. Heya ku tu nivîskar nepejirînî, tu şandî bi gelemperî nayên xuyangkirin, û nivîskar mafê dide ku ajimêrê xwe ji kesên din re were pêşniyarkirin. Her weha tu dikarî mafê bidî şandiyên kesane an jî nedî. - disallow: Mafê nede şandiyê - disallow_account: Mafê nede nivîskar - not_discoverable: Nivîskar nejilbijartiye ji bo ku were kifşkirin - shared_by: - one: Yek carî parvekirî an bijartî - other: "%{friendly_count} carên parvekirî û bijartî" - title: Şandiyên rojevê - tags: - current_score: Encama niha %{score} - dashboard: - tag_accounts_measure: bikaranînên bêhempa - tag_languages_dimension: Zimanên pir tên bikaranîn - tag_servers_dimension: Rajekarên pir tên bikaranîn - tag_servers_measure: rajekarên cuda - tag_uses_measure: bikaranîna giştî - description_html: Ev hashtag in ku niha di gelek şandiyên ku rajekarê te dibîne de xuya dibin. Ew dikare ji bikarhênerên te re bibe alîkar ku fêr bibin ka mirov di vê demê de herî pir li ser çi diaxive. Heya ku tu wan nepejirînî, tu hashtag bi gelemperî nayê xuyangkirin. - listable: Dikare were pêşniyarkirin - not_listable: Nikare wer pêşniyarkirin - not_trendable: Wê di bin rojevan de xuya neke - not_usable: Nikare were bikaranîn - peaked_on_and_decaying: Di %{date} de derketiye asta herî bilind, û niha winda dibe - title: Hashtagên rojevê - trendable: Dikare di bin rojevan de xuya bibe - trending_rank: 'Rojev #%{rank}' - usable: Dikare were bikaranîn - usage_comparison: "%{today} car îro hate bikaranîn, li gorî %{yesterday} duh" - used_by_over_week: - one: Di nava hefteya dawî de ji aliyê kesekî ve hatiye bikaranîn - other: Di nava hefteya dawî de ji %{count} kes ve hatiye bikaranîn - zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate bikaranîn - title: Rojev - warning_presets: - add_new: Yeka nû tevlî bike - delete: Jê bibe - edit_preset: Hişyariyên pêşsazkirî serrast bike - empty: Te hin tu hişyariyên pêşsazkirî destnîşan nekirine. - title: Hişyariyên pêşsazkirî bi rêve bibe - admin_mailer: - new_appeal: - actions: - delete_statuses: ku şandiyên wan jê bibî - disable: ku ajimêrê wan bicemidînî - mark_statuses_as_sensitive: ku şandiyê wan wekî hestyar nîşan bikî - none: hişyariyek - sensitive: ku ajimêrê wan wekî hestyar nîşan bikî - silence: ku ajimêrê wan sînordar bikî - suspend: ku ajimêrê wan bidî rawestandin - body: "%{target} îtiraza biryareke çavdêriyê dike bi riya %{action_taken_by} ji %{date}, ku %{type} bû. Wan nivîsand:" - next_steps: Tu dikarî îtirazê bipejirînî ku biryara çavdêriyê têk bibî, an jî paşguh bikî. - subject: "%{username} li ser %{instance} îtiraz li biryareke çavdêriyê dike" - new_pending_account: - body: Zanyariyênn ajimêra nû li jêr in. Tu dikarî vê serîlêdanê bipejirîne an pûç bike. - subject: "(%{username}) ajimêrê nû ji bo vekolandina li ser %{instance}" - new_report: - body: "%{reporter} ji %{target} ê ragihand" - body_remote: Kesekî bi navê %{domain} ji %{target} ê ragihand - subject: Ragihandinek nû ji bo %{instance} (#%{id}) - new_trends: - body: 'Tiştên jêrîn berî ku ew bi gelemperî werin xuyakirin divê werin nirxandin:' - new_trending_links: - no_approved_links: Niha tu girêdanên rojeva pejirandî tune ne. - requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} girêdana diyarkirî ya pejirandî derbas bibe, niha ku "%{lowest_link_title}" bi %{lowest_link_score} puan e.' - title: Girêdanên rojevê - new_trending_statuses: - no_approved_statuses: Niha tu şandiyên rojeva pejirandî tune ne. - requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} şandiyaa diyarkirî ya pejirandî derbas bibe, niha ku %{lowest_status_url} bi %{lowest_status_score} puan e.' - title: Şandiyên rojevê - new_trending_tags: - no_approved_tags: Niha hashtagên rojevê pejirandî tune ne. - requirements: 'Yek ji namzedên li jêr dikare ji #%{rank} hashtagaa diyarkirî ya pejirandî derbas bibe, niha ku #%{lowest_tag_name} bi %{lowest_tag_score} puan e.' - title: Hashtagên rojevê - subject: Rojevên nû ji bo nirxandinê li ser %{instance} derdikevin - aliases: - add_new: Naveke sexte çê bike - created_msg: Bi serkeftî nûçikê nû hat çêkirin. Tu niha dikarî di ajimêrê xwe kevn bar bikî. - deleted_msg: Nûçik bi serkeftî hat rakirin. Êdî nepêkan e vê ajimêrê de barkirina ajimêrek din. - empty: Nûçikên te tune ne. - hint_html: Heke tu dixwazî ji ajimêreke din bar bike bo yekî din, li vir tu dikarî bernavekê biafirîne, ku pêdivî ye berî ku tu bi şopandina şopînerên xwe ji ajimêra kevn ber bi vê yekê biçe. Ev çalakî bi serê xwe bê ziyan û vegere.Koçberiya ajimêr ji ajimêreke kevin dest pê dike. - remove: Girêdana nûçikê rake - appearance: - advanced_web_interface: Navrûya tevnê yê pêşketî - advanced_web_interface_hint: 'Heke tu bixwazin tevahiya ferehiya dîmendera xwe bi kar bînî, navrûya pêşketî ya tevnê dihêle ku tu gelek stûnên cihêreng saz bikî da ku di heman demê de bi qasî ku tu dixwazî zanyariyan bibînî: Serrûpel, agahdarî, demnameya giştî, her hejmarek ji rêzik û hashtagan.' - animations_and_accessibility: Anîmasyon û gihînî - confirmation_dialogs: Gotûbêjên piştrastkirî - discovery: Vedîtin - localization: - body: Mastodon ji aliyê xêrxwazan tê wergerandin. - guide_link: https://crowdin.com/project/mastodon - guide_link_text: Herkes dikare beşdar bibe. - sensitive_content: Naveroka hestiyarî - toot_layout: Xêzkirina şandîya - application_mailer: - notification_preferences: Hevyazên e-name yê biguherîne - salutation: "%{name}," - settings: 'Hevyazên e-name yê biguherîne: %{link}' - view: 'Nîşan bide:' - view_profile: Profîlê nîşan bide - view_status: Şandiyê nîşan bide - applications: - created: Sepan bi awayekî serkeftî hat çêkirin - destroyed: Sepan bi awayekî serkeftî hat jêbirin - invalid_url: URL ya hatiye dayîn ne derbasdar e - regenerate_token: Nîşandera gihandinê bi nûve çêbike - token_regenerated: Nîşandera gihandinê bi serkeftî nû ve hat çêkirin - warning: Bi van daneyan re pir baldar be. Tu caran bi kesî re parve neke! - your_token: Nîşana gihîştina te - auth: - apply_for_account: Daxwaza vexwendinekê bike - change_password: Pêborîn - checkbox_agreement_html: Ez rêbazên rajeker û hêmanên karûbaran dipejirînim - checkbox_agreement_without_rules_html: Ez hêmanên karûbaran rêbazên rajeker dipejirînim - delete_account: Ajimêr jê bibe - delete_account_html: Heke tu dixwazî ajimêra xwe jê bibe, tu dikarî li vir bidomîne. Ji te tê xwestin ku were pejirandin. - description: - prefix_invited_by_user: "@%{name} te vedixwîne ku tu beşdarî vê rajekara Mastodon-ê bibî!" - prefix_sign_up: Îro li Mastodonê tomar bibe! - suffix: Bi ajimêrekê, tu yê karibî kesan bişopînî, rojanekirinan bişînî û bi bikarhênerên ji her rajekarê Mastodon re peyaman bişînî û bêhtir! - didnt_get_confirmation: Te rêwerzên pejirandinê wernegirt? - dont_have_your_security_key: Kilîda te ya ewlehiyê tune ye? - forgot_password: Te pêborîna xwe jibîrkir? - invalid_reset_password_token: Ji nû ve sazkirina pêborînê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike. - link_to_otp: Ji têlefona xwe an jî ji kodeke rizgarkirinê kodeke du-gavî binivîsine - link_to_webauth: Amûra kilîta ewlehiya xwe bi kar bîne - log_in_with: Têkeve bi riya - login: Têkeve - logout: Derkeve - migrate_account: Derbasî ajimêreke din bibe - migrate_account_html: Heke tu dixwazî ev ajimêr li ajimêreke cuda beralî bikî, tu dikarî ji vir de saz bike. - or_log_in_with: An têketinê bike bi riya - providers: - cas: CAS - saml: SAML - register: Tomar bibe - registration_closed: "%{instance} endamên nû napejirîne" - resend_confirmation: Rêwerên pejirandinê ji nû ve bişîne - reset_password: Pêborînê ji nû ve saz bike - security: Ewlehî - set_new_password: Pêborîneke nû ji nû ve saz bike - setup: - email_below_hint_html: Heke navnîşana e-nameya jêrîn ne rast be, tu dikarî wê li vir biguherîne û e-nameyeke pejirandinê ya nû bistîne. - email_settings_hint_html: E-nameya pejirandinê ji %{email} re hate şandin. Heke ew navnîşana e-nameyê ne rast be, tu dikarî wê di sazkariyên ajimêr de biguherîne. - title: Damezirandin - status: - account_status: Rewşa ajimêr - confirming: Li benda pejirandina e-nameyê ne da ku biqede. - functional: Ajimêra te êdî amade ye. - pending: Daxwaza te li benda vekolînê ji hêla xebatkarên me ye. Ev dibe ku hinek dem bigire. Heke daxwaza te were pejirandin tu yê e-nameyekê bistîne. - redirecting_to: Ajimêra te neçalak e ji ber ku niha ber bi %{acct} ve tê beralîkirin. - view_strikes: Binpêkirinên berê yên dijî ajimêrê xwe bibîne - too_fast: Form pir zû hat şandin, dîsa biceribîne. - trouble_logging_in: Têketina te de pirsgirêk çêdibe? - use_security_key: Kilîteke ewlehiyê bikar bîne - authorize_follow: - already_following: Jixwe tu vê ajimêrê dişopînî - already_requested: Jixwe te ji vê ajimêrê re daxwazîya şopandinê şandi bû - error: Mixabin, dema ajimêr hat gerandin çewtiyek çêbû - follow: Bişopîne - follow_request: 'Te ji vê kesê re daxwazîya şopandinê şand:' - following: 'Serkeftin! Tu êdî dikarî bişopînî:' - post_follow: - close: An jî, tu dikarî tenê ev çarçoveyê bigirî. - return: Profîla vê bikarhênerê nîşan bike - web: Biçe tevneyê - title: Bişopîne %{acct} - challenge: - confirm: Bidomîne - hint_html: "Nîşe:Ji bo demjimêreke din em ê pêborîna te careke din ji te nexwazin." - invalid_password: Pêborîna nederbasdar - prompt: Ji bo bidomî lêborînê bipejirîne - crypto: - errors: - invalid_key: ed25519 ne derbasdare ne jî Curve25519 kilîta - invalid_signature: Ed25519 ne îmzeyek derbasdar e - date: - formats: - default: "%b%d%Y" - with_month_name: "%B %d, %Y" - datetime: - distance_in_words: - about_x_hours: "%{count}d" - about_x_months: "%{count}meh" - about_x_years: "%{count}sal" - almost_x_years: "%{count}sal" - half_a_minute: Hema niha - less_than_x_minutes: "%{count}xulek" - less_than_x_seconds: Hema niha - over_x_years: "%{count}sal" - x_days: "%{count}roj" - x_minutes: "%{count}xulek" - x_months: "%{count}meh" - x_seconds: "%{count}çirke" - deletes: - challenge_not_passed: Zanyariyên ku te nivîsandî ne rast in - confirm_password: Pêborîna xwe ya heyî binivîsine da ku nasnameya xwe piştrast bikî - confirm_username: Navê bikarhêneriyê xwe binivîse da ku prosedurê piştrast bike - proceed: Ajimêr jê bibe - success_msg: Ajimêra te bi serkeftî hate jêbirin - warning: - before: 'Berî ku tu pêşve biçî, jkx nvan nîşeyan bi baldarî bixwîne:' - caches: Naveroka ku ji hêla rajekarên din ve hatiye pêşbîrkirin dibe ku bimîne - data_removal: Şandiyên te û daneyên din wê bi awayekî dawî bêne rakirin - email_change_html: Tu dikarî navnîşana e-nameya xwe biguherînî bêyî ku tu ajimêra xwe jê bibî - email_contact_html: Heke ew hîn jî negihîştiye, tu dikarî ji bo alîkariyê %{email} e-nameyê bişînî - email_reconfirmation_html: Heke te e-nameya pejirandinê nesitand, tu dikarî dîsa daxwaz bike - irreversible: Tu yê nikaribe ajimêra xwe serrast bike an ji nû ve çalak bike - more_details_html: Bo bêhtir zanyarî, polîtika nihêniyê binêre. - username_available: Navê bikarhêneriyê te wê dîsa peyda bibe - username_unavailable: Navê bikarhêneriyê ye wê tuneyî bimîne - directories: - directory: Rêgeha profîlê - explanation: Bikarhêneran li gorî berjewendiyên wan bibîne - explore_mastodon: Vekole %{title} - disputes: - strikes: - action_taken: Çalakî hatin kirin - appeal: Îtîraz - appeal_approved: Ev binpêkirin bi serkeftî hate îtîraz kirin û êdî ne derbasdar e - appeal_rejected: Îtîraz nehate pejirandin - appeal_submitted_at: Îtîraz hate şandin - appealed_msg: Îtîraza te hatiye şandin. Ku were pejirandin, tu yê werî agahdarkirin. - appeals: - submit: Îtîrazê bişîne - associated_report: Ragihandina têkildar - created_at: Dîrok - description_html: Ev kiryarên ku li dijî ajimêrê te hatine kirin û hişyariyên ku ji hêla xebatkarên %{instance} ve ji te re hatine şandinin. - recipient: Ji kê re - status: 'Şandî #%{id}' - status_removed: Şandî jixwe ji pergalê hatî rakirin - title: "%{action} ji %{date}" - title_actions: - delete_statuses: Jêbirina şandiyê - disable: Cemdandina ajimêrê - mark_statuses_as_sensitive: Nîşankirina şandiyan wekî hestyar - none: Hişyarî - sensitive: Nîşankirina ajimêran wekî hestyar - silence: Sînorkirina ajimêrê - suspend: Rawestandina ajimêrê - your_appeal_approved: Îtîraza te hate pejirandin - your_appeal_pending: Te îtîrazek şand - your_appeal_rejected: Îtîraza te nehate pejirandin - domain_validator: - invalid_domain: ne naveke navper a derbasdar e - errors: - '400': Daxwaza ku te şand nederbasdar an çewt bû. - '403': Ji bo dîtina vê rûpelê mafê te nîn e. - '404': Rûpela ku tu lê digerî ne li vir e. - '406': Ev rûpel di awayê ku tê xwestin de peyda nabe. - '410': Ew rûpela ku tu lê digeriya êdî li vir nîne. - '422': - content: Rastekirina ewlehiyê têk çû. Ma tu kiloran asteng dikî? - title: Rastekirina ewlehiyê têk çû - '429': Gelek daxwazî - '500': - content: Em xemgîn in, lê tiştek di aliyê me de şaş çû. - title: Ev rûpel ne rast e - '503': Ji ber têkçûna rajekar a demkî rûpel nayê bikaranîn. - noscript_html: Ji bo ku tu sepanaa Mastodon a tevnê bi kar bîne, jkx JavaScript-ê çalak bike. Wekî din, yek ji sepanên xwemalî ji bo Mastodon ji bo platforma xwe biceribîne. - existing_username_validator: - not_found: nikaribû bikarhênerek herêmî bi wê navê bikarhêner bibîne - not_found_multiple: "%{usernames} nehat dîtin" - exports: - archive_takeout: - date: Dîrok - download: Arşîva xwe daxîne - hint_html: Tu dikarî arşîvek ji weşanên xwe û medyayên barkirî re bixwaze. Daneyên derxistî dê di forma ActivityPub de bin, ku ji hêla nermalava ku vê formê ve têne xwendin. Tu dikarî her 7 rojan arşîvekê bixwaze. - in_progress: Arşîve te tê berhev kirin... - request: Daxwaza arşîva ajimêra xwe bike - size: Mezinahî - blocks: Yên te astengkirî - bookmarks: Şûnpel - csv: CSV - domain_blocks: Navperên astengkirî - lists: Rêzok - mutes: Te bêdeng kir - storage: Bîrdanaka medyayê - featured_tags: - add_new: Yeka nû tevlî bike - errors: - limit: Te jixwe berê pirtirîn hashtag destnîşan kiriye - hint_html: " Hashtagên destnîşankirî çi ne? Ew bi eşkere li ser profîla te ya gelemperî têne xuyakirin û dihêlin ku mirov bi taybetî di binê wan hashtagan de li şandiyên te yên gelemperî bigere. Ew ji bo şopandina karên afirîner an projeyên demdirêj amûrek girîng in." - filters: - contexts: - account: Profîl - home: Serrûpel û rêzok - notifications: Agahdarî - public: Demnameya gelemperî - thread: Axaftin - edit: - title: Parzûnê serrast bike - errors: - invalid_context: Naverok tune ye yan jî nederbasdar tê peydakirin - invalid_irreversible: Tenê qadên agahdarkirinê û serrûpel bi parzûna bêveger re dixebitin - index: - delete: Jê bibe - empty: Parzûnên te tune ne. - title: Parzûn - new: - title: Parzûnek nû li zêde bike - footer: - developers: Pêşdebir - more: Bêtir… - resources: Çavkanî - trending_now: Niha rojevê de - generic: - all: Hemû - changes_saved_msg: Guhertin bi serkeftî tomar bû! - copy: Jê bigire - delete: Jê bibe - none: Ne yek - order_by: Rêz bike bi - save_changes: Guhertinan tomar bike - today: îro - validation_errors: - one: Tiştek hîn ne rast e! Ji kerema xwe çewtiya li jêr di ber çavan re derbas bike - other: Tiştek hîn ne rast e! Ji kerema xwe %{count} çewtî li jêr di ber çavan re derbas bike - html_validator: - invalid_markup: 'di nav de nîşana HTML a nederbasdar heye: %{error}' - imports: - errors: - over_rows_processing_limit: ji %{count} zêdetir rêzok hene - modes: - merge: Bi hev re bike - merge_long: Tomarên heyî bigire û yên nû lê zêde bike - overwrite: Bi ser de binivsîne - overwrite_long: Tomarkirinên heyî bi yên nû re biguherîne - preface: Tu dikarî têxistin ê daneyên bike ku te ji rajekareke din derxistî ye wek rêzoka kesên ku tu dişopîne an jî asteng dike. - success: Daneyên te bi serkeftî hat barkirin û di dema xwe de were pêvajotin - types: - blocking: Rêzoka astengkirinê - bookmarks: Şûnpel - domain_blocking: Rêzoka navperên astengkirî - following: Rêzoka yên dişopînin - muting: Rêzoka bêdengiyê - upload: Bar bike - in_memoriam_html: Di bîranînê de. - invites: - delete: Neçalak bike - expired: Dema wê qediya - expires_in: - '1800': 30 xulek - '21600': 6 demjimêr - '3600': 1 demjimêr - '43200': 12 demjimêr - '604800': 1 hefte - '86400': 1 roj - expires_in_prompt: Tu car - generate: Girêdana vexwendinê çê bike - invited_by: 'Tu hatî vexwendin ji hêla:' - max_uses: - one: 1 bikaranîn - other: "%{count} bikaranîn" - max_uses_prompt: Bê sînor - prompt: Girêdanan bi kesên din re çê bike û parve bike da ku bigihîjin vê rajekarê - table: - expires_at: Diqede - uses: Bikaranîn - title: Mirovan vexwîne - lists: - errors: - limit: Tu gihîştî hejmara rêzika a herî zêde - login_activities: - authentication_methods: - otp: sepandina rastandina du-gavî - password: pêborîn - sign_in_token: koda ewlehiyê bo e-nameyê - webauthn: kilîtên ewlehiyê - description_html: Heke çalakiya ku nas nakî dibînî, çêtir dibe ku pêborîna xwe biguherînî û rastandina du-gavî çalak bikî. - empty: Dîroka piştrastkirinê tune ye - failed_sign_in_html: Hewldana têketinê ser neket bi%{method} ji %{ip} (%{browser}) de - successful_sign_in_html: Bi serkeftî têketin bi %{method} ji %{ip}(%{browser}) çêbû - title: Dîroka piştrastkirinê - media_attachments: - validations: - images_and_video: Nikare vîdyoyekê tevlî şandiyê ku berê wêne tê de heye bike - not_ready: Nikare pelên ku pêvajo neqedandî ve girêbide. Di demekê de dîsa biceribîne! - too_many: Zedetirî 4 pelan nayê tevlêkirin - migrations: - acct: Hate lîvandin bo - cancel: Beralîkirinê red bike - cancel_explanation: Dev berdan ji beralîkirinê dê ajimêra te ya heyî ji nû ve çalak bike, lê şopgerên ku li wê ajimêrê hatine livandin venagerêne. - cancelled_msg: Beralîkirin bi serkeftî hate betal kirin. - errors: - already_moved: heman ajimêr e ku te berê lê bar kiriye ye - missing_also_known_as: ne nasnavê vê ajimêrê ye - move_to_self: nikare bibe ajimêra heyî - not_found: nehate dîtin - on_cooldown: Tu li ser sarbûnê yî - followers_count: Di dema tevgerê de şopîner - incoming_migrations: Derbasî ajimêreke din bibe - incoming_migrations_html: Ji bo ku tu ji ajimêrek din bar bikî vê yekê, pêşî divê tu ajimêreke bi bernaveke çê bike . - moved_msg: Ajimêrate niha li %{acct} tê rêve kirin (beralîkirin) û şopînerên te têne livandin bo wê. - not_redirecting: Ajimêra te niha bo ajimêreke din nayê beralîkirin. - on_cooldown: Te herî dawî dev ji ajimêra xwe berda. Ev fonksiyon dê di %{count} rojan de dîsa peyda bibe. - past_migrations: Koçên berê - proceed_with_move: Şopîneran bilivîne - redirected_msg: Ajimêra te niha bo %{acct} tê beralîkirin. - redirecting_to: Ajimêra te niha bo %{acct} tê beralîkirin. - set_redirect: Beralîkirin saz bike - warning: - backreference_required: Pêdivî ye ku ajimêra nû wekî referanseke paşîn a vê ajimêrê were sazkirin - before: 'Berî ku tu berdewam bikî, ji kerema xwe re van nîşaneyan bi baldarî bixwîne:' - cooldown: Piştî livandin demek heye ku di wê navberê de tu yê nikaribe dîsa bilive - disabled_account: Ajimêra te ya heyî dê paşê bi tevahî neyê bikaranîn. Lê belê, tu dikarî bigihîje derxistinê daneyan û hem jî ji nû ve çalakkirinê. - followers: Ev çalakî dê hemî şopînerên ji ajimêra heyî bar bike ajimêra nû - only_redirect_html: Wekî din, tu dikarî tenê beralîkirinekê li ser profîla xwe bicîh bike . - other_data: Daneyên din dê bi xweberî neyên livandin - redirect: Profîla ajimêra te ya heyî dê bi nîşeyeke beralîkirinê were nûve kirin û ji lêgerînan were bi dûrxistin - moderation: - title: Çavdêrî - move_handler: - carry_blocks_over_text: Ev bikarhêner ji %{acct}, ku te astengkirî bû, bar kir. - carry_mutes_over_text: Ev bikarhêner ji %{acct}, ku te bê deng kirbû, bar kir. - copy_account_note_text: 'Ev bikarhêner ji %{acct} livî ye, li vir nîşeyên te yên berê ku te di derbarê wî/ê de nivîsandiye:' - notification_mailer: - admin: - sign_up: - subject: "%{name} tomar bû" - digest: - action: Hemû agahdariyan nîşan bide - body: Li vir kurteyeke peyamên ku li te derbasbûnd ji serdana te ya dawîn di %{since} de - mention: "%{name} behsa te kir:" - new_followers_summary: - one: Herwiha, dema tu dûr bûyî te şopînerek nû bi dest xist! Bijî! - other: Herwiha, dema tu dûr bûyî te %{count} şopînerek nû bi dest xist! Bijî! - subject: - one: "1 agahdarî ji serdana te ya herî dawî ji \U0001F418" - other: "%{count} agahdarî ji serdana te ya herî dawî ji \U0001F418" - title: Di tunebûna te de... - favourite: - body: 'Şandiya te hate bijartin ji alî %{name} ve:' - subject: "%{name} şandiya te hez kir" - title: Bijarteyek nû - follow: - body: "%{name} niha te dişopîne!" - subject: "%{name} niha te dişopîne" - title: Şopînereke nû - follow_request: - action: Daxwazên şopandinê bi rê ve bibe - body: "%{name} daxwaza şopandina te kir" - subject: Şopîner li bendê ye:%{name} - title: Daxwazeke şopandinê ya nû - mention: - action: Bersivê bide - body: 'Tu hatiyî qalkirin ji aliyê %{name}:' - subject: Tu hatiye qalkirin ji aliyê %{name} - title: Qalkirina nû - poll: - subject: Rapirsî ji hêla %{name} ve qediya - reblog: - body: 'Şandiye te hate bilindkirin ji hêla %{name} ve:' - subject: "%{name} şandiya te bilind kir" - title: Bilindkirinên nû - status: - subject: "%{name} niha şand" - update: - subject: "%{name} şandiyek guhert" - notifications: - email_events: Bûyer bo agahdariyên e-nameyê - email_events_hint: 'Bûyera ku tu dixwazî agahdariyan jê wergerî hilbijêre:' - other_settings: Sazkariya agahdariyên din - number: - human: - decimal_units: - format: "%n%u" - units: - billion: B - million: M - quadrillion: Q - thousand: Hezar - trillion: Trîlyon - otp_authentication: - code_hint: Ji bo pejirandinê têkeve koda te ya ku ji alîyê sepana piştraskirinê va hatiye çê kirin - description_html: Heke tubi piştrastkirina du-faktorî re sepana piştrastkirinê çalak bikî, ji bo têketinê hewceye telefona te li ba te be, ji bona têketinê te ra nîşaneyan çê bike. - enable: Çalak bike - instructions_html: "Vê kodê QR kontrol bike bi riya Google Authenticator an jî sepanekeTOTP li ser têlefona xwe . Ji niha û pê ve, ew sepan dê nîşanên ku divê tu binivîsîne dema têketinê de biafirîne." - manual_instructions: 'Heke tu nikarî bî koda QR venêrî û pêwîst be bi dest bikevî, ev nivîsê hêsan ê veşartî:' - setup: Saz bike - wrong_code: Koda têketinê betal e! Dema rajekarê û dema amûrê raste? - pagination: - newer: Nûtir - next: Pêş - older: Kevntir - prev: Paş - truncate: "…" - polls: - errors: - already_voted: Te berê deng dabû vê rapirsîyê - duplicate_options: tiştên dubare tê de hene - duration_too_long: di pêşerojê de pir dûr e - duration_too_short: gelek zû ye - expired: Jixwe rapirsî dawî bû - invalid_choice: Vebijarka dengdanê ya bijartî tune - over_character_limit: her yek ji %{max} karakterê dirêjtirîn nabe - too_few_options: divê ji yekî zêdetir tişt hebin - too_many_options: nikare ji %{max} hêmanan bêhtir pêk bê - preferences: - other: Yên din - posting_defaults: Berdestên şandiyê - public_timelines: Demnameya gelemperî - reactions: - errors: - limit_reached: Sînorê reaksiyonên cihêrengî gihîşte asta dawî - unrecognized_emoji: emojîyeke ne naskirî ye - relationships: - activity: Çalakiya ajimêrê - dormant: Xewok - follow_selected_followers: Şopînerên hilbijartî bişopîne - followers: Şopîner - following: Dişopîne - invited: Vexwendî - last_active: Çalakiya dawî - most_recent: Herî dawî - moved: Barkirî - mutual: Hevpar - primary: Sereke - relationship: Pêwendî - remove_selected_domains: Hemû şopînerên ji navpera hilbijartî rake - remove_selected_followers: Şopînerên hilbijartî rake - remove_selected_follows: Bikarhênerên hilbijartî neşopîne - status: Rewşa ajimêr - remote_follow: - acct: Navnîşana ajimêra xwe username@domain yê ku tu yê jê çalakî bikî binvsîne - missing_resource: Ji bona ajimêra te pêwistiya beralîkirina URLyê nehate dîtin - no_account_html: Ajimêra te tune? Tu dikarîli vir tomar bibe - proceed: Şopandinê bidomîne - prompt: 'Tu yê bişopînî:' - reason_html: "Ev gav ji bona çi pêwîst e?%{instance}rajekerên ku tu tomarkiriyî dibe ku tunebe, ji bona vê divê pêşî te beralîyê rajekera te bi xwe bikin." - remote_interaction: - favourite: - proceed: Ber bi bijarteyê ve biçe - prompt: 'Tu dixwazî vê şandiyê bibijêrî:' - reblog: - proceed: Bo bilindkirinê bidomîne - prompt: 'Tu dixwazî vê şandî ye bilind bikî:' - reply: - proceed: Bersivandinê bidomîne - prompt: 'Tu dixwazî bersiva vê şandiyê bidî:' - reports: - errors: - invalid_rules: rêbazên derbasdar nîşan nadê - scheduled_statuses: - over_daily_limit: Te sînorê %{limit} şandiyên demsazkirî yên ji bo îro derbas kir - over_total_limit: Te sînorê %{limit} şandiyên demsazkirî derbas kir - too_soon: Dîroka bernamesazkirinê divê dîrokeke ji îro pêşvetir be - sessions: - activity: Çalakiya dawî - browser: Gerok - browsers: - alipay: Alipay - blackberry: Blackberry - chrome: Chrome - edge: Microsoft Edge - electron: Electron - firefox: Firefox - generic: Gerokeke nenas - ie: Internet Explorer - micro_messenger: MicroMessenger - nokia: Nokia S40 Ovi Browser - opera: Opera - otter: Otter - phantom_js: PhantomJS - qq: Geroka QQ - safari: Safari - uc_browser: Geroka UCB - weibo: Weibo - current_session: Danişîna heyî - description: "%{platform} ser %{browser}" - explanation: Gerokên tevnê di dema heyî de hene ku têketin kirine di ajimêra te ya Mastodon. - ip: IP - platforms: - adobe_air: Adobe Air - android: Android - blackberry: Blackberry - chrome_os: Chrome OS - firefox_os: Firefox OS - ios: iOS - linux: Linux - mac: macOS - other: platforma nenas - windows: Windows - windows_mobile: Windows Mobile - windows_phone: Windows Phone - revoke: Rake - revoke_success: Danişîn bi serkeftî hate rakirin - title: Danîştin - view_authentication_history: Dîroka rastekirina ajimêra xwe bibîne - settings: - account: Ajimêr - account_settings: Sazkariyên ajimêr - aliases: Nûçikên ajimêra - appearance: Xuyang - authorized_apps: Rayedarê sepanan - back: Vegere bo Mastodon - delete: Jêbirina ajimêr - development: Pêşdebir - edit_profile: Profîlê serrast bike - export: Derxistinê daneyan - featured_tags: Hashtagên bijarte - import: Têxistin - import_and_export: Têxistin û derxistin - migrate: Barkirina ajimêrê - notifications: Agahdarî - preferences: Hilbijarte - profile: Profîl - relationships: Yên tê şopandin û şopîner - statuses_cleanup: Bi xweberî ve jêbirina şandiya - strikes: Binpêkirinên çavdêriyê - two_factor_authentication: Piştrastkirinê du-faktorî - webauthn_authentication: Kilîdên ewlehiyê - statuses: - attached: - audio: - one: "%{count} deng" - other: "%{count} deng" - description: 'Pêvek: %{attached}' - image: - one: "%{count} wêne" - other: "%{count} wêne" - video: - one: "%{count} vîdyo" - other: "%{count} vîdyo" - boosted_from_html: Bilindkirî ji alî %{acct_link} ve - content_warning: 'Hişyariya naverokê: %{warning}' - default_language: Wekî zimanê navrûya bikarhêneriyê - disallowed_hashtags: - one: 'hashtagek bê maf tê de hebû: %{tags}' - other: 'hashtagek bê maf tê de hebû: %{tags}' - edited_at_html: Di %{date} de hate serrastkirin - errors: - in_reply_not_found: Ew şandiya ku tu dikî nakî bersivê bide xuya nake an jî hatiye jêbirin. - open_in_web: Di tevnê de veke - over_character_limit: sînorê karakterê %{max} derbas kir - pin_errors: - direct: Şandiyên ku tenê ji bikarhênerên qalkirî re têne xuyangkirin, nayê derzîkirin - limit: Jixwe te mezintirîn hejmara şandîyên xwe derzî kir - ownership: Şandiya kesekî din nay derzî kirin - reblog: Ev şandî nayê derzî kirin - poll: - total_people: - one: "%{count} kes" - other: "%{count} kes" - total_votes: - one: "%{count} deng" - other: "%{count} deng" - vote: Deng bide - show_more: Bêtir nîşan bide - show_newer: Nûtirîn nîşan bide - show_older: Kevntirîn nîşan bide - show_thread: Mijarê nîşan bide - sign_in_to_participate: Ji bo tevlî sohbetê bibî xwe tomar bike - title: "%{name}%{quote}" - visibilities: - direct: Rasterast - private: Tenê şopîneran - private_long: Tenê bo şopîneran nîşan bide - public: Gelemperî - public_long: Herkes dikare bibîne - unlisted: Nerêzokkirî - unlisted_long: Herkes dikare bibîne, lê di demnameya gelemperî de nayê rêz kirin - statuses_cleanup: - enabled: Şandiyên berê bi xweberî va jê bibe - enabled_hint: Gava ku ew gihîştibe sînorê temenê diyarkirî, şandiyên te bi xweberî jê dibe, ji bilî van awareteyên jêrîn - exceptions: Awarte - explanation: Ji ber ku jêbirina şandiyan pêvajoyeke biha ye, ev hêdî hêdî bi demê re tê kirin dema ku rajekar wekî din mijûl nebe. Ji ber vê sedemê, dibe ku şandiyên te demek şûnda ku bigihîjin sînorê temenê wê werin jêbirin. - ignore_favs: Ecibandinan paşguh bike - ignore_reblogs: Bilindkirinê piştguh bike - interaction_exceptions: Awarteyên li ser bingehên têkiliyan - interaction_exceptions_explanation: Bizanibe ku heke şandiyeke ku ji binî ve têkeve jêrî bijare an bilindkirin ê piştî ku carek din di ser wan re derbas bibe, garantiyek tune ku werin jêbirin. - keep_direct: Peyamên rasterast veşêre - keep_direct_hint: Tu peyamên te yekcar jê naçe - keep_media: Peyamên bi pêvekên medyayê ve ne biveşêre - keep_media_hint: Yek ji peyamên te yê ku bi pêvekên medyayê ve ne jê nabe - keep_pinned: Peyamên xwe yên ku hatine derzîkirî veşêre - keep_pinned_hint: Yek ji peyamên te yê derzîkirî jê nabe - keep_polls: Rapirsîyan veşêre - keep_polls_hint: Yek ji rapirsiyên te jê nabe - keep_self_bookmark: Şandiyên ku wek şûnpel hatine tevlêkirin veşêre - keep_self_bookmark_hint: Şandî heke te wek şûnpel tomar kiriye we neyê jêbirin - keep_self_fav: Şandiyên ku te eciband veşêre - keep_self_fav_hint: Ger te şandiyên xwe ecibandibe jê nabe - min_age: - '1209600': 2 hefte - '15778476': 6 meh - '2629746': 1 meh - '31556952': 1 sal - '5259492': 2 meh - '604800': 1 hefte - '63113904': 2 sal - '7889238': 3 meh - min_age_label: Şêmûga demê - min_favs: Peyamên ku ji wê zêdetir hatine ecibandin veşêre - min_favs_hint: Şandî ku ji evqas hezkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe - min_reblogs: Şandiyên ku bêtir hatine bilindkirin veşêre - min_reblogs_hint: Şandî ku ji ji vê hejmarê bêtir bilindkirin wergirtibe nayê jêbirin. Vala bihêle da ku şandiyan jê bibî tevlî ku çiqas hezkirin wergirtibe - stream_entries: - pinned: Şandiya derzîkirî - reblogged: bilindkirî - sensitive_content: Naveroka hestiyarî - tags: - does_not_match_previous_name: bi navê berê re li hev nayê - terms: - body_html: | -

Privacy Policy

-

What information do we collect?

- -
    -
  • Basic account information: If you register on this server, you may be asked to enter a username, an e-mail address and a password. You may also enter additional profile information such as a display name and biography, and upload a profile picture and header image. The username, display name, biography, profile picture and header image are always listed publicly.
  • -
  • Posts, following and other public information: The list of people you follow is listed publicly, the same is true for your followers. When you submit a message, the date and time is stored as well as the application you submitted the message from. Messages may contain media attachments, such as pictures and videos. Public and unlisted posts are available publicly. When you feature a post on your profile, that is also publicly available information. Your posts are delivered to your followers, in some cases it means they are delivered to different servers and copies are stored there. When you delete posts, this is likewise delivered to your followers. The action of reblogging or favouriting another post is always public.
  • -
  • Direct and followers-only posts: All posts are stored and processed on the server. Followers-only posts are delivered to your followers and users who are mentioned in them, and direct posts are delivered only to users mentioned in them. In some cases it means they are delivered to different servers and copies are stored there. We make a good faith effort to limit the access to those posts only to authorized persons, but other servers may fail to do so. Therefore it's important to review servers your followers belong to. You may toggle an option to approve and reject new followers manually in the settings. Please keep in mind that the operators of the server and any receiving server may view such messages, and that recipients may screenshot, copy or otherwise re-share them. Do not share any dangerous information over Mastodon.
  • -
  • IPs and other metadata: When you log in, we record the IP address you log in from, as well as the name of your browser application. All the logged in sessions are available for your review and revocation in the settings. The latest IP address used is stored for up to 12 months. We also may retain server logs which include the IP address of every request to our server.
  • -
- -
- -

What do we use your information for?

- -

Any of the information we collect from you may be used in the following ways:

- -
    -
  • To provide the core functionality of Mastodon. You can only interact with other people's content and post your own content when you are logged in. For example, you may follow other people to view their combined posts in your own personalized home timeline.
  • -
  • To aid moderation of the community, for example comparing your IP address with other known ones to determine ban evasion or other violations.
  • -
  • The email address you provide may be used to send you information, notifications about other people interacting with your content or sending you messages, and to respond to inquiries, and/or other requests or questions.
  • -
- -
- -

How do we protect your information?

- -

We implement a variety of security measures to maintain the safety of your personal information when you enter, submit, or access your personal information. Among other things, your browser session, as well as the traffic between your applications and the API, are secured with SSL, and your password is hashed using a strong one-way algorithm. You may enable two-factor authentication to further secure access to your account.

- -
- -

What is our data retention policy?

- -

We will make a good faith effort to:

- -
    -
  • Retain server logs containing the IP address of all requests to this server, in so far as such logs are kept, no more than 90 days.
  • -
  • Retain the IP addresses associated with registered users no more than 12 months.
  • -
- -

You can request and download an archive of your content, including your posts, media attachments, profile picture, and header image.

- -

You may irreversibly delete your account at any time.

- -
- -

Do we use cookies?

- -

Yes. Cookies are small files that a site or its service provider transfers to your computer's hard drive through your Web browser (if you allow). These cookies enable the site to recognize your browser and, if you have a registered account, associate it with your registered account.

- -

We use cookies to understand and save your preferences for future visits.

- -
- -

Do we disclose any information to outside parties?

- -

We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information. This does not include trusted third parties who assist us in operating our site, conducting our business, or servicing you, so long as those parties agree to keep this information confidential. We may also release your information when we believe release is appropriate to comply with the law, enforce our site policies, or protect ours or others rights, property, or safety.

- -

Your public content may be downloaded by other servers in the network. Your public and followers-only posts are delivered to the servers where your followers reside, and direct messages are delivered to the servers of the recipients, in so far as those followers or recipients reside on a different server than this.

- -

When you authorize an application to use your account, depending on the scope of permissions you approve, it may access your public profile information, your following list, your followers, your lists, all your posts, and your favourites. Applications can never access your e-mail address or password.

- -
- -

Site usage by children

- -

If this server is in the EU or the EEA: Our site, products and services are all directed to people who are at least 16 years old. If you are under the age of 16, per the requirements of the GDPR (General Data Protection Regulation) do not use this site.

- -

If this server is in the USA: Our site, products and services are all directed to people who are at least 13 years old. If you are under the age of 13, per the requirements of COPPA (Children's Online Privacy Protection Act) do not use this site.

- -

Law requirements can be different if this server is in another jurisdiction.

- -
- -

Changes to our Privacy Policy

- -

If we decide to change our privacy policy, we will post those changes on this page.

- -

This document is CC-BY-SA. It was last updated March 7, 2018.

- -

Originally adapted from the Discourse privacy policy.

- title: "%{instance} mercên bikaranîn û politîkayên nehêniyê" - themes: - contrast: Mastodon (dijberiya bilind) - default: Mastodon (Tarî) - mastodon-light: Mastodon (Ronahî) - time: - formats: - default: "%b %d, %Y, %H:%M" - month: "%b %Y" - time: "%H:%M" - two_factor_authentication: - add: Tevlî bike - disable: 2FA neçalak bike - disabled_success: Rastandina du-gavî bi serfirazî hate sekinandin - edit: Serrast bike - enabled: Rastandina du-gavî bi serfirazî hate çalak kirin - enabled_success: Rastandina du-gavî bi serfirazî hate çalak kirin - generate_recovery_codes: Kodên xilaskirinê çêbike - lost_recovery_codes: Ku telefon winda bibe kodên xilaskirinê derfet dide ku tu bigihijî ajimêra xwe. Heke te kodên xwe yê xilaskirinê winda kiribe tu dikarî ji vê derê dîsa ava bikî. Kodên te yê xilaskirinê ên kevin wê nederbasdar bibe. - methods: Rêbazên du-gavî - otp: Sepana Authenticator - recovery_codes: Kilîtên rizgarbûna hilanînê - recovery_codes_regenerated: Kilîtên rizgarbûna bi serkeftî hate nûvkirin - recovery_instructions_html: Heke gava te têlefona xwe winda kir, tu dikarî yek ji kodên rizgarkirinê yên jêrîn bi kar bîne da ku tu bigihîjî ajimêra xwe. Kodên rizgarkirinê li cihekî ewle biparêze . Mînakî, tu dikarî wan çap bikî û wan bi peldandkên din ên girîng re tomar bike. - webauthn: Kilîdên ewlehiyê - user_mailer: - appeal_approved: - action: Biçe ajimêra xwe - explanation: Îtîraza binpêkirinê ya li dijî ajimêrê te ya %{strike_date} ku te di %{appeal_date} de şandibû hate pejirandin. Ajimêrê te careke din di rewşek baş de ye. - subject: Îtîraza te ji %{date} hate pejirandin - title: Îtîraz hate pejirandin - appeal_rejected: - explanation: Îtîraza binpêkirinê ya li dijî ajimêrê te ya di %{strike_date} de ku te di %{appeal_date} de şandibû nehat pejirandin. - subject: Îtîraza te ji %{date} nehate pejirandin - title: Îtîraz nehate pejirandin - backup_ready: - explanation: Te yedekîya tijê ya ajimêrê xwe Mastodonê xwest. Niha ji daxistinê re amade ye! - subject: Arşîva te amede ye bo daxistinê - title: Pakêtkirina arşîvan - sign_in_token: - details: 'Li vir hûrgiliyên hewldanê hene:' - explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IPya nenas nas kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr têkeve rûpela jêpirsînê:' - further_actions: 'Ger ev ne tu bî, ji kerema xwe re şîfreya xwe biguherîne û li ser hesaba xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çêkî:' - subject: Ji kerema xwe re hewldanên têketinê piştrast bike - title: Hewldanên têketinê - warning: - appeal: Îtîrazekê bişîne - appeal_description: Heke tu bawer dikî ku ev şaşetiyeke, tu dikarî îtîrazekê ji karmendên %{instance} re bişînî. - categories: - spam: Nexwestî (Spam) - violation: Naverok rêbazên civakê yên jêrîn binpê dike - explanation: - delete_statuses: Hate dîtin ku hinek şandiyên te yek an jî çend rêwerzên civatê binpê dikin û dû re ji hêla çavdêrên %{instance} ve hatine rakirin. - disable: Tu êdî nikarî ajimêra xwe bi kar bînî, lê profîla te û daneyên din bê ziyan dimînin. Tu dikarî ji daneyên xwe hilanînê bixwazî, sazkariyên ajimêrê biguherîmî an jî ajimêrê xwe jê bibî. - mark_statuses_as_sensitive: Hinek şandiyên te ji hêla çavdêrên %{instance} ve wekî hestyar hatine nîşankirin. Ev tê vê wateyê ku berî ku pêşdîtinek were xuyang kirin pêdivî ye ku mirov di nav şandiyan de bitikînî. Dema ku di pêşerojê de bişînî tu dikarî medyayê wekî xwe hestyar nîşan bikî. - sensitive: Ji niha û pê ve, hemû pelên te yên medyayê yên hatine barkirin wê li piştî hişyariyek wekî hestyar û veşartî bêne nîşankirin. - silence: Tu hîn jî dikarî ajimêra xwe bi kar bînî lê tenê kesên ku jixwe te dişopînin wê şandiyên te li ser vê rajekarê bibînin, û dibe ku tu ji cûrbecûr taybetmendiyên vedîtinê werî bi dûrxistin. Lêbelê, yên din hîn jî dikarin bi destan te bişopînin. - suspend: Tu êdî nikarî têkevî ajimêra xwe, û profîla te û daneyên din êdî nayên gihîştin. Dîsa jî tu dikarî têkevî da ku hilanîna daneyên xwe daxwaz bikî heya ku dane bi tevahî werin rakirin di hundirê 30 roj de, lê em ê hin daneyan biparêzin da ku tu ji rawestandinê rizgar bikî. - reason: 'Sedem:' - statuses: 'Şandiyên binavkirî:' - subject: - delete_statuses: Şandiyên te yên li ser %{acct} hatin rakirin - disable: Ajimêra te a %{acct} hat qerisandin - mark_statuses_as_sensitive: Şandiyên te yên li ser %{acct} wekî hestyar hatine nîşankirin - none: Hişyarî bo %{acct} - sensitive: Şandiyên te yên li ser %{acct} wê ji niha û pê ve wekî hestyar bêne nîşankirin - silence: Ajimêra te ya %{acct} hate bisînorkirin - suspend: Ajimêra te %{acct} hate rawestandin - title: - delete_statuses: Şandî hatin rakirin - disable: Ajimêr hate qerisandin - mark_statuses_as_sensitive: Şandî wekî hestyar hatine nîşankirin - none: Hişyarî - sensitive: Ajimêr wekî hestyar hate nîşankirin - silence: Ajimêr sînor kiriye - suspend: Ajimêr hatiye rawestandin - welcome: - edit_profile_action: Profîlê saz bike - edit_profile_step: Tu dikarî profîla xwe bi barkirina wêne, sernav, guherandina navê xuyangê xwe û bêhtir ve xweş bikî. Heke tu dixwazî şagirtên nû binirxînî berî ku mafê bidî ku ew te bişopînê, tu dikarî ajimêra xwe kilît bike. - explanation: Li vir çend serişte hene ku tu dest pê bike - final_action: Dest bi weşandinê bike - final_step: 'Dest bi weşandinê bike! Bêyî şopîneran jî dibe ku şandiyên te yên gelemperî ji hêla kesên din ve werin dîtin, mînakî li ser demjimêra herêmî û di hashtagan de. Dibe ku tu bixwazî xwe li ser hashtagê #nasname bidî nasandin.' - full_handle: Hemî destikê te - full_handle_hint: Ji hevalên xwe re, ji bona ji rajekarekê din peyam bişîne an jî ji bona ku te bikaribe bişopîne tişta ku tu bibêjî ev e. - review_preferences_action: Bijartinan biguherîne - review_preferences_step: Pê bawer be ku vebijêrkên xwe saz bikî, wek mînak kîjan e-nameyên ku tu dixwaziî wergirîne, an tu dixwazî weşanên te ji kîjan astê nehêniyê de kesanekirî bin. Heke nexweşiya te ya tevgerê tune be, tu dikarî hilbijêrî ku GIF ya xweser çalak bibe. - subject: Tu bi xêr hatî Mastodon - tip_federated_timeline: Demnameya giştî dimenêke gelemperî a Mastodon e. Lê tenê kesên ku ciranên te endamên wê ne dihewîne, ji ber vê yekê ew hemû nîne. - tip_following: Tu rêvebir (ên) rajeker wek berdest dişopînî. Ji bo mirovên balkêştir bibînî, demnameya herêmî û federasyonî kontrol bike. - tip_local_timeline: Demnameya herêmî, dimenêke bi giştî ye li ser %{instance} e. Ev ciranên te yên herî nêzik in! - tip_mobile_webapp: Ger geroka te ya desta pêşkêşî te bike ku tu Mastodon li ser ekrana xwe ya malê lê zêde bikî, tu dikarî agahdariyên push bistînî. Ew bi gelek awayan mîna serîlêdanek xwemalî tevdigere! - tips: Serbend - title: Bi xêr hatî, %{name}! - users: - follow_limit_reached: Tu nikarî zêdetirî %{limit} kesan bişopînî - generic_access_help_html: Di gihîştina ajimêrê te de pirsgirêk heye? Tu dikarî ji bo alîkariyê bi %{email} re têkilî deyne - invalid_otp_token: Koda du-gavî ya nelê - invalid_sign_in_token: Kilîda ewlehiyê a nelê - otp_lost_help_html: Heke te gihîştina herduyan ji dest da, dibe ku tu bi %{email} re têkilî deyne - seamless_external_login: Te bi servîsekî biyanî re têketina xwe kir, ji ber vê yekê şîfre û e-name nayê bikaranîn. - signed_in_as: 'Têketin wekî:' - suspicious_sign_in_confirmation: Xuya dike ku te berê têketin ji vê amûrê nekiriye, ji ber vê yekê em kodeke ewlehiyê ji navnîşana e-nameya te re dişînin da ku piştrast bikî ku tu ye an na. - verification: - explanation_html: 'Tu dikarî xwe wekî xwediyê girêdanên li daneyê meta profîla xwe piştrast bikî. Ji bo vê, hewceye girêda malperê di nav profîla te ya mastodonê de girêdanekî paş hebe. Girêdana paşhewceye taybetîyek rel="me"hebe. Naveroka nivîsa girêdanê ne girîng e. Ev jî mînakek e:' - verification: Piştrastkirin - webauthn_credentials: - add: Kilîteke ewlehiyê nû tevlî bike - create: - error: Gava Kilîteke ewlehiyê nû dihat tevlîkirin pirsgirêkek derket. Jkx dîsa biceribîne. - success: Tevlîkirina kilîteke ewlehiyê nû bi awayekî serkeftî qediya. - delete: Jê bibe - delete_confirmation: Ma tu bi rastî dixwazî ku ev kilîta ewlehiyê jê bibe? - description_html: Heker tu piştrastkirina kilîta ewlehiyê çalak bikî, Ji bo têketinê ger tu kilîtekî ewlehiyê bikarbînî. - destroy: - error: Dema kilîda ewlehiyê hate jêbirin pirsgirêkek peyda bû. Ji kerema xwe re careke din biceribîne. - success: Kilîda ewlehiyê bi awayekî serkeftî hatê jêbirin. - invalid_credential: Kilîda ewlehiyê a nelê - nickname_hint: Bernavka kilîda te ya ewlehiyê a nû têkevê - not_enabled: Te hê WebAuthn çalak nekiriye - not_supported: Ev gerok piştgiriya kilîtên ewlehiyê nakê - otp_required: Ji bo ku tu kilîtên ewlehiyê bikar bînî, ji kerema xwe re pêşî piştrastkirina du-gavî çalak bike. - registered_on: Di %{date} dîrokê de tomar bû diff --git a/config/locales/simple_form.kmr.yml b/config/locales/simple_form.kmr.yml deleted file mode 100644 index dc3416145..000000000 --- a/config/locales/simple_form.kmr.yml +++ /dev/null @@ -1,230 +0,0 @@ ---- -kmr: - simple_form: - hints: - account_alias: - acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike - account_migration: - acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike - account_warning_preset: - text: Tu dikarî wek URLyan, hashtagan û şîroveyan, tootê ristesazî jî bikarbînî - title: Bi dilê xwe ye. Ji wergir re nay xûyakirin - admin_account_action: - include_statuses: Bikarhênerê bibîne kîjan toot dibin sedemê çalakî an jî agahdarî - send_email_notification: Bikarhêner dê ravekirinê tiştê ku bi ajimêra wan re qewimî bistîne - text_html: Bi dili xwe ye. Tu dikarî hevoksazî ye toot bikarbînî. Tu dikarî pêşsazîyên hişyariyê lê zêde bikî ji bo ku demê derbas nekî - type_html: Hilbijêre ka tu yê çi bikî bi %{acct} re - types: - disable: Nehêle bila bikarhêner ajimêrê xwe bikar bîne lê naverokan jê nebe an jî veneşêre. - none: Ji bo ku tu hişyariyekê ji bikarhêner re bişînî vê bi kar bîne, bêyî ku çalakiyeke din dest lê neda. - sensitive: Neçar bihêle ku ev bikarhêner hemû pêvekên medyayê hestiyar nîşan bike. - silence: Pêşî li bikarhêneran bigire ku bikarhêner bi herkesî ra xûyabarî neşîne, post û agahdarîyên xwe ji mirovên ku wan naşopîne veşêre. - suspend: Pêşîya hevbandorîya vî ajimêrê bigire û naveroka wê jê bibe. Di nava 30 rojan de tê vegerandin. - warning_preset_id: Bi dilê xwe ye. Tu hîn jî dikarî dawîya pêşsazkirî de nivîsek teybet li zêde bikî - announcement: - all_day: Dema were nîşankirin, tenê dîrokên navbera demê dê werin nîşan kirin - ends_at: Bi dilê xwe ye. Daxuyanî di vê demê de bi xweberî ji weşanê de rabe - scheduled_at: Vala bihêle ku yekcar daxûyanî were weşandin - starts_at: Bi dilê xwe ye. Heke daxûyanî ya te di demeke diyar ve girêdayî be - text: Tu dikarî hevoksazî yên toot bikarbînî. Ji kerema xwe cihê ku ev daxuyanî li ser dîmenderê bikarhêner bigire baldar be - appeal: - text: Tu dikarî tenê carekê îtîraza binpêkirinê bikî - defaults: - autofollow: Mirovên ku bi rêya vexwendinê xwe tomar kirine ew ên bi xweberî te bişopînin - avatar: PNG, GIF an jî JPG. Herî zêde %{size} dê ber bi %{dimensions}px ve were kêmkirin - bot: Ji yên din re nîşan bike ku ajimêr bi piranî kiryarên xweberî dike û dibe ku neyê çavdêrî kirin - context: Yek an jî zêdetir girêdan divê parzûn were sepandin - current_password: Ji bo ewlehiyê ji kerema xwe şîfreya ajimêrê xwe niha têkevin - current_username: Ji bo piştrastkirinê, ji kerema xwe navê bikarhêner ya ajimêrê niha binvîse - digest: Tenê piştî demek dirêj neçalakiyê de û tenê di nebûna te da peyamên teybetî standî be tê şandin - discoverable: Mafê biden ku ajimêra te bi pêşniyar û taybetmendiyên din ji aliyê biyaniyan ve bê vedîtin - email: Ji te re e-name ya pejirandinê were - fields: Tu dikarî heya 4 hêmanan wekî tabloyek li ser profîla xwe nîşan bidî - header: PNG, GIF an jî JPG. Herî zêde %{size} ber bi %{dimensions}px ve were kêmkirin - inbox_url: URLyê di rûpela pêşî de guhêrkerê ku tu dixwazî bi kar bînî jê bigire - irreversible: Tootên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe - locale: Zimanê navrûyê bikarhêner, agahdarîyên e-name û pêl kirin - locked: Bi destan daxwazên şopê hilbijêrîne da ku kî bikaribe te bişopîne - password: Herî kêm 8 karakter bikar bîne - phrase: Ji rewşa nivîsê tîpên girdek/hûrdek an jî ji hişyariya naveroka ya şandiyê wek serbixwe wê were hevbeş kirin - scopes: |- - Sepana ku dê kîjan maf bide bigihije APIyan. - Ger te asteke jor hilbijartibe, ne pêwîste ku tu yên berfirehî a kesane hilbijêrî. - setting_aggregate_reblogs: Bilindkirinên ku nû hatine weşan ji şandiyên di dema dawî de nîşan nede (tenê li ser bilindkirinên nû wergirtî bandor dike) - setting_default_sensitive: Medyaya hestiyar berdestî ve tê veşartin û bi tikandin dikare were eşkere kirin - setting_display_media_default: Medyaya wekî hestyarî hatiye nîşankirî ye veşêre - setting_display_media_hide_all: Medyayê tim veşêre - setting_display_media_show_all: Medyayê tim nîşan bike - setting_hide_network: Kesên ku te dişopîne û kesên tu dişopînî ev ên profîla te de were veşartin - setting_noindex: Bandor li hemî profîla te û tootên rûpela te dike - setting_show_application: Navê sepana ku tu ji bo şandinê wê bi kar tîne dê di dîtinê berferh ên di şandiyên te de were xuyakirin - setting_use_blurhash: Gradyen xwe bi rengên dîtbarîyên veşartî ve radigire, lê belê hûrgilîyan diveşêre - setting_use_pending_items: Li şûna ku herkê wek bixweber bizivirînî nûvekirina demnameyê li paş tikandinekî veşêre - username: Navê te yê bikarhênerî li ser %{domain} de bêhempa be - whole_word: Dema peyvkilîd an jî hevok bi tenê alfahejmarî çêbe, bi tenê hemû bêjeyê re li hev bike wê pêk bê - domain_allow: - domain: Ev navê navperê, ji vê rajekarê wê daneyan bistîne û daneyên ku jê bê wê were sazkirin û veşartin - email_domain_block: - domain: Ev dikare bibe navê navparek ku di navnîşana e-nameyê de an tomara MX ya ku ew bi kar tîne de xuya dike. Ew ê di dema tomarkirinê de werin kontrolkirin. - with_dns_records: Hewl tê dayîn ku tomarên DNSê yên li qada jê re hatine dayîn were çareserkirin û encamên wê jî were astengkirin - featured_tag: - name: 'Belkî tu yekê bi kar bînî çi van:' - form_challenge: - current_password: Tu dikevî qadeke ewledar - imports: - data: Pelê CSV-ê ji rajekareke din a Mastodon hate derxistin - invite_request: - text: Ev ê alikariya me bikê bo nirxandina sepanê te - ip_block: - comment: Bi dilê xwe ye. Ji bîr neke te çima ev bîranînê lê zêde kiriye. - expires_in: Navnîşanên IPyan çavkaniyên bi sînor in, carinan dihê parvekirin lê pirî caran dest diguherîne. Ji bo vê blokên IP ên nediyar nayê pêşniyarkirin. - ip: Têkeve navnîşana IPv4 an jî IPv6'yek. Tu dikarî bi hevoksazî ya CIDR re hemî valahîyan asteng bikî. Hay ji xwe hebe ku xwe derve nehêle! - severities: - no_access: Gihîştina hemî çavkaniyan asteng bike - sign_up_requires_approval: Tomarkirinên nû de pejirandina te pêwîste - severity: Daxwazên ku ji vê IPyê tên dê çi bibe hilbijêre - rule: - text: Ji bo bikarhênerên li ser vê rajekarê rêzikek an jî pêdivîyê pênase bike. Hewl bide ku rêzikê kin û xwerû bigire - sessions: - otp: 'Koda du-gavî a telefona xwe têkevê an jî yek ji wan kodên xilaskirinê têkevê:' - webauthn: Heke kilîta USB-yê be, jê ewle be ku wê têxinê û heke pêdivî be, pê li wê bike. - tag: - name: Tîpan, mînak ji bo ku bêhtir paknivîs bibe, tenê rewşa tîpên girdek/hûrdek dikarî biguherînî - user: - chosen_languages: Dema were nîşankirin, tenê parvekirinên bi zimanên hilbijartî dê di rêzikên giştî de werin nîşandan - labels: - account: - fields: - name: Nîşan - value: Naverok - account_alias: - acct: Destika ajimêrê te yê kevn - account_migration: - acct: Destika ajimêrê te yê nû - account_warning_preset: - text: Nivîsa pêşsazkirî - title: Sernav - admin_account_action: - include_statuses: Şandiyên hatine ragihandinê jî têxe nav e-name yê - send_email_notification: Bikarhênerê bi e-name yê agahdar bike - text: Agahdarî ya kesane - type: Çalakî - types: - disable: Qerisî ye - none: Hişyariyek bişîne - sensitive: Hestiyar - silence: Bi sînor bike - suspend: Hatiye rawestandin - warning_preset_id: Hişyariyeke pêşsazkirî bi kar bîne - announcement: - all_day: Çalakiya tevahiya rojê - ends_at: Dawiya bûyerê - scheduled_at: Weşanê demsaz bike - starts_at: Destpêka bûyerê - text: Daxuyanî - appeal: - text: Şîrove bike çima divê ev biryar were berovajîkirin - defaults: - autofollow: Ji bo şopandina ajimêra xwe vexwîne - avatar: Wêne - bot: Ev ajimêrekî bot e - chosen_languages: Parzûnê zimanan - confirm_new_password: Peborîna nû bipejirîne - confirm_password: Peborîn bipejirîne - context: Parzûnê naverokan - current_password: Pêborîna heyî - data: Dane - discoverable: Ji yên din re ajimêrê pêşniyar bike - display_name: Navê nîşandanê - email: Navnîşana E-nameyê - expires_in: Dîroka xilasbûyînê - fields: Profîla daneyên meta - header: Jormalper - honeypot: "%{label} (tijî neke)" - inbox_url: URLya guhêzkera wergirtî - irreversible: Li şûna veşartinê jê bibe - locale: Zimanê navrûyê - locked: Ajimêr qefl bike - max_uses: Hejmara bikaranîna herî zêde - new_password: Pêborîna nû - note: Jiyanname - otp_attempt: Koda du faktoran - password: Pêborîn - phrase: Peyvkilîd an jî hevok - setting_advanced_layout: Navrûya tevnê yê pêşketî çalak bike - setting_aggregate_reblogs: Di demnameyê de şandiyên bilindkirî kom bike - setting_auto_play_gif: GIF ên livok bi xweber bilîzine - setting_boost_modal: Gotûbêja pejirandinê nîşan bide berî ku şandî werê bilindkirin - setting_crop_images: Wêneyên di nav şandiyên ku nehatine berfireh kirin wek 16×9 jê bike - setting_default_language: Zimanê weşanê - setting_default_privacy: Ewlehiya weşanê - setting_default_sensitive: Her dem medya wek hestyar bide nîşan - setting_delete_modal: Berî ku peyamek were jêbirin, gotûbêja pejirandinê nîşan bide - setting_disable_swiping: Tevgerên dişiqite ne çalak bike - setting_display_media: Nîşandana medyayê - setting_display_media_default: Berdest - setting_display_media_hide_all: Hemûyan veşêre - setting_display_media_show_all: Hemûyan nîşan bide - setting_expand_spoilers: Şandîyên ku bi agahdarîyên naverokê va hatine nîşankirin her dem berfireh bike - setting_hide_network: Grafîka xwe ya civakî veşêre - setting_noindex: Bes e nexe di nav rêzên lêgerîna gerokan - setting_reduce_motion: Lîstikên livoka kêm bike - setting_show_application: Sepana ku ji bo şandina toot'a tê bikaranîn diyar bike - setting_system_font_ui: Curenivîsa berdest a pergalê bi kar bîne - setting_theme: Rûkarê malperê - setting_trends: Rojeva îro nîşan bide - setting_unfollow_modal: Gotûbêja pejirandinê nîşan bide berî ku dev ji şopa kesekî tê berdan - setting_use_blurhash: Ji bo medyaya veşartî de gradyanên rengîn nîşan bike - setting_use_pending_items: Awayê hêdî - severity: Asta girîngiyê - sign_in_token_attempt: Koda ewlehiyê - type: Cureya têxistinê - username: Navê bikarhêneriyê - username_or_email: Navê bikarhêner an jî e-name - whole_word: Hemû peyv - email_domain_block: - with_dns_records: Tomarên MX û IP yên hundirê navper lê zêde bike - featured_tag: - name: Hashtag - interactions: - must_be_follower: Danezanên ji kesên ku ne şopînerên min tên asteng bike - must_be_following: Agahdariyan asteng bike ji kesên ku tu wan naşopînî - must_be_following_dm: Peyamên rasterast asteng bike ji kesên ku tu wan naşopînî - invite: - comment: Şîrove - invite_request: - text: Tu çima dixwazî beşdar bibî? - ip_block: - comment: Şîrove - ip: IP - severities: - no_access: Gihîştinê asteng bike - sign_up_requires_approval: Tomaran sînordar bike - severity: Rêbaz - notification_emails: - appeal: Kesek îtîrazê biryara çavdêr dike - digest: Kurte e-name bişîne - favourite: Kesekî şandiya te hez kir - follow: Kesekî te şopand - follow_request: Kesekî daxwaz kir bo şopandina te - mention: Kesekî qale te kir - pending_account: Pewîste ku ajimêra nû bihê lêkolînkirin - reblog: Kesekî şandiya te bilind kir - report: Ragihandina nû hate şandin - trending_tag: Rojeva nû pêdivî nirxandinê ye - rule: - text: Rêbaz - tag: - listable: Bihêle ku ev hashtag werê xuyakirin di lêgerîn û pêşniyaran de - name: Hashtag - trendable: Bihêle ku ev hashtag werê xuyakirin di bin rojevê de - usable: Bihêle ku şandî ev hashtag bi kar bînin - 'no': Na - recommended: Pêşniyarkirî - required: - mark: "*" - text: pêdivî ye - title: - sessions: - webauthn: Yek ji kilîtên ewlehiyê yên xwe bi kar bîne bo têketinê - 'yes': Erê From 1ffda4cdd4976c40d9628f2b33f2ded47cfff567 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 17 Mar 2022 12:54:40 +0100 Subject: [PATCH 10/73] Fix Sanskrit translation not being used when selected (#17820) It is still a very partial translation, though, and the localeData I added is very partial as well, but at least it now uses the strings that actually got translated, instead of using English strings. --- .../mastodon/locales/locale-data/sa.js | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 app/javascript/mastodon/locales/locale-data/sa.js diff --git a/app/javascript/mastodon/locales/locale-data/sa.js b/app/javascript/mastodon/locales/locale-data/sa.js new file mode 100644 index 000000000..946dfde0f --- /dev/null +++ b/app/javascript/mastodon/locales/locale-data/sa.js @@ -0,0 +1,97 @@ +/*eslint eqeqeq: "off"*/ +/*eslint no-nested-ternary: "off"*/ +/*eslint quotes: "off"*/ +/*eslint comma-dangle: "off"*/ +/*eslint semi: "off"*/ + +export default [ + { + locale: "sa", + fields: { + year: { + displayName: "year", + relative: { + 0: "this year", + 1: "next year", + "-1": "last year" + }, + relativeTime: { + future: { + other: "+{0} y" + }, + past: { + other: "-{0} y" + } + } + }, + month: { + displayName: "month", + relative: { + 0: "this month", + 1: "next month", + "-1": "last month" + }, + relativeTime: { + future: { + other: "+{0} m" + }, + past: { + other: "-{0} m" + } + } + }, + day: { + displayName: "day", + relative: { + 0: "अद्य", + 1: "श्वः", + "-1": "गतदिनम्" + }, + relativeTime: { + future: { + other: "+{0} d" + }, + past: { + other: "-{0} d" + } + } + }, + hour: { + displayName: "hour", + relativeTime: { + future: { + other: "+{0} h" + }, + past: { + other: "-{0} h" + } + } + }, + minute: { + displayName: "minute", + relativeTime: { + future: { + other: "+{0} min" + }, + past: { + other: "-{0} min" + } + } + }, + second: { + displayName: "second", + relative: { + 0: "now" + }, + relativeTime: { + future: { + other: "+{0} s" + }, + past: { + other: "-{0} s" + } + } + } + } + } +] From a9bafe5df543e23cb7950cfcecb3e7b5932674cd Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 17 Mar 2022 12:55:09 +0100 Subject: [PATCH 11/73] Fix some language endonyms (#17810) Some language endonyms have been changed with #17478. I went through them and tried to pick the one that made the more sense. --- app/helpers/languages_helper.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/helpers/languages_helper.rb b/app/helpers/languages_helper.rb index 4318781aa..d39bb6c93 100644 --- a/app/helpers/languages_helper.rb +++ b/app/helpers/languages_helper.rb @@ -108,7 +108,7 @@ module LanguagesHelper ml: ['Malayalam', 'മലയാളം'].freeze, mn: ['Mongolian', 'Монгол хэл'].freeze, mr: ['Marathi', 'मराठी'].freeze, - ms: ['Malay', 'Bahasa Malaysia'].freeze, + ms: ['Malay', 'Bahasa Melayu'].freeze, mt: ['Maltese', 'Malti'].freeze, my: ['Burmese', 'ဗမာစာ'].freeze, na: ['Nauru', 'Ekakairũ Naoero'].freeze, @@ -117,7 +117,7 @@ module LanguagesHelper ne: ['Nepali', 'नेपाली'].freeze, ng: ['Ndonga', 'Owambo'].freeze, nl: ['Dutch', 'Nederlands'].freeze, - nn: ['Norwegian Nynorsk', 'Norsk nynorsk'].freeze, + nn: ['Norwegian Nynorsk', 'Norsk Nynorsk'].freeze, no: ['Norwegian', 'Norsk'].freeze, nr: ['Southern Ndebele', 'isiNdebele'].freeze, nv: ['Navajo', 'Diné bizaad'].freeze, From 443d114574ef152f14815afc5c4ed5c977dd9205 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 17 Mar 2022 16:32:11 +0100 Subject: [PATCH 12/73] Fix encoding error in OpenGraph account description (#17821) Fixes #17816 --- app/helpers/accounts_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/accounts_helper.rb b/app/helpers/accounts_helper.rb index db3da2b05..a33961724 100644 --- a/app/helpers/accounts_helper.rb +++ b/app/helpers/accounts_helper.rb @@ -95,7 +95,7 @@ module AccountsHelper ].join(' '), ].join(', ') - [prepend_str, account.note].join(' · ') + [prepend_str, account.note].join(' · ') end def svg_logo From 357ca69dc037a0543118604bc6dae270319ec827 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Mar 2022 09:34:57 +0900 Subject: [PATCH 13/73] Bump rubocop-rails from 2.13.2 to 2.14.0 (#17790) Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.13.2 to 2.14.0. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.13.2...v2.14.0) --- updated-dependencies: - dependency-name: rubocop-rails dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index 44f11c84f..39fa3f3e8 100644 --- a/Gemfile +++ b/Gemfile @@ -133,7 +133,7 @@ group :development do gem 'letter_opener_web', '~> 2.0' gem 'memory_profiler' gem 'rubocop', '~> 1.25', require: false - gem 'rubocop-rails', '~> 2.13', require: false + gem 'rubocop-rails', '~> 2.14', require: false gem 'brakeman', '~> 5.2', require: false gem 'bundler-audit', '~> 0.9', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 610503749..1e42cb48e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -432,7 +432,7 @@ GEM orm_adapter (0.5.0) ox (2.14.10) parallel (1.21.0) - parser (3.1.0.0) + parser (3.1.1.0) ast (~> 2.4.1) parslet (2.0.0) pastel (0.8.0) @@ -524,7 +524,7 @@ GEM redis (4.5.1) redis-namespace (1.8.2) redis (>= 3.0.4) - regexp_parser (2.2.0) + regexp_parser (2.2.1) request_store (1.5.0) rack (>= 1.4) responders (3.0.1) @@ -568,9 +568,9 @@ GEM rubocop-ast (>= 1.15.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.15.1) - parser (>= 3.0.1.1) - rubocop-rails (2.13.2) + rubocop-ast (1.16.0) + parser (>= 3.1.1.0) + rubocop-rails (2.14.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.7.0, < 2.0) @@ -815,7 +815,7 @@ DEPENDENCIES rspec-sidekiq (~> 3.1) rspec_junit_formatter (~> 0.5) rubocop (~> 1.25) - rubocop-rails (~> 2.13) + rubocop-rails (~> 2.14) ruby-progressbar (~> 1.11) sanitize (~> 6.0) scenic (~> 1.6) From bf846543452f341dd0d96bd3f263ebf0707a8458 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 18 Mar 2022 09:51:58 +0900 Subject: [PATCH 14/73] Bump rubocop from 1.25.1 to 1.26.0 (#17789) Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.25.1 to 1.26.0. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.25.1...v1.26.0) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 39fa3f3e8..536470c7d 100644 --- a/Gemfile +++ b/Gemfile @@ -132,7 +132,7 @@ group :development do gem 'letter_opener', '~> 1.7' gem 'letter_opener_web', '~> 2.0' gem 'memory_profiler' - gem 'rubocop', '~> 1.25', require: false + gem 'rubocop', '~> 1.26', require: false gem 'rubocop-rails', '~> 2.14', require: false gem 'brakeman', '~> 5.2', require: false gem 'bundler-audit', '~> 0.9', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 1e42cb48e..da4070dee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -559,13 +559,13 @@ GEM rspec-support (3.11.0) rspec_junit_formatter (0.5.1) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.25.1) + rubocop (1.26.0) parallel (~> 1.10) parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml - rubocop-ast (>= 1.15.1, < 2.0) + rubocop-ast (>= 1.16.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) rubocop-ast (1.16.0) @@ -814,7 +814,7 @@ DEPENDENCIES rspec-rails (~> 5.1) rspec-sidekiq (~> 3.1) rspec_junit_formatter (~> 0.5) - rubocop (~> 1.25) + rubocop (~> 1.26) rubocop-rails (~> 2.14) ruby-progressbar (~> 1.11) sanitize (~> 6.0) From 3349cbeb3ed0edc118b5c66270367b3ca03b93b2 Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sat, 19 Mar 2022 17:24:08 +0900 Subject: [PATCH 15/73] Fix clean_discarded_statuses (#17822) --- app/workers/scheduler/user_cleanup_scheduler.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/workers/scheduler/user_cleanup_scheduler.rb b/app/workers/scheduler/user_cleanup_scheduler.rb index 750d2127b..d1f00c47f 100644 --- a/app/workers/scheduler/user_cleanup_scheduler.rb +++ b/app/workers/scheduler/user_cleanup_scheduler.rb @@ -27,7 +27,7 @@ class Scheduler::UserCleanupScheduler end def clean_discarded_statuses! - Status.discarded.where('deleted_at <= ?', 30.days.ago).find_in_batches do |statuses| + Status.unscoped.discarded.where('deleted_at <= ?', 30.days.ago).find_in_batches do |statuses| RemovalWorker.push_bulk(statuses) do |status| [status.id, { 'immediate' => true }] end From 8ee4fde19b1a9bd55d9ff9c8c0d0e6a3546c6782 Mon Sep 17 00:00:00 2001 From: Daniel Jakots Date: Sat, 19 Mar 2022 04:24:26 -0400 Subject: [PATCH 16/73] Bump NODE_VER to 16.14.2 (#17825) See the announcement https://nodejs.org/en/blog/vulnerability/mar-2022-security-releases/ --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1b3661561..2073cbebf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ SHELL ["/bin/bash", "-c"] RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections # Install Node v16 (LTS) -ENV NODE_VER="16.13.2" +ENV NODE_VER="16.14.2" RUN ARCH= && \ dpkgArch="$(dpkg --print-architecture)" && \ case "${dpkgArch##*-}" in \ From c0e3b20c58cefd3625bb3c96544ddc2d53a7439c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 19 Mar 2022 16:23:01 +0100 Subject: [PATCH 17/73] New Crowdin updates (#17817) * New translations devise.en.yml (Danish) * New translations devise.en.yml (Danish) * New translations devise.en.yml (Danish) * New translations devise.en.yml (Danish) * New translations devise.en.yml (Danish) * New translations devise.en.yml (Danish) * New translations en.json (Vietnamese) * New translations en.yml (Vietnamese) * New translations doorkeeper.en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.json (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.json (Russian) * New translations en.yml (Japanese) * New translations en.yml (Japanese) * New translations en.json (Japanese) * New translations en.yml (Japanese) * New translations en.json (Catalan) * New translations en.json (Slovak) * New translations en.yml (Slovak) * New translations en.json (Catalan) * New translations en.json (Slovak) * New translations en.json (Catalan) * New translations simple_form.en.yml (Slovak) * New translations doorkeeper.en.yml (Slovak) * New translations devise.en.yml (Catalan) * New translations devise.en.yml (Catalan) * New translations doorkeeper.en.yml (Catalan) * New translations devise.en.yml (Catalan) * New translations doorkeeper.en.yml (Catalan) * New translations en.yml (Catalan) * New translations en.yml (Catalan) * New translations simple_form.en.yml (Thai) * New translations en.yml (Thai) * New translations en.json (Ukrainian) * New translations devise.en.yml (Danish) * New translations doorkeeper.en.yml (Danish) * New translations devise.en.yml (Danish) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Ukrainian) * New translations doorkeeper.en.yml (Ukrainian) * New translations en.yml (Vietnamese) * New translations doorkeeper.en.yml (Danish) * New translations en.yml (Vietnamese) * New translations doorkeeper.en.yml (Danish) * New translations doorkeeper.en.yml (Danish) * New translations doorkeeper.en.yml (Danish) * New translations doorkeeper.en.yml (Danish) * New translations doorkeeper.en.yml (Danish) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.yml (Japanese) * New translations en.yml (Vietnamese) * New translations en.json (Vietnamese) * New translations en.json (Japanese) * New translations en.json (Japanese) * New translations simple_form.en.yml (Japanese) * New translations simple_form.en.yml (Japanese) * New translations en.json (Russian) * New translations en.json (Russian) * New translations en.json (Russian) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations simple_form.en.yml (Thai) * New translations en.yml (Thai) * Run `bundle exec i18n-tasks normalize` * Run `yarn manage:translations` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/ca.json | 24 ++++----- app/javascript/mastodon/locales/fa.json | 46 ++++++++--------- app/javascript/mastodon/locales/ja.json | 22 ++++---- app/javascript/mastodon/locales/ru.json | 32 ++++++------ app/javascript/mastodon/locales/sk.json | 8 +-- app/javascript/mastodon/locales/uk.json | 10 ++-- app/javascript/mastodon/locales/vi.json | 20 ++++---- config/locales/ca.yml | 22 ++++---- config/locales/devise.ca.yml | 32 ++++++------ config/locales/devise.da.yml | 34 ++++++------- config/locales/doorkeeper.ca.yml | 22 ++++---- config/locales/doorkeeper.da.yml | 68 ++++++++++++------------- config/locales/doorkeeper.sk.yml | 1 + config/locales/doorkeeper.uk.yml | 4 ++ config/locales/doorkeeper.vi.yml | 8 +-- config/locales/ja.yml | 10 ++-- config/locales/ku.yml | 12 ++--- config/locales/simple_form.ja.yml | 7 +++ config/locales/simple_form.sk.yml | 3 ++ config/locales/simple_form.th.yml | 2 + config/locales/sk.yml | 2 + config/locales/th.yml | 8 +++ config/locales/uk.yml | 18 ++++++- config/locales/vi.yml | 48 ++++++++--------- 24 files changed, 255 insertions(+), 208 deletions(-) diff --git a/app/javascript/mastodon/locales/ca.json b/app/javascript/mastodon/locales/ca.json index 287fd0771..055732cfd 100644 --- a/app/javascript/mastodon/locales/ca.json +++ b/app/javascript/mastodon/locales/ca.json @@ -328,7 +328,7 @@ "notifications.column_settings.filter_bar.category": "Barra ràpida de filtres", "notifications.column_settings.filter_bar.show_bar": "Mostra la barra de filtres", "notifications.column_settings.follow": "Nous seguidors:", - "notifications.column_settings.follow_request": "Nova sol·licitud de seguiment:", + "notifications.column_settings.follow_request": "Noves sol·licituts de seguiment:", "notifications.column_settings.mention": "Mencions:", "notifications.column_settings.poll": "Resultats de l’enquesta:", "notifications.column_settings.push": "Notificacions push", @@ -353,7 +353,7 @@ "notifications.permission_denied_alert": "No es poden activar les notificacions del escriptori perquè el permís del navegador ha estat denegat abans", "notifications.permission_required": "Les notificacions d'escriptori no estan disponibles perquè el permís requerit no ha estat concedit.", "notifications_permission_banner.enable": "Activar les notificacions d’escriptori", - "notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no està obert cal activar les notificacions d’escriptori. Pots controlar amb precisió quins tipus d’interaccions generen notificacions d’escriptori després d’activar el botó {icon} de dalt.", + "notifications_permission_banner.how_to_control": "Per a rebre notificacions quan Mastodon no és obert cal activar les notificacions d’escriptori. Pots controlar amb precisió quins tipus d’interaccions generen notificacions d’escriptori després d’activar el botó {icon} de dalt.", "notifications_permission_banner.title": "Mai et perdis res", "picture_in_picture.restore": "Retorna’l", "poll.closed": "Finalitzada", @@ -376,7 +376,7 @@ "privacy.unlisted.short": "No llistat", "refresh": "Actualitza", "regeneration_indicator.label": "Carregant…", - "regeneration_indicator.sublabel": "S'està preparant la línia de temps Inici!", + "regeneration_indicator.sublabel": "S'està preparant la teva línia de temps Inici!", "relative_time.days": "fa {number} dies", "relative_time.full.days": "fa {number, plural, one {# dia} other {# dies}}", "relative_time.full.hours": "fa {number, plural, one {# hora} other {# hores}}", @@ -394,7 +394,7 @@ "report.categories.other": "Altres", "report.categories.spam": "Contingut brossa", "report.categories.violation": "El contingut viola una o més regles del servidor", - "report.category.subtitle": "Tria la millor combinació", + "report.category.subtitle": "Tria la millor coincidència", "report.category.title": "Digue'ns què està passant amb aquest {type}", "report.category.title_account": "perfil", "report.category.title_status": "publicació", @@ -410,7 +410,7 @@ "report.reasons.dislike_description": "Això no és quelcom que vulguis veure", "report.reasons.other": "Això és una altre cosa", "report.reasons.other_description": "El problema no encaixa en altres categories", - "report.reasons.spam": "Això és brossa", + "report.reasons.spam": "Això és contingut brossa", "report.reasons.spam_description": "Enllaços maliciosos, compromís falç o respostes repetitives", "report.reasons.violation": "Viola les regles del servidor", "report.reasons.violation_description": "Ets conscient que trenca regles especifiques", @@ -447,7 +447,7 @@ "status.cancel_reblog_private": "Desfer l'impuls", "status.cannot_reblog": "Aquesta publicació no pot ser impulsada", "status.copy": "Copia l'enllaç a l'estat", - "status.delete": "Esborrar", + "status.delete": "Esborra", "status.detailed_status": "Visualització detallada de la conversa", "status.direct": "Missatge directe @{name}", "status.edit": "Edita", @@ -465,17 +465,17 @@ "status.mute": "Silenciar @{name}", "status.mute_conversation": "Silenciar conversació", "status.open": "Ampliar aquest estat", - "status.pin": "Fixat en el perfil", + "status.pin": "Fixa en el perfil", "status.pinned": "Publicació fixada", "status.read_more": "Llegir més", "status.reblog": "Impuls", - "status.reblog_private": "Impulsar a l'audiència original", + "status.reblog_private": "Impulsar amb la visibilitat original", "status.reblogged_by": "{name} ha impulsat", "status.reblogs.empty": "Encara ningú no ha impulsat aquesta publicació. Quan algú ho faci, apareixeran aquí.", "status.redraft": "Esborrar i reescriure", "status.remove_bookmark": "Suprimeix el marcador", "status.reply": "Respondre", - "status.replyAll": "Respondre al tema", + "status.replyAll": "Respondre al fil", "status.report": "Informar sobre @{name}", "status.sensitive_warning": "Contingut sensible", "status.share": "Compartir", @@ -510,11 +510,11 @@ "units.short.million": "{count}M", "units.short.thousand": "{count}K", "upload_area.title": "Arrossega i deixa anar per a carregar", - "upload_button.label": "Afegir multimèdia (JPEG, PNG, GIF, WebM, MP4, MOV)", + "upload_button.label": "Afegir mèdia, un vídeo o un fitxer d'audio", "upload_error.limit": "S'ha superat el límit de càrrega d'arxius.", "upload_error.poll": "No es permet l'enviament de fitxers en les enquestes.", "upload_form.audio_description": "Descriviu per a les persones amb pèrdua auditiva", - "upload_form.description": "Descriure els problemes visuals", + "upload_form.description": "Descriure per els que tenen problemes visuals", "upload_form.edit": "Edita", "upload_form.thumbnail": "Canvia la miniatura", "upload_form.undo": "Esborra", @@ -523,7 +523,7 @@ "upload_modal.apply": "Aplica", "upload_modal.applying": "Aplicant…", "upload_modal.choose_image": "Tria imatge", - "upload_modal.description_placeholder": "Jove xef, porti whisky amb quinze glaçons d’hidrogen, coi!", + "upload_modal.description_placeholder": "Una ràpida guineu marró salta sobre el gos mandrós", "upload_modal.detect_text": "Detecta el text de l'imatge", "upload_modal.edit_media": "Editar multimèdia", "upload_modal.hint": "Fes clic o arrossega el cercle en la previsualització per escollir el punt focal que sempre serà visible de totes les miniatures.", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 659336393..820b90640 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -18,7 +18,7 @@ "account.followers": "پی‌گیرندگان", "account.followers.empty": "هنوز کسی این کاربر را پی‌گیری نمی‌کند.", "account.followers_counter": "{count, plural, one {{counter} پی‌گیرنده} other {{counter} پی‌گیرنده}}", - "account.following": "Following", + "account.following": "پی می‌گیرید", "account.following_counter": "{count, plural, one {{counter} پی‌گرفته} other {{counter} پی‌گرفته}}", "account.follows.empty": "این کاربر هنوز پی‌گیر کسی نیست.", "account.follows_you": "پی می‌گیردتان", @@ -41,12 +41,12 @@ "account.statuses_counter": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}", "account.unblock": "رفع مسدودیت @{name}", "account.unblock_domain": "رفع مسدودیت دامنهٔ {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "رفع مسدودیت", "account.unendorse": "معرّفی نکردن در نمایه", "account.unfollow": "ناپی‌گیری", "account.unmute": "ناخموشی @{name}", "account.unmute_notifications": "ناخموشی آگاهی‌ها از @{name}", - "account.unmute_short": "Unmute", + "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", @@ -106,7 +106,7 @@ "compose_form.poll.switch_to_single": "تبدیل به نظرسنجی تک‌گزینه‌ای", "compose_form.publish": "بوق", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "ذخیرهٔ تغییرات", "compose_form.sensitive.hide": "{count, plural, one {علامت‌گذاری رسانه به عنوان حساس} other {علامت‌گذاری رسانه‌ها به عنوان حساس}}", "compose_form.sensitive.marked": "{count, plural, one {رسانه به عنوان حساس علامت‌گذاری شد} other {رسانه‌ها به عنوان حساس علامت‌گذاری شدند}}", "compose_form.sensitive.unmarked": "{count, plural, one {رسانه به عنوان حساس علامت‌گذاری نشد} other {رسانه‌ها به عنوان حساس علامت‌گذاری نشدند}}", @@ -187,12 +187,12 @@ "error.unexpected_crash.next_steps_addons": "لطفاً از کارشان انداخته و صفحه را نوسازی کنید. اگر کمکی نکرد، شاید همچنان بتوانید با مرورگری دیگر یا با کاره‌ای بومی از ماستودون استفاده کنید.", "errors.unexpected_crash.copy_stacktrace": "رونوشت از جزئیات اشکال", "errors.unexpected_crash.report_issue": "گزارش مشکل", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", - "explore.trending_tags": "Hashtags", + "explore.search_results": "نتایج جست‌وجو", + "explore.suggested_follows": "برای شما", + "explore.title": "کاوش", + "explore.trending_links": "اخبار", + "explore.trending_statuses": "فرسته‌ها", + "explore.trending_tags": "هشتگ‌ها", "follow_recommendations.done": "انجام شد", "follow_recommendations.heading": "افرادی را که می‌خواهید فرسته‌هایشان را ببینید پی‌گیری کنید! این‌ها تعدادی پیشنهاد هستند.", "follow_recommendations.lead": "فرسته‌های افرادی که دنبال می‌کنید به ترتیب زمانی در خوراک خانه‌تان نشان داده خواهد شد. از اشتباه کردن نترسید. می‌توانید به همین سادگی در هر زمانی از دنبال کردن افراد دست بکشید!", @@ -294,7 +294,7 @@ "navigation_bar.discover": "گشت و گذار", "navigation_bar.domain_blocks": "دامنه‌های مسدود شده", "navigation_bar.edit_profile": "ویرایش نمایه", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "کاوش", "navigation_bar.favourites": "پسندیده‌ها", "navigation_bar.filters": "واژه‌های خموش", "navigation_bar.follow_requests": "درخواست‌های پی‌گیری", @@ -309,7 +309,7 @@ "navigation_bar.preferences": "ترجیحات", "navigation_bar.public_timeline": "خط زمانی همگانی", "navigation_bar.security": "امنیت", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} ثبت نام کرد", "notification.favourite": "‫{name}‬ فرسته‌تان را پسندید", "notification.follow": "‫{name}‬ پی‌گیرتان شد", "notification.follow_request": "{name} می‌خواهد پی‌گیر شما باشد", @@ -318,10 +318,10 @@ "notification.poll": "نظرسنجی‌ای که در آن رأی دادید به پایان رسیده است", "notification.reblog": "‫{name}‬ فرسته‌تان را تقویت کرد", "notification.status": "{name} چیزی فرستاد", - "notification.update": "{name} edited a post", + "notification.update": "{name} فرسته‌ای را ویرایش کرد", "notifications.clear": "پاک‌سازی آگاهی‌ها", "notifications.clear_confirmation": "مطمئنید می‌خواهید همهٔ آگاهی‌هایتان را برای همیشه پاک کنید؟", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "ثبت نام‌های جدید:", "notifications.column_settings.alert": "آگاهی‌های میزکار", "notifications.column_settings.favourite": "پسندیده‌ها:", "notifications.column_settings.filter_bar.advanced": "نمایش همۀ دسته‌ها", @@ -338,7 +338,7 @@ "notifications.column_settings.status": "فرسته‌های جدید:", "notifications.column_settings.unread_notifications.category": "آگاهی‌های خوانده نشده", "notifications.column_settings.unread_notifications.highlight": "پررنگ کردن آگاهی‌های خوانده نشده", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "ویرایش‌ها:", "notifications.filter.all": "همه", "notifications.filter.boosts": "تقویت‌ها", "notifications.filter.favourites": "پسندها", @@ -378,20 +378,20 @@ "regeneration_indicator.label": "در حال بار شدن…", "regeneration_indicator.sublabel": "خوراک خانگیان دارد آماده می‌شود!", "relative_time.days": "{number} روز", - "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", - "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", - "relative_time.full.just_now": "just now", - "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", - "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", + "relative_time.full.days": "{number, plural, one {# روز} other {# روز}} پیش", + "relative_time.full.hours": "{number, plural, one {# ساعت} other {# ساعت}} پیش", + "relative_time.full.just_now": "همين آلان", + "relative_time.full.minutes": "{number, plural, one {# دقیقه} other {# دقیقه}} پیش", + "relative_time.full.seconds": "{number, plural, one {# ثانیه} other {# ثانیه}} پیش", "relative_time.hours": "{number} ساعت", "relative_time.just_now": "حالا", "relative_time.minutes": "{number} دقیقه", "relative_time.seconds": "{number} ثانیه", "relative_time.today": "امروز", "reply_indicator.cancel": "لغو", - "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", + "report.block": "مسدود کردن", + "report.block_explanation": "شما فرسته‌هایشان را نخواهید دید. آن‌ها نمی‌توانند فرسته‌هایتان را ببینند یا شما را پی‌بگیرند. آنها می‌توانند بگویند که مسدود شده‌اند.", + "report.categories.other": "غیره", "report.categories.spam": "Spam", "report.categories.violation": "Content violates one or more server rules", "report.category.subtitle": "Choose the best match", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index d8e62b621..8c7878a84 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -18,7 +18,7 @@ "account.followers": "フォロワー", "account.followers.empty": "まだ誰もフォローしていません。", "account.followers_counter": "{counter} フォロワー", - "account.following": "Following", + "account.following": "フォロー中", "account.following_counter": "{counter} フォロー", "account.follows.empty": "まだ誰もフォローしていません。", "account.follows_you": "フォローされています", @@ -41,12 +41,12 @@ "account.statuses_counter": "{counter} 投稿", "account.unblock": "@{name}さんのブロックを解除", "account.unblock_domain": "{domain}のブロックを解除", - "account.unblock_short": "Unblock", + "account.unblock_short": "ブロック解除", "account.unendorse": "プロフィールから外す", "account.unfollow": "フォロー解除", "account.unmute": "@{name}さんのミュートを解除", "account.unmute_notifications": "@{name}さんからの通知を受け取るようにする", - "account.unmute_short": "Unmute", + "account.unmute_short": "ミュート解除", "account_note.placeholder": "クリックしてメモを追加", "admin.dashboard.daily_retention": "サインアップ後の日ごとのユーザー継続率", "admin.dashboard.monthly_retention": "サインアップ後の月ごとのユーザー継続率", @@ -188,7 +188,7 @@ "errors.unexpected_crash.copy_stacktrace": "スタックトレースをクリップボードにコピー", "errors.unexpected_crash.report_issue": "問題を報告", "explore.search_results": "検索結果", - "explore.suggested_follows": "For you", + "explore.suggested_follows": "あなたに", "explore.title": "エクスプローラー", "explore.trending_links": "ニュース", "explore.trending_statuses": "投稿", @@ -321,7 +321,7 @@ "notification.update": "{name} が投稿を編集しました", "notifications.clear": "通知を消去", "notifications.clear_confirmation": "本当に通知を消去しますか?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "新規登録:", "notifications.column_settings.alert": "デスクトップ通知", "notifications.column_settings.favourite": "お気に入り:", "notifications.column_settings.filter_bar.advanced": "すべてのカテゴリを表示", @@ -390,7 +390,7 @@ "relative_time.today": "今日", "reply_indicator.cancel": "キャンセル", "report.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.block_explanation": "相手の投稿が表示されなくなります。相手はあなたの投稿を見ることやフォローすることができません。相手はブロックされていることがわかります。", "report.categories.other": "その他", "report.categories.spam": "スパム", "report.categories.violation": "サーバーのルールに違反", @@ -399,11 +399,11 @@ "report.category.title_account": "プロフィール", "report.category.title_status": "投稿", "report.close": "完了", - "report.comment.title": "Is there anything else you think we should know?", + "report.comment.title": "その他に私たちに伝えておくべき事はありますか?", "report.forward": "{target} に転送する", "report.forward_hint": "このアカウントは別のサーバーに所属しています。通報内容を匿名で転送しますか?", "report.mute": "ミュート", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.mute_explanation": "相手の投稿は表示されなくなります。相手は引き続きあなたをフォローして、あなたの投稿を表示することができますが、ミュートされていることはわかりません。", "report.next": "次へ", "report.placeholder": "追加コメント", "report.reasons.dislike": "興味がありません", @@ -421,9 +421,9 @@ "report.submit": "通報する", "report.target": "{target}さんを通報する", "report.thanks.take_action": "次のような方法はいかがでしょうか?", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", + "report.thanks.take_action_actionable": "私達が確認している間でも、あなたは @{name} さんに対して対応することが出来ます:", "report.thanks.title": "見えないようにしたいですか?", - "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", + "report.thanks.title_actionable": "ご報告ありがとうございます、追って確認します。", "report.unfollow": "@{name}のフォローを解除", "report.unfollow_explanation": "このアカウントをフォローしています。ホームフィードに彼らの投稿を表示しないようにするには、彼らのフォローを外してください。", "search.placeholder": "検索", @@ -436,7 +436,7 @@ "search_results.accounts": "人々", "search_results.all": "すべて", "search_results.hashtags": "ハッシュタグ", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "この検索条件では何も見つかりませんでした", "search_results.statuses": "投稿", "search_results.statuses_fts_disabled": "このサーバーでは投稿本文の検索は利用できません。", "search_results.total": "{count, number}件の結果", diff --git a/app/javascript/mastodon/locales/ru.json b/app/javascript/mastodon/locales/ru.json index 1bbc2918c..79fac6eb5 100644 --- a/app/javascript/mastodon/locales/ru.json +++ b/app/javascript/mastodon/locales/ru.json @@ -18,7 +18,7 @@ "account.followers": "Подписчики", "account.followers.empty": "На этого пользователя пока никто не подписан.", "account.followers_counter": "{count, plural, one {{counter} подписчик} many {{counter} подписчиков} other {{counter} подписчика}}", - "account.following": "Following", + "account.following": "Подписки", "account.following_counter": "{count, plural, one {{counter} подписка} many {{counter} подписок} other {{counter} подписки}}", "account.follows.empty": "Этот пользователь пока ни на кого не подписался.", "account.follows_you": "Подписан(а) на вас", @@ -95,7 +95,7 @@ "compose_form.direct_message_warning": "Адресованные посты отправляются и видны только упомянутым в них пользователям.", "compose_form.direct_message_warning_learn_more": "Подробнее", "compose_form.hashtag_warning": "Так как этот пост не публичный, он не отобразится в поиске по хэштегам.", - "compose_form.lock_disclaimer": "Ваша учётная запись не {locked}. Любой пользователь сможет подписаться на вас и просматривать посты для подписчиков.", + "compose_form.lock_disclaimer": "Ваша учётная запись {locked}. Любой пользователь сможет подписаться на вас и просматривать посты для подписчиков.", "compose_form.lock_disclaimer.lock": "не закрыта", "compose_form.placeholder": "О чём думаете?", "compose_form.poll.add_option": "Добавить вариант", @@ -390,42 +390,42 @@ "relative_time.today": "сегодня", "reply_indicator.cancel": "Отмена", "report.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.block_explanation": "В перестаните видеть посты этого пользователя, а он(а) больше не сможет подписаться на вас и читать ваши посты. Он(а) сможет понять что вы заблокировали его/её.", "report.categories.other": "Другое", "report.categories.spam": "Спам", "report.categories.violation": "Содержимое нарушает одно или несколько правил узла", "report.category.subtitle": "Выберите наиболее подходящее", - "report.category.title": "Расскажите нам, что происходит с {type}", - "report.category.title_account": "профиль", - "report.category.title_status": "пост", + "report.category.title": "Расскажите нам, что не так с {type}", + "report.category.title_account": "этим профилем", + "report.category.title_status": "этим постом", "report.close": "Готово", - "report.comment.title": "Есть что-нибудь еще, что мы должны знать?", - "report.forward": "Переслать в {target}", + "report.comment.title": "Есть ли что-нибудь ещё, что нам стоит знать?", + "report.forward": "Переслать на {target}", "report.forward_hint": "Эта учётная запись расположена на другом узле. Отправить туда анонимную копию вашей жалобы?", - "report.mute": "Mute", + "report.mute": "Игнорировать", "report.mute_explanation": "Вы не будете видеть их посты. Они по-прежнему могут подписываться на вас и видеть ваши посты, но не будут знать, что они в списке игнорируемых.", "report.next": "Далее", - "report.placeholder": "Комментарий", + "report.placeholder": "Дополнительные комментарии", "report.reasons.dislike": "Мне не нравится", "report.reasons.dislike_description": "Не хотел(а) бы видеть такой контент", "report.reasons.other": "Другое", - "report.reasons.other_description": "Проблема не подпадает под другие категории", + "report.reasons.other_description": "Проблема не попадает ни под одну из категорий", "report.reasons.spam": "Это спам", - "report.reasons.spam_description": "Вредоносные ссылки, поддельные действия или повторяющиеся ответы", + "report.reasons.spam_description": "Вредоносные ссылки, фальшивое взаимодействие или повторяющиеся ответы", "report.reasons.violation": "Нарушаются правила сервера", "report.reasons.violation_description": "Вы знаете, что подобное нарушает определенные правила", "report.rules.subtitle": "Выберите все подходящие варианты", "report.rules.title": "Какие правила нарушены?", "report.statuses.subtitle": "Выберите все подходящие варианты", - "report.statuses.title": "Есть ли сообщения, подтверждающие основания этой жалобы?", + "report.statuses.title": "Выберите посты, которые относятся к вашей жалобе.", "report.submit": "Отправить", "report.target": "Жалоба на {target}", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", + "report.thanks.take_action": "Вот несколько опций управления тем, что вы видите в Mastodon:", + "report.thanks.take_action_actionable": "Пока мы рассматриваем его, вот действия, которые вы можете предпринять лично против @{name}:", "report.thanks.title": "Не хотите видеть это?", "report.thanks.title_actionable": "Спасибо за обращение, мы его рассмотрим.", "report.unfollow": "Отписаться от @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "report.unfollow_explanation": "Вы подписаны на этого пользователя. Чтобы не видеть его/её посты в своей домашней ленте, отпишитесь от него/неё.", "search.placeholder": "Поиск", "search_popout.search_format": "Продвинутый формат поиска", "search_popout.tips.full_text": "Поиск по простому тексту отобразит посты, которые вы написали, добавили в избранное, продвинули или в которых были упомянуты, а также подходящие имена пользователей и хэштеги.", diff --git a/app/javascript/mastodon/locales/sk.json b/app/javascript/mastodon/locales/sk.json index 60b513aa1..860e65413 100644 --- a/app/javascript/mastodon/locales/sk.json +++ b/app/javascript/mastodon/locales/sk.json @@ -389,7 +389,7 @@ "relative_time.seconds": "{number}sek", "relative_time.today": "dnes", "reply_indicator.cancel": "Zrušiť", - "report.block": "Block", + "report.block": "Blokuj", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.categories.other": "Other", "report.categories.spam": "Spam", @@ -424,7 +424,7 @@ "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.title": "Nechceš to vidieť?", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", + "report.unfollow": "Nesleduj @{name}", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "search.placeholder": "Hľadaj", "search_popout.search_format": "Pokročilé vyhľadávanie", @@ -434,7 +434,7 @@ "search_popout.tips.text": "Vráti jednoduchý textový výpis zhodujúcich sa mien, prezývok a haštagov", "search_popout.tips.user": "užívateľ", "search_results.accounts": "Ľudia", - "search_results.all": "All", + "search_results.all": "Všetky", "search_results.hashtags": "Haštagy", "search_results.nothing_found": "Could not find anything for these search terms", "search_results.statuses": "Príspevky", @@ -451,7 +451,7 @@ "status.detailed_status": "Podrobný náhľad celej konverzácie", "status.direct": "Priama správa pre @{name}", "status.edit": "Uprav", - "status.edited": "Edited {date}", + "status.edited": "Upravené {date}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.embed": "Vložiť", "status.favourite": "Páči sa mi", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 06bb94307..876f8aa8a 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -41,7 +41,7 @@ "account.statuses_counter": "{count, plural, one {{counter} Пост} few {{counter} Пости} many {{counter} Постів} other {{counter} Пости}}", "account.unblock": "Розблокувати @{name}", "account.unblock_domain": "Розблокувати {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Розблокувати", "account.unendorse": "Не публікувати у профілі", "account.unfollow": "Відписатися", "account.unmute": "Зняти глушення з @{name}", @@ -187,7 +187,7 @@ "error.unexpected_crash.next_steps_addons": "Спробуйте їх вимкнути та оновити сторінку. Якщо це не допомагає, ви можете використовувати Mastodon через інший браузер або окремий застосунок.", "errors.unexpected_crash.copy_stacktrace": "Скопіювати трасування стека у буфер обміну", "errors.unexpected_crash.report_issue": "Повідомити про проблему", - "explore.search_results": "Search results", + "explore.search_results": "Результати пошуку", "explore.suggested_follows": "Для вас", "explore.title": "Огляд", "explore.trending_links": "Новини", @@ -309,7 +309,7 @@ "navigation_bar.preferences": "Налаштування", "navigation_bar.public_timeline": "Глобальна стрічка", "navigation_bar.security": "Безпека", - "notification.admin.sign_up": "{name} signed up", + "notification.admin.sign_up": "{name} приєднується", "notification.favourite": "{name} вподобав(-ла) ваш допис", "notification.follow": "{name} підписався(-лась) на вас", "notification.follow_request": "{name} відправив(-ла) запит на підписку", @@ -321,7 +321,7 @@ "notification.update": "{name} змінює допис", "notifications.clear": "Очистити сповіщення", "notifications.clear_confirmation": "Ви впевнені, що хочете назавжди видалити всі сповіщеня?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Нові реєстрації:", "notifications.column_settings.alert": "Сповіщення на комп'ютері", "notifications.column_settings.favourite": "Вподобане:", "notifications.column_settings.filter_bar.advanced": "Показати всі категорії", @@ -389,7 +389,7 @@ "relative_time.seconds": "{number}с", "relative_time.today": "сьогодні", "reply_indicator.cancel": "Відмінити", - "report.block": "Block", + "report.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": "Інше", "report.categories.spam": "Спам", diff --git a/app/javascript/mastodon/locales/vi.json b/app/javascript/mastodon/locales/vi.json index b6db3c14b..d47033881 100644 --- a/app/javascript/mastodon/locales/vi.json +++ b/app/javascript/mastodon/locales/vi.json @@ -8,7 +8,7 @@ "account.blocked": "Đã chặn", "account.browse_more_on_origin_server": "Truy cập trang của người này", "account.cancel_follow_request": "Hủy yêu cầu theo dõi", - "account.direct": "Nhắn tin @{name}", + "account.direct": "Nhắn riêng @{name}", "account.disable_notifications": "Không thông báo khi @{name} đăng tút", "account.domain_blocked": "Người đã chặn", "account.edit_profile": "Chỉnh sửa trang cá nhân", @@ -49,9 +49,9 @@ "account.unmute_short": "Bỏ ẩn", "account_note.placeholder": "Nhấn để thêm", "admin.dashboard.daily_retention": "Tỉ lệ người dùng sau đăng ký ở lại theo ngày", - "admin.dashboard.monthly_retention": "Tỉ lệ người dùng sau đăng ký ở lại theo tháng", + "admin.dashboard.monthly_retention": "Tỉ lệ người dùng ở lại sau khi đăng ký", "admin.dashboard.retention.average": "Trung bình", - "admin.dashboard.retention.cohort": "Đăng ký tháng", + "admin.dashboard.retention.cohort": "Tháng đăng ký", "admin.dashboard.retention.cohort_size": "Người dùng mới", "alert.rate_limited.message": "Vui lòng thử lại sau {retry_time, time, medium}.", "alert.rate_limited.title": "Vượt giới hạn", @@ -179,7 +179,7 @@ "empty_column.list": "Chưa có tút. Khi những người trong danh sách này đăng tút mới, chúng sẽ xuất hiện ở đây.", "empty_column.lists": "Bạn chưa tạo danh sách nào.", "empty_column.mutes": "Bạn chưa ẩn bất kỳ ai.", - "empty_column.notifications": "Bạn chưa có thông báo nào. Hãy thử theo dõi hoặc nhắn tin cho một ai đó.", + "empty_column.notifications": "Bạn chưa có thông báo nào. Hãy thử theo dõi hoặc nhắn riêng cho một ai đó.", "empty_column.public": "Trống trơn! Bạn hãy viết gì đó hoặc bắt đầu theo dõi những người khác", "error.unexpected_crash.explanation": "Trang này có thể không hiển thị chính xác do lỗi lập trình Mastodon hoặc vấn đề tương thích trình duyệt.", "error.unexpected_crash.explanation_addons": "Trang này không thể hiển thị do xung khắc với add-on của trình duyệt hoặc công cụ tự động dịch ngôn ngữ.", @@ -188,7 +188,7 @@ "errors.unexpected_crash.copy_stacktrace": "Sao chép stacktrace vào clipboard", "errors.unexpected_crash.report_issue": "Báo cáo lỗi", "explore.search_results": "Kết quả tìm kiếm", - "explore.suggested_follows": "Đề xuất cho bạn", + "explore.suggested_follows": "Dành cho bạn", "explore.title": "Khám phá", "explore.trending_links": "Tin tức", "explore.trending_statuses": "Tút", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Khám phá", "navigation_bar.domain_blocks": "Máy chủ đã ẩn", "navigation_bar.edit_profile": "Trang cá nhân", - "navigation_bar.explore": "Khám phá", + "navigation_bar.explore": "Xu hướng", "navigation_bar.favourites": "Thích", "navigation_bar.filters": "Bộ lọc từ ngữ", "navigation_bar.follow_requests": "Yêu cầu theo dõi", @@ -309,7 +309,7 @@ "navigation_bar.preferences": "Cài đặt", "navigation_bar.public_timeline": "Thế giới", "navigation_bar.security": "Bảo mật", - "notification.admin.sign_up": "{name} vừa đăng ký", + "notification.admin.sign_up": "{name} đăng ký máy chủ của bạn", "notification.favourite": "{name} thích tút của bạn", "notification.follow": "{name} theo dõi bạn", "notification.follow_request": "{name} yêu cầu theo dõi bạn", @@ -367,7 +367,7 @@ "poll_button.remove_poll": "Hủy cuộc bình chọn", "privacy.change": "Thay đổi quyền riêng tư", "privacy.direct.long": "Chỉ người được nhắc đến mới thấy", - "privacy.direct.short": "Tin nhắn", + "privacy.direct.short": "Nhắn riêng", "privacy.private.long": "Dành riêng cho người theo dõi", "privacy.private.short": "Riêng tư", "privacy.public.long": "Hiện trên bảng tin máy chủ", @@ -449,7 +449,7 @@ "status.copy": "Sao chép URL", "status.delete": "Xóa", "status.detailed_status": "Xem chi tiết thêm", - "status.direct": "Nhắn tin @{name}", + "status.direct": "Nhắn riêng @{name}", "status.edit": "Sửa", "status.edited": "Đã sửa {date}", "status.edited_x_times": "Đã sửa {count, plural, other {{count} lần}}", @@ -483,7 +483,7 @@ "status.show_less_all": "Thu gọn toàn bộ", "status.show_more": "Xem thêm", "status.show_more_all": "Hiển thị tất cả", - "status.show_thread": "Toàn chủ đề", + "status.show_thread": "Xem chuỗi tút này", "status.uncached_media_warning": "Uncached", "status.unmute_conversation": "Quan tâm", "status.unpin": "Bỏ ghim trên trang cá nhân", diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 460feb037..054db2e5b 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -1,7 +1,7 @@ --- ca: about: - about_hashtag_html: Aquests són tuts públics etiquetats amb #%{hashtag}. Pots interactuar amb elles si tens un compte a qualsevol lloc del fedivers. + about_hashtag_html: Aquests són publicacions públiques etiquetades amb #%{hashtag}. Pots interactuar amb elles si tens un compte a qualsevol lloc del fedivers. about_mastodon_html: 'La xarxa social del futur: sense anuncis, sense vigilància corporativa, disseny ètic i descentralització. Posseeix les teves dades amb Mastodon!' about_this: Quant a active_count_after: actiu @@ -25,7 +25,7 @@ ca: instance_actor_flash: | Aquest compte és un actor virtual utilitzat per a representar al propi servidor i no cap usuari individual. S'utilitza per a propòsits de federació i no ha de ser bloquejat si no voleu bloquejar tota la instància, en aquest cas hauríeu d'utilitzar un bloqueig de domini. - learn_more: Més informació + learn_more: Aprèn més logged_in_as_html: Actualment has iniciat sessió com a %{username}. logout_before_registering: Ja has iniciat sessió. privacy_policy: Política de privadesa @@ -35,12 +35,12 @@ ca: server_stats: 'Estadístiques del servidor:' source_code: Codi font status_count_after: - one: estat - other: tuts - status_count_before: Que han escrit + one: publicació + other: publicacions + status_count_before: Que han publicat tagline: Segueix els teus amics i descobreix-ne de nous terms: Termes del servei - unavailable_content: Contingut no disponible + unavailable_content: Servidors moderats unavailable_content_description: domain: Servidor reason: Raó @@ -78,10 +78,10 @@ ca: pin_errors: following: Has d'estar seguint la persona que vulguis avalar posts: - one: Tut - other: Tuts - posts_tab_heading: Tuts - posts_with_replies: Tuts i respostes + one: Publicació + other: Publicacions + posts_tab_heading: Publicacions + posts_with_replies: Publicacions i respostes roles: admin: Administrador bot: Bot @@ -98,7 +98,7 @@ ca: created_msg: La nota de moderació s'ha creat correctament! destroyed_msg: Nota de moderació destruïda amb èxit! accounts: - add_email_domain_block: Afegir el domini de correu a la llista negra + add_email_domain_block: Bloquejar el domini de l'adreça de correu electrònic approve: Aprova approved_msg: L’aplicació del registre de %{username} s’ha aprovat amb èxit are_you_sure: N'estàs segur? diff --git a/config/locales/devise.ca.yml b/config/locales/devise.ca.yml index ff7836711..4c58c432f 100644 --- a/config/locales/devise.ca.yml +++ b/config/locales/devise.ca.yml @@ -25,7 +25,7 @@ ca: explanation: Has creat un compte a %{host} amb aquesta adreça de correu electrònic. Estàs a un sol clic de l'activació. Si no fos així, ignora aquest correu electrònic. explanation_when_pending: Has sol·licitat una invitació a %{host} amb aquesta adreça de correu electrònic. Un cop confirmis la teva adreça de correu electrònic revisarem la teva sol·licitud. No es pot iniciar la sessió fins llavors. Si la teva sol·licitud és rebutjada les teves dades s’eliminaran, de manera que no s’exigirà cap altra acció. Si no has estat tu qui ha fet aquest sol·licitud si us plau ignora aquest correu electrònic. extra_html: Si us plau consulta també les regles del servidor i les nostres condicions de servei. - subject: 'Mastodon: Instruccions de confirmació de %{instance}' + subject: 'Mastodon: Instruccions de confirmació per a %{instance}' title: Verifica l'adreça de correu email_changed: explanation: 'L''adreça de correu del teu compte s''està canviant a:' @@ -34,7 +34,7 @@ ca: title: Adreça de correu electrònic nova password_change: explanation: S'ha canviat la contrasenya del teu compte. - extra: Si no has canviat el teu correu electrònic, és probable que algú hagi accedit al teu compte. Si us plau, canvia la contrasenya immediatament o posa't en contacte amb l'administrador del servidor si no pots accedir al teu compte. + extra: Si no has canviat la teva contrasenya, és probable que algú hagi accedit al teu compte. Si us plau, canvia la contrasenya immediatament o posa't en contacte amb l'administrador del servidor si no pots accedir al teu compte. subject: 'Mastodon: Contrasenya canviada' title: Contrasenya canviada reconfirmation_instructions: @@ -61,7 +61,7 @@ ca: subject: 'Mastodon: codis de recuperació de Dos factors regenerats' title: 2FA codis de recuperació canviats unlock_instructions: - subject: 'Mastodon: Instruccions per a desbloquejar' + subject: 'Mastodon: Instruccions de desbloqueig' webauthn_credential: added: explanation: La següent clau de seguretat s'ha afegit al teu compte @@ -84,34 +84,34 @@ ca: success: Autenticat amb èxit des del compte %{kind}. passwords: no_token: No pots accedir a aquesta pàgina sense provenir des del correu de restabliment de la contrasenya. Si vens des del correu de restabliment de contrasenya, assegura't que estàs emprant l'adreça completa proporcionada. - send_instructions: Si el teu correu electrònic existeix en la nostra base de dades, rebràs en pocs minuts un enllaç de restabliment de contrasenya en l'adreça de correu. Si us plau verifica la teva carpeta de correu brossa if no rebut aquest correu. - send_paranoid_instructions: Si el seu correu electrònic existeix en la nostra base de dades, rebràs un enllaç de restabliment de contrasenya en l'adreça de correu en pocs minuts. + send_instructions: Si el teu correu electrònic existeix en la nostra base de dades, rebràs en pocs minuts un enllaç de restabliment de contrasenya en l'adreça de correu. Si us plau verifica la teva carpeta de correu brossa si no has rebut aquest correu. + send_paranoid_instructions: Si el teu correu electrònic existeix en la nostra base de dades, rebràs un enllaç de restabliment de contrasenya en l'adreça de correu en pocs minuts. Si us plau verifica la carpeta de correu brossa si no reps aquest correu. updated: La contrasenya s'ha canviat correctament. Ara ja estàs registrat. updated_not_active: La contrasenya s'ha canviat correctament. registrations: - destroyed: Adéu! el compte s'ha cancel·lat amb èxit. Desitgem veure't de nou aviat. + destroyed: Adéu! el compte s'ha cancel·lat amb èxit. Desitgem veure't de nou ben aviat. signed_up: Benvingut! T'has registrat amb èxit. - signed_up_but_inactive: T´has registrat amb èxit. No obstant, no podem identificar-te perquè el compte encara no s'ha activat. - signed_up_but_locked: T´has registrat amb èxit. No obstant, no podem identificar-te perquè el compte està blocat. + signed_up_but_inactive: T´has registrat amb èxit. No obstant, no podem iniciar la teva sessió perquè el teu compte encara no s'ha activat. + signed_up_but_locked: T´has registrat amb èxit. No obstant, no podem iniciar la teva sessió perquè el teu compte està bloquejat. signed_up_but_pending: S'ha enviat un missatge amb un enllaç de confirmació a la teva adreça de correu electrònic. Després que hagis fet clic a l'enllaç, revisarem la sol·licitud. Se't notificarà si s'aprova. - signed_up_but_unconfirmed: S'ha enviat per correu electrònic un missatge amb un enllaç de confirmació. Fes clic a l'enllaç per a activar el compte. - update_needs_confirmation: Ha actualitzat el seu compte amb èxit, però necessitem verificar la nova adreça de correu. Si us plau comprovi el correu i segueixi l'enllaç per confirmar la nova adreça de correu. - updated: El seu compte ha estat actualitzat amb èxit. + signed_up_but_unconfirmed: S'ha enviat per correu electrònic un missatge amb un enllaç de confirmació. Fes clic a l'enllaç per a activar el compte. Si us plau verifica la teva carpeta de correu brossa si no reps aquest correu. + update_needs_confirmation: Has actualitzat el teu compte amb èxit, però necessitem verificar la teva nova adreça de correu. Si us plau comprova el correu i segueixi l'enllaç per confirmar la nova adreça de correu. Si us plau verifica la teva carpeta de correu brossa si no reps aquest correu. + updated: El teu compte ha estat actualitzat amb èxit. sessions: already_signed_out: Has tancat la sessió amb èxit. signed_in: T'has registrat amb èxit. signed_out: Has tancat la sessió amb èxit. unlocks: send_instructions: En pocs minuts rebràs un correu electrònic amb instruccions sobre com desbloquejar el teu compte. Si us plau verifica la teva carpeta de correu brossa si no has rebut aquest correu. - send_paranoid_instructions: Si el compte existeix, rebràs en pocs minuts un correu electrònic amb instruccions sobre com desbloquejar-lo. Verifica la carpeta de correu brossa si no has rebut aquest correu. - unlocked: El compte s'ha desblocat correctament. Inicia sessió per a continuar. + send_paranoid_instructions: Si el teu compte existeix, rebràs en pocs minuts un correu electrònic amb instruccions sobre com desbloquejar-lo. Verifica la carpeta de correu brossa si no has rebut aquest correu. + unlocked: El compte s'ha desbloquejat correctament. Inicia sessió per a continuar. errors: messages: already_confirmed: ja està confirmat. Intenta d'iniciar sessió - confirmation_period_expired: calia fer la confirmació dins de %{period}, torna a sol·licitar-la - expired: ha expirat, demana'n una altra + confirmation_period_expired: cal fer la confirmació dins de %{period}, si us plau sol·licita-ho de nou + expired: ha expirat, si us plau demana'n una altra not_found: no s'ha trobat not_locked: no està bloquejada not_saved: one: '1 error ha impedit desar aquest %{resource}:' - other: "%{count} errors hab impedit desar aquest %{resource}:" + other: "%{count} errors han impedit desar aquest %{resource}:" diff --git a/config/locales/devise.da.yml b/config/locales/devise.da.yml index 6e4d5ad62..18aa43162 100644 --- a/config/locales/devise.da.yml +++ b/config/locales/devise.da.yml @@ -37,21 +37,21 @@ da: title: Adgangskode skiftet reconfirmation_instructions: explanation: Bekræft den nye adresse for at skifte din e-mail. - extra: Er denne ændring ikke foranlediget af dig, så ignorér denne e-mail. Mastodon-kontoens e-mailadresse skiftes ikke, før linket ovenfor benyttes. + extra: Er denne ændring ikke foranlediget af dig, så ignorér denne e-mail. Mastodon-kontoens e-mailadresse kan kun skiftes vha. linket ovenfor. subject: 'Mastodon: Bekræft e-mail for %{instance}' title: Bekræft e-mailadresse reset_password_instructions: action: Skift adgangskode explanation: Du har anmodet om en ny kontoadgangskode. - extra: Har du ikke anmodet om dette, så ignorér denne e-mail. Din adgangskode skiftes først, når linket ovenfor er benyttet til at oprette en ny. - subject: 'Mastodon: Nulstil adgangskode-instruktioner' + extra: Har du ikke anmodet om dette, så ignorér denne e-mail. Din adgangskode skiftes først, når en ny er oprettet vha. linket ovenfor. + subject: 'Mastodon: Instruktioner til adgangskodenulstilling' title: Adgangskodenulstilling two_factor_disabled: - explanation: Tofaktorgodkendelse for din konto er blevet deaktiveret. Indlogning er nu kun mulig via email og adgangskode. + explanation: Tofaktorgodkendelse for kontoen er blevet deaktiveret. Indlogning er nu kun mulig via email og adgangskode. subject: 'Mastodon: Tofaktorgodkendelse deaktiveret' title: 2FA deaktiveret two_factor_enabled: - explanation: Tofaktorgodkendelse er blevet aktiveret for din konto. Et login-token genereret af den parrede TOTP-app vil være nødvendig. + explanation: Tofaktorgodkendelse er blevet aktiveret for kontoen. Indlogning vil kærve et token genereret af den parrede TOTP-app. subject: 'Mastodon: Tofaktorgodkendelse aktiveret' title: 2FA aktiveret two_factor_recovery_codes_changed: @@ -70,38 +70,38 @@ da: subject: 'Mastodon: Sikkerhedsnøgle slettet' title: En af dine sikkerhedsnøgler er blevet slettet webauthn_disabled: - explanation: Godkendelse med sikkerhedsnøgler er blevet deaktiveret for din konto. Indlogning er nu kun mulig via token genereret af den parrede TOTP-app. + explanation: Godkendelse med sikkerhedsnøgler er blevet deaktiveret for kontoen. Indlogning er nu kun mulig via token genereret af den parrede TOTP-app. subject: 'Mastodon: Godkendelse med sikkerhedsnøgler deaktiveret' title: Sikkerhedsnøgler deaktiveret webauthn_enabled: - explanation: Sikkerhedsnøglegodkendelse er aktiveret for din konto. Din sikkerhedsnøgle kan nu bruges til indlogning. + explanation: Sikkerhedsnøglegodkendelse er aktiveret for kontoen. Din sikkerhedsnøgle kan nu bruges til indlogning. subject: 'Mastodon: Sikkerhedsnøglegodkendelse aktiveret' title: Sikkerhedsnøgler aktiveret omniauth_callbacks: failure: Kunne ikke godkende dig fra %{kind} fordi "%{reason}". success: Godkendt fra %{kind}-konto. passwords: - no_token: Denne side er kun tilgængelig via linket fra en adgangskodenulstillings e-mail. Husk i den forbindelse at benytte den fuldstændige URL fra e-mailen. + no_token: Denne side er kun tilgængelig via linket fra en e-mail til adgangskodenulstillings. Husk i den forbindelse at benytte den fuldstændige URL fra e-mailen. send_instructions: Er din e-mailadresse allerede registreret, e-mailes du et link til adgangskodenulstilling. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter. - send_paranoid_instructions: Er din e-mail-adresse allerede registreret, e-mailes du et link til adgangskodegendannelse. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter. + send_paranoid_instructions: Er din e-mailadresse allerede registreret, e-mailes du et link til adgangskodenulstilling. Tjek spammappen, hvis e-mailen ikke ses i indbakken indenfor få minutter. updated: Din adgangskode er skiftet, og du er nu logget ind. updated_not_active: Din adgangskode er skiftet. registrations: destroyed: Farvel! Din konto er nu annulleret. Vi håber snart at se dig igen. - signed_up: Velkommen! Du har nu tilmeldt dig. - signed_up_but_inactive: Du har nu oprettet dig. Da din konto endnu ikke er aktiveret, kan du dog pt. ikke logge ind. - signed_up_but_locked: Du har nu oprettet dig. Da din konto er låst, kan du pt. ikke logge ind. - signed_up_but_pending: En besked med et bekræftelseslink er e-mailet til dig. Når du har klikket på linket, gennemgår vi din ansøgning, og du får besked, hvis den godkendes. - signed_up_but_unconfirmed: En besked med et bekræftelseslink er e-mailet til dig. Følg linket for at aktivere din konto. Tjek din spammappe, hvis du ikke ser denne e-mail i din indbakke. - update_needs_confirmation: Du har opdateret din konto. Din nye e-mailadresse skal dog bekræftes. For at gøre dette, tjek din e-mail og følg bekræftelseslinket. Tjek din spammappe, hvis du ikke ser denne e-mail i din indbakke indenfor få minutter. + signed_up: Velkommen! Du er nu tilmeldt. + signed_up_but_inactive: Du har nu oprettet dig. Da din konto endnu ikke er aktiveret, kan du dog ikke logge ind med det samme. + signed_up_but_locked: Du har nu oprettet dig. Da din konto er låst, kan du ikke logge ind med det samme. + signed_up_but_pending: Et bekræftelseslink er e-mailet til dig. Når du har klikket på linket, gennemgår vi din ansøgning, og du får besked, hvis den godkendes. + signed_up_but_unconfirmed: Et bekræftelseslink er e-mailet til dig. Følg linket for at aktivere din konto. Tjek spammappen, hvis e-mailen ikke dukker op i indbakken. + update_needs_confirmation: Du har opdateret din konto. Din nye e-mailadresse skal nu bekræftes. Til dette formål er du blevet e-mailet et bekræftelseslink, så følg dette for at bekræfte den nye e-mailadresse. Ser du ikke e-mailen i din indbakke snarest, så tjek Spam-mappen. updated: Din konto er nu opdateret. sessions: already_signed_out: Du er nu logget ud. signed_in: Du er nu logget ind. signed_out: Du er nu logget ud. unlocks: - send_instructions: Instruktioner mailes til dig om, hvordan du oplåser din konto. Er denne e-mail ikke er i din indbakke inden for få minutter, så tjek spammappe. - send_paranoid_instructions: Findes din konto, mailes du instrukser om, hvordan du oplåser den. Ser du ikke denne e-mail i din indbakke undenfor få minutter, så tjek spammappen. + send_instructions: Instruktioner e-mailes til dig om, hvordan du oplåser din konto. Er e-mailen ikke er i din indbakke inden for få minutter, så tjek i Spam. + send_paranoid_instructions: Findes din konto, e-mailes du instrukser om, hvordan du oplåser den. Er e-mailen i din indbakke indenfor få minutter, så tjek i Spam. unlocked: Din konto er nu oplåst. Log ind for at fortsætte. errors: messages: diff --git a/config/locales/doorkeeper.ca.yml b/config/locales/doorkeeper.ca.yml index a4d37f417..9725efe6c 100644 --- a/config/locales/doorkeeper.ca.yml +++ b/config/locales/doorkeeper.ca.yml @@ -13,9 +13,9 @@ ca: attributes: redirect_uri: fragment_present: no pot contenir un fragment. - invalid_uri: ha de ser un URI válid. - relative_uri: ha de ser un URI absoluta. - secured_uri: ha de ser un URI HTTPS/SSL. + invalid_uri: ha de ser una URI vàlida. + relative_uri: ha de ser una URI absoluta. + secured_uri: ha de ser una URI HTTPS/SSL. doorkeeper: applications: buttons: @@ -82,9 +82,9 @@ ca: messages: access_denied: El propietari del recurs o servidor d'autorizació ha denegat la petició. credential_flow_not_configured: Les credencials de contrasenya del propietari del recurs han fallat degut a que Doorkeeper.configure.resource_owner_from_credentials està sense configurar. - invalid_client: La autentificació del client ha fallat perquè és un client desconegut o no està inclòs l'autentificació del client o el mètode d'autenticació no està confirmat. - invalid_grant: La concessió d'autorizació oferida és invàlida, ha vençut, s'ha revocat, no coincideix amb l'URI de redirecció utilizada en la petició d'autorizació, o fou emesa per a un altre client. - invalid_redirect_uri: L'URI de redirecció inclòs no és vàlid. + invalid_client: La autentificació del client ha fallat perquè és un client desconegut o no està inclòsa l'autentificació del client o el mètode d'autenticació no està confirmat. + invalid_grant: La concessió d'autorizació oferta és invàlida, ha vençut, s'ha revocat, no coincideix amb l'URI de redirecció utilizada en la petició d'autorizació, o fou emesa per a un altre client. + invalid_redirect_uri: L'uri de redirecció inclòsa no és vàlida. invalid_request: missing_param: 'Falta paràmetre requerit: %{value}.' request_not_authorized: La petició ha de ser autoritzada. Falta o és invàlid un paràmetre requerit per l'autorització de la petició. @@ -154,7 +154,7 @@ ca: admin:write:accounts: fer l'acció de moderació en els comptes admin:write:reports: fer l'acció de moderació en els informes crypto: usa xifrat d'extrem a extrem - follow: seguir, blocar, desblocar i deixar de seguir comptes + follow: modificar relacions dels comptes push: rebre notificacions push del teu compte read: llegir les dades del teu compte read:accounts: veure informació dels comptes @@ -168,13 +168,13 @@ ca: read:notifications: veure les teves notificacions read:reports: veure els teus informes read:search: cerca en nom teu - read:statuses: veure tots els tuts - write: publicar en el teu nom + read:statuses: veure tots les publicacions + write: modificar totes les dades del teu compte write:accounts: modifica el teu perfil write:blocks: bloqueja comptes i dominis write:bookmarks: publicacions a marcadors write:conversations: silencia i esborra converses - write:favourites: afavoreix tuts + write:favourites: afavoreix publicacions write:filters: crear filtres write:follows: seguir usuaris write:lists: crear llistes @@ -182,4 +182,4 @@ ca: write:mutes: silencia usuaris i converses write:notifications: esborra les teves notificacions write:reports: informe d’altres persones - write:statuses: publicar tuts + write:statuses: publicar publicacions diff --git a/config/locales/doorkeeper.da.yml b/config/locales/doorkeeper.da.yml index 19f4307f6..094faedba 100644 --- a/config/locales/doorkeeper.da.yml +++ b/config/locales/doorkeeper.da.yml @@ -4,7 +4,7 @@ da: attributes: doorkeeper/application: name: Applikationsnavn - redirect_uri: Link + redirect_uri: Omdirigerings-URI scopes: Områder website: Applikationswebsted errors: @@ -13,7 +13,7 @@ da: attributes: redirect_uri: fragment_present: kan ikke indeholde et fragment. - invalid_uri: skal være en gyldigt URI. + invalid_uri: skal være en gyldig URI. relative_uri: skal være en absolut URI. secured_uri: skal være en HTTPS-/SSL-URI. doorkeeper: @@ -33,7 +33,7 @@ da: help: native_redirect_uri: Brug %{native_redirect_uri} til lokale tests redirect_uri: Brug én linje pr. URI - scopes: Adskil omfang med mellemrum. Lad være tomt for standardomfang. + scopes: Adskil omfang med mellemrum. Lad stå tomt for standardomfang. index: application: Applikation callback_url: Callback-URL @@ -60,9 +60,9 @@ da: error: title: En fejl opstod new: - prompt_html: "%{client_name} ønsker tilladelse til at tilgå din konto. Den er en tredjepartsapplikation. Er der ikke tillid til den, bør den ikke godkendes." + prompt_html: "%{client_name} ønsker tilladelse til at tilgå din konto. Den er en tredjepartsapplikation. Har du ikke tillid til den, bør den ikke godkendes." review_permissions: Gennemgå tilladelser - title: Godkendelse krævet + title: Godkendelse kræves show: title: Kopiér og indsæt denne godkendelseskode i applikationen. authorized_applications: @@ -72,7 +72,7 @@ da: revoke: Sikker? index: authorized_at: Godkendt pr. %{date} - description_html: Disse er applikationer, som kan tilgå din konto vha. API'en. Er der applikationer her, som ikke genkendes eller udviser mærkelig adfærd, kan deres adgang tilbagekaldes. + description_html: Disse er applikationer, som kan tilgå din konto vha. API'en. Er her applikationer, som ikke genkendes eller udviser mærkværdig adfærd, kan deres adgangstilladelse ophæves. last_used_at: Senest brugt pr. %{date} never_used: Aldrig brugt scopes: Tilladelser @@ -81,25 +81,25 @@ da: errors: messages: access_denied: Ressourceejeren eller godkendelsesserveren afviste anmodningen. - credential_flow_not_configured: Ressourceejeradgangskodeakkreditiv flow mislykkedes grundet ikke-opsat Doorkeeper.configure.resource_owner_from_credentials. - invalid_client: Klientbekræftelse mislykkedes grundet en ukendt klient, ingen klientbekræftelse inkluderet, eller uunderstøttet bekræftelsesmetode. - invalid_grant: Den leverede godkendelse er ugyldig, udløbet, tilbagekaldt, matcher ikke omdirigerings-URI brugt i godkendelsesanmodningen, eller er udstedt til en anden klient. + credential_flow_not_configured: Ressourceejeradgangskodeakkreditiver-flow mislykkedes grundet ikke-opsat Doorkeeper.configure.resource_owner_from_credentials. + invalid_client: Klientgodkendelse mislykkedes grundet en ukendt klient, ingen inkluderet klientgodkendelse eller uunderstøttet godkendelsesmetode. + invalid_grant: Den leverede godkendelse er ugyldig, udløbet, ophævet, matcher ikke omdirigerings-URI'en brugt i godkendelsesanmodningen eller er udstedt til en anden klient. invalid_redirect_uri: Inkluderede ormdirigerings-URI er ugyldig. invalid_request: - missing_param: 'Mangler krævet parameter: %{value}.' - request_not_authorized: Anmodning skal godkendes. Krævet parameter til godkendelse af anmodning mangler eller er ugyldig. - unknown: Anmodningen mangler en krævet parametre, inkluderer en uunderstøttet parametre værdi eller er på anden vis fejlbehæftet. - invalid_resource_owner: De angivne ressourceejerakkreditiver er ugyldige, eller ressourceejer kunne ikke findes - invalid_scope: Det anmodede omfang er ugyldigt, ukendt eller fejlbehæftet. + missing_param: 'Mangler obligatoriske parameter: %{value}.' + request_not_authorized: Anmodning kræver godkendelse. Obligatorisk parameter til godkendelse af anmodning mangler eller er ugyldig. + unknown: Anmodningen mangler en obligatorisk parameter, indeholder en uunderstøttet parameterværdi eller er på anden vis fejlbehæftet. + invalid_resource_owner: De angivne ressourceejerakkreditiver er ugyldige, eller ressourceejer kan ikke findes + invalid_scope: Det anmodede omfang er ugyldigt, ukendt eller forkert udformet. invalid_token: expired: Adgangstoken er udløbet - revoked: Adgangstoken er tilbagekaldt - unknown: Adgangstoken er ugyldig + revoked: Adgangstoken er ophævet + unknown: Adgangstoken er ugyldigt resource_owner_authenticator_not_configured: Ressourceejer kunne ikke findes grundet ikke-opsat Doorkeeper.configure.resource_owner_authenticator. server_error: Godkejdelsesserveren stødte på en uventet betingelse, der forhindrede den i at imødekomme anmodningen. temporarily_unavailable: Godkendelsesserveren kan pt. ikke håndtere anmodningen grundet midlertidig overbelastning eller servervedligehold. - unauthorized_client: Klienten er ikke godkendt til at udføre denne anmodning via denne metode. - unsupported_grant_type: Godkendelsestypen understøttes ikke af godkendelsesserveren. + unauthorized_client: Klienten er ikke godkendt til at udføre denne anmodning vha. denne metode. + unsupported_grant_type: Godkendelsestildelingstypen understøttes ikke af godkendelsesserveren. unsupported_response_type: Godkendelsesserveren understøtter ikke denne svartype. flash: applications: @@ -111,7 +111,7 @@ da: notice: Applikation opdateret. authorized_applications: destroy: - notice: Applikation tilbagekaldt. + notice: Applikation ophævet. grouped_scopes: access: read: Skrivebeskyttet adgang @@ -133,7 +133,7 @@ da: follows: Følger lists: Lister media: Medievedhæftninger - mutes: Tavsgjorte + mutes: Tavsgørelser notifications: Notifikationer push: Push-notifikationer reports: Anmeldelser @@ -143,43 +143,43 @@ da: admin: nav: applications: Applikationer - oauth2_provider: OAuth-udbyder + oauth2_provider: OAuth2-leverandør application: - title: OAuth-godkendelse krævet + title: OAuth-godkendelse obligatorisk scopes: - admin:read: læs al data på serveren + admin:read: læs alle data på serveren admin:read:accounts: læs sensitiv information fra alle konti admin:read:reports: læs sensitiv information fra alle anmeldelser og anmeldte konti - admin:write: redigér al data på serveren + admin:write: redigér alle data på serveren admin:write:accounts: udfør modereringshandlinger på konti admin:write:reports: udfør modereringshandlinger på anmeldelser crypto: benyt ende-til-ende kryptering follow: ændre kontorelationer - push: modtage dine push-notifikationer - read: læse alle dine kontodata + push: modtag dine push-notifikationer + read: læs alle dine kontodata read:accounts: se kontooplysninger read:blocks: se dine blokeringer read:bookmarks: se dine bogmærker read:favourites: se dine favoritter read:filters: se dine filtre - read:follows: se, hvem du følger + read:follows: se dine følger read:lists: se dine lister read:mutes: se dine tavsgørelser read:notifications: se dine notifikationer read:reports: se dine anmeldelser - read:search: søge på dine vegne - read:statuses: se alle statusser + read:search: søg på dine vegne + read:statuses: se alle indlæg write: ændre alle dine kontodata write:accounts: ændre din profil write:blocks: blokere konti og domæner - write:bookmarks: bogmærke statusser - write:conversations: tavsgør og slet konversationer - write:favourites: favoritmarkerede indlæg + write:bookmarks: bogmærke indlæg + write:conversations: tavsgøre og slette konversationer + write:favourites: favoritmarkere indlæg write:filters: oprette filtre write:follows: følge personer write:lists: oprette lister - write:media: uploade multimediefiler + write:media: uploade mediefiler write:mutes: tavsgøre personer og konversationer write:notifications: rydde dine notifikationer write:reports: anmelde personer - write:statuses: udgive statusser + write:statuses: udgive indlæg diff --git a/config/locales/doorkeeper.sk.yml b/config/locales/doorkeeper.sk.yml index 3f92a67ae..3e29a3332 100644 --- a/config/locales/doorkeeper.sk.yml +++ b/config/locales/doorkeeper.sk.yml @@ -101,6 +101,7 @@ sk: notice: Oprávnenia aplikácie zrušené. grouped_scopes: title: + blocks: Blokovania mutes: Nevšímané layouts: admin: diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml index 44562f4b8..7d522497d 100644 --- a/config/locales/doorkeeper.uk.yml +++ b/config/locales/doorkeeper.uk.yml @@ -109,7 +109,11 @@ uk: grouped_scopes: title: accounts: Облікові записи + admin/reports: Адміністрація звітів all: Усе + blocks: Блокування + bookmarks: Закладки + conversations: Бесіди crypto: Наскрізне шифрування filters: Фільтри lists: Списки diff --git a/config/locales/doorkeeper.vi.yml b/config/locales/doorkeeper.vi.yml index 4acfd9977..ecd5cfc4c 100644 --- a/config/locales/doorkeeper.vi.yml +++ b/config/locales/doorkeeper.vi.yml @@ -71,13 +71,13 @@ vi: confirmations: revoke: Bạn có chắc không? index: - authorized_at: Cấp quyền vào %{date} + authorized_at: Cho phép vào %{date} description_html: Đây là những ứng dụng có thể truy cập tài khoản của bạn bằng API. Nếu có ứng dụng bạn không nhận ra ở đây hoặc ứng dụng hoạt động sai, bạn có thể thu hồi quyền truy cập của ứng dụng đó. - last_used_at: Dùng gần nhất vào %{date} - never_used: Chưa dùng bao giờ + last_used_at: Dùng lần cuối %{date} + never_used: Chưa dùng scopes: Quyền cho phép superapp: Đang dùng - title: Các ứng dụng đang cho phép + title: Các ứng dụng đang dùng errors: messages: access_denied: Chủ sở hữu tài nguyên hoặc máy chủ đã từ chối yêu cầu. diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 32b101147..58c4694c0 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -716,7 +716,7 @@ ja: trends: allow: 許可 approved: 承認 - disallow: 不許可 + disallow: 拒否 links: allow: リンクの許可 allow_provider: 発行者の承認 @@ -731,8 +731,11 @@ ja: title: 発行者 rejected: 拒否 statuses: - allow: 投稿を許可する - disallow: 投稿を許可しない + allow: 掲載を許可 + allow_account: 投稿者を許可 + disallow: 掲載を拒否 + disallow_account: 投稿者を拒否 + title: トレンド投稿 tags: current_score: 現在のスコア %{score} dashboard: @@ -1309,6 +1312,7 @@ ja: default_language: UIの表示言語 disallowed_hashtags: other: '許可されていないハッシュタグが含まれています: %{tags}' + edited_at_html: "%{date} 編集済み" errors: in_reply_not_found: あなたが返信しようとしている投稿は存在しないようです。 open_in_web: Webで開く diff --git a/config/locales/ku.yml b/config/locales/ku.yml index a457b4b07..5245f85ec 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -21,7 +21,7 @@ ku: documentation: Pelbend federation_hint_html: Bi ajimêrê xwe %{instance} re tu dikarî kesên rajekar û li derveyî mastodonê bişopînî. get_apps: Sepaneke mobîl bicerbîne - hosted_on: Mastodon li ser%{domain} tê hildanê + hosted_on: Mastodon li ser %{domain} tê pêşkêşkirin instance_actor_flash: 'Ev ajimêr aktorekî aşopî ye ji bo rajekar were temsîl kirin tê bikaranîn ne ajimêra kesî ye. Ji bo armanca federasyonê dixebite û divê ney asteng kirin heta ku te xwest hemû nimûneyan asteng bikî, di vir de ger tu blogek navper bikarbînî. ' @@ -904,9 +904,9 @@ ku: sensitive_content: Naveroka hestiyarî toot_layout: Xêzkirina şandîya application_mailer: - notification_preferences: Hevyazên e-name yê biguherîne + notification_preferences: Sazkariyên e-nameyê biguherîne salutation: "%{name}," - settings: 'Hevyazên e-name yê biguherîne: %{link}' + settings: 'Sazkariyên e-nameyê biguherîne: %{link}' view: 'Nîşan bide:' view_profile: Profîlê nîşan bide view_status: Şandiyê nîşan bide @@ -1596,7 +1596,7 @@ ku:

Originally adapted from the Discourse privacy policy.

title: "%{instance} mercên bikaranîn û politîkayên nehêniyê" themes: - contrast: Mastodon (dijberiya bilind) + contrast: Mastodon (Dijberiya bilind) default: Mastodon (Tarî) mastodon-light: Mastodon (Ronahî) time: @@ -1635,8 +1635,8 @@ ku: title: Pakêtkirina arşîvan sign_in_token: details: 'Li vir hûrgiliyên hewldanê hene:' - explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IPya nenas nas kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr têkeve rûpela jêpirsînê:' - further_actions: 'Ger ev ne tu bî, ji kerema xwe re şîfreya xwe biguherîne û li ser hesaba xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çêkî:' + explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IP ya nenas destnîşan kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr binivîsîne di rûpela jêpirsînê de:' + further_actions: 'Ger ev ne tu bî, ji kerema xwe re pêborîna xwe biguherîne û li ser ajimêra xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çê bikî:' subject: Ji kerema xwe re hewldanên têketinê piştrast bike title: Hewldanên têketinê warning: diff --git a/config/locales/simple_form.ja.yml b/config/locales/simple_form.ja.yml index c6a52ce78..eac5c351c 100644 --- a/config/locales/simple_form.ja.yml +++ b/config/locales/simple_form.ja.yml @@ -27,6 +27,8 @@ ja: scheduled_at: お知らせを今すぐ掲載する場合は空欄にしてください starts_at: オプションです。お知らせしたい事柄の期間が決まっている場合に使用します text: 投稿と同じ構文を使用できます。アナウンスが占める画面のスペースに注意してください + appeal: + text: 一度だけ異議を申し立てることができます defaults: autofollow: 招待から登録した人が自動的にあなたをフォローするようになります avatar: "%{size}までのPNG、GIF、JPGが利用可能です。%{dimensions}pxまで縮小されます" @@ -116,6 +118,8 @@ ja: scheduled_at: 掲載予約日時 starts_at: 予定開始日時 text: お知らせ + appeal: + text: この決定を覆すべき理由を説明してください defaults: autofollow: 招待から参加後、あなたをフォロー avatar: アイコン @@ -194,6 +198,7 @@ ja: sign_up_requires_approval: 登録を制限 severity: ルール notification_emails: + appeal: モデレーターの判断に異議申し立てが行われました digest: タイムラインからピックアップしてメールで通知する favourite: お気に入り登録された時 follow: フォローされた時 @@ -201,6 +206,8 @@ ja: mention: 返信が来た時 pending_account: 新しいアカウントの承認が必要な時 reblog: 投稿がブーストされた時 + report: 新しいレポートが送信されました + trending_tag: 新しいトレンドタグにはレビューが必要です rule: text: ルール tag: diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml index 847a68e0f..5ae4b2e04 100644 --- a/config/locales/simple_form.sk.yml +++ b/config/locales/simple_form.sk.yml @@ -153,6 +153,9 @@ sk: comment: Okomentuj invite_request: text: Prečo sa k nám chceš pridať? + ip_block: + comment: Komentár + severity: Pravidlo notification_emails: digest: Zasielať súhrnné emaily favourite: Zaslať email, ak si niekto obľúbi tvoj príspevok diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index a1dbe66f9..6127cb9d5 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -133,6 +133,7 @@ th: expires_in: หมดอายุหลังจาก fields: ข้อมูลเมตาโปรไฟล์ header: ส่วนหัว + honeypot: "%{label} (ไม่ต้องกรอก)" inbox_url: URL กล่องขาเข้าแบบรีเลย์ irreversible: ลบแทนที่จะซ่อน locale: ภาษาส่วนติดต่อ @@ -194,6 +195,7 @@ th: sign_up_requires_approval: จำกัดการลงทะเบียน severity: กฎ notification_emails: + appeal: ใครสักคนอุทธรณ์การตัดสินใจของผู้ควบคุม digest: ส่งอีเมลสรุป favourite: ใครสักคนได้ชื่นชอบโพสต์ของคุณ follow: ใครสักคนได้ติดตามคุณ diff --git a/config/locales/sk.yml b/config/locales/sk.yml index 2405c5872..687f4d40d 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -15,6 +15,7 @@ sk: contact: Kontakt contact_missing: Nezadaný contact_unavailable: Neuvedený/á + continue_to_web: Pokračovať na webovú aplikáciu discover_users: Objavuj užívateľov documentation: Dokumentácia federation_hint_html: S účtom na %{instance} budeš môcť následovať ľúdí na hociakom Mastodon serveri, ale aj na iných serveroch. @@ -24,6 +25,7 @@ sk: Tento účet je virtuálnym aktérom, ktorý predstavuje samotný server a nie žiadného jedného užívateľa. Je využívaný pre potreby federovania a nemal by byť blokovaný, pokiaľ nechceš zablokovať celý server, čo ide lepšie dosiahnúť cez blokovanie domény. learn_more: Zisti viac + logged_in_as_html: Práve si prihlásený/á ako %{username}. logout_before_registering: Už si prihlásený/á. privacy_policy: Zásady súkromia rules: Serverové pravidlá diff --git a/config/locales/th.yml b/config/locales/th.yml index c4294be7f..beafc4da4 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -52,6 +52,7 @@ th: what_is_mastodon: Mastodon คืออะไร? accounts: choices_html: 'ตัวเลือกของ %{name}:' + endorsements_hint: คุณสามารถแนะนำผู้คนที่คุณติดตามจากส่วนติดต่อเว็บ และเขาจะปรากฏที่นี่ featured_tags_hint: คุณสามารถแนะนำแฮชแท็กที่เฉพาะเจาะจงที่จะแสดงที่นี่ follow: ติดตาม followers: @@ -66,6 +67,8 @@ th: nothing_here: ไม่มีสิ่งใดที่นี่! people_followed_by: ผู้คนที่ %{name} ติดตาม people_who_follow: ผู้คนที่ติดตาม %{name} + pin_errors: + following: คุณต้องกำลังติดตามคนที่คุณต้องการแนะนำอยู่แล้ว posts: other: โพสต์ posts_tab_heading: โพสต์ @@ -269,6 +272,7 @@ th: update_domain_block: อัปเดตการปิดกั้นโดเมน update_status: อัปเดตโพสต์ actions: + approve_appeal_html: "%{name} ได้อนุมัติการอุทธรณ์การตัดสินใจในการควบคุมจาก %{target}" approve_user_html: "%{name} ได้อนุมัติการลงทะเบียนจาก %{target}" assigned_to_self_report_html: "%{name} ได้มอบหมายรายงาน %{target} ให้กับตนเอง" change_email_user_html: "%{name} ได้เปลี่ยนที่อยู่อีเมลของผู้ใช้ %{target}" @@ -299,6 +303,7 @@ th: 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} ใหม่" @@ -786,6 +791,9 @@ th: sensitive: เพื่อทำเครื่องหมายบัญชีของเขาว่าละเอียดอ่อน silence: เพื่อจำกัดบัญชีของเขา suspend: เพื่อระงับบัญชีของเขา + body: "%{target} กำลังอุทธรณ์การตัดสินใจในการควบคุมโดย %{action_taken_by} จาก %{date} ซึ่งเป็น %{type} เขาเขียนว่า:" + next_steps: คุณสามารถอนุมัติการอุทธรณ์เพื่อเลิกทำการตัดสินใจในการควบคุม หรือเพิกเฉยการอุทธรณ์ + subject: "%{username} กำลังอุทธรณ์การตัดสินใจในการควบคุมใน %{instance}" new_pending_account: body: รายละเอียดของบัญชีใหม่อยู่ด้านล่าง คุณสามารถอนุมัติหรือปฏิเสธใบสมัครนี้ new_report: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index a4d29d3e4..ec0036226 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -459,6 +459,17 @@ uk: back_to_warning: Попередження by_domain: Домен confirm_purge: Ви впевнені, що хочете видалити ці дані з цього домену? + content_policies: + policies: + reject_media: Відхилити медіа + reject_reports: Відхилити скарги + silence: Обмеження + suspend: Призупинити + policy: Правила + reason: Суспільна причина + title: Політика вмісту + dashboard: + instance_languages_dimension: Найуживаніші мови delivery: all: Усі clear: Очистити помилки доставляння @@ -731,6 +742,10 @@ uk: rejected: Посилання цього публікатора можуть не будуть популярними title: Публікатори rejected: Відхилено + statuses: + allow: Дозволити оприлюднення + allow_account: Дозволити автора + disallow_account: Заборонити автора tags: current_score: Поточний результат %{score} dashboard: @@ -1334,6 +1349,7 @@ uk: many: 'заборонених хештеґів: %{tags}' one: 'заборонений хештеґ: %{tags}' other: 'заборонених хештеґів: %{tags}' + edited_at_html: Відредаговано %{date} errors: in_reply_not_found: Статуса, на який ви намагаєтеся відповісти, не існує. open_in_web: Відкрити у вебі @@ -1396,7 +1412,7 @@ uk: '2629746': 1 місяць '31556952': 1 рік '5259492': 2 місяці - '604800': 1 week + '604800': 1 тиждень '63113904': 2 роки '7889238': 3 місяці min_age_label: Поріг давності diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 459b950a6..ea196a5cd 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -51,7 +51,7 @@ vi: user_count_after: other: người dùng user_count_before: Nhà của - what_is_mastodon: Tham gia Mastodon + what_is_mastodon: Mastodon accounts: choices_html: "%{name} tôn vinh:" endorsements_hint: Bạn có thể tôn vinh những người bạn theo dõi và họ sẽ hiển thị ở giao diện web. @@ -186,7 +186,7 @@ vi: roles: admin: Quản trị viên moderator: Kiểm duyệt viên - staff: Nhân viên + staff: Đội ngũ user: Người dùng search: Tìm kiếm search_same_email_domain: Tra cứu email @@ -227,7 +227,7 @@ vi: whitelisted: Danh sách trắng action_logs: action_types: - approve_appeal: Đồng ý kháng cáo + approve_appeal: Phê duyệt kháng cáo approve_user: Phê duyệt người dùng assigned_to_self_report: Tự xử lý báo cáo change_email_user: Đổi email @@ -295,7 +295,7 @@ vi: destroy_announcement_html: "%{name} xóa thông báo %{target}" destroy_custom_emoji_html: "%{name} đã xóa emoji %{target}" destroy_domain_allow_html: "%{name} đã ngừng liên hợp với %{target}" - destroy_domain_block_html: "%{name} bỏ chặn tên miền email %{target}" + destroy_domain_block_html: "%{name} bỏ chặn máy chủ %{target}" destroy_email_domain_block_html: "%{name} bỏ chặn tên miền email %{target}" destroy_instance_html: "%{name} thanh trừng máy chủ %{target}" destroy_ip_block_html: "%{name} bỏ chặn IP %{target}" @@ -388,7 +388,7 @@ vi: interactions: tương tác media_storage: Dung lượng lưu trữ new_users: người dùng mới - opened_reports: báo cáo chưa xử lí + opened_reports: tổng báo cáo pending_appeals_html: other: "%{count} kháng cáo đang chờ" pending_reports_html: @@ -584,20 +584,20 @@ vi: action_log: Nhật ký kiểm duyệt action_taken_by: Hành động được thực hiện bởi actions: - delete_description_html: Những tút bị báo cáo sẽ được xóa và 1 thẹo sẽ được ghi lại để giúp bạn lưu ý về tài khoản này trong tương lai. - mark_as_sensitive_description_html: Media trong báo cáo sẽ bị đánh dấu nhạy cảm và bạn nhận 1 lần cảnh cáo. + delete_description_html: Những tút bị báo cáo sẽ được xóa và 1 lần cảnh cáo sẽ được ghi lại để giúp bạn lưu ý về tài khoản này trong tương lai. + mark_as_sensitive_description_html: Media trong báo cáo sẽ bị đánh dấu nhạy cảm và họ nhận 1 lần cảnh cáo. other_description_html: Những tùy chọn để kiểm soát tài khoản và giao tiếp với tài khoản bị báo cáo. - resolve_description_html: Không có hành động nào áp dụng đối với tài khoản bị báo cáo, không có thẹo, và báo cáo sẽ được đóng. + resolve_description_html: Không có hành động nào áp dụng đối với tài khoản bị báo cáo, không có cảnh cáo, và báo cáo sẽ được đóng. silence_description_html: Trang cá nhân sẽ chỉ hiển thị với những người đã theo dõi hoặc tìm kiếm thủ công, hạn chế tối đa tầm ảnh hưởng của nó. Có thể đổi lại bình thường sau. suspend_description_html: Trang cá nhân và tất cả các nội dung sẽ không thể truy cập cho đến khi nó bị xóa hoàn toàn. Không thể tương tác với tài khoản. Đảo ngược trong vòng 30 ngày. - actions_description_html: Quyết định hướng xử lý báo cáo này. Nếu áp đặt trừng phạt, một email thông báo sẽ được gửi cho họ, ngoại trừ nếu đó là Spam. + actions_description_html: Hướng xử lý báo cáo này. Nếu áp đặt trừng phạt, một email thông báo sẽ được gửi cho họ, ngoại trừ Spam. add_to_report: Bổ sung báo cáo are_you_sure: Bạn có chắc không? assign_to_self: Giao cho tôi assigned: Người xử lý by_target_domain: Tên tài khoản bị báo cáo category: Phân loại - category_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn trong giao tiếp với tài khoản báo cáo + category_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn khi giao tiếp với họ comment: none: Không có mô tả comment_description_html: 'Để cung cấp thêm thông tin, %{name} cho biết:' @@ -628,7 +628,7 @@ vi: skip_to_actions: Kiểm duyệt ngay status: Trạng thái statuses: Nội dung bị báo cáo - statuses_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn trong giao tiếp với tài khoản báo cáo + statuses_description_html: Lý do tài khoản hoặc nội dung này bị báo cáo sẽ được trích dẫn khi giao tiếp với họ target_origin: Nguồn báo cáo title: Báo cáo unassign: Bỏ qua @@ -703,8 +703,8 @@ vi: desc_html: Nếu tắt, bảng tin sẽ chỉ hiển thị nội dung do người dùng của máy chủ này tạo ra title: Bao gồm nội dung từ mạng liên hợp trên bảng tin không được xác thực show_staff_badge: - desc_html: Hiển thị huy hiệu nhân viên trên trang người dùng - title: Hiển thị huy hiệu nhân viên + desc_html: Hiện huy hiệu đội ngũ trên trang người dùng + title: Hiện huy hiệu đội ngũ site_description: desc_html: Nội dung giới thiệu về máy chủ. Mô tả những gì làm cho máy chủ Mastodon này đặc biệt và bất cứ điều gì quan trọng khác. Bạn có thể dùng các thẻ HTML, đặc biệt là <a><em>. title: Mô tả máy chủ @@ -774,11 +774,11 @@ vi: approved: Đã cho phép disallow: Cấm links: - allow: Liên kết cho phép - allow_provider: Nguồn đăng cho phép - description_html: Đây là những liên kết được chia sẻ nhiều trên máy chủ của bạn. Nó có thể giúp người dùng tìm hiểu những gì đang xảy ra trên thế giới. Không có liên kết nào được hiển thị công khai cho đến khi bạn duyệt nguồn. Bạn cũng có thể cho phép hoặc từ chối từng liên kết riêng. - disallow: Liên kết cấm - disallow_provider: Nguồn đăng bị cấm + allow: Cho phép liên kết + allow_provider: Cho phép nguồn đăng + description_html: Đây là những liên kết được chia sẻ nhiều trên máy chủ của bạn. Nó có thể giúp người dùng tìm hiểu những gì đang xảy ra trên thế giới. Không có liên kết nào được hiển thị công khai cho đến khi bạn duyệt nguồn đăng. Bạn cũng có thể cho phép hoặc từ chối từng liên kết riêng. + disallow: Cấm liên kết + disallow_provider: Cấm nguồn đăng shared_by_over_week: one: một người chia sẻ trong tuần qua other: "%{count} người chia sẻ trong tuần qua" @@ -796,8 +796,8 @@ vi: allow: Cho phép tút allow_account: Cho phép người đăng description_html: Đây là những tút đang được đăng lại và yêu thích rất nhiều trên máy chủ của bạn. Nó có thể giúp người dùng mới và người dùng cũ tìm thấy nhiều người hơn để theo dõi. Không có tút nào được hiển thị công khai cho đến khi bạn cho phép người đăng và người cho phép đề xuất tài khoản của họ cho người khác. Bạn cũng có thể cho phép hoặc từ chối từng tút riêng. - disallow: Không cho phép tút - disallow_account: Không cho phép người đăng + disallow: Cấm tút + disallow_account: Cấm người đăng not_discoverable: Tác giả đã chọn không tham gia mục khám phá shared_by: other: Được thích và đăng lại %{friendly_count} lần @@ -817,7 +817,7 @@ vi: not_usable: Không được phép dùng peaked_on_and_decaying: Đỉnh điểm %{date}, giờ đang giảm title: Hashtag xu hướng - trendable: Có thể xuất hiện thành xu hướng + trendable: Có thể trở thành xu hướng trending_rank: 'Xu hướng #%{rank}' usable: Có thể dùng usage_comparison: Dùng %{today} lần hôm nay, so với %{yesterday} hôm qua @@ -1094,7 +1094,7 @@ vi: new: title: Thêm bộ lọc mới footer: - developers: Nhà phát triển + developers: Phát triển more: Nhiều hơn resources: Quy tắc trending_now: Xu hướng @@ -1433,7 +1433,7 @@ vi: show_more: Đọc thêm show_newer: Mới hơn show_older: Cũ hơn - show_thread: Toàn chủ đề + show_thread: Xem chuỗi tút này sign_in_to_participate: Đăng nhập để trả lời tút này title: '%{name}: "%{quote}"' visibilities: @@ -1609,7 +1609,7 @@ vi: none: Cảnh báo sensitive: Tài khoản đã bị đánh dấu nhạy cảm silence: Tài khoản bị hạn chế - suspend: Toài khoản bị vô hiệu hóa + suspend: Tài khoản bị vô hiệu hóa welcome: edit_profile_action: Cài đặt trang cá nhân edit_profile_step: Bạn có thể tùy chỉnh trang cá nhân của mình bằng cách tải lên ảnh đại diện, ảnh bìa, thay đổi tên hiển thị và hơn thế nữa. Nếu bạn muốn những người theo dõi mới phải được phê duyệt, hãy chuyển tài khoản sang trạng thái khóa. From cf5435bb27b38f317d7d02de4df49c517614b4be Mon Sep 17 00:00:00 2001 From: Gomasy Date: Mon, 21 Mar 2022 12:45:58 +0900 Subject: [PATCH 18/73] Fix being unable to search by domain (#17832) --- app/views/admin/accounts/index.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/admin/accounts/index.html.haml b/app/views/admin/accounts/index.html.haml index 7c0045145..60e4894d0 100644 --- a/app/views/admin/accounts/index.html.haml +++ b/app/views/admin/accounts/index.html.haml @@ -36,7 +36,7 @@ = hidden_field_tag key, params[key] - %i(username by_domain display_name email ip).each do |key| - - unless key == :by_domain && params[:remote].blank? + - unless key == :by_domain && params[:origin] != 'remote' .input.string.optional = text_field_tag key, params[key], class: 'string optional', placeholder: I18n.t("admin.accounts.#{key}") From 584d8b977b3b8276da3c9035a3d16e61840fc0dc Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Mon, 21 Mar 2022 12:46:11 +0900 Subject: [PATCH 19/73] Format JSON and YAML using Prettier (#17823) * Format JSON and YAML using Prettier * Add prettier to devDep --- .codeclimate.yml | 10 ++-- .devcontainer/devcontainer.json | 20 +++---- .devcontainer/docker-compose.yml | 5 +- .github/dependabot.yml | 4 +- .github/workflows/build-image.yml | 4 +- .github/workflows/check-i18n.yml | 40 +++++++------- .prettierignore | 78 +++++++++++++++++++++++++++ .prettierrc.js | 3 ++ .rubocop.yml | 22 ++++---- app.json | 5 +- boxfile.yml | 32 +++++------ config/database.yml | 1 - config/i18n-tasks.yml | 4 +- docker-compose.yml | 89 ++++++++++++++++--------------- package.json | 5 +- scalingo.json | 5 +- yarn.lock | 5 ++ 17 files changed, 203 insertions(+), 129 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc.js diff --git a/.codeclimate.yml b/.codeclimate.yml index c253bd95a..ee9022cda 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -1,4 +1,4 @@ -version: "2" +version: '2' checks: argument-count: enabled: false @@ -34,8 +34,8 @@ plugins: sass-lint: enabled: true exclude_patterns: -- spec/ -- vendor/asset/ + - spec/ + - vendor/asset/ -- app/javascript/mastodon/locales/**/*.json -- config/locales/**/*.yml + - app/javascript/mastodon/locales/**/*.json + - config/locales/**/*.yml diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 78e940763..628efc8ec 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,22 +5,22 @@ "workspaceFolder": "/workspaces/mastodon", // Set *default* container specific settings.json values on container create. - "settings": {}, + "settings": {}, // Add the IDs of extensions you want installed when the container is created. - "extensions": [ + "extensions": [ "EditorConfig.EditorConfig", "dbaeumer.vscode-eslint", - "rebornix.Ruby" - ], + "rebornix.Ruby" + ], // Use 'forwardPorts' to make a list of ports inside the container available locally. - // This can be used to network with other containers or the host. - "forwardPorts": [3000, 4000], + // This can be used to network with other containers or the host. + "forwardPorts": [3000, 4000], - // Use 'postCreateCommand' to run commands after the container is created. - "postCreateCommand": "bundle install --path vendor/bundle && yarn install && ./bin/rails db:setup", + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "bundle install --path vendor/bundle && yarn install && ./bin/rails db:setup", - // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. - "remoteUser": "vscode" + // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode" } diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index 906fce430..538f6cccd 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -9,9 +9,9 @@ services: # Update 'VARIANT' to pick a version of Ruby: 3, 3.1, 3.0, 2, 2.7, 2.6 # Append -bullseye or -buster to pin to an OS version. # Use -bullseye variants on local arm64/Apple Silicon. - VARIANT: "3.0-bullseye" + VARIANT: '3.0-bullseye' # Optional Node.js version to install - NODE_VERSION: "14" + NODE_VERSION: '14' volumes: - ..:/workspaces/mastodon:cached environment: @@ -34,7 +34,6 @@ services: - internal_network user: vscode - db: image: postgres:14-alpine restart: unless-stopped diff --git a/.github/dependabot.yml b/.github/dependabot.yml index c4cd48878..bb1fccf7c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,7 +6,7 @@ version: 2 updates: - package-ecosystem: npm - directory: "/" + directory: '/' schedule: interval: weekly open-pull-requests-limit: 99 @@ -14,7 +14,7 @@ updates: - dependency-type: direct - package-ecosystem: bundler - directory: "/" + directory: '/' schedule: interval: weekly open-pull-requests-limit: 99 diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index bae185484..75c7b54a6 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -3,9 +3,9 @@ on: workflow_dispatch: push: branches: - - "main" + - 'main' tags: - - "*" + - '*' pull_request: paths: - .github/workflows/build-image.yml diff --git a/.github/workflows/check-i18n.yml b/.github/workflows/check-i18n.yml index 9cb98dd12..be38a096d 100644 --- a/.github/workflows/check-i18n.yml +++ b/.github/workflows/check-i18n.yml @@ -2,9 +2,9 @@ name: Check i18n on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] env: RAILS_ENV: test @@ -14,21 +14,21 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Install system dependencies - run: | - sudo apt-get update - sudo apt-get install -y libicu-dev libidn11-dev - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '3.0' - bundler-cache: true - - name: Check locale file normalization - run: bundle exec i18n-tasks check-normalized - - name: Check for unused strings - run: bundle exec i18n-tasks unused -l en - - name: Check for wrong string interpolations - run: bundle exec i18n-tasks check-consistent-interpolations - - name: Check that all required locale files exist - run: bundle exec rake repo:check_locales_files + - uses: actions/checkout@v2 + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install -y libicu-dev libidn11-dev + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0' + bundler-cache: true + - name: Check locale file normalization + run: bundle exec i18n-tasks check-normalized + - name: Check for unused strings + run: bundle exec i18n-tasks unused -l en + - name: Check for wrong string interpolations + run: bundle exec i18n-tasks check-consistent-interpolations + - name: Check that all required locale files exist + run: bundle exec rake repo:check_locales_files diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..de7673eb6 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,78 @@ +# See https://help.github.com/articles/ignoring-files for more about ignoring files. +# +# If you find yourself ignoring temporary files generated by your text editor +# or operating system, you probably want to add a global ignore instead: +# git config --global core.excludesfile '~/.gitignore_global' + +# Ignore bundler config and downloaded libraries. +/.bundle +/vendor/bundle + +# Ignore the default SQLite database. +/db/*.sqlite3 +/db/*.sqlite3-journal + +# Ignore all logfiles and tempfiles. +.eslintcache +/log/* +!/log/.keep +/tmp +/coverage +/public/system +/public/assets +/public/packs +/public/packs-test +.env +.env.production +.env.development +/node_modules/ +/build/ + +# Ignore Vagrant files +.vagrant/ + +# Ignore Capistrano customizations +/config/deploy/* + +# Ignore IDE files +.vscode/ +.idea/ + +# Ignore postgres + redis + elasticsearch volume optionally created by docker-compose +/postgres +/postgres14 +/redis +/elasticsearch + +# ignore Helm dependency charts +/chart/charts/*.tgz + +# Ignore Apple files +.DS_Store + +# Ignore vim files +*~ +*.swp + +# Ignore npm debug log +npm-debug.log + +# Ignore yarn log files +yarn-error.log +yarn-debug.log + +# Ignore vagrant log files +*-cloudimg-console.log + +# Ignore Docker option files +docker-compose.override.yml + +# Ignore Helm files +/chart + +# Ignore emoji map file +/app/javascript/mastodon/features/emoji/emoji_map.json + +# Ignore locale files +/app/javascript/mastodon/locales +/config/locales diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 000000000..1d70813d5 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + singleQuote: true +} diff --git a/.rubocop.yml b/.rubocop.yml index 4948aea5a..a76937426 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -5,17 +5,17 @@ AllCops: TargetRubyVersion: 2.5 NewCops: disable Exclude: - - 'spec/**/*' - - 'db/**/*' - - 'app/views/**/*' - - 'config/**/*' - - 'bin/*' - - 'Rakefile' - - 'node_modules/**/*' - - 'Vagrantfile' - - 'vendor/**/*' - - 'lib/json_ld/*' - - 'lib/templates/**/*' + - 'spec/**/*' + - 'db/**/*' + - 'app/views/**/*' + - 'config/**/*' + - 'bin/*' + - 'Rakefile' + - 'node_modules/**/*' + - 'Vagrantfile' + - 'vendor/**/*' + - 'lib/json_ld/*' + - 'lib/templates/**/*' Bundler/OrderedGems: Enabled: false diff --git a/app.json b/app.json index 6b4365383..c694908c5 100644 --- a/app.json +++ b/app.json @@ -95,8 +95,5 @@ "scripts": { "postdeploy": "bundle exec rails db:migrate && bundle exec rails db:seed" }, - "addons": [ - "heroku-postgresql", - "heroku-redis" - ] + "addons": ["heroku-postgresql", "heroku-redis"] } diff --git a/boxfile.yml b/boxfile.yml index c1d89bb15..27166cec9 100644 --- a/boxfile.yml +++ b/boxfile.yml @@ -43,20 +43,19 @@ run.config: fs_watch: true - deploy.config: extra_steps: - NODE_ENV=production bundle exec rake assets:precompile transform: - - "envsubst < /app/.env.nanobox > /app/.env.production" + - 'envsubst < /app/.env.nanobox > /app/.env.production' - |- - if [ -z "$LOCAL_DOMAIN" ] - then - . /app/.env.production - export LOCAL_DOMAIN - fi - erb /app/nanobox/nginx-web.conf.erb > /app/nanobox/nginx-web.conf - erb /app/nanobox/nginx-stream.conf.erb > /app/nanobox/nginx-stream.conf + if [ -z "$LOCAL_DOMAIN" ] + then + . /app/.env.production + export LOCAL_DOMAIN + fi + erb /app/nanobox/nginx-web.conf.erb > /app/nanobox/nginx-web.conf + erb /app/nanobox/nginx-stream.conf.erb > /app/nanobox/nginx-stream.conf - touch /app/log/production.log before_live: web.web: @@ -65,11 +64,10 @@ deploy.config: after_live: worker.sidekiq: - |- - if [[ "${ES_ENABLED}" != "false" ]] - then - bin/tootctl search deploy - fi - + if [[ "${ES_ENABLED}" != "false" ]] + then + bin/tootctl search deploy + fi web.web: start: @@ -89,7 +87,6 @@ web.web: data.storage: - public/system - web.stream: start: nginx: nginx -c /app/nanobox/nginx-stream.conf @@ -103,7 +100,6 @@ web.stream: writable_dirs: - tmp - worker.sidekiq: start: default: bundle exec sidekiq -c 5 -q default -L /app/log/sidekiq.log @@ -123,7 +119,6 @@ worker.sidekiq: data.storage: - public/system - data.db: image: nanobox/postgresql:9.6 @@ -145,7 +140,6 @@ data.db: curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/${file} -X DELETE done - data.elastic: image: nanobox/elasticsearch:5 @@ -171,7 +165,6 @@ data.elastic: curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/${file} -X DELETE done - data.redis: image: nanobox/redis:4.0 @@ -191,7 +184,6 @@ data.redis: curl -k -H "X-AUTH-TOKEN: ${WAREHOUSE_DATA_HOARDER_TOKEN}" https://${WAREHOUSE_DATA_HOARDER_HOST}:7410/blobs/${file} -X DELETE done - data.storage: image: nanobox/unfs:0.9 diff --git a/config/database.yml b/config/database.yml index 9b8d096e9..127a78abf 100644 --- a/config/database.yml +++ b/config/database.yml @@ -32,4 +32,3 @@ production: host: <%= ENV['DB_HOST'] || 'localhost' %> port: <%= ENV['DB_PORT'] || 5432 %> prepared_statements: <%= ENV['PREPARED_STATEMENTS'] || 'true' %> - diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index 7f879b1aa..bc48323e4 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -17,8 +17,8 @@ data: search: paths: - - app/ - - config/navigation.rb + - app/ + - config/navigation.rb relative_roots: - app/controllers diff --git a/docker-compose.yml b/docker-compose.yml index 01fe320a4..5c2c0c5df 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,5 @@ version: '3' services: - db: restart: always image: postgres:14-alpine @@ -8,11 +7,11 @@ services: networks: - internal_network healthcheck: - test: ["CMD", "pg_isready", "-U", "postgres"] + test: ['CMD', 'pg_isready', '-U', 'postgres'] volumes: - ./postgres14:/var/lib/postgresql/data environment: - - "POSTGRES_HOST_AUTH_METHOD=trust" + - 'POSTGRES_HOST_AUTH_METHOD=trust' redis: restart: always @@ -20,28 +19,28 @@ services: networks: - internal_network healthcheck: - test: ["CMD", "redis-cli", "ping"] + test: ['CMD', 'redis-cli', 'ping'] volumes: - ./redis:/data -# es: -# restart: always -# image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2 -# environment: -# - "ES_JAVA_OPTS=-Xms512m -Xmx512m" -# - "cluster.name=es-mastodon" -# - "discovery.type=single-node" -# - "bootstrap.memory_lock=true" -# networks: -# - internal_network -# healthcheck: -# test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"] -# volumes: -# - ./elasticsearch:/usr/share/elasticsearch/data -# ulimits: -# memlock: -# soft: -1 -# hard: -1 + # es: + # restart: always + # image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2 + # environment: + # - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + # - "cluster.name=es-mastodon" + # - "discovery.type=single-node" + # - "bootstrap.memory_lock=true" + # networks: + # - internal_network + # healthcheck: + # test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"] + # volumes: + # - ./elasticsearch:/usr/share/elasticsearch/data + # ulimits: + # memlock: + # soft: -1 + # hard: -1 web: build: . @@ -53,13 +52,14 @@ services: - external_network - internal_network healthcheck: - test: ["CMD-SHELL", "wget -q --spider --proxy=off localhost:3000/health || exit 1"] + # prettier-ignore + test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:3000/health || exit 1'] ports: - - "127.0.0.1:3000:3000" + - '127.0.0.1:3000:3000' depends_on: - db - redis -# - es + # - es volumes: - ./public/system:/mastodon/public/system @@ -73,9 +73,10 @@ services: - external_network - internal_network healthcheck: - test: ["CMD-SHELL", "wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1"] + # prettier-ignore + test: ['CMD-SHELL', 'wget -q --spider --proxy=off localhost:4000/api/v1/streaming/health || exit 1'] ports: - - "127.0.0.1:4000:4000" + - '127.0.0.1:4000:4000' depends_on: - db - redis @@ -95,24 +96,24 @@ services: volumes: - ./public/system:/mastodon/public/system healthcheck: - test: ["CMD-SHELL", "ps aux | grep '[s]idekiq\ 6' || false"] + test: ['CMD-SHELL', "ps aux | grep '[s]idekiq\ 6' || false"] -## Uncomment to enable federation with tor instances along with adding the following ENV variables -## http_proxy=http://privoxy:8118 -## ALLOW_ACCESS_TO_HIDDEN_SERVICE=true -# tor: -# image: sirboops/tor -# networks: -# - external_network -# - internal_network -# -# privoxy: -# image: sirboops/privoxy -# volumes: -# - ./priv-config:/opt/config -# networks: -# - external_network -# - internal_network + ## Uncomment to enable federation with tor instances along with adding the following ENV variables + ## http_proxy=http://privoxy:8118 + ## ALLOW_ACCESS_TO_HIDDEN_SERVICE=true + # tor: + # image: sirboops/tor + # networks: + # - external_network + # - internal_network + # + # privoxy: + # image: sirboops/privoxy + # volumes: + # - ./priv-config:/opt/config + # networks: + # - external_network + # - internal_network networks: external_network: diff --git a/package.json b/package.json index d42c92ced..61b3622f7 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,9 @@ "test:lint": "${npm_execpath} run test:lint:js && ${npm_execpath} run test:lint:sass", "test:lint:js": "eslint --ext=js . --cache", "test:lint:sass": "sass-lint -v", - "test:jest": "cross-env NODE_ENV=test jest" + "test:jest": "cross-env NODE_ENV=test jest", + "format": "prettier --write '**/*.{json,yml}", + "format-check": "prettier --write '**/*.{json,yml}" }, "repository": { "type": "git", @@ -182,6 +184,7 @@ "eslint-plugin-promise": "~6.0.0", "eslint-plugin-react": "~7.29.3", "jest": "^27.5.1", + "prettier": "^2.6.0", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", "react-test-renderer": "^16.14.0", diff --git a/scalingo.json b/scalingo.json index 51d9b5b9f..511c1802a 100644 --- a/scalingo.json +++ b/scalingo.json @@ -92,8 +92,5 @@ "scripts": { "postdeploy": "bundle exec rails db:migrate && bundle exec rails db:seed" }, - "addons": [ - "postgresql", - "redis" - ] + "addons": ["postgresql", "redis"] } diff --git a/yarn.lock b/yarn.lock index 45e459c40..1327e9f73 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8651,6 +8651,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prettier@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" + integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== + pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" From a651a9678a4602d3a9c0a27c1efa253a18af8e8b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 14:54:59 +0900 Subject: [PATCH 20/73] Bump rubocop-rails from 2.14.0 to 2.14.2 (#17833) Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.14.0 to 2.14.2. - [Release notes](https://github.com/rubocop/rubocop-rails/releases) - [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.14.0...v2.14.2) --- updated-dependencies: - dependency-name: rubocop-rails dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index da4070dee..15043d44c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -431,7 +431,7 @@ GEM openssl-signature_algorithm (0.4.0) orm_adapter (0.5.0) ox (2.14.10) - parallel (1.21.0) + parallel (1.22.0) parser (3.1.1.0) ast (~> 2.4.1) parslet (2.0.0) @@ -570,7 +570,7 @@ GEM unicode-display_width (>= 1.4.0, < 3.0) rubocop-ast (1.16.0) parser (>= 3.1.1.0) - rubocop-rails (2.14.0) + rubocop-rails (2.14.2) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.7.0, < 2.0) From 47ada1b6d185cb275eff73848bb76c059f8e3eb1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 14:55:12 +0900 Subject: [PATCH 21/73] Bump @babel/runtime from 7.17.7 to 7.17.8 (#17835) Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.17.7 to 7.17.8. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.17.8/packages/babel-runtime) --- updated-dependencies: - dependency-name: "@babel/runtime" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 61b3622f7..c4eed3fd0 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", "@babel/preset-react": "^7.16.7", - "@babel/runtime": "^7.17.7", + "@babel/runtime": "^7.17.8", "@gamestdio/websocket": "^0.3.2", "@github/webauthn-json": "^0.5.7", "@rails/ujs": "^6.1.5", diff --git a/yarn.lock b/yarn.lock index 1327e9f73..c0672ef4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1036,10 +1036,10 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.7", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.7.tgz#a5f3328dc41ff39d803f311cfe17703418cf9825" - integrity sha512-L6rvG9GDxaLgFjg41K+5Yv9OMrU98sWe+Ykmc6FDJW/+vYZMhdOMKkISgzptMaERHvS2Y2lw9MDRm2gHhlQQoA== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.8", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2" + integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA== dependencies: regenerator-runtime "^0.13.4" From 7eb2e791eed587d9eaa7dee3480f03f7db5a6425 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 21 Mar 2022 14:55:26 +0900 Subject: [PATCH 22/73] Bump @babel/core from 7.17.7 to 7.17.8 (#17836) Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.7 to 7.17.8. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.17.8/packages/babel-core) --- updated-dependencies: - dependency-name: "@babel/core" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index c4eed3fd0..941c67b74 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ }, "private": true, "dependencies": { - "@babel/core": "^7.17.7", + "@babel/core": "^7.17.8", "@babel/plugin-proposal-decorators": "^7.17.2", "@babel/plugin-transform-react-inline-elements": "^7.16.7", "@babel/plugin-transform-runtime": "^7.17.0", diff --git a/yarn.lock b/yarn.lock index c0672ef4a..ed993f6f5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -33,18 +33,18 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.17.7", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" - integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.17.8", "@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a" + integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.16.7" "@babel/generator" "^7.17.7" "@babel/helper-compilation-targets" "^7.17.7" "@babel/helper-module-transforms" "^7.17.7" - "@babel/helpers" "^7.17.7" - "@babel/parser" "^7.17.7" + "@babel/helpers" "^7.17.8" + "@babel/parser" "^7.17.8" "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" "@babel/types" "^7.17.0" @@ -295,10 +295,10 @@ "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" -"@babel/helpers@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.7.tgz#6fc0a24280fd00026e85424bbfed4650e76d7127" - integrity sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w== +"@babel/helpers@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106" + integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw== dependencies: "@babel/template" "^7.16.7" "@babel/traverse" "^7.17.3" @@ -322,10 +322,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7", "@babel/parser@^7.7.0": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800" - integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8", "@babel/parser@^7.7.0": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240" + integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" From f29458da1d6b270d44dc0e6a5643a735ecb73aee Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 21 Mar 2022 19:08:29 +0100 Subject: [PATCH 23/73] Fix streaming server sometimes silently dropping subscriptions (#17841) --- streaming/index.js | 47 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/streaming/index.js b/streaming/index.js index 3db94b160..d6b445a91 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -167,6 +167,11 @@ const startWorker = async (workerId) => { const redisPrefix = redisNamespace ? `${redisNamespace}:` : ''; + /** + * @type {Object.>} + */ + const subs = {}; + const redisSubscribeClient = await redisUrlToClient(redisParams, process.env.REDIS_URL); const redisClient = await redisUrlToClient(redisParams, process.env.REDIS_URL); @@ -191,23 +196,55 @@ const startWorker = async (workerId) => { }; /** + * @param {string} message * @param {string} channel - * @param {function(string): void} callback */ - const subscribe = (channel, callback) => { - log.silly(`Adding listener for ${channel}`); + const onRedisMessage = (message, channel) => { + const callbacks = subs[channel]; - redisSubscribeClient.subscribe(channel, callback); + log.silly(`New message on channel ${channel}`); + + if (!callbacks) { + return; + } + + callbacks.forEach(callback => callback(message)); }; /** * @param {string} channel * @param {function(string): void} callback */ + const subscribe = (channel, callback) => { + log.silly(`Adding listener for ${channel}`); + + subs[channel] = subs[channel] || []; + + if (subs[channel].length === 0) { + log.verbose(`Subscribe ${channel}`); + redisSubscribeClient.subscribe(channel, onRedisMessage); + } + + subs[channel].push(callback); + }; + + /** + * @param {string} channel + */ const unsubscribe = (channel, callback) => { log.silly(`Removing listener for ${channel}`); - redisSubscribeClient.unsubscribe(channel, callback); + if (!subs[channel]) { + return; + } + + subs[channel] = subs[channel].filter(item => item !== callback); + + if (subs[channel].length === 0) { + log.verbose(`Unsubscribe ${channel}`); + redisSubscribeClient.unsubscribe(channel); + delete subs[channel]; + } }; const FALSE_VALUES = [ From 3afd59df0f6dd9b9d18718f1ef721aa1d8136ce4 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 21 Mar 2022 19:10:09 +0100 Subject: [PATCH 24/73] Fix tootctl email_domain_blocks add (#17842) Fixes #17831 --- lib/mastodon/email_domain_blocks_cli.rb | 33 ++++++++++--------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/lib/mastodon/email_domain_blocks_cli.rb b/lib/mastodon/email_domain_blocks_cli.rb index f79df302a..f39f47069 100644 --- a/lib/mastodon/email_domain_blocks_cli.rb +++ b/lib/mastodon/email_domain_blocks_cli.rb @@ -32,9 +32,9 @@ module Mastodon multiple domains to the command. When the --with-dns-records option is given, an attempt to resolve the - given domains' DNS records will be made and the results (A, AAAA and MX) will - also be blocked. This can be helpful if you are blocking an e-mail server that - has many different domains pointing to it as it allows you to essentially block + given domains' MX records will be made and the results will also be blocked. + This can be helpful if you are blocking an e-mail server that has many + different domains pointing to it as it allows you to essentially block it at the root. LONG_DESC def add(*domains) @@ -53,26 +53,19 @@ module Mastodon next end - email_domain_block = EmailDomainBlock.new(domain: domain, with_dns_records: options[:with_dns_records] || false) - email_domain_block.save! - processed += 1 - - next unless email_domain_block.with_dns_records? - - hostnames = [] - ips = [] - - Resolv::DNS.open do |dns| - dns.timeouts = 5 - hostnames = dns.getresources(email_domain_block.domain, Resolv::DNS::Resource::IN::MX).to_a.map { |e| e.exchange.to_s } - - ([email_domain_block.domain] + hostnames).uniq.each do |hostname| - ips.concat(dns.getresources(hostname, Resolv::DNS::Resource::IN::A).to_a.map { |e| e.address.to_s }) - ips.concat(dns.getresources(hostname, Resolv::DNS::Resource::IN::AAAA).to_a.map { |e| e.address.to_s }) + other_domains = [] + if options[:with_dns_records] + Resolv::DNS.open do |dns| + dns.timeouts = 5 + other_domains = dns.getresources(@email_domain_block.domain, Resolv::DNS::Resource::IN::MX).to_a end end - (hostnames + ips).uniq.each do |hostname| + email_domain_block = EmailDomainBlock.new(domain: domain, other_domains: other_domains) + email_domain_block.save! + processed += 1 + + (email_domain_block.other_domains || []).uniq.each do |hostname| another_email_domain_block = EmailDomainBlock.new(domain: hostname, parent: email_domain_block) if EmailDomainBlock.where(domain: hostname).exists? From 5d90b90755ec038e4eab900461365597e4b09396 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 11:30:20 +0900 Subject: [PATCH 25/73] Bump @babel/plugin-proposal-decorators from 7.17.2 to 7.17.8 (#17840) Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.17.2 to 7.17.8. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.17.8/packages/babel-plugin-proposal-decorators) --- updated-dependencies: - dependency-name: "@babel/plugin-proposal-decorators" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yamagishi Kazutoshi --- package.json | 2 +- yarn.lock | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 941c67b74..9b9e2259c 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "private": true, "dependencies": { "@babel/core": "^7.17.8", - "@babel/plugin-proposal-decorators": "^7.17.2", + "@babel/plugin-proposal-decorators": "^7.17.8", "@babel/plugin-transform-react-inline-elements": "^7.16.7", "@babel/plugin-transform-runtime": "^7.17.0", "@babel/preset-env": "^7.16.11", diff --git a/yarn.lock b/yarn.lock index ed993f6f5..dce6e2f1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -96,10 +96,10 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.1": - version "7.17.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz#9699f14a88833a7e055ce57dcd3ffdcd25186b21" - integrity sha512-JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ== +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz#3778c1ed09a7f3e65e6d6e0f6fbfcc53809d92c9" + integrity sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg== dependencies: "@babel/helper-annotate-as-pure" "^7.16.7" "@babel/helper-environment-visitor" "^7.16.7" @@ -369,12 +369,12 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-decorators@^7.17.2": - version "7.17.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz#c36372ddfe0360cac1ee331a238310bddca11493" - integrity sha512-WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw== +"@babel/plugin-proposal-decorators@^7.17.8": + version "7.17.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz#4f0444e896bee85d35cf714a006fc5418f87ff00" + integrity sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.17.1" + "@babel/helper-create-class-features-plugin" "^7.17.6" "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" "@babel/plugin-syntax-decorators" "^7.17.0" From 737a77cef3403a0b95159fd83bc96f7f01000c83 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 11:30:32 +0900 Subject: [PATCH 26/73] Bump tzinfo-data from 1.2021.5 to 1.2022.1 (#17839) Bumps [tzinfo-data](https://github.com/tzinfo/tzinfo-data) from 1.2021.5 to 1.2022.1. - [Release notes](https://github.com/tzinfo/tzinfo-data/releases) - [Commits](https://github.com/tzinfo/tzinfo-data/compare/v1.2021.5...v1.2022.1) --- updated-dependencies: - dependency-name: tzinfo-data dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 536470c7d..ad2ccb925 100644 --- a/Gemfile +++ b/Gemfile @@ -89,7 +89,7 @@ gem 'stoplight', '~> 2.2.1' gem 'strong_migrations', '~> 0.7' gem 'tty-prompt', '~> 0.23', require: false gem 'twitter-text', '~> 3.1.0' -gem 'tzinfo-data', '~> 1.2021' +gem 'tzinfo-data', '~> 1.2022' gem 'webpacker', '~> 5.4' gem 'webpush', '~> 0.3' gem 'webauthn', '~> 3.0.0.alpha1' diff --git a/Gemfile.lock b/Gemfile.lock index 15043d44c..464993ccb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -666,7 +666,7 @@ GEM unf (~> 0.1.0) tzinfo (2.0.4) concurrent-ruby (~> 1.0) - tzinfo-data (1.2021.5) + tzinfo-data (1.2022.1) tzinfo (>= 1.0.0) unf (0.1.4) unf_ext @@ -834,7 +834,7 @@ DEPENDENCIES thor (~> 1.2) tty-prompt (~> 0.23) twitter-text (~> 3.1.0) - tzinfo-data (~> 1.2021) + tzinfo-data (~> 1.2022) webauthn (~> 3.0.0.alpha1) webmock (~> 3.14) webpacker (~> 5.4) From 883a7918bed331a61cf542b21da19b80ff3325df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 11:30:45 +0900 Subject: [PATCH 27/73] Bump letter_opener from 1.7.0 to 1.8.1 (#17838) Bumps [letter_opener](https://github.com/ryanb/letter_opener) from 1.7.0 to 1.8.1. - [Release notes](https://github.com/ryanb/letter_opener/releases) - [Changelog](https://github.com/ryanb/letter_opener/blob/master/CHANGELOG.md) - [Commits](https://github.com/ryanb/letter_opener/compare/v1.7.0...v1.8.1) --- updated-dependencies: - dependency-name: letter_opener dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile | 2 +- Gemfile.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index ad2ccb925..0cf26980d 100644 --- a/Gemfile +++ b/Gemfile @@ -129,7 +129,7 @@ group :development do gem 'better_errors', '~> 2.9' gem 'binding_of_caller', '~> 1.0' gem 'bullet', '~> 7.0' - gem 'letter_opener', '~> 1.7' + gem 'letter_opener', '~> 1.8' gem 'letter_opener_web', '~> 2.0' gem 'memory_profiler' gem 'rubocop', '~> 1.26', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 464993ccb..cafb814a6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -349,8 +349,8 @@ GEM terrapin (~> 0.6.0) launchy (2.5.0) addressable (~> 2.7) - letter_opener (1.7.0) - launchy (~> 2.2) + letter_opener (1.8.1) + launchy (>= 2.2, < 3) letter_opener_web (2.0.0) actionmailer (>= 5.2) letter_opener (~> 1.7) @@ -770,7 +770,7 @@ DEPENDENCIES json-ld-preloaded (~> 3.2) kaminari (~> 1.2) kt-paperclip (~> 7.1) - letter_opener (~> 1.7) + letter_opener (~> 1.8) letter_opener_web (~> 2.0) link_header (~> 0.0) lograge (~> 0.11) From 890fae8b543d938130e5c618ddda2387c3dabd95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Mar 2022 11:30:56 +0900 Subject: [PATCH 28/73] Bump eslint-plugin-react from 7.29.3 to 7.29.4 (#17837) Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.29.3 to 7.29.4. - [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases) - [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.29.3...v7.29.4) --- updated-dependencies: - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9b9e2259c..83bf03bd3 100644 --- a/package.json +++ b/package.json @@ -182,7 +182,7 @@ "eslint-plugin-import": "~2.25.4", "eslint-plugin-jsx-a11y": "~6.5.1", "eslint-plugin-promise": "~6.0.0", - "eslint-plugin-react": "~7.29.3", + "eslint-plugin-react": "~7.29.4", "jest": "^27.5.1", "prettier": "^2.6.0", "raf": "^3.4.1", diff --git a/yarn.lock b/yarn.lock index dce6e2f1e..394d08e59 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4387,10 +4387,10 @@ eslint-plugin-promise@~6.0.0: resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz#017652c07c9816413a41e11c30adc42c3d55ff18" integrity sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw== -eslint-plugin-react@~7.29.3: - version "7.29.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.3.tgz#f4eab757f2756d25d6d4c2a58a9e20b004791f05" - integrity sha512-MzW6TuCnDOcta67CkpDyRfRsEVx9FNMDV8wZsDqe1luHPdGTrQIUaUXD27Ja3gHsdOIs/cXzNchWGlqm+qRVRg== +eslint-plugin-react@~7.29.4: + version "7.29.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz#4717de5227f55f3801a5fd51a16a4fa22b5914d2" + integrity sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ== dependencies: array-includes "^3.1.4" array.prototype.flatmap "^1.2.5" From 69f9dc4f4eed9211a0a4ff55c18f64c99165a9e0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 06:08:05 +0100 Subject: [PATCH 29/73] Fix color of show more link in report dialog in web UI (#17844) --- .../styles/mastodon/components.scss | 53 +++++-------------- 1 file changed, 14 insertions(+), 39 deletions(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 97587b62b..da2492052 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -870,7 +870,8 @@ .status__content__spoiler-link { background: $action-button-color; - &:hover { + &:hover, + &:focus { background: lighten($action-button-color, 7%); text-decoration: none; } @@ -982,7 +983,7 @@ text-transform: uppercase; line-height: 20px; cursor: pointer; - vertical-align: middle; + vertical-align: top; } .status__wrapper--filtered { @@ -1042,42 +1043,6 @@ .audio-player { margin-top: 8px; } - - &.light { - .status__relative-time, - .status__visibility-icon { - color: $light-text-color; - } - - .status__display-name { - color: $inverted-text-color; - } - - .display-name { - color: $light-text-color; - - strong { - color: $inverted-text-color; - } - } - - .status__content { - color: $inverted-text-color; - - a { - color: $highlight-text-color; - } - - a.status__content__spoiler-link { - color: $primary-text-color; - background: $ui-primary-color; - - &:hover { - background: lighten($ui-primary-color, 8%); - } - } - } - } } .status__relative-time, @@ -1646,7 +1611,8 @@ a.account__display-name { background: $ui-base-lighter-color; color: $inverted-text-color; - &:hover { + &:hover, + &:focus { background: lighten($ui-base-lighter-color, 7%); text-decoration: none; } @@ -5158,6 +5124,15 @@ a.status-card.compact:hover { color: $inverted-text-color; } + .status__content__spoiler-link { + color: $primary-text-color; + background: $ui-primary-color; + + &:hover { + background: lighten($ui-primary-color, 8%); + } + } + .dialog-option .poll__input { border-color: $inverted-text-color; color: $ui-secondary-color; From 4e9855e09aa4cc2720fed262ffaa6e0c94cf5688 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 09:48:12 +0100 Subject: [PATCH 30/73] Add hint about missing media attachment description in web UI (#17845) --- .../features/compose/components/upload.js | 9 ++- .../styles/mastodon/components.scss | 60 ++++--------------- 2 files changed, 20 insertions(+), 49 deletions(-) diff --git a/app/javascript/mastodon/features/compose/components/upload.js b/app/javascript/mastodon/features/compose/components/upload.js index 1289d6b94..706824dc7 100644 --- a/app/javascript/mastodon/features/compose/components/upload.js +++ b/app/javascript/mastodon/features/compose/components/upload.js @@ -5,7 +5,6 @@ import Motion from '../../ui/util/optional_motion'; import spring from 'react-motion/lib/spring'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { FormattedMessage } from 'react-intl'; -import classNames from 'classnames'; import Icon from 'mastodon/components/icon'; export default class Upload extends ImmutablePureComponent { @@ -43,10 +42,16 @@ export default class Upload extends ImmutablePureComponent { {({ scale }) => (
-
+
{!isEditingStatus && ()}
+ + {(media.get('description') || '').length === 0 && ( +
+ +
+ )}
)} diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index da2492052..d1b36d33b 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -596,30 +596,24 @@ display: flex; align-items: flex-start; justify-content: space-between; - opacity: 0; - transition: opacity .1s ease; + } - .icon-button { - flex: 0 1 auto; - color: $secondary-text-color; - font-size: 14px; - font-weight: 500; - padding: 10px; - font-family: inherit; + .icon-button { + flex: 0 1 auto; + color: $secondary-text-color; + font-size: 14px; + font-weight: 500; + padding: 10px; + font-family: inherit; - &:hover, - &:focus, - &:active { - color: lighten($secondary-text-color, 7%); - } - } - - &.active { - opacity: 1; + &:hover, + &:focus, + &:active { + color: lighten($secondary-text-color, 7%); } } - &-description { + &__warning { position: absolute; z-index: 2; bottom: 0; @@ -627,34 +621,6 @@ right: 0; box-sizing: border-box; background: linear-gradient(0deg, rgba($base-shadow-color, 0.8) 0, rgba($base-shadow-color, 0.35) 80%, transparent); - padding: 10px; - opacity: 0; - transition: opacity .1s ease; - - textarea { - background: transparent; - color: $secondary-text-color; - border: 0; - padding: 0; - margin: 0; - width: 100%; - font-family: inherit; - font-size: 14px; - font-weight: 500; - - &:focus { - color: $white; - } - - &::placeholder { - opacity: 0.75; - color: $secondary-text-color; - } - } - - &.active { - opacity: 1; - } } } From 392b367835c3c25e37be7c45e8cd130422de10aa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 10:07:11 +0100 Subject: [PATCH 31/73] Fix IDN domains not being rendered correctly in a few left-over places (#17848) --- app/views/accounts/_moved.html.haml | 4 +- app/views/admin/account_actions/new.html.haml | 4 +- .../_account_warning.html.haml | 2 +- app/views/admin/accounts/show.html.haml | 2 +- app/views/admin/change_emails/show.html.haml | 2 +- .../admin/disputes/appeals/_appeal.html.haml | 2 +- app/views/admin/relationships/index.html.haml | 2 +- app/views/admin/statuses/index.html.haml | 2 +- app/views/admin_mailer/new_report.text.erb | 2 +- .../auth/registrations/_status.html.haml | 2 +- .../authorize_interactions/show.html.haml | 2 +- .../authorize_interactions/success.html.haml | 2 +- .../notification_mailer/_status.html.haml | 2 +- app/views/notification_mailer/digest.text.erb | 2 +- .../notification_mailer/favourite.html.haml | 2 +- .../notification_mailer/favourite.text.erb | 2 +- .../notification_mailer/follow.html.haml | 2 +- app/views/notification_mailer/follow.text.erb | 2 +- .../follow_request.html.haml | 2 +- .../follow_request.text.erb | 2 +- .../notification_mailer/mention.html.haml | 2 +- .../notification_mailer/mention.text.erb | 2 +- .../notification_mailer/reblog.html.haml | 2 +- app/views/notification_mailer/reblog.text.erb | 2 +- app/views/settings/aliases/index.html.haml | 2 +- app/views/settings/migrations/show.html.haml | 4 +- config/brakeman.ignore | 80 ++++++++++++------- 27 files changed, 79 insertions(+), 59 deletions(-) diff --git a/app/views/accounts/_moved.html.haml b/app/views/accounts/_moved.html.haml index 4f71b062d..2f46e0dd0 100644 --- a/app/views/accounts/_moved.html.haml +++ b/app/views/accounts/_moved.html.haml @@ -3,7 +3,7 @@ .moved-account-widget .moved-account-widget__message = fa_icon 'suitcase' - = t('accounts.moved_html', name: content_tag(:bdi, content_tag(:strong, display_name(account, custom_emojify: true), class: :emojify)), new_profile_link: link_to(content_tag(:strong, safe_join(['@', content_tag(:span, moved_to_account.acct)])), ActivityPub::TagManager.instance.url_for(moved_to_account), class: 'mention')) + = t('accounts.moved_html', name: content_tag(:bdi, content_tag(:strong, display_name(account, custom_emojify: true), class: :emojify)), new_profile_link: link_to(content_tag(:strong, safe_join(['@', content_tag(:span, moved_to_account.pretty_acct)])), ActivityPub::TagManager.instance.url_for(moved_to_account), class: 'mention')) .moved-account-widget__card = link_to ActivityPub::TagManager.instance.url_for(moved_to_account), class: 'detailed-status__display-name p-author h-card', target: '_blank', rel: 'me noopener noreferrer' do @@ -17,4 +17,4 @@ %span.display-name %bdi %strong.emojify= display_name(moved_to_account, custom_emojify: true) - %span @#{moved_to_account.acct} + %span @#{moved_to_account.pretty_acct} diff --git a/app/views/admin/account_actions/new.html.haml b/app/views/admin/account_actions/new.html.haml index ca4f9663f..c7bb618df 100644 --- a/app/views/admin/account_actions/new.html.haml +++ b/app/views/admin/account_actions/new.html.haml @@ -1,11 +1,11 @@ - content_for :page_title do - = t('admin.account_actions.title', acct: @account.acct) + = t('admin.account_actions.title', acct: @account.pretty_acct) = simple_form_for @account_action, url: admin_account_action_path(@account.id) do |f| = f.input :report_id, as: :hidden .fields-group - = f.input :type, as: :radio_buttons, collection: Admin::AccountAction.types_for_account(@account), include_blank: false, wrapper: :with_block_label, label_method: ->(type) { safe_join([I18n.t("simple_form.labels.admin_account_action.types.#{type}"), content_tag(:span, I18n.t("simple_form.hints.admin_account_action.types.#{type}"), class: 'hint')])}, hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.acct) + = f.input :type, as: :radio_buttons, collection: Admin::AccountAction.types_for_account(@account), include_blank: false, wrapper: :with_block_label, label_method: ->(type) { safe_join([I18n.t("simple_form.labels.admin_account_action.types.#{type}"), content_tag(:span, I18n.t("simple_form.hints.admin_account_action.types.#{type}"), class: 'hint')])}, hint: t('simple_form.hints.admin_account_action.type_html', acct: @account.pretty_acct) - if @account.local? %hr.spacer/ diff --git a/app/views/admin/account_warnings/_account_warning.html.haml b/app/views/admin/account_warnings/_account_warning.html.haml index 1462e76d0..030635185 100644 --- a/app/views/admin/account_warnings/_account_warning.html.haml +++ b/app/views/admin/account_warnings/_account_warning.html.haml @@ -5,7 +5,7 @@ = fa_icon 'warning' .log-entry__content .log-entry__title - = t(account_warning.action, scope: 'admin.strikes.actions', name: content_tag(:span, account_warning.account.username, class: 'username'), target: content_tag(:span, account_warning.target_account.acct, class: 'target')).html_safe + = t(account_warning.action, scope: 'admin.strikes.actions', name: content_tag(:span, account_warning.account.username, class: 'username'), target: content_tag(:span, account_warning.target_account.pretty_acct, class: 'target')).html_safe .log-entry__timestamp %time.formatted{ datetime: account_warning.created_at.iso8601 } = l(account_warning.created_at) diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index 9a1f07a06..805cf8a4f 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = @account.acct + = @account.pretty_acct - if @account.instance_actor? .flash-message.notice diff --git a/app/views/admin/change_emails/show.html.haml b/app/views/admin/change_emails/show.html.haml index 6ff0d785e..bc00d6114 100644 --- a/app/views/admin/change_emails/show.html.haml +++ b/app/views/admin/change_emails/show.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = t('admin.accounts.change_email.title', username: @account.acct) + = t('admin.accounts.change_email.title', username: @account.username) = simple_form_for @user, url: admin_account_change_email_path(@account.id) do |f| .fields-group diff --git a/app/views/admin/disputes/appeals/_appeal.html.haml b/app/views/admin/disputes/appeals/_appeal.html.haml index 02b8777e1..3f6efb856 100644 --- a/app/views/admin/disputes/appeals/_appeal.html.haml +++ b/app/views/admin/disputes/appeals/_appeal.html.haml @@ -4,7 +4,7 @@ = image_tag appeal.account.avatar.url(:original), alt: '', width: 40, height: 40, class: 'avatar' .log-entry__content .log-entry__title - = t(appeal.strike.action, scope: 'admin.strikes.actions', name: content_tag(:span, appeal.strike.account.username, class: 'username'), target: content_tag(:span, appeal.account.acct, class: 'target')).html_safe + = t(appeal.strike.action, scope: 'admin.strikes.actions', name: content_tag(:span, appeal.strike.account.username, class: 'username'), target: content_tag(:span, appeal.account.username, class: 'target')).html_safe .log-entry__timestamp %time.formatted{ datetime: appeal.strike.created_at.iso8601 } = l(appeal.strike.created_at) diff --git a/app/views/admin/relationships/index.html.haml b/app/views/admin/relationships/index.html.haml index 60b9b5b25..f82cf26a3 100644 --- a/app/views/admin/relationships/index.html.haml +++ b/app/views/admin/relationships/index.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = t('admin.relationships.title', acct: @account.acct) + = t('admin.relationships.title', acct: @account.pretty_acct) .filters .filter-subset diff --git a/app/views/admin/statuses/index.html.haml b/app/views/admin/statuses/index.html.haml index 7e2114cc2..d3d7cc160 100644 --- a/app/views/admin/statuses/index.html.haml +++ b/app/views/admin/statuses/index.html.haml @@ -4,7 +4,7 @@ - content_for :page_title do = t('admin.statuses.title') \- - = "@#{@account.acct}" + = "@#{@account.pretty_acct}" .filters .filter-subset diff --git a/app/views/admin_mailer/new_report.text.erb b/app/views/admin_mailer/new_report.text.erb index d6c7d6bab..f8a5224a1 100644 --- a/app/views/admin_mailer/new_report.text.erb +++ b/app/views/admin_mailer/new_report.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw(@report.account.local? ? t('admin_mailer.new_report.body', target: @report.target_account.acct, reporter: @report.account.acct) : t('admin_mailer.new_report.body_remote', target: @report.target_account.acct, domain: @report.account.domain)) %> +<%= raw(@report.account.local? ? t('admin_mailer.new_report.body', target: @report.target_account.pretty_acct, reporter: @report.account.pretty_acct) : t('admin_mailer.new_report.body_remote', target: @report.target_account.acct, domain: @report.account.domain)) %> <%= raw t('application_mailer.view')%> <%= admin_report_url(@report) %> diff --git a/app/views/auth/registrations/_status.html.haml b/app/views/auth/registrations/_status.html.haml index 68954a5da..759bbc41c 100644 --- a/app/views/auth/registrations/_status.html.haml +++ b/app/views/auth/registrations/_status.html.haml @@ -7,7 +7,7 @@ = t('auth.status.pending') - elsif @user.account.moved_to_account_id.present? .flash-message.warning - = t('auth.status.redirecting_to', acct: @user.account.moved_to_account.acct) + = t('auth.status.redirecting_to', acct: @user.account.moved_to_account.pretty_acct) = link_to t('migrations.cancel'), settings_migration_path %h3= t('auth.status.account_status') diff --git a/app/views/authorize_interactions/show.html.haml b/app/views/authorize_interactions/show.html.haml index 42c874134..2b4d2ed62 100644 --- a/app/views/authorize_interactions/show.html.haml +++ b/app/views/authorize_interactions/show.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = t('authorize_follow.title', acct: @resource.acct) + = t('authorize_follow.title', acct: @resource.pretty_acct) .form-container .follow-prompt diff --git a/app/views/authorize_interactions/success.html.haml b/app/views/authorize_interactions/success.html.haml index 47fd09767..86fa55eac 100644 --- a/app/views/authorize_interactions/success.html.haml +++ b/app/views/authorize_interactions/success.html.haml @@ -1,5 +1,5 @@ - content_for :page_title do - = t('authorize_follow.title', acct: @resource.acct) + = t('authorize_follow.title', acct: @resource.pretty_acct) .form-container .follow-prompt diff --git a/app/views/notification_mailer/_status.html.haml b/app/views/notification_mailer/_status.html.haml index f520208e1..219e7e667 100644 --- a/app/views/notification_mailer/_status.html.haml +++ b/app/views/notification_mailer/_status.html.haml @@ -23,7 +23,7 @@ = image_tag full_asset_url(status.account.avatar.url), alt:'' %td{ align: 'left' } %bdi= display_name(status.account) - = "@#{status.account.acct}" + = "@#{status.account.pretty_acct}" - if status.spoiler_text? %div.auto-dir diff --git a/app/views/notification_mailer/digest.text.erb b/app/views/notification_mailer/digest.text.erb index b2c85a9e3..4cd4190c1 100644 --- a/app/views/notification_mailer/digest.text.erb +++ b/app/views/notification_mailer/digest.text.erb @@ -3,7 +3,7 @@ <%= raw t('notification_mailer.digest.body', since: l(@me.user_current_sign_in_at || @since), instance: root_url) %> <% @notifications.each do |notification| %> -* <%= raw t('notification_mailer.digest.mention', name: notification.from_account.acct) %> +* <%= raw t('notification_mailer.digest.mention', name: notification.from_account.pretty_acct) %> <%= raw Formatter.instance.plaintext(notification.target_status) %> diff --git a/app/views/notification_mailer/favourite.html.haml b/app/views/notification_mailer/favourite.html.haml index a715d615c..ebc5c29c7 100644 --- a/app/views/notification_mailer/favourite.html.haml +++ b/app/views/notification_mailer/favourite.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_grade.png'), alt:'' %h1= t 'notification_mailer.favourite.title' - %p.lead= t('notification_mailer.favourite.body', name: @account.acct) + %p.lead= t('notification_mailer.favourite.body', name: @account.pretty_acct) = render 'status', status: @status diff --git a/app/views/notification_mailer/favourite.text.erb b/app/views/notification_mailer/favourite.text.erb index 2581b4909..f4f869656 100644 --- a/app/views/notification_mailer/favourite.text.erb +++ b/app/views/notification_mailer/favourite.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.favourite.body', name: @account.acct) %> +<%= raw t('notification_mailer.favourite.body', name: @account.pretty_acct) %> <%= render 'status', status: @status %> diff --git a/app/views/notification_mailer/follow.html.haml b/app/views/notification_mailer/follow.html.haml index cd84f7858..a59ef8835 100644 --- a/app/views/notification_mailer/follow.html.haml +++ b/app/views/notification_mailer/follow.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_person_add.png'), alt: '' %h1= t 'notification_mailer.follow.title' - %p.lead= t('notification_mailer.follow.body', name: @account.acct) + %p.lead= t('notification_mailer.follow.body', name: @account.pretty_acct) %table.email-table{ cellspacing: 0, cellpadding: 0 } %tbody diff --git a/app/views/notification_mailer/follow.text.erb b/app/views/notification_mailer/follow.text.erb index cbe46f552..016a0a4cf 100644 --- a/app/views/notification_mailer/follow.text.erb +++ b/app/views/notification_mailer/follow.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.follow.body', name: @account.acct) %> +<%= raw t('notification_mailer.follow.body', name: @account.pretty_acct) %> <%= raw t('application_mailer.view')%> <%= web_url("accounts/#{@account.id}") %> diff --git a/app/views/notification_mailer/follow_request.html.haml b/app/views/notification_mailer/follow_request.html.haml index a63e27a90..4c32c831e 100644 --- a/app/views/notification_mailer/follow_request.html.haml +++ b/app/views/notification_mailer/follow_request.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_person_add.png'), alt: '' %h1= t 'notification_mailer.follow_request.title' - %p.lead= t('notification_mailer.follow_request.body', name: @account.acct) + %p.lead= t('notification_mailer.follow_request.body', name: @account.pretty_acct) %table.email-table{ cellspacing: 0, cellpadding: 0 } %tbody diff --git a/app/views/notification_mailer/follow_request.text.erb b/app/views/notification_mailer/follow_request.text.erb index a018394b8..66aa97fe3 100644 --- a/app/views/notification_mailer/follow_request.text.erb +++ b/app/views/notification_mailer/follow_request.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.follow_request.body', name: @account.acct) %> +<%= raw t('notification_mailer.follow_request.body', name: @account.pretty_acct) %> <%= raw t('application_mailer.view')%> <%= web_url("follow_requests") %> diff --git a/app/views/notification_mailer/mention.html.haml b/app/views/notification_mailer/mention.html.haml index 619873cfa..cfb7465c1 100644 --- a/app/views/notification_mailer/mention.html.haml +++ b/app/views/notification_mailer/mention.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_reply.png'), alt: '' %h1= t 'notification_mailer.mention.title' - %p.lead= t('notification_mailer.mention.body', name: @status.account.acct) + %p.lead= t('notification_mailer.mention.body', name: @status.account.pretty_acct) = render 'status', status: @status diff --git a/app/views/notification_mailer/mention.text.erb b/app/views/notification_mailer/mention.text.erb index 03f53813b..f104d5f92 100644 --- a/app/views/notification_mailer/mention.text.erb +++ b/app/views/notification_mailer/mention.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.mention.body', name: @status.account.acct) %> +<%= raw t('notification_mailer.mention.body', name: @status.account.pretty_acct) %> <%= render 'status', status: @status %> diff --git a/app/views/notification_mailer/reblog.html.haml b/app/views/notification_mailer/reblog.html.haml index a2811be23..c528536ec 100644 --- a/app/views/notification_mailer/reblog.html.haml +++ b/app/views/notification_mailer/reblog.html.haml @@ -20,7 +20,7 @@ = image_tag full_pack_url('media/images/mailer/icon_cached.png'), alt: '' %h1= t 'notification_mailer.reblog.title' - %p.lead= t('notification_mailer.reblog.body', name: @account.acct) + %p.lead= t('notification_mailer.reblog.body', name: @account.pretty_acct) = render 'status', status: @status diff --git a/app/views/notification_mailer/reblog.text.erb b/app/views/notification_mailer/reblog.text.erb index 8fc841bf6..73a3b3945 100644 --- a/app/views/notification_mailer/reblog.text.erb +++ b/app/views/notification_mailer/reblog.text.erb @@ -1,5 +1,5 @@ <%= raw t('application_mailer.salutation', name: display_name(@me)) %> -<%= raw t('notification_mailer.reblog.body', name: @account.acct) %> +<%= raw t('notification_mailer.reblog.body', name: @account.pretty_acct) %> <%= render 'status', status: @status %> diff --git a/app/views/settings/aliases/index.html.haml b/app/views/settings/aliases/index.html.haml index 5df0c9669..c618a82f1 100644 --- a/app/views/settings/aliases/index.html.haml +++ b/app/views/settings/aliases/index.html.haml @@ -29,5 +29,5 @@ - else - @aliases.each do |account_alias| %tr - %td= account_alias.acct + %td= account_alias.pretty_acct %td= table_link_to 'trash', t('aliases.remove'), settings_alias_path(account_alias), data: { method: :delete } diff --git a/app/views/settings/migrations/show.html.haml b/app/views/settings/migrations/show.html.haml index 078eaebc6..492f6fe12 100644 --- a/app/views/settings/migrations/show.html.haml +++ b/app/views/settings/migrations/show.html.haml @@ -8,7 +8,7 @@ = render 'application/card', account: current_account.moved_to_account .fields-row__column.fields-group.fields-row__column-6 %p.hint - %span.positive-hint= t('migrations.redirecting_to', acct: current_account.moved_to_account.acct) + %span.positive-hint= t('migrations.redirecting_to', acct: current_account.moved_to_account.pretty_acct) %p.hint= t('migrations.cancel_explanation') @@ -76,7 +76,7 @@ - if migration.target_account.present? = compact_account_link_to migration.target_account - else - = migration.acct + = migration.pretty_acct %td= number_with_delimiter migration.followers_count diff --git a/config/brakeman.ignore b/config/brakeman.ignore index c24146da4..80c5f6d4e 100644 --- a/config/brakeman.ignore +++ b/config/brakeman.ignore @@ -7,7 +7,7 @@ "check_name": "SQL", "message": "Possible SQL injection", "file": "app/models/status.rb", - "line": 105, + "line": 106, "link": "https://brakemanscanner.org/docs/warning_types/sql_injection/", "code": "result.joins(\"INNER JOIN statuses_tags t#{id} ON t#{id}.status_id = statuses.id AND t#{id}.tag_id = #{id}\")", "render_path": null, @@ -27,7 +27,7 @@ "check_name": "SQL", "message": "Possible SQL injection", "file": "app/models/trends/query.rb", - "line": 60, + "line": 76, "link": "https://brakemanscanner.org/docs/warning_types/sql_injection/", "code": "klass.joins(\"join unnest(array[#{ids.join(\",\")}]) with ordinality as x (id, ordering) on #{klass.table_name}.id = x.id\")", "render_path": null, @@ -60,6 +60,36 @@ "confidence": "High", "note": "" }, + { + "warning_type": "Cross-Site Scripting", + "warning_code": 2, + "fingerprint": "71cf98c8235b5cfa9946b5db8fdc1a2f3a862566abb34e4542be6f3acae78233", + "check_name": "CrossSiteScripting", + "message": "Unescaped model attribute", + "file": "app/views/admin/disputes/appeals/_appeal.html.haml", + "line": 7, + "link": "https://brakemanscanner.org/docs/warning_types/cross_site_scripting", + "code": "t((Unresolved Model).new.strike.action, :scope => \"admin.strikes.actions\", :name => content_tag(:span, (Unresolved Model).new.strike.account.username, :class => \"username\"), :target => content_tag(:span, (Unresolved Model).new.account.username, :class => \"target\"))", + "render_path": [ + { + "type": "template", + "name": "admin/disputes/appeals/index", + "line": 20, + "file": "app/views/admin/disputes/appeals/index.html.haml", + "rendered": { + "name": "admin/disputes/appeals/_appeal", + "file": "app/views/admin/disputes/appeals/_appeal.html.haml" + } + } + ], + "location": { + "type": "template", + "template": "admin/disputes/appeals/_appeal" + }, + "user_input": "(Unresolved Model).new.strike", + "confidence": "Weak", + "note": "" + }, { "warning_type": "SQL Injection", "warning_code": 0, @@ -121,33 +151,23 @@ "note": "" }, { - "warning_type": "Cross-Site Scripting", - "warning_code": 2, - "fingerprint": "afad51718ae373b2f19d2513029fd2afccf58b9148e475934bc6a162ee33c352", - "check_name": "CrossSiteScripting", - "message": "Unescaped model attribute", - "file": "app/views/admin/disputes/appeals/_appeal.html.haml", - "line": 7, - "link": "https://brakemanscanner.org/docs/warning_types/cross_site_scripting", - "code": "t((Unresolved Model).new.strike.action, :scope => \"admin.strikes.actions\", :name => content_tag(:span, (Unresolved Model).new.strike.account.username, :class => \"username\"), :target => content_tag(:span, (Unresolved Model).new.account.acct, :class => \"target\"))", - "render_path": [ - { - "type": "template", - "name": "admin/disputes/appeals/index", - "line": 20, - "file": "app/views/admin/disputes/appeals/index.html.haml", - "rendered": { - "name": "admin/disputes/appeals/_appeal", - "file": "app/views/admin/disputes/appeals/_appeal.html.haml" - } - } - ], + "warning_type": "Mass Assignment", + "warning_code": 105, + "fingerprint": "ab5035dd1a9f8c3a8d92fb2c37e8fe86fede4f87c91b71aa32e89c9eede602fc", + "check_name": "PermitAttributes", + "message": "Potentially dangerous key allowed for mass assignment", + "file": "app/controllers/api/v1/notifications_controller.rb", + "line": 81, + "link": "https://brakemanscanner.org/docs/warning_types/mass_assignment/", + "code": "params.permit(:account_id, :types => ([]), :exclude_types => ([]))", + "render_path": null, "location": { - "type": "template", - "template": "admin/disputes/appeals/_appeal" + "type": "method", + "class": "Api::V1::NotificationsController", + "method": "browserable_params" }, - "user_input": "(Unresolved Model).new.strike", - "confidence": "Weak", + "user_input": ":account_id", + "confidence": "High", "note": "" }, { @@ -184,7 +204,7 @@ { "type": "template", "name": "admin/trends/links/index", - "line": 45, + "line": 49, "file": "app/views/admin/trends/links/index.html.haml", "rendered": { "name": "admin/trends/links/_preview_card", @@ -207,7 +227,7 @@ "check_name": "PermitAttributes", "message": "Potentially dangerous key allowed for mass assignment", "file": "app/controllers/api/v1/reports_controller.rb", - "line": 36, + "line": 26, "link": "https://brakemanscanner.org/docs/warning_types/mass_assignment/", "code": "params.permit(:account_id, :comment, :category, :forward, :status_ids => ([]), :rule_ids => ([]))", "render_path": null, @@ -221,6 +241,6 @@ "note": "" } ], - "updated": "2022-02-15 03:48:53 +0100", + "updated": "2022-03-22 07:48:32 +0100", "brakeman_version": "5.2.1" } From d5df9d4797eea86a37522c9936228888f69244fd Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 11:58:13 +0100 Subject: [PATCH 32/73] Fix wrong position of fade-out element in account card in web UI (#17846) --- app/javascript/styles/mastodon/admin.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/javascript/styles/mastodon/admin.scss b/app/javascript/styles/mastodon/admin.scss index dc4d65edd..68e6d2482 100644 --- a/app/javascript/styles/mastodon/admin.scss +++ b/app/javascript/styles/mastodon/admin.scss @@ -1306,7 +1306,7 @@ a.sparkline { width: 50px; height: 21px; position: absolute; - bottom: 8px; + bottom: 0; right: 15px; background: linear-gradient(to left, $ui-base-color, transparent); pointer-events: none; From 410989e081b812d6f025489ab589428f987d26c0 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 11:58:25 +0100 Subject: [PATCH 33/73] Change frequency of trends review notifications from 2 hours to 6 hours (#17850) --- config/sidekiq.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/sidekiq.yml b/config/sidekiq.yml index c8b1a20dd..f2ae9279b 100644 --- a/config/sidekiq.yml +++ b/config/sidekiq.yml @@ -22,7 +22,7 @@ class: Scheduler::EmailDomainBlockRefreshScheduler queue: scheduler trends_review_notifications_scheduler: - every: '2h' + every: '6h' class: Scheduler::Trends::ReviewNotificationsScheduler queue: scheduler media_cleanup_scheduler: From 67d550830b3b1a9a2b65b1ab98ea4bcd491666c5 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 12:29:04 +0100 Subject: [PATCH 34/73] Fix locale not being set in REST API (#17847) --- app/controllers/activitypub/base_controller.rb | 1 + app/controllers/api/base_controller.rb | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/controllers/activitypub/base_controller.rb b/app/controllers/activitypub/base_controller.rb index 4cbc3ab8f..196d85a32 100644 --- a/app/controllers/activitypub/base_controller.rb +++ b/app/controllers/activitypub/base_controller.rb @@ -2,6 +2,7 @@ class ActivityPub::BaseController < Api::BaseController skip_before_action :require_authenticated_user! + skip_around_action :set_locale private diff --git a/app/controllers/api/base_controller.rb b/app/controllers/api/base_controller.rb index 72c30dec7..d96285b44 100644 --- a/app/controllers/api/base_controller.rb +++ b/app/controllers/api/base_controller.rb @@ -15,8 +15,6 @@ class Api::BaseController < ApplicationController protect_from_forgery with: :null_session - skip_around_action :set_locale - rescue_from ActiveRecord::RecordInvalid, Mastodon::ValidationError do |e| render json: { error: e.to_s }, status: 422 end From b475c8ab97c839f20757ef606659b15f8d47e79f Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 22 Mar 2022 18:08:08 +0100 Subject: [PATCH 35/73] Fix minor issues in v3.5.0rc1 changelog (#17852) --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 519c561a6..52a62a213 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ All notable changes to this project will be documented in this file. ## Unreleased ### Added -- **Add support for post editing** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748)) +- **Add support for incoming edited posts** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748)) - Previous versions remain available for perusal and comparison - People who reblogged a post are notified when it's edited - New REST APIs: @@ -14,7 +14,7 @@ All notable changes to this project will be documented in this file. - `GET /api/v1/statuses/:id/history` - `GET /api/v1/statuses/:id/source` - New streaming API event: - - `update` + - `status.update` - **Add appeals for moderator decisions** ([Gargron](https://github.com/mastodon/mastodon/pull/17364), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17725), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17566), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17652), [Gargron](https://github.com/mastodon/mastodon/pull/17616), [Gargron](https://github.com/mastodon/mastodon/pull/17615), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17554), [Gargron](https://github.com/mastodon/mastodon/pull/17523)) - All default moderator decisions now notify the affected user by e-mail - They now link to an appeal page instead of suggesting replying to the e-mail @@ -63,7 +63,7 @@ All notable changes to this project will be documented in this file. - Add `types` param to `GET /api/v1/notifications` in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17767)) - **Add notifications for moderators about new sign-ups** ([Gargron](https://github.com/mastodon/mastodon/pull/16953), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17629)) - When a new user confirms e-mail, moderators receive a notification - - New streaming API event: + - New notification type: - `admin.sign_up` - Add authentication history ([Gargron](https://github.com/mastodon/mastodon/pull/16408), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/16428), [baby-gnu](https://github.com/mastodon/mastodon/pull/16654)) - Add ability to automatically delete old posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16529), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17691), [tribela](https://github.com/mastodon/mastodon/pull/16653)) From 2de44d3e47404ee0ac6f701e685a4626502c6390 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 18:20:08 +0100 Subject: [PATCH 36/73] Fix regression of status colors in actions modal in web UI (#17851) Regression in #17844 --- .../styles/mastodon/components.scss | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index d1b36d33b..d627d9557 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1154,6 +1154,43 @@ .audio-player { margin-top: 8px; } + + &.light { + .status__relative-time, + .status__visibility-icon { + color: $light-text-color; + } + + .status__display-name { + color: $inverted-text-color; + } + + .display-name { + color: $light-text-color; + + strong { + color: $inverted-text-color; + } + } + + .status__content { + color: $inverted-text-color; + + a { + color: $highlight-text-color; + } + + a.status__content__spoiler-link { + color: $primary-text-color; + background: $ui-primary-color; + + &:hover, + &:focus { + background: lighten($ui-primary-color, 8%); + } + } + } + } } .detailed-status__meta { From 8751c3c4954799aec24cecc1cae68df27d19ceee Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 22 Mar 2022 18:20:25 +0100 Subject: [PATCH 37/73] Fix crash when search fails in web UI (#17853) --- app/javascript/mastodon/features/explore/results.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/features/explore/results.js b/app/javascript/mastodon/features/explore/results.js index ff900de08..339f883c5 100644 --- a/app/javascript/mastodon/features/explore/results.js +++ b/app/javascript/mastodon/features/explore/results.js @@ -24,15 +24,15 @@ const appendLoadMore = (id, list, onLoadMore) => { } }; -const renderAccounts = (results, onLoadMore) => appendLoadMore('accounts', results.get('accounts').map(item => ( +const renderAccounts = (results, onLoadMore) => appendLoadMore('accounts', results.get('accounts', ImmutableList()).map(item => ( )), onLoadMore); -const renderHashtags = (results, onLoadMore) => appendLoadMore('hashtags', results.get('hashtags').map(item => ( +const renderHashtags = (results, onLoadMore) => appendLoadMore('hashtags', results.get('hashtags', ImmutableList()).map(item => ( )), onLoadMore); -const renderStatuses = (results, onLoadMore) => appendLoadMore('statuses', results.get('statuses').map(item => ( +const renderStatuses = (results, onLoadMore) => appendLoadMore('statuses', results.get('statuses', ImmutableList()).map(item => ( )), onLoadMore); From 749fe73ec4500d78b3deb8cdd260ff6eb6c66e7c Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 22 Mar 2022 18:41:46 +0100 Subject: [PATCH 38/73] Add tooltip for instance delivery warnings (#17854) --- app/views/admin/instances/_instance.html.haml | 2 +- config/locales/en.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/instances/_instance.html.haml b/app/views/admin/instances/_instance.html.haml index 8a4396002..93f9bd418 100644 --- a/app/views/admin/instances/_instance.html.haml +++ b/app/views/admin/instances/_instance.html.haml @@ -1,7 +1,7 @@ .directory__tag = link_to admin_instance_path(instance) do %h4 - = fa_icon 'warning fw' if instance.failing? + = fa_icon 'warning fw', title: t('admin.instances.availability.warning') if instance.failing? = instance.domain %small diff --git a/config/locales/en.yml b/config/locales/en.yml index d4a42e867..a6ded38f7 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -490,6 +490,7 @@ en: other: Failed attempts on %{count} different days. no_failures_recorded: No failures on record. title: Availability + warning: The last attempt to connect to this server has been unsuccessful back_to_all: All back_to_limited: Limited back_to_warning: Warning From 9565b17d5d743d7ae4028d484b407d649210f6d2 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 24 Mar 2022 11:23:46 +0100 Subject: [PATCH 39/73] New Crowdin updates (#17829) * New translations en.json (Kurmanji (Kurdish)) * New translations doorkeeper.en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Kurmanji (Kurdish)) * New translations simple_form.en.yml (Kurmanji (Kurdish)) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.json (Japanese) * New translations en.json (Japanese) * New translations doorkeeper.en.yml (Indonesian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.json (Persian) * New translations en.yml (Thai) * New translations en.yml (Thai) * New translations en.yml (Korean) * New translations en.yml (Portuguese) * New translations en.yml (Hungarian) * New translations en.yml (Armenian) * New translations en.yml (Georgian) * New translations en.yml (Lithuanian) * New translations en.yml (Macedonian) * New translations en.yml (Dutch) * New translations en.yml (Norwegian) * New translations en.yml (Punjabi) * New translations en.yml (Polish) * New translations en.yml (Albanian) * New translations en.yml (Basque) * New translations en.yml (Serbian (Cyrillic)) * New translations en.yml (Turkish) * New translations en.yml (Ukrainian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Urdu (Pakistan)) * New translations en.yml (Icelandic) * New translations en.yml (Portuguese, Brazilian) * New translations en.yml (Indonesian) * New translations en.yml (Tamil) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Finnish) * New translations en.yml (Greek) * New translations en.yml (Galician) * New translations en.yml (Slovak) * New translations en.yml (Chinese Simplified) * New translations en.yml (Swedish) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Hebrew) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (Slovenian) * New translations en.yml (German) * New translations en.yml (Vietnamese) * New translations en.yml (Persian) * New translations en.yml (Romanian) * New translations en.yml (Afrikaans) * New translations en.yml (Bulgarian) * New translations en.yml (Czech) * New translations en.yml (Danish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Occitan) * New translations en.yml (Bengali) * New translations en.yml (Marathi) * New translations en.yml (Silesian) * New translations en.yml (Taigi) * New translations en.yml (Ido) * New translations en.yml (Kabyle) * New translations en.yml (Sanskrit) * New translations en.yml (Sardinian) * New translations en.yml (Corsican) * New translations en.yml (Sorani (Kurdish)) * New translations en.yml (Serbian (Latin)) * New translations en.yml (Asturian) * New translations en.yml (Kannada) * New translations en.yml (Cornish) * New translations en.yml (Sinhala) * New translations en.yml (Breton) * New translations en.yml (Malayalam) * New translations en.yml (Tatar) * New translations en.yml (Chinese Traditional, Hong Kong) * New translations en.yml (Uyghur) * New translations en.yml (Esperanto) * New translations en.yml (Welsh) * New translations en.yml (Telugu) * New translations en.yml (Malay) * New translations en.yml (Hindi) * New translations en.yml (Latvian) * New translations en.yml (Estonian) * New translations en.yml (Kazakh) * New translations en.yml (Norwegian Nynorsk) * New translations en.yml (Croatian) * New translations en.yml (Standard Moroccan Tamazight) * New translations en.yml (Catalan) * New translations en.yml (Chinese Traditional) * New translations en.yml (Latvian) * New translations en.yml (Icelandic) * New translations en.yml (Swedish) * New translations en.yml (Thai) * New translations en.yml (Portuguese) * New translations en.yml (Thai) * New translations en.yml (Russian) * New translations en.yml (Russian) * New translations en.yml (Thai) * New translations en.yml (Danish) * New translations en.yml (Spanish) * New translations en.yml (Spanish, Argentina) * New translations en.json (Japanese) * New translations en.yml (German) * New translations en.yml (Hungarian) * New translations en.yml (Italian) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Chinese Simplified) * New translations en.yml (Indonesian) * New translations en.yml (Turkish) * New translations en.json (Persian) * New translations simple_form.en.yml (Persian) * New translations en.yml (Thai) * New translations simple_form.en.yml (Thai) * New translations simple_form.en.yml (Persian) * New translations simple_form.en.yml (Persian) * New translations en.yml (Thai) * New translations en.json (Dutch) * New translations en.json (Dutch) * New translations en.yml (Dutch) * New translations en.json (Dutch) * New translations en.yml (Dutch) * New translations en.json (Dutch) * New translations simple_form.en.yml (Dutch) * New translations en.json (Dutch) * New translations en.json (Dutch) * New translations en.json (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations en.json (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations en.json (Dutch) * New translations en.json (Dutch) * New translations en.yml (Dutch) * New translations en.json (Dutch) * New translations en.yml (Dutch) * New translations simple_form.en.yml (Dutch) * New translations simple_form.en.yml (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations activerecord.en.yml (Dutch) * New translations en.yml (Dutch) * New translations doorkeeper.en.yml (Dutch) * New translations en.yml (Korean) * New translations en.yml (Galician) * Run `bundle exec i18n-tasks normalize` * Run `yarn manage:translations` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/fa.json | 142 ++++++++-------- app/javascript/mastodon/locales/ja.json | 2 +- app/javascript/mastodon/locales/ku.json | 4 +- app/javascript/mastodon/locales/nl.json | 212 ++++++++++++------------ config/locales/activerecord.nl.yml | 2 +- config/locales/ca.yml | 1 + config/locales/da.yml | 1 + config/locales/de.yml | 3 + config/locales/doorkeeper.id.yml | 33 ++++ config/locales/doorkeeper.ku.yml | 4 +- config/locales/doorkeeper.nl.yml | 46 ++++- config/locales/es-AR.yml | 1 + config/locales/es.yml | 1 + config/locales/gl.yml | 1 + config/locales/hu.yml | 1 + config/locales/id.yml | 1 + config/locales/is.yml | 1 + config/locales/it.yml | 1 + config/locales/ko.yml | 1 + config/locales/ku.yml | 11 +- config/locales/lv.yml | 1 + config/locales/nl.yml | 96 +++++------ config/locales/pt-PT.yml | 1 + config/locales/ru.yml | 4 + config/locales/simple_form.fa.yml | 9 + config/locales/simple_form.ku.yml | 2 +- config/locales/simple_form.nl.yml | 48 +++--- config/locales/simple_form.th.yml | 2 +- config/locales/sv.yml | 2 + config/locales/th.yml | 13 ++ config/locales/tr.yml | 1 + config/locales/zh-CN.yml | 1 + config/locales/zh-TW.yml | 1 + 33 files changed, 383 insertions(+), 267 deletions(-) diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index 820b90640..d5276039d 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -3,16 +3,16 @@ "account.add_or_remove_from_list": "افزودن یا برداشتن از سیاهه‌ها", "account.badges.bot": "روبات", "account.badges.group": "گروه", - "account.block": "مسدود کردن @{name}", + "account.block": "مسدود کردن ‎@{name}", "account.block_domain": "مسدود کردن دامنهٔ {domain}", "account.blocked": "مسدود", "account.browse_more_on_origin_server": "مرور بیش‌تر روی نمایهٔ اصلی", "account.cancel_follow_request": "لغو درخواست پی‌گیری", - "account.direct": "پیام مستقیم به @{name}", - "account.disable_notifications": "آگاهی به من هنگام فرستادن‌های @{name} پایان یابد", + "account.direct": "پیام مستقیم به ‎@{name}", + "account.disable_notifications": "آگاهی به من هنگام فرستادن‌های ‎@{name} پایان یابد", "account.domain_blocked": "دامنه مسدود شد", "account.edit_profile": "ویرایش نمایه", - "account.enable_notifications": "هنگام فرسته‌های @{name} مرا آگاه کن", + "account.enable_notifications": "هنگام فرسته‌های ‎@{name} مرا آگاه کن", "account.endorse": "معرّفی در نمایه", "account.follow": "پی‌گیری", "account.followers": "پی‌گیرندگان", @@ -22,34 +22,34 @@ "account.following_counter": "{count, plural, one {{counter} پی‌گرفته} other {{counter} پی‌گرفته}}", "account.follows.empty": "این کاربر هنوز پی‌گیر کسی نیست.", "account.follows_you": "پی می‌گیردتان", - "account.hide_reblogs": "نهفتن تقویت‌های @{name}", + "account.hide_reblogs": "نهفتن تقویت‌های ‎@{name}", "account.joined": "پیوسته از {date}", "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_notifications": "خموشاندن آگاهی‌ها از @{name}", + "account.mute": "خموشاندن ‎@{name}", + "account.mute_notifications": "خموشاندن آگاهی‌های ‎@{name}", "account.muted": "خموش", "account.posts": "فرسته", "account.posts_with_replies": "فرسته‌ها و پاسخ‌ها", - "account.report": "گزارش @{name}", + "account.report": "گزارش ‎@{name}", "account.requested": "منتظر پذیرش است. برای لغو درخواست پی‌گیری کلیک کنید", - "account.share": "هم‌رسانی نمایهٔ @{name}", - "account.show_reblogs": "نمایش تقویت‌های @{name}", + "account.share": "هم‌رسانی نمایهٔ ‎@{name}", + "account.show_reblogs": "نمایش تقویت‌های ‎@{name}", "account.statuses_counter": "{count, plural, one {{counter} فرسته} other {{counter} فرسته}}", - "account.unblock": "رفع مسدودیت @{name}", + "account.unblock": "رفع مسدودیت ‎@{name}", "account.unblock_domain": "رفع مسدودیت دامنهٔ {domain}", "account.unblock_short": "رفع مسدودیت", "account.unendorse": "معرّفی نکردن در نمایه", "account.unfollow": "ناپی‌گیری", - "account.unmute": "ناخموشی @{name}", - "account.unmute_notifications": "ناخموشی آگاهی‌ها از @{name}", + "account.unmute": "ناخموشی ‎@{name}", + "account.unmute_notifications": "ناخموشی آگاهی‌های ‎@{name}", "account.unmute_short": "ناخموشی", "account_note.placeholder": "برای افزودن یادداشت کلیک کنید", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", - "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", + "admin.dashboard.daily_retention": "نرخ حفظ کاربر در روز پس از ثبت نام", + "admin.dashboard.monthly_retention": "نرخ حفظ کاربر در ماه پس از ثبت نام", "admin.dashboard.retention.average": "میانگین", "admin.dashboard.retention.cohort": "ماه ثبت‌نام", "admin.dashboard.retention.cohort_size": "کاربران جدید", @@ -79,13 +79,13 @@ "column.lists": "سیاهه‌ها", "column.mutes": "کاربران خموش", "column.notifications": "آگاهی‌ها", - "column.pins": "فرسته‌های سنجاق‌شده", + "column.pins": "فرسته‌های سنجاق شده", "column.public": "خط زمانی همگانی", "column_back_button.label": "بازگشت", "column_header.hide_settings": "نهفتن تنظیمات", "column_header.moveLeft_settings": "جابه‌جایی ستون به چپ", "column_header.moveRight_settings": "جابه‌جایی ستون به راست", - "column_header.pin": "سنجاق‌کردن", + "column_header.pin": "سنجاق کردن", "column_header.show_settings": "نمایش تنظیمات", "column_header.unpin": "برداشتن سنجاق", "column_subheading.settings": "تنظیمات", @@ -94,7 +94,7 @@ "community.column_settings.remote_only": "تنها دوردست", "compose_form.direct_message_warning": "این فرسته تنها به کاربرانی که از آن‌ها نام برده شده فرستاده خواهد شد.", "compose_form.direct_message_warning_learn_more": "بیشتر بدانید", - "compose_form.hashtag_warning": "از آن‌جا که این فرسته فهرست‌نشده است، در نتایج جست‌وجوی برچسب‌ها پیدا نخواهد شد. تنها فرسته‌های عمومی را می‌توان با جست‌وجوی برچسب یافت.", + "compose_form.hashtag_warning": "از آن‌جا که این فرسته فهرست نشده است، در نتایج جست‌وجوی هشتگ‌ها پیدا نخواهد شد. تنها فرسته‌های عمومی را می‌توان با جست‌وجوی هشتگ یافت.", "compose_form.lock_disclaimer": "حسابتان {locked} نیست. هر کسی می‌تواند پی‌گیرتان شده و فرسته‌های ویژهٔ پی‌گیرانتان را ببیند.", "compose_form.lock_disclaimer.lock": "قفل‌شده", "compose_form.placeholder": "تازه چه خبر؟", @@ -144,7 +144,7 @@ "directory.local": "تنها از {domain}", "directory.new_arrivals": "تازه‌واردان", "directory.recently_active": "کاربران فعال اخیر", - "embed.instructions": "برای جاگذاری این فرسته در سایت خودتان، کد زیر را کپی کنید.", + "embed.instructions": "برای جاسازی این فرسته در سایت خودتان، کد زیر را رونوشت کنید.", "embed.preview": "این گونه دیده خواهد شد:", "emoji_button.activity": "فعالیت", "emoji_button.custom": "سفارشی", @@ -164,11 +164,11 @@ "empty_column.account_timeline": "هیچ فرسته‌ای این‌جا نیست!", "empty_column.account_unavailable": "نمایهٔ موجود نیست", "empty_column.blocks": "هنوز کسی را مسدود نکرده‌اید.", - "empty_column.bookmarked_statuses": "هنوز هیچ فرستهٔ نشان‌شده‌ای ندارید. هنگامی که فرسته‌ای را نشان‌کنید، این‌جا نشان داده خواهد شد.", + "empty_column.bookmarked_statuses": "هنوز هیچ فرستهٔ نشانه‌گذاری شده‌ای ندارید. هنگامی که فرسته‌ای را نشانه‌گذاری کنید، این‌جا نشان داده خواهد شد.", "empty_column.community": "خط زمانی محلّی خالی است. چیزی بنویسید تا چرخش بچرخد!", "empty_column.direct": "هنوز هیچ پیام مستقیمی ندارید. هنگامی که چنین پیامی بگیرید یا بفرستید این‌جا نشان داده خواهد شد.", "empty_column.domain_blocks": "هنوز هیچ دامنه‌ای مسدود نشده است.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "الآن چیزی پرطرفدار نیست. بعداً دوباره بررسی کنید!", "empty_column.favourited_statuses": "شما هنوز هیچ فرسته‌ای را نپسندیده‌اید. هنگامی که فرسته‌ای را بپسندید، این‌جا نشان داده خواهد شد.", "empty_column.favourites": "هنوز هیچ کسی این فرسته را نپسندیده است. هنگامی که کسی آن را بپسندد، این‌جا نشان داده خواهد شد.", "empty_column.follow_recommendations": "ظاهرا هیچ پیشنهادی برای شما نمی‌توانیم تولید کنیم. می‌توانید از امکان جست‌وجو برای یافتن افرادی که ممکن است بشناسید و یا کاوش میان برچسب‌های داغ استفاده کنید.", @@ -247,7 +247,7 @@ "keyboard_shortcuts.my_profile": "گشودن نمایه‌تان", "keyboard_shortcuts.notifications": "گشودن ستون آگاهی‌ها", "keyboard_shortcuts.open_media": "گشودن رسانه", - "keyboard_shortcuts.pinned": "گشودن سیاههٔ فرسته‌های سنجاق شده", + "keyboard_shortcuts.pinned": "گشودن فهرست فرسته‌های سنجاق شده", "keyboard_shortcuts.profile": "گشودن نمایهٔ نویسنده", "keyboard_shortcuts.reply": "پاسخ به فرسته", "keyboard_shortcuts.requests": "گشودن سیاههٔ درخواست‌های پی‌گیری", @@ -305,7 +305,7 @@ "navigation_bar.logout": "خروج", "navigation_bar.mutes": "کاربران خموشانده", "navigation_bar.personal": "شخصی", - "navigation_bar.pins": "فرسته‌های سنجاق‌شده", + "navigation_bar.pins": "فرسته‌های سنجاق شده", "navigation_bar.preferences": "ترجیحات", "navigation_bar.public_timeline": "خط زمانی همگانی", "navigation_bar.security": "امنیت", @@ -392,40 +392,40 @@ "report.block": "مسدود کردن", "report.block_explanation": "شما فرسته‌هایشان را نخواهید دید. آن‌ها نمی‌توانند فرسته‌هایتان را ببینند یا شما را پی‌بگیرند. آنها می‌توانند بگویند که مسدود شده‌اند.", "report.categories.other": "غیره", - "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.categories.spam": "هرزنامه", + "report.categories.violation": "محتوا یک یا چند قانون کارساز را نقض می‌کند", + "report.category.subtitle": "منطبق‌ترین را انتخاب کنید", + "report.category.title": "به ما بگویید با این {type} چه مشکلی دارید", + "report.category.title_account": "نمایه", + "report.category.title_status": "فرسته", + "report.close": "انجام شد", + "report.comment.title": "آیا چیز دیگری هست که فکر می‌کنید باید بدانیم؟", "report.forward": "فرستادن به {target}", "report.forward_hint": "این حساب در کارساز دیگری ثبت شده. آیا می‌خواهید رونوشتی ناشناس از این گزارش به آن‌جا هم فرستاده شود؟", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "خموش", + "report.mute_explanation": "شما فرسته‌های آن‌ها را نخواهید دید. آن‌ها همچنان می‌توانند شما را پی‌بگیرند و فرسته‌هایتان را ببینند و نمی‌دانند که خموش شده‌اند.", + "report.next": "بعدی", "report.placeholder": "توضیحات اضافه", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "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.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", - "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", - "report.statuses.title": "Are there any posts that back up this report?", + "report.reasons.dislike": "من آن را دوست ندارم", + "report.reasons.dislike_description": "این چیزی نیست که بخواهید ببینید", + "report.reasons.other": "بخواطر چیز دیگری است", + "report.reasons.other_description": "این موضوع در دسته‌بندی‌های دیگر نمی‌گنجد", + "report.reasons.spam": "این هرزنامه است", + "report.reasons.spam_description": "پیوندهای مخرب، تعامل جعلی یا پاسخ‌های تکراری", + "report.reasons.violation": "قوانین کارساز را نقض می‌کند", + "report.reasons.violation_description": "شما آگاه هستید که قوانین خاصی را زیر پا می‌گذارد", + "report.rules.subtitle": "همهٔ موارد انجام شده را برگزینید", + "report.rules.title": "کدام قوانین نقض شده‌اند؟", + "report.statuses.subtitle": "همهٔ موارد انجام شده را برگزینید", + "report.statuses.title": "آیا فرسته‌ای وجود دارد که از این گزارش پشتیبانی کند؟", "report.submit": "فرستادن", "report.target": "در حال گزارش {target}", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", - "report.thanks.title": "Don't want to see this?", - "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "report.thanks.take_action": "در اینجا گزینه‌هایی برای کنترل آنچه در ماستودون میبینید، وجود دارد:", + "report.thanks.take_action_actionable": "در حالی که ما این مورد را بررسی می‌کنیم، می‌توانید علیه ‎@{name} اقدام کنید:", + "report.thanks.title": "نمی‌خواهید این را ببینید؟", + "report.thanks.title_actionable": "ممنون بابت گزارش، ما آن را بررسی خواهیم کرد.", + "report.unfollow": "ناپی‌گیری ‎@{name}", + "report.unfollow_explanation": "شما این حساب را پی‌گرفته‌اید، برای اینکه دیگر فرسته‌هایش را در خوراک خانه‌تان نبینید؛ آن را پی‌نگیرید.", "search.placeholder": "جست‌وجو", "search_popout.search_format": "راهنمای جست‌وجوی پیشرفته", "search_popout.tips.full_text": "جست‌وجوی متنی ساده فرسته‌هایی که نوشته، پسندیده، تقویت‌کرده یا در آن‌ها نام‌برده شده‌اید را به علاوهٔ نام‌های کاربری، نام‌های نمایشی و برچسب‌ها برمی‌گرداند.", @@ -434,39 +434,39 @@ "search_popout.tips.text": "جست‌وجوی متنی ساده برای نام‌ها، نام‌های کاربری، و برچسب‌ها", "search_popout.tips.user": "کاربر", "search_results.accounts": "افراد", - "search_results.all": "All", + "search_results.all": "همه", "search_results.hashtags": "برچسب‌ها", - "search_results.nothing_found": "Could not find anything for these search terms", + "search_results.nothing_found": "چیزی برای این عبارت جست‌وجو یافت نشد", "search_results.statuses": "فرسته‌ها", - "search_results.statuses_fts_disabled": "جست‌وجوی محتوای فرسته‌ها در این کارساز ماستودون فعال نشده است.", + "search_results.statuses_fts_disabled": "جست‌وجوی محتوای فرسته‌ها در این کارساز ماستودون به کار انداخته نشده است.", "search_results.total": "{count, number} {count, plural, one {نتیجه} other {نتیجه}}", - "status.admin_account": "گشودن واسط مدیریت برای @{name}", + "status.admin_account": "گشودن واسط مدیریت برای ‎@{name}", "status.admin_status": "گشودن این فرسته در واسط مدیریت", - "status.block": "مسدود کردن @{name}", + "status.block": "مسدود کردن ‎@{name}", "status.bookmark": "نشانک", "status.cancel_reblog_private": "لغو تقویت", "status.cannot_reblog": "این فرسته قابل تقویت نیست", - "status.copy": "رونویسی از نشانی فرسته", + "status.copy": "رونوشت پیوند فرسته", "status.delete": "حذف", "status.detailed_status": "نمایش کامل گفتگو", - "status.direct": "پیام مستقیم به @{name}", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", - "status.embed": "جاگذاری", + "status.direct": "پیام مستقیم به ‎@{name}", + "status.edit": "ویرایش", + "status.edited": "ویرایش شده در {date}", + "status.edited_x_times": "{count, plural, one {{count} مرتبه} other {{count} مرتبه}} ویرایش شد", + "status.embed": "جاسازی", "status.favourite": "پسندیدن", "status.filtered": "پالوده", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "توسط {name} در {date} ایجاد شد", + "status.history.edited": "توسط {name} در {date} ویرایش شد", "status.load_more": "بار کردن بیش‌تر", "status.media_hidden": "رسانهٔ نهفته", - "status.mention": "نام‌بردن از @{name}", + "status.mention": "نام‌بردن از ‎@{name}", "status.more": "بیشتر", - "status.mute": "خموشاندن @{name}", + "status.mute": "خموشاندن ‎@{name}", "status.mute_conversation": "خموشاندن گفت‌وگو", "status.open": "گسترش این فرسته", - "status.pin": "سنجاق‌کردن در نمایه", - "status.pinned": "فرستهٔ سنجاق‌شده", + "status.pin": "سنجاق کردن در نمایه", + "status.pinned": "فرستهٔ سنجاق شده", "status.read_more": "بیشتر بخوانید", "status.reblog": "تقویت", "status.reblog_private": "تقویت برای مخاطبان نخستین", @@ -476,7 +476,7 @@ "status.remove_bookmark": "برداشتن نشانک", "status.reply": "پاسخ", "status.replyAll": "پاسخ به رشته", - "status.report": "گزارش @{name}", + "status.report": "گزارش ‎@{name}", "status.sensitive_warning": "محتوای حساس", "status.share": "هم‌رسانی", "status.show_less": "نمایش کمتر", diff --git a/app/javascript/mastodon/locales/ja.json b/app/javascript/mastodon/locales/ja.json index 8c7878a84..b5257e80d 100644 --- a/app/javascript/mastodon/locales/ja.json +++ b/app/javascript/mastodon/locales/ja.json @@ -188,7 +188,7 @@ "errors.unexpected_crash.copy_stacktrace": "スタックトレースをクリップボードにコピー", "errors.unexpected_crash.report_issue": "問題を報告", "explore.search_results": "検索結果", - "explore.suggested_follows": "あなたに", + "explore.suggested_follows": "おすすめ", "explore.title": "エクスプローラー", "explore.trending_links": "ニュース", "explore.trending_statuses": "投稿", diff --git a/app/javascript/mastodon/locales/ku.json b/app/javascript/mastodon/locales/ku.json index 0298c51ec..2bf8fc520 100644 --- a/app/javascript/mastodon/locales/ku.json +++ b/app/javascript/mastodon/locales/ku.json @@ -342,7 +342,7 @@ "notifications.filter.all": "Hemû", "notifications.filter.boosts": "Bilindkirî", "notifications.filter.favourites": "Bijarte", - "notifications.filter.follows": "Şopîner", + "notifications.filter.follows": "Dişopîne", "notifications.filter.mentions": "Qalkirin", "notifications.filter.polls": "Encamên rapirsiyê", "notifications.filter.statuses": "Ji kesên tu dişopînî re rojanekirin", @@ -501,7 +501,7 @@ "time_remaining.seconds": "{number, plural, one {# çirke} other {# çirke}} maye", "timeline_hint.remote_resource_not_displayed": "{resource} Ji rajekerên din nayê dîtin.", "timeline_hint.resources.followers": "Şopîner", - "timeline_hint.resources.follows": "Şopîner", + "timeline_hint.resources.follows": "Dişopîne", "timeline_hint.resources.statuses": "Şandiyên kevn", "trends.counter_by_accounts": "{count, plural, one {{counter} kes} other {{counter} kes}} diaxivin", "trends.trending_now": "Rojev", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index f30755286..d1cfdd5f4 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -9,44 +9,44 @@ "account.browse_more_on_origin_server": "Meer op het originele profiel bekijken", "account.cancel_follow_request": "Volgverzoek annuleren", "account.direct": "@{name} een direct bericht sturen", - "account.disable_notifications": "Geef geen melding meer wanneer @{name} toot", + "account.disable_notifications": "Geef geen melding meer wanneer @{name} een bericht plaatst", "account.domain_blocked": "Domein geblokkeerd", "account.edit_profile": "Profiel bewerken", - "account.enable_notifications": "Geef een melding wanneer @{name} toot", + "account.enable_notifications": "Geef een melding wanneer @{name} een bericht plaatst", "account.endorse": "Op profiel weergeven", "account.follow": "Volgen", "account.followers": "Volgers", "account.followers.empty": "Niemand volgt nog deze gebruiker.", "account.followers_counter": "{count, plural, one {{counter} volger} other {{counter} volgers}}", - "account.following": "Following", + "account.following": "Volgend", "account.following_counter": "{count, plural, one {{counter} volgend} other {{counter} volgend}}", "account.follows.empty": "Deze gebruiker volgt nog niemand.", "account.follows_you": "Volgt jou", "account.hide_reblogs": "Boosts van @{name} verbergen", "account.joined": "Geregistreerd in {date}", "account.link_verified_on": "Eigendom van deze link is gecontroleerd op {date}", - "account.locked_info": "De privacystatus van dit account is op besloten gezet. De eigenaar bepaalt handmatig wie hen kan volgen.", + "account.locked_info": "De privacystatus van dit account is op besloten gezet. De eigenaar bepaalt handmatig wie diegene kan volgen.", "account.media": "Media", "account.mention": "@{name} vermelden", "account.moved_to": "{name} is verhuisd naar:", "account.mute": "@{name} negeren", "account.mute_notifications": "Meldingen van @{name} negeren", "account.muted": "Genegeerd", - "account.posts": "Toots", - "account.posts_with_replies": "Toots en reacties", + "account.posts": "Berichten", + "account.posts_with_replies": "Berichten en reacties", "account.report": "@{name} rapporteren", "account.requested": "Wacht op goedkeuring. Klik om het volgverzoek te annuleren", "account.share": "Profiel van @{name} delen", "account.show_reblogs": "Boosts van @{name} tonen", - "account.statuses_counter": "{count, plural, one {{counter} toot} other {{counter} toots}}", + "account.statuses_counter": "{count, plural, one {{counter} bericht} other {{counter} berichten}}", "account.unblock": "@{name} deblokkeren", "account.unblock_domain": "{domain} niet langer verbergen", - "account.unblock_short": "Unblock", + "account.unblock_short": "Deblokkeren", "account.unendorse": "Niet op profiel weergeven", "account.unfollow": "Ontvolgen", "account.unmute": "@{name} niet langer negeren", "account.unmute_notifications": "Meldingen van @{name} niet langer negeren", - "account.unmute_short": "Unmute", + "account.unmute_short": "Niet langer negeren", "account_note.placeholder": "Klik om een opmerking toe te voegen", "admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up", @@ -79,7 +79,7 @@ "column.lists": "Lijsten", "column.mutes": "Genegeerde gebruikers", "column.notifications": "Meldingen", - "column.pins": "Vastgezette toots", + "column.pins": "Vastgezette berichten", "column.public": "Globale tijdlijn", "column_back_button.label": "Terug", "column_header.hide_settings": "Instellingen verbergen", @@ -92,10 +92,10 @@ "community.column_settings.local_only": "Alleen lokaal", "community.column_settings.media_only": "Alleen media", "community.column_settings.remote_only": "Alleen andere servers", - "compose_form.direct_message_warning": "Deze toot wordt alleen naar vermelde gebruikers verstuurd.", + "compose_form.direct_message_warning": "Dit bericht wordt alleen naar vermelde gebruikers verstuurd.", "compose_form.direct_message_warning_learn_more": "Meer leren", - "compose_form.hashtag_warning": "Deze toot valt niet onder een hashtag te bekijken, omdat deze niet op openbare tijdlijnen wordt getoond. Alleen openbare toots kunnen via hashtags gevonden worden.", - "compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de toots zien die je alleen aan jouw volgers hebt gericht.", + "compose_form.hashtag_warning": "Dit bericht valt niet onder een hashtag te bekijken, omdat deze niet op openbare tijdlijnen wordt getoond. Alleen openbare berichten kunnen via hashtags gevonden worden.", + "compose_form.lock_disclaimer": "Jouw account is niet {locked}. Iedereen kan jou volgen en kan de berichten zien die je alleen aan jouw volgers hebt gericht.", "compose_form.lock_disclaimer.lock": "besloten", "compose_form.placeholder": "Wat wil je kwijt?", "compose_form.poll.add_option": "Keuze toevoegen", @@ -106,7 +106,7 @@ "compose_form.poll.switch_to_single": "Poll wijzigen om een enkele keuze toe te staan", "compose_form.publish": "Toot", "compose_form.publish_loud": "{publish}!", - "compose_form.save_changes": "Save changes", + "compose_form.save_changes": "Wijzigingen opslaan", "compose_form.sensitive.hide": "{count, plural, one {Media als gevoelig markeren} other {Media als gevoelig markeren}}", "compose_form.sensitive.marked": "{count, plural, one {Media is als gevoelig gemarkeerd} other {Media is als gevoelig gemarkeerd}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is niet als gevoelig gemarkeerd} other {Media is niet als gevoelig gemarkeerd}}", @@ -118,22 +118,22 @@ "confirmations.block.confirm": "Blokkeren", "confirmations.block.message": "Weet je het zeker dat je {name} wilt blokkeren?", "confirmations.delete.confirm": "Verwijderen", - "confirmations.delete.message": "Weet je het zeker dat je deze toot wilt verwijderen?", + "confirmations.delete.message": "Weet je het zeker dat je dit bericht wilt verwijderen?", "confirmations.delete_list.confirm": "Verwijderen", "confirmations.delete_list.message": "Weet je zeker dat je deze lijst definitief wilt verwijderen?", "confirmations.discard_edit_media.confirm": "Weggooien", "confirmations.discard_edit_media.message": "Je hebt niet-opgeslagen wijzigingen in de mediabeschrijving of voorvertonning, wil je deze toch weggooien?", "confirmations.domain_block.confirm": "Verberg alles van deze server", - "confirmations.domain_block.message": "Weet je het echt heel erg zeker dat je alles van {domain} wilt negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en beter. Je zult geen toots van deze server op openbare tijdlijnen zien of in jouw meldingen. Jouw volgers van deze server worden verwijderd.", + "confirmations.domain_block.message": "Weet je het echt heel erg zeker dat je alles van {domain} wilt negeren? In de meeste gevallen is het blokkeren of negeren van een paar specifieke personen voldoende en beter. Je zult geen berichten van deze server op openbare tijdlijnen zien of in jouw meldingen. Jouw volgers van deze server worden verwijderd.", "confirmations.logout.confirm": "Uitloggen", "confirmations.logout.message": "Weet je zeker dat je wilt uitloggen?", "confirmations.mute.confirm": "Negeren", - "confirmations.mute.explanation": "Dit verbergt toots van hen en toots waar hen in wordt vermeld, maar hen kan nog steeds jouw toots bekijken en jou volgen.", + "confirmations.mute.explanation": "Dit verbergt diens berichten en berichten waar diegene in wordt vermeld, maar diegene kan nog steeds jouw berichten bekijken en jou volgen.", "confirmations.mute.message": "Weet je het zeker dat je {name} wilt negeren?", "confirmations.redraft.confirm": "Verwijderen en herschrijven", - "confirmations.redraft.message": "Weet je zeker dat je deze toot wilt verwijderen en herschrijven? Je verliest wel de boosts en favorieten, en de reacties op de originele toot zitten niet meer aan de nieuwe toot vast.", + "confirmations.redraft.message": "Weet je zeker dat je dit bericht wilt verwijderen en herschrijven? Je verliest wel de boosts en favorieten, en de reacties op het originele bericht raak je kwijt.", "confirmations.reply.confirm": "Reageren", - "confirmations.reply.message": "Door nu te reageren overschrijf je de toot die je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?", + "confirmations.reply.message": "Door nu te reageren overschrijf je het bericht dat je op dit moment aan het schrijven bent. Weet je zeker dat je verder wil gaan?", "confirmations.unfollow.confirm": "Ontvolgen", "confirmations.unfollow.message": "Weet je het zeker dat je {name} wilt ontvolgen?", "conversation.delete": "Gesprek verwijderen", @@ -144,7 +144,7 @@ "directory.local": "Alleen {domain}", "directory.new_arrivals": "Nieuwe accounts", "directory.recently_active": "Onlangs actief", - "embed.instructions": "Embed deze toot op jouw website, door de onderstaande code te kopiëren.", + "embed.instructions": "Embed dit bericht op jouw website door de onderstaande code te kopiëren.", "embed.preview": "Zo komt het eruit te zien:", "emoji_button.activity": "Activiteiten", "emoji_button.custom": "Lokale emoji’s", @@ -161,41 +161,41 @@ "emoji_button.symbols": "Symbolen", "emoji_button.travel": "Reizen en locaties", "empty_column.account_suspended": "Account opgeschort", - "empty_column.account_timeline": "Hier zijn geen toots!", + "empty_column.account_timeline": "Hier zijn geen berichten!", "empty_column.account_unavailable": "Profiel is niet beschikbaar", "empty_column.blocks": "Jij hebt nog geen enkele gebruiker geblokkeerd.", - "empty_column.bookmarked_statuses": "Jij hebt nog geen toots aan je bladwijzers toegevoegd. Wanneer je er een aan jouw bladwijzers toevoegt, valt deze hier te zien.", - "empty_column.community": "De lokale tijdlijn is nog leeg. Toot iets in het openbaar om de spits af te bijten!", + "empty_column.bookmarked_statuses": "Jij hebt nog geen berichten aan je bladwijzers toegevoegd. Wanneer je er een aan jouw bladwijzers toevoegt, valt deze hier te zien.", + "empty_column.community": "De lokale tijdlijn is nog leeg. Plaats een openbaar bericht om de spits af te bijten!", "empty_column.direct": "Je hebt nog geen directe berichten. Wanneer je er een verzend of ontvangt, zijn deze hier te zien.", "empty_column.domain_blocks": "Er zijn nog geen geblokkeerde domeinen.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", - "empty_column.favourited_statuses": "Jij hebt nog geen favoriete toots. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.", - "empty_column.favourites": "Niemand heeft deze toot nog aan hun favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.", + "empty_column.explore_statuses": "Momenteel zijn er geen trends. Kom later terug!", + "empty_column.favourited_statuses": "Jij hebt nog geen favoriete berichten. Wanneer je er een aan jouw favorieten toevoegt, valt deze hier te zien.", + "empty_column.favourites": "Niemand heeft dit bericht nog aan diens favorieten toegevoegd. Wanneer iemand dit doet, valt dat hier te zien.", "empty_column.follow_recommendations": "Het lijkt er op dat er geen aanbevelingen voor jou aangemaakt kunnen worden. Je kunt proberen te zoeken naar mensen die je wellicht kent, zoeken op hashtags, de lokale en globale tijdlijnen bekijken of de gebruikersgids doorbladeren.", "empty_column.follow_requests": "Jij hebt nog enkel volgverzoek ontvangen. Wanneer je er eentje ontvangt, valt dat hier te zien.", "empty_column.hashtag": "Er is nog niks te vinden onder deze hashtag.", "empty_column.home": "Deze tijdlijn is leeg! Volg meer mensen om het te vullen. {suggestions}", "empty_column.home.suggestions": "Enkele aanbevelingen bekijken", - "empty_column.list": "Er is nog niks te zien in deze lijst. Wanneer lijstleden nieuwe toots publiceren, zijn deze hier te zien.", + "empty_column.list": "Er is nog niks te zien in deze lijst. Wanneer lijstleden nieuwe berichten plaatsen, zijn deze hier te zien.", "empty_column.lists": "Jij hebt nog geen enkele lijst. Wanneer je er eentje hebt aangemaakt, valt deze hier te zien.", "empty_column.mutes": "Jij hebt nog geen gebruikers genegeerd.", "empty_column.notifications": "Je hebt nog geen meldingen. Begin met iemand een gesprek.", - "empty_column.public": "Er is hier helemaal niks! Toot iets in het openbaar of volg mensen van andere servers om het te vullen", + "empty_column.public": "Er is hier helemaal niks! Plaatst een openbaar bericht of volg mensen van andere servers om het te vullen", "error.unexpected_crash.explanation": "Als gevolg van een bug in onze broncode of als gevolg van een compatibiliteitsprobleem met jouw webbrowser, kan deze pagina niet goed worden weergegeven.", "error.unexpected_crash.explanation_addons": "Deze pagina kon niet correct geladen worden. Deze fout wordt waarschijnlijk door een browser-add-on of een automatische vertalingshulpmiddel veroorzaakt.", "error.unexpected_crash.next_steps": "Probeer deze pagina te vernieuwen. Wanneer dit niet helpt is het nog steeds mogelijk om Mastodon in een andere webbrowser of mobiele app te gebruiken.", "error.unexpected_crash.next_steps_addons": "Probeer deze uit te schakelen en de pagina te verversen. Wanneer dat niet helpt, kun je Mastodon nog altijd met een andere webbrowser of mobiele app gebruiken.", "errors.unexpected_crash.copy_stacktrace": "Stacktrace naar klembord kopiëren", "errors.unexpected_crash.report_issue": "Technisch probleem melden", - "explore.search_results": "Search results", - "explore.suggested_follows": "For you", - "explore.title": "Explore", - "explore.trending_links": "News", - "explore.trending_statuses": "Posts", + "explore.search_results": "Zoekresultaten", + "explore.suggested_follows": "Voor jou", + "explore.title": "Verkennen", + "explore.trending_links": "Nieuws", + "explore.trending_statuses": "Berichten", "explore.trending_tags": "Hashtags", "follow_recommendations.done": "Klaar", - "follow_recommendations.heading": "Volg mensen waarvan je graag toots wil zien! Hier zijn enkele aanbevelingen.", - "follow_recommendations.lead": "Toots van mensen die je volgt zullen in chronologische volgorde onder start verschijnen. Wees niet bang om hierin fouten te maken, want je kunt mensen op elk moment net zo eenvoudig ontvolgen!", + "follow_recommendations.heading": "Volg mensen waarvan je graag berichten wil zien! Hier zijn enkele aanbevelingen.", + "follow_recommendations.lead": "Berichten van mensen die je volgt zullen in chronologische volgorde onder start verschijnen. Wees niet bang om hierin fouten te maken, want je kunt mensen op elk moment net zo eenvoudig ontvolgen!", "follow_request.authorize": "Goedkeuren", "follow_request.reject": "Afkeuren", "follow_requests.unlocked_explanation": "Ook al is jouw account niet besloten, de medewerkers van {domain} denken dat jij misschien de volgende volgverzoeken handmatig wil controleren.", @@ -227,13 +227,13 @@ "intervals.full.minutes": "{number, plural, one {# minuut} other {# minuten}}", "keyboard_shortcuts.back": "Ga terug", "keyboard_shortcuts.blocked": "Geblokkeerde gebruikers tonen", - "keyboard_shortcuts.boost": "Toot boosten", + "keyboard_shortcuts.boost": "Bericht boosten", "keyboard_shortcuts.column": "Op één van de kolommen focussen", - "keyboard_shortcuts.compose": "Tekstveld voor toots focussen", + "keyboard_shortcuts.compose": "Tekstveld om een bericht te schrijven focussen", "keyboard_shortcuts.description": "Omschrijving", "keyboard_shortcuts.direct": "Jouw directe berichten tonen", "keyboard_shortcuts.down": "Naar beneden in de lijst bewegen", - "keyboard_shortcuts.enter": "Toot volledig tonen", + "keyboard_shortcuts.enter": "Volledig bericht tonen", "keyboard_shortcuts.favourite": "Aan jouw favorieten toevoegen", "keyboard_shortcuts.favourites": "Favorieten tonen", "keyboard_shortcuts.federated": "Globale tijdlijn tonen", @@ -247,7 +247,7 @@ "keyboard_shortcuts.my_profile": "Jouw profiel tonen", "keyboard_shortcuts.notifications": "Meldingen tonen", "keyboard_shortcuts.open_media": "Media openen", - "keyboard_shortcuts.pinned": "Jouw vastgezette toots tonen", + "keyboard_shortcuts.pinned": "Jouw vastgemaakte berichten tonen", "keyboard_shortcuts.profile": "Gebruikersprofiel auteur openen", "keyboard_shortcuts.reply": "Reageren", "keyboard_shortcuts.requests": "Jouw volgverzoeken tonen", @@ -256,7 +256,7 @@ "keyboard_shortcuts.start": "\"Aan de slag\" tonen", "keyboard_shortcuts.toggle_hidden": "Inhoudswaarschuwing tonen/verbergen", "keyboard_shortcuts.toggle_sensitivity": "Media tonen/verbergen", - "keyboard_shortcuts.toot": "Nieuwe toot schrijven", + "keyboard_shortcuts.toot": "Nieuw bericht schrijven", "keyboard_shortcuts.unfocus": "Tekst- en zoekveld ontfocussen", "keyboard_shortcuts.up": "Naar boven in de lijst bewegen", "lightbox.close": "Sluiten", @@ -289,12 +289,12 @@ "navigation_bar.blocks": "Geblokkeerde gebruikers", "navigation_bar.bookmarks": "Bladwijzers", "navigation_bar.community_timeline": "Lokale tijdlijn", - "navigation_bar.compose": "Nieuw toot schrijven", + "navigation_bar.compose": "Nieuw bericht schrijven", "navigation_bar.direct": "Directe berichten", "navigation_bar.discover": "Ontdekken", "navigation_bar.domain_blocks": "Geblokkeerde domeinen", "navigation_bar.edit_profile": "Profiel bewerken", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Verkennen", "navigation_bar.favourites": "Favorieten", "navigation_bar.filters": "Filters", "navigation_bar.follow_requests": "Volgverzoeken", @@ -305,23 +305,23 @@ "navigation_bar.logout": "Uitloggen", "navigation_bar.mutes": "Genegeerde gebruikers", "navigation_bar.personal": "Persoonlijk", - "navigation_bar.pins": "Vastgezette toots", + "navigation_bar.pins": "Vastgemaakte berichten", "navigation_bar.preferences": "Instellingen", "navigation_bar.public_timeline": "Globale tijdlijn", "navigation_bar.security": "Beveiliging", - "notification.admin.sign_up": "{name} signed up", - "notification.favourite": "{name} voegde jouw toot als favoriet toe", + "notification.admin.sign_up": "{name} heeft zich aangemeld", + "notification.favourite": "{name} voegde jouw bericht als favoriet toe", "notification.follow": "{name} volgt jou nu", "notification.follow_request": "{name} wil jou graag volgen", "notification.mention": "{name} vermeldde jou", "notification.own_poll": "Jouw poll is beëindigd", "notification.poll": "Een poll waaraan jij hebt meegedaan is beëindigd", - "notification.reblog": "{name} boostte jouw toot", - "notification.status": "{name} heeft zojuist een toot geplaatst", - "notification.update": "{name} edited a post", + "notification.reblog": "{name} boostte jouw bericht", + "notification.status": "{name} heeft zojuist een bericht geplaatst", + "notification.update": "{name} heeft een bericht bewerkt", "notifications.clear": "Meldingen verwijderen", "notifications.clear_confirmation": "Weet je het zeker dat je al jouw meldingen wilt verwijderen?", - "notifications.column_settings.admin.sign_up": "New sign-ups:", + "notifications.column_settings.admin.sign_up": "Nieuwe aanmeldingen:", "notifications.column_settings.alert": "Desktopmeldingen", "notifications.column_settings.favourite": "Favorieten:", "notifications.column_settings.filter_bar.advanced": "Alle categorieën tonen", @@ -335,10 +335,10 @@ "notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.show": "In kolom tonen", "notifications.column_settings.sound": "Geluid afspelen", - "notifications.column_settings.status": "Nieuwe toots:", + "notifications.column_settings.status": "Nieuwe berichten:", "notifications.column_settings.unread_notifications.category": "Ongelezen meldingen", "notifications.column_settings.unread_notifications.highlight": "Ongelezen meldingen markeren", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Bewerkingen:", "notifications.filter.all": "Alles", "notifications.filter.boosts": "Boosts", "notifications.filter.favourites": "Favorieten", @@ -365,7 +365,7 @@ "poll.votes": "{votes, plural, one {# stem} other {# stemmen}}", "poll_button.add_poll": "Poll toevoegen", "poll_button.remove_poll": "Poll verwijderen", - "privacy.change": "Zichtbaarheid van toot aanpassen", + "privacy.change": "Zichtbaarheid van bericht aanpassen", "privacy.direct.long": "Alleen aan vermelde gebruikers tonen", "privacy.direct.short": "Direct", "privacy.private.long": "Alleen aan volgers tonen", @@ -378,100 +378,100 @@ "regeneration_indicator.label": "Aan het laden…", "regeneration_indicator.sublabel": "Jouw tijdlijn wordt aangemaakt!", "relative_time.days": "{number}d", - "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", - "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", - "relative_time.full.just_now": "just now", - "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", - "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", + "relative_time.full.days": "{number, plural, one {# dag} other {# dagen}} geleden", + "relative_time.full.hours": "{number, plural, one {# uur} other {# uur}} geleden", + "relative_time.full.just_now": "zojuist", + "relative_time.full.minutes": "{number, plural, one {# minuut} other {# minuten}} geleden", + "relative_time.full.seconds": "{number, plural, one {# seconde} other {# seconden}} geleden", "relative_time.hours": "{number}u", "relative_time.just_now": "nu", "relative_time.minutes": "{number}m", "relative_time.seconds": "{number}s", "relative_time.today": "vandaag", "reply_indicator.cancel": "Annuleren", - "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", + "report.block": "Blokkeren", + "report.block_explanation": "Je kunt diens berichten niet zien. Je kunt door diegene niet gevolgd worden en jouw berichten zijn onzichtbaar. Diegene kan zien dat die door jou is geblokkeerd.", + "report.categories.other": "Overig", "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", - "report.category.title_account": "profile", - "report.category.title_status": "post", - "report.close": "Done", - "report.comment.title": "Is there anything else you think we should know?", + "report.categories.violation": "De inhoud overtreedt een of meerdere serverregels", + "report.category.subtitle": "Kies wat het meeste overeenkomt", + "report.category.title": "Vertel ons wat er met dit {type} aan de hand is", + "report.category.title_account": "profiel", + "report.category.title_status": "bericht", + "report.close": "Klaar", + "report.comment.title": "Zijn er nog andere dingen waarvan je denkt dat wij dat moeten weten?", "report.forward": "Naar {target} doorsturen", "report.forward_hint": "Het account bevindt zich op een andere server. Wil je daar eveneens een geanonimiseerde kopie van deze rapportage naar toe sturen?", - "report.mute": "Mute", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.mute": "Negeren", + "report.mute_explanation": "Je kunt diens berichten niet zien. Je kunt nog wel gevolgd worden en jouw berichten zijn nog zichtbaar, maar diegene kan niet zien dat die wordt genegeerd.", + "report.next": "Volgende", "report.placeholder": "Extra opmerkingen", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "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.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", - "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", - "report.statuses.title": "Are there any posts that back up this report?", + "report.reasons.dislike": "Ik vind het niet leuk", + "report.reasons.dislike_description": "Het is iets wat je niet wilt zien", + "report.reasons.other": "Het is iets anders", + "report.reasons.other_description": "Het probleem past niet in een andere categorie", + "report.reasons.spam": "Het is spam", + "report.reasons.spam_description": "Schadelijke links, reclame, misleiding of herhalende antwoorden", + "report.reasons.violation": "Het schendt de serverregels", + "report.reasons.violation_description": "Je weet dat het specifieke regels schendt", + "report.rules.subtitle": "Selecteer wat van toepassing is", + "report.rules.title": "Welke regels worden geschonden?", + "report.statuses.subtitle": "Selecteer wat van toepassing is", + "report.statuses.title": "Zijn er berichten die deze rapportage ondersteunen?", "report.submit": "Verzenden", "report.target": "{target} rapporteren", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", - "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", - "report.thanks.title": "Don't want to see this?", - "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "report.thanks.take_action": "Hier zijn jouw opties waarmee je kunt bepalen wat je in Mastodon wilt zien:", + "report.thanks.take_action_actionable": "Terwijl wij jouw rapportage beroordelen, kun je deze acties ondernemen tegen @{name}:", + "report.thanks.title": "Wil je dit niet zien?", + "report.thanks.title_actionable": "Dank je voor het rapporteren. Wij gaan er naar kijken.", + "report.unfollow": "@{name} ontvolgen", + "report.unfollow_explanation": "Je volgt dit account. Om diens berichten niet meer op jouw starttijdlijn te zien, kun je diegene ontvolgen.", "search.placeholder": "Zoeken", "search_popout.search_format": "Geavanceerd zoeken", - "search_popout.tips.full_text": "Gebruik gewone tekst om te zoeken in jouw toots, gebooste toots, favorieten en in toots waarin je bent vermeldt, en tevens naar gebruikersnamen, weergavenamen en hashtags.", + "search_popout.tips.full_text": "Gebruik gewone tekst om te zoeken in jouw berichten, gebooste berichten, favorieten en in berichten waarin je bent vermeldt, en tevens naar gebruikersnamen, weergavenamen en hashtags.", "search_popout.tips.hashtag": "hashtag", - "search_popout.tips.status": "toot", + "search_popout.tips.status": "bericht", "search_popout.tips.text": "Gebruik gewone tekst om te zoeken op weergavenamen, gebruikersnamen en hashtags", "search_popout.tips.user": "gebruiker", "search_results.accounts": "Gebruikers", - "search_results.all": "All", + "search_results.all": "Alles", "search_results.hashtags": "Hashtags", - "search_results.nothing_found": "Could not find anything for these search terms", - "search_results.statuses": "Toots", - "search_results.statuses_fts_disabled": "Het zoeken in toots is op deze Mastodon-server niet ingeschakeld.", + "search_results.nothing_found": "Deze zoektermen leveren geen resultaat op", + "search_results.statuses": "Berichten", + "search_results.statuses_fts_disabled": "Het zoeken in berichten is op deze Mastodon-server niet ingeschakeld.", "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultaten}}", "status.admin_account": "Moderatie-omgeving van @{name} openen", - "status.admin_status": "Deze toot in de moderatie-omgeving openen", + "status.admin_status": "Dit bericht in de moderatie-omgeving openen", "status.block": "@{name} blokkeren", "status.bookmark": "Bladwijzer toevoegen", "status.cancel_reblog_private": "Niet langer boosten", - "status.cannot_reblog": "Deze toot kan niet geboost worden", - "status.copy": "Link naar toot kopiëren", + "status.cannot_reblog": "Dit bericht kan niet geboost worden", + "status.copy": "Link naar bericht kopiëren", "status.delete": "Verwijderen", "status.detailed_status": "Uitgebreide gespreksweergave", "status.direct": "@{name} een direct bericht sturen", - "status.edit": "Edit", - "status.edited": "Edited {date}", - "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", + "status.edit": "Bewerken", + "status.edited": "Bewerkt op {date}", + "status.edited_x_times": "{count, plural, one {{count} keer} other {{count} keer}} bewerkt", "status.embed": "Insluiten", "status.favourite": "Favoriet", "status.filtered": "Gefilterd", - "status.history.created": "{name} created {date}", - "status.history.edited": "{name} edited {date}", + "status.history.created": "{name} plaatste dit {date}", + "status.history.edited": "{name} bewerkte dit {date}", "status.load_more": "Meer laden", "status.media_hidden": "Media verborgen", "status.mention": "@{name} vermelden", "status.more": "Meer", "status.mute": "@{name} negeren", "status.mute_conversation": "Negeer gesprek", - "status.open": "Volledige toot tonen", + "status.open": "Volledig bericht tonen", "status.pin": "Aan profielpagina vastmaken", - "status.pinned": "Vastgemaakte toot", + "status.pinned": "Vastgemaakt bericht", "status.read_more": "Meer lezen", "status.reblog": "Boosten", "status.reblog_private": "Boost naar oorspronkelijke ontvangers", "status.reblogged_by": "{name} boostte", - "status.reblogs.empty": "Niemand heeft deze toot nog geboost. Wanneer iemand dit doet, valt dat hier te zien.", + "status.reblogs.empty": "Niemand heeft dit bericht nog geboost. Wanneer iemand dit doet, valt dat hier te zien.", "status.redraft": "Verwijderen en herschrijven", "status.remove_bookmark": "Bladwijzer verwijderen", "status.reply": "Reageren", @@ -502,7 +502,7 @@ "timeline_hint.remote_resource_not_displayed": "{resource} van andere servers worden niet getoond.", "timeline_hint.resources.followers": "Volgers", "timeline_hint.resources.follows": "Volgend", - "timeline_hint.resources.statuses": "Oudere toots", + "timeline_hint.resources.statuses": "Oudere berichten", "trends.counter_by_accounts": "{count, plural, one {{counter} persoon} other {{counter} personen}} zijn aan het praten", "trends.trending_now": "Huidige trends", "ui.beforeunload": "Je concept gaat verloren wanneer je Mastodon verlaat.", diff --git a/config/locales/activerecord.nl.yml b/config/locales/activerecord.nl.yml index 6bbdc5b40..b5a122001 100644 --- a/config/locales/activerecord.nl.yml +++ b/config/locales/activerecord.nl.yml @@ -24,7 +24,7 @@ nl: status: attributes: reblog: - taken: van toot bestaat al + taken: van bericht bestaat al user: attributes: email: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 054db2e5b..6c5fc95fe 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -490,6 +490,7 @@ ca: other: Intents fallits en %{count} diferents dies. no_failures_recorded: Sense errors registrats. title: Disponibilitat + warning: El darrer intent de connectar a aquest servidor no ha tingut èxit back_to_all: Totes back_to_limited: Limitades back_to_warning: Avís diff --git a/config/locales/da.yml b/config/locales/da.yml index 34e56ded4..b264dffae 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -490,6 +490,7 @@ da: other: Mislykkede forsøg på %{count} forskellige dage. no_failures_recorded: Ingen fejl noteret. title: Tilgængelighed + warning: Seneste forsøg på at oprette forbindelse til denne server mislykkedes back_to_all: Alle back_to_limited: Begrænset back_to_warning: Advarsel diff --git a/config/locales/de.yml b/config/locales/de.yml index 4768f4e80..d595fdd42 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -373,6 +373,7 @@ de: enable: Aktivieren enabled: Aktiviert enabled_msg: Das Emoji wurde aktiviert + image_hint: PNG oder GIF bis %{size} list: Liste listed: Gelistet new: @@ -489,6 +490,7 @@ de: other: Fehlgeschlagener Versuch am %{count}. Tag. no_failures_recorded: Keine Fehler bei der Aufzeichnung. title: Verfügbarkeit + warning: Der letzte Versuch, sich mit diesem Server zu verbinden, war nicht erfolgreich back_to_all: Alle back_to_limited: Beschränkt back_to_warning: Warnung @@ -1436,6 +1438,7 @@ de: disallowed_hashtags: one: 'enthält einen verbotenen Hashtag: %{tags}' other: 'enthält verbotene Hashtags: %{tags}' + edited_at_html: Bearbeitet %{date} errors: in_reply_not_found: Der Beitrag, auf den du antworten möchtest, scheint nicht zu existieren. open_in_web: Im Web öffnen diff --git a/config/locales/doorkeeper.id.yml b/config/locales/doorkeeper.id.yml index 050d97dc5..9a3fed94d 100644 --- a/config/locales/doorkeeper.id.yml +++ b/config/locales/doorkeeper.id.yml @@ -73,6 +73,10 @@ id: index: authorized_at: Diberi hak otorisasi pada %{date} description_html: Ini adalah aplikasi yang dapat mengakses akun Anda menggunakan API. Jika ada aplikasi yang tidak Anda kenal di sini, atau aplikasi yang berperilaku aneh, Anda dapat mencabut hak aksesnya. + last_used_at: Terakhir dipakai pada %{date} + never_used: Tidak pernah dipakai + scopes: Hak akses + superapp: Internal title: Aplikasi yang anda izinkan errors: messages: @@ -108,6 +112,33 @@ id: authorized_applications: destroy: notice: Aplikasi dicabut. + grouped_scopes: + access: + read: Akses baca-saja + read/write: Akses baca dan tulis + write: Akses tulis-saja + title: + accounts: Akun + admin/accounts: Administrasi akun + admin/all: Semua fungsi administratif + admin/reports: Administrasi laporan + all: Segalanya + blocks: Blokir + bookmarks: Markah + conversations: Percakapan + crypto: Enkripsi end-to-end + favourites: Favorit + filters: Saringan + follow: Hubungan + follows: Mengikuti + lists: Daftar + media: Lampiran media + mutes: Bisukan + notifications: Notifikasi + push: Notifikasi dorong + reports: Laporan + search: Pencarian + statuses: Kiriman layouts: admin: nav: @@ -122,6 +153,7 @@ id: admin:write: ubah semua data di server admin:write:accounts: lakukan aksi moderasi akun admin:write:reports: lakukan aksi moderasi laporan + crypto: menggunakan enkripsi end-to-end follow: mengikuti, blokir, menghapus blokir, dan berhenti mengikuti akun push: terima notifikasi dorong read: membaca data pada akun anda @@ -141,6 +173,7 @@ id: write:accounts: ubah profil Anda write:blocks: blokir akun dan domain write:bookmarks: status markah + write:conversations: bisukan dan hapus percakapan write:favourites: status favorit write:filters: buat saringan write:follows: ikuti orang diff --git a/config/locales/doorkeeper.ku.yml b/config/locales/doorkeeper.ku.yml index 3a98486e3..6db8bb73d 100644 --- a/config/locales/doorkeeper.ku.yml +++ b/config/locales/doorkeeper.ku.yml @@ -130,7 +130,7 @@ ku: favourites: Bijarte filters: Parzûn follow: Pêwendî - follows: Şopîner + follows: Dişopîne lists: Rêzok media: Pêvekên medya mutes: Bêdengkirin @@ -162,7 +162,7 @@ ku: read:bookmarks: şûnpelên xwe bibîne read:favourites: bijarteyên xwe bibîne read:filters: parzûnûn xwe bibîne - read:follows: şopînerên xwe bibîne + read:follows: ên tu dişopînî bibîne read:lists: rêzoka xwe bibîne read:mutes: ajimêrên bêdeng kirî bibîne read:notifications: agahdariyên xwe bibîne diff --git a/config/locales/doorkeeper.nl.yml b/config/locales/doorkeeper.nl.yml index cb0c70aab..76f3b88c3 100644 --- a/config/locales/doorkeeper.nl.yml +++ b/config/locales/doorkeeper.nl.yml @@ -60,6 +60,8 @@ nl: error: title: Er is een fout opgetreden new: + prompt_html: "%{client_name} heeft toestemming nodig om toegang te krijgen tot jouw account. Het betreft een third-party-toepassing.Als je dit niet vertrouwt, moet je geen toestemming verlenen." + review_permissions: Toestemmingen beoordelen title: Autorisatie vereist show: title: Kopieer deze autorisatiecode en plak het in de toepassing. @@ -69,6 +71,11 @@ nl: confirmations: revoke: Weet je het zeker? index: + authorized_at: Toestemming verleent op %{date} + last_used_at: Voor het laatst gebruikt op %{date} + never_used: Nooit gebruikt + scopes: Toestemmingen + superapp: Intern title: Jouw geautoriseerde toepassingen errors: messages: @@ -104,6 +111,33 @@ nl: authorized_applications: destroy: notice: Toepassing ingetrokken. + grouped_scopes: + access: + read: Alleen leestoegang + read/write: Lees- en schrijftoegang + write: Alleen schrijftoegang + title: + accounts: Accounts + admin/accounts: Accountbeheer + admin/all: Alle beheerfuncties + admin/reports: Rapportagebeheer + all: Alles + blocks: Blokkeren + bookmarks: Bladwijzers + conversations: Gesprekken + crypto: End-to-end-encryptie + favourites: Favorieten + filters: Filters + follow: Relaties + follows: Volgend + lists: Lijsten + media: Mediabijlagen + mutes: Negeren + notifications: Meldingen + push: Pushmeldingen + reports: Rapportages + search: Zoeken + statuses: Berichten layouts: admin: nav: @@ -118,6 +152,7 @@ nl: admin:write: wijzig alle gegevens op de server admin:write:accounts: moderatieacties op accounts uitvoeren admin:write:reports: moderatieacties op rapportages uitvoeren + crypto: end-to-end-encryptie gebruiken follow: relaties tussen accounts bewerken push: jouw pushmeldingen ontvangen read: alle gegevens van jouw account lezen @@ -130,14 +165,15 @@ nl: read:lists: jouw lijsten bekijken read:mutes: jouw genegeerde gebruikers bekijken read:notifications: jouw meldingen bekijken - read:reports: jouw gerapporteerde toots bekijken + read:reports: jouw gerapporteerde berichten bekijken read:search: namens jou zoeken - read:statuses: alle toots bekijken + read:statuses: alle berichten bekijken write: alle gegevens van jouw account bewerken write:accounts: jouw profiel bewerken write:blocks: accounts en domeinen blokkeren - write:bookmarks: toots aan bladwijzers toevoegen - write:favourites: toots als favoriet markeren + write:bookmarks: berichten aan bladwijzers toevoegen + write:conversations: gespreken negeren en verwijderen + write:favourites: berichten als favoriet markeren write:filters: filters aanmaken write:follows: mensen volgen write:lists: lijsten aanmaken @@ -145,4 +181,4 @@ nl: write:mutes: mensen en gesprekken negeren write:notifications: meldingen verwijderen write:reports: andere mensen rapporteren - write:statuses: toots publiceren + write:statuses: berichten plaatsen diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 7dee30a27..2acc958a7 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -490,6 +490,7 @@ es-AR: other: Intentos fallidos en %{count} días. no_failures_recorded: No hay fallos en el registro. title: Disponibilidad + warning: El último intento de conexión a este servidor no fue exitoso back_to_all: Todos back_to_limited: Limitados back_to_warning: Advertencia diff --git a/config/locales/es.yml b/config/locales/es.yml index bcce44e20..31970da48 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -490,6 +490,7 @@ es: other: Intentos fallidos en %{count} días diferentes. no_failures_recorded: No hay fallos en el registro. title: Disponibilidad + warning: El último intento de conexión a este servidor no ha tenido éxito back_to_all: Todos back_to_limited: Limitados back_to_warning: Advertencia diff --git a/config/locales/gl.yml b/config/locales/gl.yml index f3a4beb70..27642844c 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -490,6 +490,7 @@ gl: other: Intentos fallidos durante %{count} días distintos. no_failures_recorded: Non hai fallos rexistrados. title: Dispoñibilidade + warning: Fallou o último intento de conectar con este servidor back_to_all: Todo back_to_limited: Limitado back_to_warning: Aviso diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 000184317..ec2d4fa94 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -492,6 +492,7 @@ hu: other: Sikertelen próbálkozás %{count} különböző napon. no_failures_recorded: Nem rögzítettünk hibát. title: Elérhetőség + warning: Sikertelen volt az utolsó csatlakozási próbálkozás ehhez a szerverhez back_to_all: Mind back_to_limited: Korlátozott back_to_warning: Figyelmeztetés diff --git a/config/locales/id.yml b/config/locales/id.yml index 97443b4a5..63b9066ce 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -477,6 +477,7 @@ id: other: Upaya gagal dalam %{count} hari berbeda. no_failures_recorded: Tidak ada kegagalan tercatat. title: Ketersediaan + warning: Upaya terakhir untuk menyambung ke server ini tidak berhasil back_to_all: Semua back_to_limited: Terbatas back_to_warning: Peringatan diff --git a/config/locales/is.yml b/config/locales/is.yml index 04d193975..92eb0e31e 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -490,6 +490,7 @@ is: other: Misheppnaðar tilraunir á %{count} mismunandi dögum. no_failures_recorded: Engar misheppnaðar tilraunir á skrá. title: Tiltækileiki + warning: Síðasta tilraun til að tengjast þessum netþjóni mistókst back_to_all: Allt back_to_limited: Takmarkað back_to_warning: Aðvörun diff --git a/config/locales/it.yml b/config/locales/it.yml index d96e58540..5af135fbc 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -490,6 +490,7 @@ it: other: Tentativo fallito %{count} giorni differenti. no_failures_recorded: Nessun fallimento registrato. title: Disponibilità + warning: L'ultimo tentativo di connessione a questo server non è riuscito back_to_all: Tutto back_to_limited: Limitato back_to_warning: Avviso diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 7dacd90d3..19cabb1ce 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -481,6 +481,7 @@ ko: other: 실패한 전달 시도 총 %{count}일. no_failures_recorded: 실패 기록이 없습니다. title: 가용성 + warning: 이 서버에 대한 마지막 연결 시도가 성공적이지 않았습니다 back_to_all: 전체 back_to_limited: 제한됨 back_to_warning: 경고 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 5245f85ec..7dac9ae44 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -133,7 +133,7 @@ ku: enabled: Çalakkirî enabled_msg: Ajimêra %{username} bi serkeftî hat çalak kirin followers: Şopîner - follows: Dişopînê + follows: Dişopîne header: Jormalper inbox_url: Peyamên hatî URl invite_request_text: Sedemên tevlêbûnê @@ -492,6 +492,7 @@ ku: other: Hewldanên têkçûyî di %{count} rojên cuda de. no_failures_recorded: Di tomarê de têkçûn tune. title: Berdestbûnî + warning: Hewldana dawî ji bo girêdana bi vê rajekarê re bi ser neket back_to_all: Hemû back_to_limited: Sînorkirî back_to_warning: Hişyarî @@ -543,7 +544,7 @@ ku: title: Giştî total_blocked_by_us: Ji aliyê me ve hatiye astengkirin total_followed_by_them: Ji aliyê wan ve hatiye şopandin - total_followed_by_us: Ji aliyê ve me hate şopandin + total_followed_by_us: Ji aliyê me ve hatiye şopandin total_reported: Giliyên derheqê wan de total_storage: Pêvekên medyayê totals_time_period_hint_html: Tevahiyên ku li jêr têne xuyakirin daneyên hemû deman dihewîne. @@ -975,7 +976,7 @@ ku: close: An jî, tu dikarî tenê ev çarçoveyê bigirî. return: Profîla vê bikarhênerê nîşan bike web: Biçe tevneyê - title: Bişopîne %{acct} + title: "%{acct} bişopîne" challenge: confirm: Bidomîne hint_html: "Nîşe:Ji bo demjimêreke din em ê pêborîna te careke din ji te nexwazin." @@ -1247,7 +1248,7 @@ ku: follow: body: "%{name} niha te dişopîne!" subject: "%{name} niha te dişopîne" - title: Şopînereke nû + title: Şopînera nû follow_request: action: Daxwazên şopandinê bi rê ve bibe body: "%{name} daxwaza şopandina te kir" @@ -1416,7 +1417,7 @@ ku: notifications: Agahdarî preferences: Hilbijarte profile: Profîl - relationships: Yên tê şopandin û şopîner + relationships: Şopandin û şopîner statuses_cleanup: Bi xweberî ve jêbirina şandiya strikes: Binpêkirinên çavdêriyê two_factor_authentication: Piştrastkirinê du-faktorî diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 8f6df9961..3440da7ef 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -501,6 +501,7 @@ lv: zero: Neizdevušies mēģinājumi %{count} dienās. no_failures_recorded: Nav reģistrētu kļūdu. title: Pieejamība + warning: Pēdējais mēģinājums izveidot savienojumu ar šo serveri ir bijis neveiksmīgs back_to_all: Visas back_to_limited: Ierobežotās back_to_warning: Brīdinājums diff --git a/config/locales/nl.yml b/config/locales/nl.yml index a51ef07af..276fdb9b2 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1,7 +1,7 @@ --- nl: about: - about_hashtag_html: Dit zijn openbare toots die getagged zijn met #%{hashtag}. Je kunt er op reageren of iets anders mee doen als je op Mastodon (of ergens anders in de fediverse) een account hebt. + about_hashtag_html: Dit zijn openbare berichten die getagged zijn met #%{hashtag}. Je kunt er op reageren of iets anders mee doen als je op Mastodon (of ergens anders in de fediverse) een account hebt. about_mastodon_html: Mastodon is een sociaal netwerk dat gebruikt maakt van open webprotocollen en vrije software. Het is net zoals e-mail gedecentraliseerd. about_this: Over deze server active_count_after: actief @@ -31,7 +31,7 @@ nl: source_code: Broncode status_count_after: one: toot - other: toots + other: berichten status_count_before: Zij schreven tagline: Vrienden volgen en nieuwe ontdekken terms: Gebruiksvoorwaarden @@ -41,7 +41,7 @@ nl: reason: 'Reden:' rejecting_media: 'Mediabestanden van deze server worden niet verwerkt en er worden geen thumbnails getoond. Je moet handmatig naar deze server doorklikken om de mediabestanden te kunnen bekijken:' rejecting_media_title: Mediabestanden geweigerd - silenced: Toots van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt. + silenced: Berichten van deze server worden nergens weergegeven, behalve op jouw eigen starttijdlijn wanneer je het account volgt. silenced_title: Beperkte servers suspended: Je bent niet in staat om iemand van deze server te volgen, en er worden geen gegevens van deze server verwerkt of opgeslagen, en met deze server uitgewisseld. suspended_title: Opgeschorte servers @@ -74,9 +74,9 @@ nl: following: Je moet dit account wel al volgen, alvorens je het kan aanbevelen posts: one: Toot - other: Toots - posts_tab_heading: Toots - posts_with_replies: Toots en reacties + other: Berichten + posts_tab_heading: Berichten + posts_with_replies: Berichten en reacties roles: admin: Beheerder bot: Bot @@ -193,7 +193,7 @@ nl: targeted_reports: Door anderen gerapporteerd silence: Beperken silenced: Beperkt - statuses: Toots + statuses: Berichten subscribe: Abonneren suspended: Opgeschort suspension_irreversible: De gegevens van dit account zijn onomkeerbaar verwijderd. Je kunt het opschorten van dit account ongedaan maken zodat het weer valt te gebruiken, maar de verwijderde gegevens worden hiermee niet hersteld. @@ -229,7 +229,7 @@ nl: destroy_custom_emoji: Lokale emoji verwijderen destroy_domain_allow: Domeingoedkeuring verwijderen destroy_domain_block: Domeinblokkade verwijderen - destroy_email_domain_block: E-maildomeinblokkade verwijderen + destroy_email_domain_block: Blokkade van e-maildomein verwijderen destroy_ip_block: IP-regel verwijderen destroy_status: Toot verwijderen destroy_unavailable_domain: Niet beschikbaar domein verwijderen @@ -245,16 +245,16 @@ nl: reset_password_user: Wachtwoord opnieuw instellen resolve_report: Rapportage oplossen sensitive_account: De media in jouw account als gevoelig markeren - silence_account: Account negeren + silence_account: Account beperken suspend_account: Account opschorten unassigned_report: Rapportage niet langer toewijzen unsensitive_account: De media in jouw account niet langer als gevoelig markeren - unsilence_account: Account niet langer negeren + unsilence_account: Account niet langer beperken unsuspend_account: Account niet langer opschorten update_announcement: Mededeling bijwerken update_custom_emoji: Lokale emoji bijwerken update_domain_block: Domeinblokkade bijwerken - update_status: Toot bijwerken + update_status: Bericht bijwerken actions: assigned_to_self_report_html: "%{name} heeft rapportage %{target} aan zichzelf toegewezen" change_email_user_html: "%{name} veranderde het e-mailadres van gebruiker %{target}" @@ -274,7 +274,7 @@ nl: destroy_domain_block_html: Domein %{target} is door %{name} gedeblokkeerd destroy_email_domain_block_html: "%{name} heeft het e-maildomein %{target} gedeblokkeerd" destroy_ip_block_html: "%{name} verwijderde regel voor IP %{target}" - destroy_status_html: Toot van %{target} is door %{name} verwijderd + destroy_status_html: Bericht van %{target} is door %{name} verwijderd destroy_unavailable_domain_html: "%{name} heeft de bezorging voor domein %{target} hervat" disable_2fa_user_html: De vereiste tweestapsverificatie voor %{target} is door %{name} uitgeschakeld disable_custom_emoji_html: Emoji %{target} is door %{name} uitgeschakeld @@ -297,8 +297,8 @@ nl: update_announcement_html: "%{name} heeft de mededeling %{target} bijgewerkt" update_custom_emoji_html: Emoji %{target} is door %{name} bijgewerkt update_domain_block_html: "%{name} heeft de domeinblokkade bijgewerkt voor %{target}" - update_status_html: "%{name} heeft de toots van %{target} bijgewerkt" - deleted_status: "(verwijderde toot}" + update_status_html: "%{name} heeft de berichten van %{target} bijgewerkt" + deleted_status: "(verwijderd bericht}" empty: Geen logs gevonden. filter_by_action: Op actie filteren filter_by_user: Op gebruiker filteren @@ -461,11 +461,11 @@ nl: relays: add_new: Nieuwe relayserver toevoegen delete: Verwijderen - description_html: Een federatierelay is een tussenliggende server die grote hoeveelheden openbare toots uitwisselt tussen servers die zich hierop hebben geabonneerd. Het kan kleine en middelgrote servers helpen om content uit de fediverse te ontdekken, waarvoor anders lokale gebruikers handmatig mensen van externe servers moeten volgen. + description_html: Een federatierelay is een tussenliggende server die grote hoeveelheden openbare berichten uitwisselt tussen servers die zich hierop hebben geabonneerd. Het kan kleine en middelgrote servers helpen om content van de fediverse te ontdekken, waarvoor anders lokale gebruikers handmatig mensen van externe servers moeten volgen. disable: Uitschakelen disabled: Uitgeschakeld enable: Inschakelen - enable_hint: Eenmaal ingeschakeld gaat jouw server zich op alle openbare toots van deze relayserver abonneren en stuurt het de openbare toots van jouw server naar de relayserver. + enable_hint: Eenmaal ingeschakeld gaat jouw server zich op alle openbare berichten van deze relayserver abonneren en stuurt het de openbare berichten van jouw server naar de relayserver. enabled: Ingeschakeld inbox_url: Relay-URL pending: Aan het wachten op toestemming van de relayserver @@ -506,7 +506,7 @@ nl: reported_by: Gerapporteerd door resolved: Opgelost resolved_msg: Rapportage succesvol opgelost! - status: Toot + status: Bericht title: Rapportages unassign: Niet langer toewijzen unresolved: Onopgelost @@ -520,7 +520,7 @@ nl: title: Serverregels settings: activity_api_enabled: - desc_html: Wekelijks overzicht van de hoeveelheid lokale toots, actieve gebruikers en nieuwe registraties + desc_html: Wekelijks overzicht van de hoeveelheid lokale berichten, actieve gebruikers en nieuwe registraties title: Statistieken over gebruikersactiviteit via de API publiceren bootstrap_timeline_accounts: desc_html: Meerdere gebruikersnamen met komma's scheiden. Deze accounts worden in ieder geval aan nieuwe gebruikers aanbevolen @@ -533,7 +533,7 @@ nl: title: Aangepaste CSS default_noindex: desc_html: Heeft invloed op alle gebruikers die deze instelling niet zelf hebben veranderd - title: Toots van gebruikers standaard niet door zoekmachines laten indexeren + title: Berichten van gebruikers standaard niet door zoekmachines laten indexeren domain_blocks: all: Aan iedereen disabled: Aan niemand @@ -561,7 +561,7 @@ nl: desc_html: Wordt op de voorpagina weergegeven wanneer registratie van nieuwe accounts is uitgeschakeld
En ook hier kan je HTML gebruiken title: Bericht wanneer registratie is uitgeschakeld deletion: - desc_html: Toestaan dat iedereen hun eigen account kan verwijderen + desc_html: Toestaan dat iedereen diens eigen account kan verwijderen title: Verwijderen account toestaan min_invite_role: disabled: Niemand @@ -606,7 +606,7 @@ nl: title: Hashtags toestaan om trending te worden zonder voorafgaande beoordeling trends: desc_html: Eerder beoordeelde hashtags die op dit moment trending zijn openbaar tonen - title: Trending hashtags + title: Trends site_uploads: delete: Geüpload bestand verwijderen destroyed_msg: Verwijderen website-upload geslaagd! @@ -615,8 +615,8 @@ nl: deleted: Verwijderd media: title: Media - no_status_selected: Er werden geen toots gewijzigd, omdat er geen enkele werd geselecteerd - title: Toots van account + no_status_selected: Er werden geen berichten gewijzigd, omdat er geen enkele werd geselecteerd + title: Berichten van account with_media: Met media system_checks: database_schema_check: @@ -662,14 +662,14 @@ nl: guide_link: https://crowdin.com/project/mastodon/nl guide_link_text: Iedereen kan bijdragen. sensitive_content: Gevoelige inhoud - toot_layout: Lay-out van toots + toot_layout: Lay-out van berichten application_mailer: notification_preferences: E-mailvoorkeuren wijzigen salutation: "%{name}," settings: 'E-mailvoorkeuren wijzigen: %{link}' view: 'Bekijk:' view_profile: Profiel bekijken - view_status: Toot bekijken + view_status: Bericht bekijken applications: created: Aanmaken toepassing geslaagd destroyed: Verwijderen toepassing geslaagd @@ -768,8 +768,8 @@ nl: success_msg: Jouw account is succesvol verwijderd warning: before: 'Lees deze tekst zorgvuldig voordat je verder gaat:' - caches: Toots en media die op andere servers zijn opgeslagen kunnen daar achterblijven - data_removal: Jouw toots en andere gegevens worden permanent verwijderd + caches: Berichten en media die op andere servers zijn opgeslagen kunnen daar achterblijven + data_removal: Jouw berichten en andere gegevens worden permanent verwijderd email_change_html: Je kunt je e-mailadres wijzigen zonder dat je jouw account hoeft te verwijderen email_contact_html: Wanneer het nog steeds niet aankomt, kun je voor hulp e-mailen naar %{email} email_reconfirmation_html: Wanneer je de bevestigingsmail niet hebt ontvangen, kun je deze opnieuw aanvragen @@ -805,7 +805,7 @@ nl: archive_takeout: date: Datum download: Jouw archief downloaden - hint_html: Je kunt een archief opvragen van jouw toots en geüploade media. De geëxporteerde gegevens zijn in het ActivityPub-formaat, dat door hiervoor geschikte software valt uit te lezen. Je kunt elke 7 dagen een kopie van je archief aanvragen. + hint_html: Je kunt een archief opvragen van jouw berichten en geüploade media. De geëxporteerde gegevens zijn in het ActivityPub-formaat, dat door hiervoor geschikte software valt uit te lezen. Je kunt elke 7 dagen een kopie van je archief aanvragen. in_progress: Jouw archief wordt samengesteld... request: Jouw archief opvragen size: Omvang @@ -820,7 +820,7 @@ nl: add_new: Nieuwe toevoegen errors: limit: Je hebt al het maximaal aantal hashtags uitgelicht - hint_html: "Wat zijn uitgelichte hashtags? Deze worden prominent op jouw openbare profiel getoond en stelt mensen in staat om jouw openbare toots per hashtag te bekijken. Het zijn een goed hulpmiddel om creatieve werkzaamheden of langetermijnprojecten bij te houden." + hint_html: "Wat zijn uitgelichte hashtags? Deze worden prominent op jouw openbare profiel getoond en stelt mensen in staat om jouw openbare berichten per hashtag te bekijken. Het zijn een goed hulpmiddel om creatieve werkzaamheden of langetermijnprojecten bij te houden." filters: contexts: account: Profielen @@ -901,7 +901,7 @@ nl: limit: Je hebt het maximaal aantal lijsten bereikt media_attachments: validations: - images_and_video: Een video kan niet aan een toot met afbeeldingen worden gekoppeld + images_and_video: Een video kan niet aan een bericht met afbeeldingen worden gekoppeld not_ready: Kan geen bestanden toevoegen die nog niet zijn verwerkt. Probeer het later opnieuw! too_many: Er kunnen niet meer dan 4 afbeeldingen toegevoegd worden migrations: @@ -954,8 +954,8 @@ nl: other: "%{count} nieuwe meldingen sinds jouw laatste bezoek \U0001F418" title: Tijdens jouw afwezigheid... favourite: - body: 'Jouw toot werd door %{name} aan hun favorieten toegevoegd:' - subject: "%{name} voegde jouw toot als favoriet toe" + body: 'Jouw bericht werd door %{name} aan diens favorieten toegevoegd:' + subject: "%{name} voegde jouw bericht als favoriet toe" title: Nieuwe favoriet follow: body: "%{name} volgt jou nu!" @@ -974,11 +974,11 @@ nl: poll: subject: Een poll van %{name} is beëindigd reblog: - body: 'Jouw toot werd door %{name} geboost:' - subject: "%{name} boostte jouw toot" + body: 'Jouw bericht werd door %{name} geboost:' + subject: "%{name} boostte jouw bericht" title: Nieuwe boost status: - subject: "%{name} heeft zojuist een toot geplaatst" + subject: "%{name} heeft zojuist een bericht geplaatst" notifications: email_events: E-mailmeldingen voor gebeurtenissen email_events_hint: 'Selecteer gebeurtenissen waarvoor je meldingen wilt ontvangen:' @@ -997,7 +997,7 @@ nl: code_hint: Voer de code in die door de authenticatie-app werd gegenereerd description_html: Na het instellen van tweestapsverificatie met een authenticatie-app, kun je alleen inloggen als je jouw mobiele telefoon bij je hebt. Hiermee genereer je namelijk de in te voeren toegangscode. enable: Inschakelen - instructions_html: "Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon. Van nu af aan genereert deze app toegangscodes die je bij het inloggen moet invoeren." + instructions_html: "Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon. Vanaf nu genereert deze app toegangscodes die je bij het inloggen moet invoeren." manual_instructions: 'Voor het geval je de QR-code niet kunt scannen en het handmatig moet invoeren, vind je hieronder de geheime code in platte tekst:' setup: Instellen wrong_code: De ingevoerde code is ongeldig! Klopt de systeemtijd van de server en die van jouw apparaat? @@ -1053,17 +1053,17 @@ nl: remote_interaction: favourite: proceed: Doorgaan met toevoegen aan jouw favorieten - prompt: 'Je wilt de volgende toot aan jouw favorieten toevoegen:' + prompt: 'Je wilt het volgende bericht aan jouw favorieten toevoegen:' reblog: proceed: Doorgaan met boosten - prompt: 'Je wilt de volgende toot boosten:' + prompt: 'Je wilt het volgende bericht boosten:' reply: proceed: Doorgaan met reageren - prompt: 'Je wilt op de volgende toot reageren:' + prompt: 'Je wilt op het volgende bericht reageren:' scheduled_statuses: - over_daily_limit: Je hebt de limiet van %{limit} in te plannen toots voor die dag overschreden - over_total_limit: Je hebt de limiet van %{limit} in te plannen toots overschreden - too_soon: De datum voor de ingeplande toot moet in de toekomst liggen + over_daily_limit: Je hebt de limiet van %{limit} in te plannen berichten voor vandaag overschreden + over_total_limit: Je hebt de limiet van %{limit} in te plannen berichten overschreden + too_soon: De datum voor het ingeplande bericht moet in de toekomst liggen sessions: activity: Laatst actief browser: Webbrowser @@ -1093,7 +1093,7 @@ nl: adobe_air: Adobe Air android: Android blackberry: Blackberry - chrome_os: ChromeOS + chrome_os: Chrome OS firefox_os: Firefox OS ios: iOS linux: Linux @@ -1144,12 +1144,12 @@ nl: one: 'bevatte een niet toegestane hashtag: %{tags}' other: 'bevatte niet toegestane hashtags: %{tags}' errors: - in_reply_not_found: De toot waarop je probeert te reageren lijkt niet te bestaan. + in_reply_not_found: Het bericht waarop je probeert te reageren lijkt niet te bestaan. open_in_web: In de webapp openen over_character_limit: Limiet van %{max} tekens overschreden pin_errors: - limit: Je hebt het maximaal aantal toots al vastgezet - ownership: Een toot van iemand anders kan niet worden vastgezet + limit: Je hebt het maximaal aantal bericht al vastgemaakt + ownership: Een bericht van iemand anders kan niet worden vastgemaakt reblog: Een boost kan niet worden vastgezet poll: total_people: @@ -1174,7 +1174,7 @@ nl: unlisted: Minder openbaar unlisted_long: Aan iedereen tonen, maar niet op openbare tijdlijnen stream_entries: - pinned: Vastgemaakte toot + pinned: Vastgemaakt bericht reblogged: boostte sensitive_content: Gevoelige inhoud tags: @@ -1332,7 +1332,7 @@ nl: otp_lost_help_html: Als je toegang tot beiden kwijt bent geraakt, neem dan contact op via %{email} seamless_external_login: Je bent ingelogd via een externe dienst, daarom zijn wachtwoorden en e-mailinstellingen niet beschikbaar. signed_in_as: 'Ingelogd als:' - suspicious_sign_in_confirmation: Het lijkt er op dat je nog niet eerder op dit apparaat bent ingelogd, en je bent een tijdje niet ingelogd, dus sturen we een beveiligingscode naar je e-mailadres om te bevestigen dat jij het bent. + suspicious_sign_in_confirmation: Het lijkt er op dat je nog niet eerder op dit apparaat bent ingelogd, dus sturen we een beveiligingscode naar jouw e-mailadres om te bevestigen dat jij het bent. verification: explanation_html: 'Je kunt jezelf verifiëren als de eigenaar van de links in de metadata van jouw profiel. Hiervoor moet op de gelinkte website een link terug naar jouw Mastodonprofiel staan. Deze link moet het rel="me"-attribuut bevatten. De omschrijving van de link maakt niet uit. Hier is een voorbeeld:' verification: Verificatie diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 0fdfff517..348545cbf 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -490,6 +490,7 @@ pt-PT: other: Tentativas em %{count} dias diferentes. no_failures_recorded: Sem falhas registadas. title: Disponibilidade + warning: A última tentativa de conectar a este servidor não foi bem sucedida back_to_all: Todas back_to_limited: Limitadas back_to_warning: Aviso diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 579ea6462..4440f3336 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -480,6 +480,7 @@ ru: availability: no_failures_recorded: Сбоев в записи нет. title: Доступность + warning: Последняя попытка подключения к этому серверу не удалась back_to_all: Все узлы back_to_limited: Все ограниченные узлы back_to_warning: Все узлы требующие внимания @@ -742,6 +743,7 @@ ru: none: "%{name} отправил(а) предупреждение %{target}" sensitive: "%{name} отметил(а) учетную запись %{target} как деликатную" silence: "%{name} ограничил(а) учетную запись %{target}" + appeal_approved: Обжаловано appeal_pending: Обжалование в обработке system_checks: database_schema_check: @@ -806,6 +808,8 @@ ru: empty: Вы еще не определили пресеты предупреждений. title: Управление шаблонами предупреждений admin_mailer: + new_appeal: + subject: "%{username} обжалует решение модерации на %{instance}" new_pending_account: body: Ниже указана информация учётной записи. Вы можете одобрить или отклонить заявку. subject: Новая учётная запись для рассмотрения на %{instance} (%{username}) diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index 679d7d8fd..7fdd3b7a8 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -27,6 +27,8 @@ fa: scheduled_at: برای انتشار فوری اعلامیه، خالی بگذارید starts_at: اختیاری. در صورتی که اعلامیه‌تان محدود به بازهٔ زمانی خاصی است text: می‌توانید مانند یک بوق‌ معمولی بنویسید. یادتان باشد که اعلامیهٔ شما فضای صفحهٔ کاربران را اشغال خواهد کرد + appeal: + text: فقط یک بار می‌توانید برای اخطار اعتراض کنید defaults: autofollow: کسانی که از راه دعوت‌نامه عضو می‌شوند به طور خودکار پیگیر شما خواهند شد avatar: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -35,6 +37,7 @@ fa: current_password: به دلایل امنیتی لطفاً رمز این حساب را وارد کنید current_username: برای تأیید، لطفاً نام کاربری حساب فعلی را وارد کنید digest: تنها وقتی فرستاده می‌شود که مدتی طولانی فعالیتی نداشته باشید و در این مدت برای شما پیغام خصوصی‌ای نوشته شده باشد + discoverable: اجازه دهید حساب‌تان از طریق پیشنهادها، پرطرفدارها و سایر قابلیت‌ها، توسط افراد غریبه قابل کشف باشد email: به شما ایمیل تأییدی فرستاده خواهد شد fields: شما می‌توانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید header: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -60,6 +63,7 @@ fa: domain_allow: domain: این دامین خواهد توانست داده‌ها از این سرور را دریافت کند و داده‌های از این دامین در این‌جا پردازش و ذخیره خواهند شد email_domain_block: + domain: این می‌تواند نام دامنه‌ای باشد که در نشانی رایانامه یا رکورد MX استفاده می‌شود. پس از ثبت نام بررسی خواهند شد. with_dns_records: تلاشی برای resolve کردن رکوردهای ساناد دامنهٔ داده‌شده انجام شده و نتیجه نیز مسدود خواهد شد featured_tag: name: 'شاید بخواهید چنین چیزهایی را به کار ببرید:' @@ -116,6 +120,8 @@ fa: scheduled_at: زمان‌بندی انتشار starts_at: آغاز رویداد text: اعلامیه + appeal: + text: توضیح دهید که چرا این تصمیم باید معکوس شود defaults: autofollow: دعوت از دیگران برای عضو شدن و پیگیری حساب شما avatar: تصویر نمایه @@ -194,6 +200,7 @@ fa: sign_up_requires_approval: محدود کردن ثبت نام‌ها severity: قانون notification_emails: + appeal: شخصی به تصمیم ناظر اعتراض کرد digest: فرستادن رایانامه‌های خلاصه favourite: وقتی کسی نوشتهٔ شما را پسندید ایمیل بفرست follow: وقتی کسی پیگیر شما شد ایمیل بفرست @@ -201,6 +208,8 @@ fa: mention: وقتی کسی از شما نام برد ایمیل بفرست pending_account: وقتی حساب تازه‌ای نیاز به بازبینی داشت ایمیل بفرست reblog: وقتی کسی نوشتهٔ شما را بازبوقید ایمیل بفرست + report: گزارش جدیدی فرستاده شد + trending_tag: روند جدیدی نیازمند بازبینی است rule: text: قانون tag: diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml index 4f38ae030..dcf723591 100644 --- a/config/locales/simple_form.ku.yml +++ b/config/locales/simple_form.ku.yml @@ -144,7 +144,7 @@ ku: inbox_url: URLya guhêzkera wergirtî irreversible: Li şûna veşartinê jê bibe locale: Zimanê navrûyê - locked: Ajimêr qefl bike + locked: Ajimêr kilît bike max_uses: Hejmara bikaranîna herî zêde new_password: Pêborîna nû note: Jiyanname diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 13d86443c..33968b508 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -7,18 +7,18 @@ nl: account_migration: acct: Vul de gebruikersnaam@domein van het account in, waarnaartoe je wilt verhuizen account_warning_preset: - text: Je kunt voor toots specifieke tekst gebruiken, zoals URL's, hashtags en vermeldingen + text: Je kunt specifieke tekst voor berichten gebruiken, zoals URL's, hashtags en vermeldingen title: Optioneel. Niet zichtbaar voor de ontvanger admin_account_action: - include_statuses: De gebruiker ziet welke toots verantwoordelijk zijn voor de moderatieactie of waarschuwing - send_email_notification: De gebruiker ontvangt een uitleg over wat er met hun account is gebeurd - text_html: Optioneel. Je kunt voor toots specifieke tekst gebruiken. Om tijd te besparen kun je presets voor waarschuwingen toevoegen + include_statuses: De gebruiker ziet welke berichten verantwoordelijk zijn voor de moderatieactie of waarschuwing + send_email_notification: De gebruiker ontvangt een uitleg over wat er met diens account is gebeurd + text_html: Optioneel. Je kunt specifieke tekst voor berichten gebruiken. Om tijd te besparen kun je presets voor waarschuwingen toevoegen type_html: Kies wat er met %{acct} moet gebeuren types: - disable: Voorkom dat de gebruiker hun account gebruikt, maar verwijder of verberg de inhoud niet. + disable: Voorkom dat de gebruiker diens account gebruikt, maar verwijder of verberg de inhoud niet. none: Gebruik dit om een waarschuwing naar de gebruiker te sturen, zonder dat nog een andere actie wordt uitgevoerd. sensitive: Forceer dat alle mediabijlagen van deze gebruiker als gevoelig worden gemarkeerd. - silence: Voorkom dat de gebruiker openbare toots kan versturen, verberg hun toots en meldingen voor mensen die hen niet volgen. + silence: Voorkom dat de gebruiker openbare berichten kan versturen, verberg diens berichten en meldingen voor mensen die diegene niet volgen. suspend: Alle interacties van en met dit account blokkeren en de inhoud verwijderen. Dit kan binnen dertig dagen worden teruggedraaid. warning_preset_id: Optioneel. Je kunt nog steeds handmatig tekst toevoegen aan het eind van de voorinstelling announcement: @@ -26,7 +26,7 @@ nl: ends_at: Optioneel. De publicatie van de mededeling wordt op dit tijdstip automatisch beëindigd scheduled_at: Laat leeg om de mededeling meteen te publiceren starts_at: Optioneel. In het geval dat jouw mededeling aan een bepaald tijdvak is gebonden - text: Je kunt voor toots specifieke tekst gebruiken. Let op de ruimte die de mededeling op het scherm van de gebruiker inneemt + text: Je kunt specifieke tekst voor berichten gebruiken. Let op de ruimte die de mededeling op het scherm van de gebruiker inneemt defaults: autofollow: Mensen die zich via de uitnodiging hebben geregistreerd, volgen jou automatisch avatar: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px @@ -39,20 +39,20 @@ nl: fields: Je kan maximaal 4 items als een tabel op je profiel weergeven header: PNG, GIF of JPG. Maximaal %{size}. Wordt teruggeschaald naar %{dimensions}px inbox_url: Kopieer de URL van de voorpagina van de relayserver die je wil gebruiken - irreversible: Gefilterde toots verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd + irreversible: Gefilterde berichten verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd locale: De taal van de gebruikersomgeving, e-mails en pushmeldingen locked: Door het goedkeuren van volgers handmatig bepalen wie jou mag volgen password: Gebruik tenminste 8 tekens phrase: Komt overeen ongeacht hoofd-/kleine letters of een inhoudswaarschuwing scopes: Tot welke API's heeft de toepassing toegang. Wanneer je een toestemming van het bovenste niveau kiest, hoef je geen individuele toestemmingen meer te kiezen. - setting_aggregate_reblogs: Geen nieuwe boosts tonen voor toots die recentelijk nog zijn geboost (heeft alleen effect op nieuw ontvangen boosts) + setting_aggregate_reblogs: Geen nieuwe boosts tonen voor berichten die recentelijk nog zijn geboost (heeft alleen effect op nieuw ontvangen boosts) setting_default_sensitive: Gevoelige media wordt standaard verborgen en kan met één klik worden getoond setting_display_media_default: Als gevoelig gemarkeerde media verbergen setting_display_media_hide_all: Media altijd verbergen setting_display_media_show_all: Media altijd tonen setting_hide_network: Wie jij volgt en wie jou volgen wordt niet op jouw profiel getoond - setting_noindex: Heeft invloed op jouw openbare profiel en toots - setting_show_application: De toepassing de je gebruikt om te tooten wordt in de gedetailleerde weergave van de toot getoond + setting_noindex: Heeft invloed op jouw openbare profiel en pagina's met berichten + setting_show_application: De toepassing de je gebruikt om berichten te plaatsen wordt in de gedetailleerde weergave van het bericht getoond setting_use_blurhash: Wazige kleurovergangen zijn gebaseerd op de kleuren van de verborgen media, waarmee elk detail verdwijnt setting_use_pending_items: De tijdlijn wordt bijgewerkt door op het aantal nieuwe items te klikken, in plaats van dat deze automatisch wordt bijgewerkt username: Jouw gebruikersnaam is uniek op %{domain} @@ -85,7 +85,7 @@ nl: tag: name: Je kunt elk woord met een hoofdletter beginnen, om zo bijvoorbeeld de tekst leesbaarder te maken user: - chosen_languages: Alleen toots in de aangevinkte talen worden op de openbare tijdlijnen getoond + chosen_languages: Alleen berichten in de aangevinkte talen worden op de openbare tijdlijnen getoond labels: account: fields: @@ -99,7 +99,7 @@ nl: text: Tekst van preset title: Titel admin_account_action: - include_statuses: Gerapporteerde toots aan de e-mail toevoegen + include_statuses: Gerapporteerde berichten aan de e-mail toevoegen send_email_notification: Meld dit per e-mail aan de gebruiker text: Aangepaste waarschuwing type: Actie @@ -146,22 +146,22 @@ nl: setting_advanced_layout: Geavanceerde webomgeving inschakelen setting_aggregate_reblogs: Boosts in tijdlijnen groeperen setting_auto_play_gif: Speel geanimeerde GIF's automatisch af - setting_boost_modal: Vraag voor het boosten van een toot een bevestiging - setting_crop_images: Afbeeldingen bijsnijden tot 16x9 in toots op tijdlijnen - setting_default_language: Taal van jouw toots - setting_default_privacy: Standaardzichtbaarheid van jouw toots + setting_boost_modal: Vraag voor het boosten van een bericht een bevestiging + setting_crop_images: Afbeeldingen bijsnijden tot 16x9 in berichten op tijdlijnen + setting_default_language: Taal van jouw berichten + setting_default_privacy: Zichtbaarheid van nieuwe berichten setting_default_sensitive: Media altijd als gevoelig markeren - setting_delete_modal: Vraag voor het verwijderen van een toot een bevestiging + setting_delete_modal: Vraag voor het verwijderen van een bericht een bevestiging setting_disable_swiping: Swipebewegingen uitschakelen setting_display_media: Mediaweergave setting_display_media_default: Standaard setting_display_media_hide_all: Alles verbergen setting_display_media_show_all: Alles tonen - setting_expand_spoilers: Altijd toots met inhoudswaarschuwingen uitklappen + setting_expand_spoilers: Altijd berichten met inhoudswaarschuwingen uitklappen setting_hide_network: Jouw volgers en wie je volgt verbergen - setting_noindex: Jouw toots niet door zoekmachines laten indexeren + setting_noindex: Jouw berichten niet door zoekmachines laten indexeren setting_reduce_motion: Langzamere animaties - setting_show_application: Toepassing onthullen die je voor het verzenden van toots gebruikt + setting_show_application: Toepassing onthullen die je voor het verzenden van berichten gebruikt setting_system_font_ui: Standaardlettertype van jouw systeem gebruiken setting_theme: Thema website setting_trends: Trends van vandaag tonen @@ -195,19 +195,19 @@ nl: severity: Regel notification_emails: digest: Periodiek e-mails met een samenvatting versturen - favourite: Wanneer iemand jouw toot aan hun favorieten heeft toegevoegd + favourite: Wanneer iemand jouw bericht aan diens favorieten heeft toegevoegd follow: Wanneer iemand jou is gaan volgen follow_request: Wanneer iemand jou wil volgen mention: Wanneer iemand jou heeft vermeld pending_account: Wanneer een nieuw account moet worden beoordeeld - reblog: Wanneer iemand jouw toot heeft geboost + reblog: Wanneer iemand jouw bericht heeft geboost rule: text: Regel tag: listable: Toestaan dat deze hashtag in zoekopdrachten en aanbevelingen te zien valt name: Hashtag trendable: Toestaan dat deze hashtag onder trends te zien valt - usable: Toestaan dat deze hashtag in toots gebruikt mag worden + usable: Toestaan dat deze hashtag in berichten gebruikt mag worden 'no': Nee recommended: Aanbevolen required: diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index 6127cb9d5..b954b50fe 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -74,7 +74,7 @@ th: text: นี่จะช่วยให้เราตรวจทานใบสมัครของคุณ ip_block: comment: ไม่จำเป็น จดจำเหตุผลที่คุณเพิ่มกฎนี้ - ip: ป้อนที่อยู่ IPv4 หรือ IPv6 คุณสามารถปิดกั้นทั้งช่วงได้โดยใช้ไวยากรณ์ CIDR ระวังอย่าล็อคตัวเองออก! + ip: ป้อนที่อยู่ IPv4 หรือ IPv6 คุณสามารถปิดกั้นทั้งช่วงได้โดยใช้ไวยากรณ์ CIDR ระวังอย่าล็อคตัวคุณเองออก! severities: no_access: ปิดกั้นการเข้าถึงทรัพยากรทั้งหมด sign_up_requires_approval: การลงทะเบียนใหม่จะต้องมีการอนุมัติของคุณ diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 40337ce69..441044516 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -404,6 +404,8 @@ sv: status: Status title: Följ rekommendationer instances: + availability: + warning: Det senaste försöket att ansluta till denna värddator har misslyckats back_to_all: Alla back_to_limited: Begränsat back_to_warning: Varning diff --git a/config/locales/th.yml b/config/locales/th.yml index beafc4da4..d6248b7a8 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -556,6 +556,9 @@ th: other: "%{count} หมายเหตุ" action_log: รายการบันทึกการตรวจสอบ action_taken_by: ใช้การกระทำโดย + actions: + resolve_description_html: จะไม่ใช้การกระทำกับบัญชีที่รายงาน ไม่มีการบันทึกการดำเนินการ และจะปิดรายงาน + actions_description_html: ตัดสินใจว่าการกระทำใดที่จะใช้เพื่อแก้ปัญหารายงานนี้ หากคุณใช้การกระทำที่เป็นการลงโทษกับบัญชีที่รายงาน จะส่งการแจ้งเตือนอีเมลถึงเขา ยกเว้นเมื่อมีการเลือกหมวดหมู่ สแปม are_you_sure: คุณแน่ใจหรือไม่? assign_to_self: มอบหมายให้ฉัน assigned: ผู้ควบคุมที่ได้รับมอบหมาย @@ -883,6 +886,7 @@ th: confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์ functional: บัญชีของคุณทำงานได้อย่างเต็มที่ pending: ใบสมัครของคุณกำลังรอดำเนินการตรวจทานโดยพนักงานของเรา นี่อาจใช้เวลาสักครู่ คุณจะได้รับอีเมลหากใบสมัครของคุณได้รับการอนุมัติ + view_strikes: ดูการดำเนินการที่ผ่านมากับบัญชีของคุณ too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง trouble_logging_in: มีปัญหาในการเข้าสู่ระบบ? use_security_key: ใช้กุญแจความปลอดภัย @@ -954,6 +958,7 @@ th: submit: ส่งการอุทธรณ์ associated_report: รายงานที่เกี่ยวข้อง created_at: ลงวันที่ + description_html: นี่คือการกระทำที่ใช้กับบัญชีของคุณและคำเตือนที่ส่งถึงคุณโดยพนักงานของ %{instance} recipient: ส่งถึง status: 'โพสต์ #%{id}' title: "%{action} จาก %{date}" @@ -1410,9 +1415,11 @@ th: user_mailer: appeal_approved: action: ไปยังบัญชีของคุณ + explanation: อนุมัติการอุทธรณ์การดำเนินการกับบัญชีของคุณเมื่อ %{strike_date} ที่คุณได้ส่งเมื่อ %{appeal_date} แล้ว บัญชีของคุณอยู่ในสถานะที่ดีอีกครั้งหนึ่ง subject: อนุมัติการอุทธรณ์ของคุณจาก %{date} แล้ว title: อนุมัติการอุทธรณ์แล้ว appeal_rejected: + explanation: ปฏิเสธการอุทธรณ์การดำเนินการกับบัญชีของคุณเมื่อ %{strike_date} ที่คุณได้ส่งเมื่อ %{appeal_date} แล้ว subject: ปฏิเสธการอุทธรณ์ของคุณจาก %{date} แล้ว title: ปฏิเสธการอุทธรณ์แล้ว backup_ready: @@ -1431,6 +1438,12 @@ th: categories: spam: สแปม violation: เนื้อหาละเมิดหลักเกณฑ์ชุมชนดังต่อไปนี้ + explanation: + delete_statuses: มีการพบว่าบางโพสต์ของคุณละเมิดหนึ่งหลักเกณฑ์ชุมชนหรือมากกว่าและได้รับการเอาออกโดยผู้ควบคุมของ %{instance} ในเวลาต่อมา + disable: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป แต่โปรไฟล์และข้อมูลอื่น ๆ ของคุณยังคงอยู่ในสภาพเดิม คุณสามารถขอข้อมูลสำรองของข้อมูลของคุณ เปลี่ยนการตั้งค่าบัญชี หรือลบบัญชีของคุณ + mark_statuses_as_sensitive: ทำเครื่องหมายบางโพสต์ของคุณว่าละเอียดอ่อนโดยผู้ควบคุมของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต + sensitive: จากนี้ไป จะทำเครื่องหมายไฟล์สื่อที่อัปโหลดทั้งหมดของคุณว่าละเอียดอ่อนและซ่อนอยู่หลังการคลิกไปยังคำเตือน + silence: คุณยังคงสามารถใช้บัญชีของคุณแต่เฉพาะผู้คนที่กำลังติดตามคุณอยู่แล้วเท่านั้นที่จะเห็นโพสต์ของคุณในเซิร์ฟเวอร์นี้ และอาจแยกคุณออกจากคุณลักษณะการค้นพบต่าง ๆ อย่างไรก็ตาม ผู้อื่นอาจยังติดตามคุณด้วยตนเอง reason: 'เหตุผล:' statuses: 'โพสต์ที่อ้างถึง:' subject: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 6e6477b92..47a55326b 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -490,6 +490,7 @@ tr: other: "%{count} farklı gün başarısız girişim." no_failures_recorded: Kayıtlı başarısızlık yok. title: Ulaşılabilirlik + warning: Bu sunucuya önceki bağlanma denemesi başarısız olmuştu back_to_all: Tümü back_to_limited: Sınırlı back_to_warning: Uyarı diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 6561a5716..6341b4eed 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -479,6 +479,7 @@ zh-CN: other: 在 %{count} 天中尝试失败。 no_failures_recorded: 没有失败记录。 title: 可用性 + warning: 上一次连接到此服务器的尝试失败了 back_to_all: 全部 back_to_limited: 受限 back_to_warning: 警告 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 43a71a5dd..1b64f9893 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -479,6 +479,7 @@ zh-TW: other: 錯誤嘗試於 %{count} 天。 no_failures_recorded: 報告中沒有錯誤。 title: 可用狀態 + warning: 上一次嘗試連線至本伺服器失敗 back_to_all: 所有 back_to_limited: 受限制的 back_to_warning: 警告 From b58db8f12eb19787ee3bd1ec8abab21027b3d4ef Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 25 Mar 2022 19:31:35 +0100 Subject: [PATCH 40/73] Add workaround for YouTube Shorts links (#17869) * Add workaround for YouTube Shorts links * Update link_details_extractor_spec.rb --- app/lib/link_details_extractor.rb | 2 +- spec/lib/link_details_extractor_spec.rb | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb index fabbd244d..b0c4e4f42 100644 --- a/app/lib/link_details_extractor.rb +++ b/app/lib/link_details_extractor.rb @@ -208,7 +208,7 @@ class LinkDetailsExtractor end def valid_url_or_nil(str, same_origin_only: false) - return if str.blank? + return if str.blank? || str == 'null' url = @original_url + Addressable::URI.parse(str) diff --git a/spec/lib/link_details_extractor_spec.rb b/spec/lib/link_details_extractor_spec.rb index 84bb4579c..7ea867c61 100644 --- a/spec/lib/link_details_extractor_spec.rb +++ b/spec/lib/link_details_extractor_spec.rb @@ -25,6 +25,14 @@ RSpec.describe LinkDetailsExtractor do expect(subject.canonical_url).to eq 'https://foo.com/article' end end + + context 'when canonical URL is set to "null"' do + let(:html) { '' } + + it 'ignores the canonical URLs' do + expect(subject.canonical_url).to eq original_url + end + end end context 'when structured data is present' do From f65eaa5aae8a71431bdcfb9c49c869cbdbc4da3f Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 25 Mar 2022 21:00:59 +0100 Subject: [PATCH 41/73] Add admin dashboard checks for Elasticsearch version (#17863) --- app/lib/admin/system_check.rb | 1 + .../admin/system_check/elasticsearch_check.rb | 39 +++++++++++++++++++ config/locales/en.yml | 5 +++ 3 files changed, 45 insertions(+) create mode 100644 app/lib/admin/system_check/elasticsearch_check.rb diff --git a/app/lib/admin/system_check.rb b/app/lib/admin/system_check.rb index afb20cb47..877a42ef6 100644 --- a/app/lib/admin/system_check.rb +++ b/app/lib/admin/system_check.rb @@ -5,6 +5,7 @@ class Admin::SystemCheck Admin::SystemCheck::DatabaseSchemaCheck, Admin::SystemCheck::SidekiqProcessCheck, Admin::SystemCheck::RulesCheck, + Admin::SystemCheck::ElasticsearchCheck, ].freeze def self.perform diff --git a/app/lib/admin/system_check/elasticsearch_check.rb b/app/lib/admin/system_check/elasticsearch_check.rb new file mode 100644 index 000000000..1b48a5415 --- /dev/null +++ b/app/lib/admin/system_check/elasticsearch_check.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +class Admin::SystemCheck::ElasticsearchCheck < Admin::SystemCheck::BaseCheck + def pass? + return true unless Chewy.enabled? + + running_version.present? && compatible_version? + end + + def message + if running_version.present? + Admin::SystemCheck::Message.new(:elasticsearch_version_check, I18n.t('admin.system_checks.elasticsearch_version_check.version_comparison', running_version: running_version, required_version: required_version)) + else + Admin::SystemCheck::Message.new(:elasticsearch_running_check) + end + end + + private + + def running_version + @running_version ||= begin + Chewy.client.info['version']['number'] + rescue Faraday::ConnectionFailed + nil + end + end + + def required_version + '7.x' + end + + def compatible_version? + Gem::Version.new(running_version) >= Gem::Version.new(required_version) + end + + def missing_queues + @missing_queues ||= Sidekiq::ProcessSet.new.reduce(SIDEKIQ_QUEUES) { |queues, process| queues - process['queues'] } + end +end diff --git a/config/locales/en.yml b/config/locales/en.yml index a6ded38f7..db29922fa 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -780,6 +780,11 @@ en: message_html: You haven't defined any server rules. sidekiq_process_check: message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration + elasticsearch_running_check: + message_html: Could not connect to Elasticsearch. Please check that it is running, or disable full-text search + elasticsearch_version_check: + message_html: "Incompatible Elasticsearch version: %{value}" + version_comparison: "Elasticsearch %{running_version} is running while %{required_version} is required" tags: review: Review status updated_msg: Hashtag settings updated successfully From f572a68a0cec49551948858dc0957bc7703e580d Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 25 Mar 2022 21:41:17 +0100 Subject: [PATCH 42/73] Chore: i18n-tasks normalize (#17873) --- config/locales/en.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index db29922fa..5fa3c012e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -775,16 +775,16 @@ en: system_checks: database_schema_check: message_html: There are pending database migrations. Please run them to ensure the application behaves as expected + elasticsearch_running_check: + message_html: Could not connect to Elasticsearch. Please check that it is running, or disable full-text search + elasticsearch_version_check: + message_html: 'Incompatible Elasticsearch version: %{value}' + version_comparison: Elasticsearch %{running_version} is running while %{required_version} is required rules_check: action: Manage server rules message_html: You haven't defined any server rules. sidekiq_process_check: message_html: No Sidekiq process running for the %{value} queue(s). Please review your Sidekiq configuration - elasticsearch_running_check: - message_html: Could not connect to Elasticsearch. Please check that it is running, or disable full-text search - elasticsearch_version_check: - message_html: "Incompatible Elasticsearch version: %{value}" - version_comparison: "Elasticsearch %{running_version} is running while %{required_version} is required" tags: review: Review status updated_msg: Hashtag settings updated successfully From e3a220306181f9aeda41940bfb11e4350d113e77 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 00:26:50 +0100 Subject: [PATCH 43/73] Add offset pagination to trends in REST API (#17872) --- .../api/v1/trends/links_controller.rb | 26 ++++++++++++++++++- .../api/v1/trends/statuses_controller.rb | 24 ++++++++++++++++- .../api/v1/trends/tags_controller.rb | 26 ++++++++++++++++++- app/models/trends/query.rb | 4 +-- 4 files changed, 75 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/v1/trends/links_controller.rb b/app/controllers/api/v1/trends/links_controller.rb index ad20e7f8b..b1cde5a4b 100644 --- a/app/controllers/api/v1/trends/links_controller.rb +++ b/app/controllers/api/v1/trends/links_controller.rb @@ -3,6 +3,10 @@ class Api::V1::Trends::LinksController < Api::BaseController before_action :set_links + after_action :insert_pagination_headers + + DEFAULT_LINKS_LIMIT = 10 + def index render json: @links, each_serializer: REST::Trends::LinkSerializer end @@ -20,6 +24,26 @@ class Api::V1::Trends::LinksController < Api::BaseController end def links_from_trends - Trends.links.query.allowed.in_locale(content_locale).limit(limit_param(10)) + Trends.links.query.allowed.in_locale(content_locale).offset(offset_param).limit(limit_param(DEFAULT_LINKS_LIMIT)) + end + + def insert_pagination_headers + set_pagination_headers(next_path, prev_path) + end + + def pagination_params(core_params) + params.slice(:limit).permit(:limit).merge(core_params) + end + + def next_path + api_v1_trends_links_url pagination_params(offset: offset_param + limit_param(DEFAULT_LINKS_LIMIT)) + end + + def prev_path + api_v1_trends_links_url pagination_params(offset: offset_param - limit_param(DEFAULT_LINKS_LIMIT)) if offset_param > limit_param(DEFAULT_LINKS_LIMIT) + end + + def offset_param + params[:offset].to_i end end diff --git a/app/controllers/api/v1/trends/statuses_controller.rb b/app/controllers/api/v1/trends/statuses_controller.rb index d4ec97ae5..4977803fb 100644 --- a/app/controllers/api/v1/trends/statuses_controller.rb +++ b/app/controllers/api/v1/trends/statuses_controller.rb @@ -3,6 +3,8 @@ class Api::V1::Trends::StatusesController < Api::BaseController before_action :set_statuses + after_action :insert_pagination_headers + def index render json: @statuses, each_serializer: REST::StatusSerializer end @@ -22,6 +24,26 @@ class Api::V1::Trends::StatusesController < Api::BaseController def statuses_from_trends scope = Trends.statuses.query.allowed.in_locale(content_locale) scope = scope.filtered_for(current_account) if user_signed_in? - scope.limit(limit_param(DEFAULT_STATUSES_LIMIT)) + scope.offset(offset_param).limit(limit_param(DEFAULT_STATUSES_LIMIT)) + end + + def insert_pagination_headers + set_pagination_headers(next_path, prev_path) + end + + def pagination_params(core_params) + params.slice(:limit).permit(:limit).merge(core_params) + end + + def next_path + api_v1_trends_statuses_url pagination_params(offset: offset_param + limit_param(DEFAULT_STATUSES_LIMIT)) + end + + def prev_path + api_v1_trends_statuses_url pagination_params(offset: offset_param - limit_param(DEFAULT_STATUSES_LIMIT)) if offset_param > limit_param(DEFAULT_STATUSES_LIMIT) + end + + def offset_param + params[:offset].to_i end end diff --git a/app/controllers/api/v1/trends/tags_controller.rb b/app/controllers/api/v1/trends/tags_controller.rb index 1334b72d2..d77857871 100644 --- a/app/controllers/api/v1/trends/tags_controller.rb +++ b/app/controllers/api/v1/trends/tags_controller.rb @@ -3,6 +3,10 @@ class Api::V1::Trends::TagsController < Api::BaseController before_action :set_tags + after_action :insert_pagination_headers + + DEFAULT_TAGS_LIMIT = 10 + def index render json: @tags, each_serializer: REST::TagSerializer end @@ -12,10 +16,30 @@ class Api::V1::Trends::TagsController < Api::BaseController def set_tags @tags = begin if Setting.trends - Trends.tags.query.allowed.limit(limit_param(10)) + Trends.tags.query.allowed.limit(limit_param(DEFAULT_TAGS_LIMIT)) else [] end end end + + def insert_pagination_headers + set_pagination_headers(next_path, prev_path) + end + + def pagination_params(core_params) + params.slice(:limit).permit(:limit).merge(core_params) + end + + def next_path + api_v1_trends_tags_url pagination_params(offset: offset_param + limit_param(DEFAULT_TAGS_LIMIT)) + end + + def prev_path + api_v1_trends_tags_url pagination_params(offset: offset_param - limit_param(DEFAULT_TAGS_LIMIT)) if offset_param > limit_param(DEFAULT_TAGS_LIMIT) + end + + def offset_param + params[:offset].to_i + end end diff --git a/app/models/trends/query.rb b/app/models/trends/query.rb index 64a4c0c1f..231b65228 100644 --- a/app/models/trends/query.rb +++ b/app/models/trends/query.rb @@ -37,7 +37,7 @@ class Trends::Query end def offset!(value) - @offset = value + @offset = value.to_i self end @@ -46,7 +46,7 @@ class Trends::Query end def limit!(value) - @limit = value + @limit = value.to_i self end From 71f2b95106b2e75d3efb40040b29c216c2d99ee6 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 00:38:44 +0100 Subject: [PATCH 44/73] Fix edits with no actual changes being allowed (#17843) * Fix edits with no actual changes being allowed locally * Fix edits with no actual changes being allowed through ActivityPub * Fix false positive changes caused by description processing in model * Fix not recording poll expiration update * Fix test * Revert changes to ProcessStatusUpdateService * Various fixes and improvements * Fix code style issues * Various changes and improvements * Add guard clause --- .../parser/media_attachment_parser.rb | 4 ++- .../concerns/status_snapshot_concern.rb | 35 +++++++++++++++++++ app/models/media_attachment.rb | 7 +--- app/models/status.rb | 21 +---------- .../process_status_update_service.rb | 22 ++++++------ app/services/update_status_service.rb | 28 ++++++++++++--- spec/models/media_attachment_spec.rb | 8 ----- .../process_status_update_service_spec.rb | 31 ++++++++++++++-- spec/services/update_status_service_spec.rb | 17 +++++++++ 9 files changed, 121 insertions(+), 52 deletions(-) create mode 100644 app/models/concerns/status_snapshot_concern.rb diff --git a/app/lib/activitypub/parser/media_attachment_parser.rb b/app/lib/activitypub/parser/media_attachment_parser.rb index 1798e58a4..30bea1f0e 100644 --- a/app/lib/activitypub/parser/media_attachment_parser.rb +++ b/app/lib/activitypub/parser/media_attachment_parser.rb @@ -27,7 +27,9 @@ class ActivityPub::Parser::MediaAttachmentParser end def description - @json['summary'].presence || @json['name'].presence + str = @json['summary'].presence || @json['name'].presence + str = str.strip[0...MediaAttachment::MAX_DESCRIPTION_LENGTH] if str.present? + str end def focus diff --git a/app/models/concerns/status_snapshot_concern.rb b/app/models/concerns/status_snapshot_concern.rb new file mode 100644 index 000000000..9741b9aeb --- /dev/null +++ b/app/models/concerns/status_snapshot_concern.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module StatusSnapshotConcern + extend ActiveSupport::Concern + + included do + has_many :edits, class_name: 'StatusEdit', inverse_of: :status, dependent: :destroy + end + + def edited? + edited_at.present? + end + + def build_snapshot(account_id: nil, at_time: nil, rate_limit: true) + # We don't use `edits#new` here to avoid it having saved when the + # status is saved, since we want to control that manually + + StatusEdit.new( + status_id: id, + text: text, + spoiler_text: spoiler_text, + sensitive: sensitive, + ordered_media_attachment_ids: ordered_media_attachment_ids&.dup || media_attachments.pluck(:id), + media_descriptions: ordered_media_attachments.map(&:description), + poll_options: preloadable_poll&.options&.dup, + account_id: account_id || self.account_id, + created_at: at_time || edited_at, + rate_limit: rate_limit + ) + end + + def snapshot!(**options) + build_snapshot(**options).save! + end +end diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index a3115637e..21c663e47 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -185,7 +185,7 @@ class MediaAttachment < ApplicationRecord remotable_attachment :thumbnail, IMAGE_LIMIT, suppress_errors: true, download_on_assign: false validates :account, presence: true - validates :description, length: { maximum: MAX_DESCRIPTION_LENGTH }, if: :local? + validates :description, length: { maximum: MAX_DESCRIPTION_LENGTH } validates :file, presence: true, if: :local? validates :thumbnail, absence: true, if: -> { local? && !audio_or_video? } @@ -258,7 +258,6 @@ class MediaAttachment < ApplicationRecord after_commit :enqueue_processing, on: :create after_commit :reset_parent_cache, on: :update - before_create :prepare_description, unless: :local? before_create :set_unknown_type before_create :set_processing @@ -306,10 +305,6 @@ class MediaAttachment < ApplicationRecord self.type = :unknown if file.blank? && !type_changed? end - def prepare_description - self.description = description.strip[0...MAX_DESCRIPTION_LENGTH] unless description.nil? - end - def set_type_and_extension self.type = begin if VIDEO_MIME_TYPES.include?(file_content_type) diff --git a/app/models/status.rb b/app/models/status.rb index 5b984543e..bf5a49b7f 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -35,6 +35,7 @@ class Status < ApplicationRecord include Paginable include Cacheable include StatusThreadingConcern + include StatusSnapshotConcern include RateLimitable rate_limit by: :account, family: :statuses @@ -59,8 +60,6 @@ class Status < ApplicationRecord belongs_to :thread, foreign_key: 'in_reply_to_id', class_name: 'Status', inverse_of: :replies, optional: true belongs_to :reblog, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblogs, optional: true - has_many :edits, class_name: 'StatusEdit', inverse_of: :status, dependent: :destroy - has_many :favourites, inverse_of: :status, dependent: :destroy has_many :bookmarks, inverse_of: :status, dependent: :destroy has_many :reblogs, foreign_key: 'reblog_of_id', class_name: 'Status', inverse_of: :reblog, dependent: :destroy @@ -212,24 +211,6 @@ class Status < ApplicationRecord public_visibility? || unlisted_visibility? end - def snapshot!(account_id: nil, at_time: nil, rate_limit: true) - edits.create!( - text: text, - spoiler_text: spoiler_text, - sensitive: sensitive, - ordered_media_attachment_ids: ordered_media_attachment_ids || media_attachments.pluck(:id), - media_descriptions: ordered_media_attachments.map(&:description), - poll_options: preloadable_poll&.options, - account_id: account_id || self.account_id, - created_at: at_time || edited_at, - rate_limit: rate_limit - ) - end - - def edited? - edited_at.present? - end - alias sign? distributable? def with_media? diff --git a/app/services/activitypub/process_status_update_service.rb b/app/services/activitypub/process_status_update_service.rb index 47a788c30..6dc14d8c2 100644 --- a/app/services/activitypub/process_status_update_service.rb +++ b/app/services/activitypub/process_status_update_service.rb @@ -4,6 +4,8 @@ class ActivityPub::ProcessStatusUpdateService < BaseService include JsonLdHelper def call(status, json) + raise ArgumentError, 'Status has unsaved changes' if status.changed? + @json = json @status_parser = ActivityPub::Parser::StatusParser.new(@json) @uri = @status_parser.uri @@ -17,16 +19,19 @@ class ActivityPub::ProcessStatusUpdateService < BaseService last_edit_date = status.edited_at.presence || status.created_at + # Since we rely on tracking of previous changes, ensure clean slate + status.clear_changes_information + # Only allow processing one create/update per status at a time RedisLock.acquire(lock_options) do |lock| if lock.acquired? Status.transaction do - create_previous_edit! + record_previous_edit! update_media_attachments! update_poll! update_immediate_attributes! update_metadata! - create_edit! + create_edits! end queue_poll_notifications! @@ -216,19 +221,14 @@ class ActivityPub::ProcessStatusUpdateService < BaseService { redis: Redis.current, key: "create:#{@uri}", autorelease: 15.minutes.seconds } end - def create_previous_edit! - # We only need to create a previous edit when no previous edits exist, e.g. - # when the status has never been edited. For other cases, we always create - # an edit, so the step can be skipped - - return if @status.edits.any? - - @status.snapshot!(at_time: @status.created_at, rate_limit: false) + def record_previous_edit! + @previous_edit = @status.build_snapshot(at_time: @status.created_at, rate_limit: false) if @status.edits.empty? end - def create_edit! + def create_edits! return unless significant_changes? + @previous_edit&.save! @status.snapshot!(account_id: @account.id, rate_limit: false) end diff --git a/app/services/update_status_service.rb b/app/services/update_status_service.rb index 055e5968d..c4c934976 100644 --- a/app/services/update_status_service.rb +++ b/app/services/update_status_service.rb @@ -4,6 +4,8 @@ class UpdateStatusService < BaseService include Redisable include LanguagesHelper + class NoChangesSubmittedError < StandardError; end + # @param [Status] status # @param [Integer] account_id # @param [Hash] options @@ -17,6 +19,8 @@ class UpdateStatusService < BaseService @status = status @options = options @account_id = account_id + @media_attachments_changed = false + @poll_changed = false Status.transaction do create_previous_edit! @@ -32,18 +36,24 @@ class UpdateStatusService < BaseService broadcast_updates! @status + rescue NoChangesSubmittedError + # For calls that result in no changes, swallow the error + # but get back to the original state + + @status.reload end private def update_media_attachments! - previous_media_attachments = @status.media_attachments.to_a + previous_media_attachments = @status.ordered_media_attachments.to_a next_media_attachments = validate_media! added_media_attachments = next_media_attachments - previous_media_attachments MediaAttachment.where(id: added_media_attachments.map(&:id)).update_all(status_id: @status.id) @status.ordered_media_attachment_ids = (@options[:media_ids] || []).map(&:to_i) & next_media_attachments.map(&:id) + @media_attachments_changed = previous_media_attachments.map(&:id) != @status.ordered_media_attachment_ids @status.media_attachments.reload end @@ -69,20 +79,23 @@ class UpdateStatusService < BaseService # If for some reasons the options were changed, it invalidates all previous # votes, so we need to remove them - poll_changed = true if @options[:poll][:options] != poll.options || ActiveModel::Type::Boolean.new.cast(@options[:poll][:multiple]) != poll.multiple + @poll_changed = true if @options[:poll][:options] != poll.options || ActiveModel::Type::Boolean.new.cast(@options[:poll][:multiple]) != poll.multiple poll.options = @options[:poll][:options] poll.hide_totals = @options[:poll][:hide_totals] || false poll.multiple = @options[:poll][:multiple] || false poll.expires_in = @options[:poll][:expires_in] - poll.reset_votes! if poll_changed + poll.reset_votes! if @poll_changed poll.save! @status.poll_id = poll.id elsif previous_poll.present? previous_poll.destroy + @poll_changed = true @status.poll_id = nil end + + @poll_changed = true if @previous_expires_at != @status.preloadable_poll&.expires_at end def update_immediate_attributes! @@ -90,8 +103,11 @@ class UpdateStatusService < BaseService @status.spoiler_text = @options[:spoiler_text] || '' if @options.key?(:spoiler_text) @status.sensitive = @options[:sensitive] || @options[:spoiler_text].present? if @options.key?(:sensitive) || @options.key?(:spoiler_text) @status.language = valid_locale_cascade(@options[:language], @status.language, @status.account.user&.preferred_posting_language, I18n.default_locale) - @status.edited_at = Time.now.utc + # We raise here to rollback the entire transaction + raise NoChangesSubmittedError unless significant_changes? + + @status.edited_at = Time.now.utc @status.save! end @@ -137,4 +153,8 @@ class UpdateStatusService < BaseService def create_edit! @status.snapshot!(account_id: @account_id) end + + def significant_changes? + @status.changed? || @poll_changed || @media_attachments_changed + end end diff --git a/spec/models/media_attachment_spec.rb b/spec/models/media_attachment_spec.rb index 7360b23cf..cbd9a09c5 100644 --- a/spec/models/media_attachment_spec.rb +++ b/spec/models/media_attachment_spec.rb @@ -186,14 +186,6 @@ RSpec.describe MediaAttachment, type: :model do expect(media.valid?).to be false end - describe 'descriptions for remote attachments' do - it 'are cut off at 1500 characters' do - media = Fabricate(:media_attachment, description: 'foo' * 1000, remote_url: 'http://example.com/blah.jpg') - - expect(media.description.size).to be <= 1_500 - end - end - describe 'size limit validation' do it 'rejects video files that are too large' do stub_const 'MediaAttachment::IMAGE_LIMIT', 100.megabytes diff --git a/spec/services/activitypub/process_status_update_service_spec.rb b/spec/services/activitypub/process_status_update_service_spec.rb index 788c7c9d9..f87adcae1 100644 --- a/spec/services/activitypub/process_status_update_service_spec.rb +++ b/spec/services/activitypub/process_status_update_service_spec.rb @@ -46,6 +46,29 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do expect(status.reload.spoiler_text).to eq 'Show more' end + context 'with no changes at all' do + let(:payload) do + { + '@context': 'https://www.w3.org/ns/activitystreams', + id: 'foo', + type: 'Note', + content: 'Hello world', + } + end + + before do + subject.call(status, json) + end + + it 'does not create any edits' do + expect(status.reload.edits).to be_empty + end + + it 'does not mark status as edited' do + expect(status.edited?).to be false + end + end + context 'with no changes and originally with no ordered_media_attachment_ids' do let(:payload) do { @@ -61,8 +84,12 @@ RSpec.describe ActivityPub::ProcessStatusUpdateService, type: :service do subject.call(status, json) end - it 'does not record an update' do - expect(status.reload.edited?).to be false + it 'does not create any edits' do + expect(status.reload.edits).to be_empty + end + + it 'does not mark status as edited' do + expect(status.edited?).to be false end end diff --git a/spec/services/update_status_service_spec.rb b/spec/services/update_status_service_spec.rb index 78cc89cd4..71a73be5b 100644 --- a/spec/services/update_status_service_spec.rb +++ b/spec/services/update_status_service_spec.rb @@ -3,6 +3,23 @@ require 'rails_helper' RSpec.describe UpdateStatusService, type: :service do subject { described_class.new } + context 'when nothing changes' do + let!(:status) { Fabricate(:status, text: 'Foo', language: 'en') } + + before do + allow(ActivityPub::DistributionWorker).to receive(:perform_async) + subject.call(status, status.account_id, text: 'Foo') + end + + it 'does not create an edit' do + expect(status.reload.edits).to be_empty + end + + it 'does not notify anyone' do + expect(ActivityPub::DistributionWorker).to_not have_received(:perform_async) + end + end + context 'when text changes' do let!(:status) { Fabricate(:status, text: 'Foo') } let(:preview_card) { Fabricate(:preview_card) } From 6907605026a5d46acf8a5f3aaf5384807c1d8d3c Mon Sep 17 00:00:00 2001 From: Jeong Arm Date: Sat, 26 Mar 2022 08:39:54 +0900 Subject: [PATCH 45/73] Add stop delivery link also for failing instance (#17871) --- app/views/admin/instances/show.html.haml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/instances/show.html.haml b/app/views/admin/instances/show.html.haml index 70912a4f5..ef4de602d 100644 --- a/app/views/admin/instances/show.html.haml +++ b/app/views/admin/instances/show.html.haml @@ -87,7 +87,8 @@ - else %span.negative-hint = t('admin.instances.availability.failures_recorded', count: @instance.delivery_failure_tracker.days) - = link_to t('admin.instances.delivery.clear'), clear_delivery_errors_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post } unless @instance.exhausted_deliveries_days.empty? + %span= link_to t('admin.instances.delivery.clear'), clear_delivery_errors_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post } unless @instance.exhausted_deliveries_days.empty? + %span= link_to t('admin.instances.delivery.stop'), stop_delivery_admin_instance_path(@instance), data: { confirm: t('admin.accounts.are_you_sure'), method: :post } - if @instance.purgeable? %p= t('admin.instances.purge_description_html') From 52813830bee5607332b49bee2916956286ec5dc1 Mon Sep 17 00:00:00 2001 From: mayaeh Date: Sat, 26 Mar 2022 10:52:51 +0900 Subject: [PATCH 46/73] Add a hashtag public link to the trending hashtag page (#17140) * Add a hashtag public link to the hashtag management page * Add support for element 'target' to Counter.js. Remove 'rel' element. * Update app/javascript/mastodon/components/admin/Counter.js Co-authored-by: Claire Co-authored-by: Eugen Rochko Co-authored-by: Claire --- app/javascript/mastodon/components/admin/Counter.js | 5 +++-- app/views/admin/tags/show.html.haml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/javascript/mastodon/components/admin/Counter.js b/app/javascript/mastodon/components/admin/Counter.js index 6edb7bcfc..5a5b2b869 100644 --- a/app/javascript/mastodon/components/admin/Counter.js +++ b/app/javascript/mastodon/components/admin/Counter.js @@ -33,6 +33,7 @@ export default class Counter extends React.PureComponent { label: PropTypes.string.isRequired, href: PropTypes.string, params: PropTypes.object, + target: PropTypes.string, }; state = { @@ -54,7 +55,7 @@ export default class Counter extends React.PureComponent { } render () { - const { label, href } = this.props; + const { label, href, target } = this.props; const { loading, data } = this.state; let content; @@ -100,7 +101,7 @@ export default class Counter extends React.PureComponent { if (href) { return ( - + {inner} ); diff --git a/app/views/admin/tags/show.html.haml b/app/views/admin/tags/show.html.haml index 007dc005e..df72bd5f5 100644 --- a/app/views/admin/tags/show.html.haml +++ b/app/views/admin/tags/show.html.haml @@ -11,7 +11,7 @@ .dashboard .dashboard__item - = react_admin_component :counter, measure: 'tag_accounts', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_accounts_measure') + = react_admin_component :counter, measure: 'tag_accounts', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_accounts_measure'), href: tag_url(@tag), target: '_blank' .dashboard__item = react_admin_component :counter, measure: 'tag_uses', start_at: @time_period.first, end_at: @time_period.last, params: { id: @tag.id }, label: t('admin.trends.tags.dashboard.tag_uses_measure') .dashboard__item From 2dd30804b62f750c2780b7043318cbe00d137429 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 02:53:13 +0100 Subject: [PATCH 47/73] Change how unconfirmed accounts are displayed in admin UI (#17874) Fix #17815 --- app/models/account.rb | 2 +- app/models/user.rb | 6 +++++- app/views/admin/accounts/_account.html.haml | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/models/account.rb b/app/models/account.rb index 1717f1605..a8c5df208 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -128,13 +128,13 @@ class Account < ApplicationRecord :approved?, :pending?, :disabled?, + :unconfirmed?, :unconfirmed_or_pending?, :role, :admin?, :moderator?, :staff?, :locale, - :hides_network?, :shows_application?, to: :user, prefix: true, diff --git a/app/models/user.rb b/app/models/user.rb index 146bdcd2a..f2d9c49eb 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -208,8 +208,12 @@ class User < ApplicationRecord confirmed? && approved? && !disabled? && !account.suspended? && !account.memorial? && account.moved_to_account_id.nil? end + def unconfirmed? + !confirmed? + end + def unconfirmed_or_pending? - !(confirmed? && approved?) + unconfirmed? || pending? end def inactive_message diff --git a/app/views/admin/accounts/_account.html.haml b/app/views/admin/accounts/_account.html.haml index 2df91301e..82dd8dfb2 100644 --- a/app/views/admin/accounts/_account.html.haml +++ b/app/views/admin/accounts/_account.html.haml @@ -1,4 +1,4 @@ -.batch-table__row{ class: [!account.suspended? && account.user_pending? && 'batch-table__row--attention', account.suspended? && 'batch-table__row--muted'] } +.batch-table__row{ class: [!account.suspended? && account.user_pending? && 'batch-table__row--attention', (account.suspended? || account.user_unconfirmed?) && 'batch-table__row--muted'] } %label.batch-table__row__select.batch-table__row__select--aligned.batch-checkbox = f.check_box :account_ids, { multiple: true, include_hidden: false }, account.id .batch-table__row__content.batch-table__row__content--unpadded From cefa526c6d3a45df2d0fcb7643ced828e2e87dea Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 02:53:34 +0100 Subject: [PATCH 48/73] Refactor formatter (#17828) * Refactor formatter * Move custom emoji pre-rendering logic to view helpers * Move more methods out of Formatter * Fix code style issues * Remove Formatter * Add inline poll options to RSS feeds * Remove unused helper method * Fix code style issues * Various fixes and improvements * Fix test --- app/chewy/statuses_index.rb | 2 +- app/controllers/api/web/embeds_controller.rb | 2 +- app/helpers/accounts_helper.rb | 6 +- app/helpers/admin/trends/statuses_helper.rb | 5 +- app/helpers/application_helper.rb | 4 + app/helpers/formatting_helper.rb | 19 + app/helpers/routing_helper.rb | 3 +- app/helpers/statuses_helper.rb | 14 - app/lib/activitypub/activity/create.rb | 4 +- app/lib/emoji_formatter.rb | 98 +++ app/lib/extractor.rb | 82 ++- app/lib/feed_manager.rb | 3 +- app/lib/formatter.rb | 294 -------- app/lib/html_aware_formatter.rb | 38 ++ app/lib/plain_text_formatter.rb | 30 + app/lib/rss/serializer.rb | 23 +- app/lib/text_formatter.rb | 158 +++++ app/mailers/application_mailer.rb | 1 + .../activitypub/actor_serializer.rb | 7 +- .../activitypub/note_serializer.rb | 6 +- app/serializers/rest/account_serializer.rb | 7 +- .../rest/announcement_serializer.rb | 4 +- .../rest/status_edit_serializer.rb | 4 +- app/serializers/rest/status_serializer.rb | 4 +- app/services/fetch_link_card_service.rb | 2 +- app/views/accounts/_bio.html.haml | 6 +- app/views/admin/accounts/show.html.haml | 6 +- app/views/admin/reports/_status.html.haml | 6 +- app/views/admin/reports/show.html.haml | 2 +- app/views/directories/index.html.haml | 2 +- app/views/disputes/strikes/show.html.haml | 2 +- .../notification_mailer/_status.html.haml | 4 +- .../notification_mailer/_status.text.erb | 2 +- app/views/notification_mailer/digest.text.erb | 2 +- app/views/statuses/_detailed_status.html.haml | 5 +- app/views/statuses/_poll.html.haml | 4 +- app/views/statuses/_simple_status.html.haml | 5 +- app/views/user_mailer/warning.html.haml | 2 +- config/initializers/twitter_regex.rb | 26 - spec/lib/emoji_formatter_spec.rb | 55 ++ spec/lib/formatter_spec.rb | 626 ------------------ spec/lib/html_aware_formatter.rb | 44 ++ spec/lib/plain_text_formatter_spec.rb | 24 + spec/lib/text_formatter_spec.rb | 313 +++++++++ 44 files changed, 932 insertions(+), 1024 deletions(-) create mode 100644 app/helpers/formatting_helper.rb create mode 100644 app/lib/emoji_formatter.rb delete mode 100644 app/lib/formatter.rb create mode 100644 app/lib/html_aware_formatter.rb create mode 100644 app/lib/plain_text_formatter.rb create mode 100644 app/lib/text_formatter.rb create mode 100644 spec/lib/emoji_formatter_spec.rb delete mode 100644 spec/lib/formatter_spec.rb create mode 100644 spec/lib/html_aware_formatter.rb create mode 100644 spec/lib/plain_text_formatter_spec.rb create mode 100644 spec/lib/text_formatter_spec.rb diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb index 65cbb6fcd..d119f7cac 100644 --- a/app/chewy/statuses_index.rb +++ b/app/chewy/statuses_index.rb @@ -57,7 +57,7 @@ class StatusesIndex < Chewy::Index field :id, type: 'long' field :account_id, type: 'long' - field :text, type: 'text', value: ->(status) { [status.spoiler_text, Formatter.instance.plaintext(status)].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do + field :text, type: 'text', value: ->(status) { [status.spoiler_text, PlainTextFormatter.new(status.text, status.local?).to_s].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do field :stemmed, type: 'text', analyzer: 'content' end diff --git a/app/controllers/api/web/embeds_controller.rb b/app/controllers/api/web/embeds_controller.rb index 741ba910f..58f6345e6 100644 --- a/app/controllers/api/web/embeds_controller.rb +++ b/app/controllers/api/web/embeds_controller.rb @@ -15,7 +15,7 @@ class Api::Web::EmbedsController < Api::Web::BaseController return not_found if oembed.nil? begin - oembed[:html] = Formatter.instance.sanitize(oembed[:html], Sanitize::Config::MASTODON_OEMBED) + oembed[:html] = Sanitize.fragment(oembed[:html], Sanitize::Config::MASTODON_OEMBED) rescue ArgumentError return not_found end diff --git a/app/helpers/accounts_helper.rb b/app/helpers/accounts_helper.rb index a33961724..557f60f26 100644 --- a/app/helpers/accounts_helper.rb +++ b/app/helpers/accounts_helper.rb @@ -2,10 +2,12 @@ module AccountsHelper def display_name(account, **options) + str = account.display_name.presence || account.username + if options[:custom_emojify] - Formatter.instance.format_display_name(account, **options) + prerender_custom_emojis(h(str), account.emojis) else - account.display_name.presence || account.username + str end end diff --git a/app/helpers/admin/trends/statuses_helper.rb b/app/helpers/admin/trends/statuses_helper.rb index d16e3dd12..214c1e2a6 100644 --- a/app/helpers/admin/trends/statuses_helper.rb +++ b/app/helpers/admin/trends/statuses_helper.rb @@ -12,9 +12,6 @@ module Admin::Trends::StatusesHelper return '' if text.blank? - html = Formatter.instance.send(:encode, text) - html = Formatter.instance.send(:encode_custom_emojis, html, status.emojis, prefers_autoplay?) - - html.html_safe # rubocop:disable Rails/OutputSafety + prerender_custom_emojis(h(text), status.emojis) end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e997570b5..651a98a85 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -239,4 +239,8 @@ module ApplicationHelper end end.values end + + def prerender_custom_emojis(html, custom_emojis) + EmojiFormatter.new(html, custom_emojis, animate: prefers_autoplay?).to_s + end end diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb new file mode 100644 index 000000000..66e9e1e91 --- /dev/null +++ b/app/helpers/formatting_helper.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module FormattingHelper + def html_aware_format(text, local, options = {}) + HtmlAwareFormatter.new(text, local, options).to_s + end + + def linkify(text, options = {}) + TextFormatter.new(text, options).to_s + end + + def extract_plain_text(text, local) + PlainTextFormatter.new(text, local).to_s + end + + def status_content_format(status) + html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) + end +end diff --git a/app/helpers/routing_helper.rb b/app/helpers/routing_helper.rb index fb24a1b28..f95f46a56 100644 --- a/app/helpers/routing_helper.rb +++ b/app/helpers/routing_helper.rb @@ -2,6 +2,7 @@ module RoutingHelper extend ActiveSupport::Concern + include Rails.application.routes.url_helpers include ActionView::Helpers::AssetTagHelper include Webpacker::Helper @@ -22,8 +23,6 @@ module RoutingHelper full_asset_url(asset_pack_path(source, **options)) end - private - def use_storage? Rails.configuration.x.use_s3 || Rails.configuration.x.use_swift end diff --git a/app/helpers/statuses_helper.rb b/app/helpers/statuses_helper.rb index d328f89b7..e92b4c839 100644 --- a/app/helpers/statuses_helper.rb +++ b/app/helpers/statuses_helper.rb @@ -113,20 +113,6 @@ module StatusesHelper end end - private - - def simplified_text(text) - text.dup.tap do |new_text| - URI.extract(new_text).each do |url| - new_text.gsub!(url, '') - end - - new_text.gsub!(Account::MENTION_RE, '') - new_text.gsub!(Tag::HASHTAG_RE, '') - new_text.gsub!(/\s+/, '') - end - end - def embedded_view? params[:controller] == EMBEDDED_CONTROLLER && params[:action] == EMBEDDED_ACTION end diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index ea8d146d4..f4f98e29c 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class ActivityPub::Activity::Create < ActivityPub::Activity + include FormattingHelper + def perform dereference_object! @@ -367,7 +369,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity end def converted_text - Formatter.instance.linkify([@status_parser.title.presence, @status_parser.spoiler_text.presence, @status_parser.url || @status_parser.uri].compact.join("\n\n")) + linkify([@status_parser.title.presence, @status_parser.spoiler_text.presence, @status_parser.url || @status_parser.uri].compact.join("\n\n")) end def unsupported_media_type?(mime_type) diff --git a/app/lib/emoji_formatter.rb b/app/lib/emoji_formatter.rb new file mode 100644 index 000000000..f808f3a22 --- /dev/null +++ b/app/lib/emoji_formatter.rb @@ -0,0 +1,98 @@ +# frozen_string_literal: true + +class EmojiFormatter + include RoutingHelper + + DISALLOWED_BOUNDING_REGEX = /[[:alnum:]:]/.freeze + + attr_reader :html, :custom_emojis, :options + + # @param [ActiveSupport::SafeBuffer] html + # @param [Array] custom_emojis + # @param [Hash] options + # @option options [Boolean] :animate + def initialize(html, custom_emojis, options = {}) + raise ArgumentError unless html.html_safe? + + @html = html + @custom_emojis = custom_emojis + @options = options + end + + def to_s + return html if custom_emojis.empty? || html.blank? + + i = -1 + tag_open_index = nil + inside_shortname = false + shortname_start_index = -1 + invisible_depth = 0 + last_index = 0 + result = ''.dup + + while i + 1 < html.size + i += 1 + + if invisible_depth.zero? && inside_shortname && html[i] == ':' + inside_shortname = false + shortcode = html[shortname_start_index + 1..i - 1] + char_after = html[i + 1] + + next unless (char_after.nil? || !DISALLOWED_BOUNDING_REGEX.match?(char_after)) && (emoji = emoji_map[shortcode]) + + result << html[last_index..shortname_start_index - 1] if shortname_start_index.positive? + result << image_for_emoji(shortcode, emoji) + last_index = i + 1 + elsif tag_open_index && html[i] == '>' + tag = html[tag_open_index..i] + tag_open_index = nil + + if invisible_depth.positive? + invisible_depth += count_tag_nesting(tag) + elsif tag == '' - end - end - - context 'given a post containing unlinkable mentions' do - let(:status) { Fabricate(:status, text: '@alice', uri: nil) } - - it 'does not create a mention link' do - is_expected.to include '@alice' - end - end - - context do - subject do - status = Fabricate(:status, text: text, uri: nil) - Formatter.instance.format(status) - end - - include_examples 'encode and link URLs' - end - - context 'given a post with custom_emojify option' do - let!(:emoji) { Fabricate(:custom_emoji) } - let(:status) { Fabricate(:status, account: local_account, text: text) } - - subject { Formatter.instance.format(status, custom_emojify: true) } - - context 'given a post with an emoji shortcode at the start' do - let(:text) { ':coolcat: Beep boop' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/

:coolcat::coolcat: Beep boop
' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/

:coolcat:Beep :coolcat: boop

' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/Beep :coolcat::coolcat::coolcat:

' } - - it 'does not touch the shortcodes' do - is_expected.to match(/

:coolcat::coolcat:<\/p>/) - end - end - - context 'given a post with an emoji shortcode at the end' do - let(:text) { '

Beep boop
:coolcat:

' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/
:coolcat:alert("Hello")' } - - it 'strips the scripts' do - is_expected.to_not include '' - end - end - - context 'given a post containing malicious classes' do - let(:text) { 'Show more' } - - it 'strips the malicious classes' do - is_expected.to_not include 'status__content__spoiler-link' - end - end - end - - describe '#plaintext' do - subject { Formatter.instance.plaintext(status) } - - context 'given a post with local status' do - let(:status) { Fabricate(:status, text: '

a text by a nerd who uses an HTML tag in text

', uri: nil) } - - it 'returns the raw text' do - is_expected.to eq '

a text by a nerd who uses an HTML tag in text

' - end - end - - context 'given a post with remote status' do - let(:status) { Fabricate(:status, account: remote_account, text: '') } - - it 'returns tag-stripped text' do - is_expected.to eq '' - end - end - end - - describe '#simplified_format' do - subject { Formatter.instance.simplified_format(account) } - - context 'given a post with local status' do - let(:account) { Fabricate(:account, domain: nil, note: text) } - - context 'given a post containing linkable mentions for local accounts' do - let(:text) { '@alice' } - - before { local_account } - - it 'creates a mention link' do - is_expected.to eq '

@alice

' - end - end - - context 'given a post containing linkable mentions for remote accounts' do - let(:text) { '@bob@remote.test' } - - before { remote_account } - - it 'creates a mention link' do - is_expected.to eq '

@bob

' - end - end - - context 'given a post containing unlinkable mentions' do - let(:text) { '@alice' } - - it 'does not create a mention link' do - is_expected.to eq '

@alice

' - end - end - - context 'given a post with custom_emojify option' do - let!(:emoji) { Fabricate(:custom_emoji) } - - before { account.note = text } - subject { Formatter.instance.simplified_format(account, custom_emojify: true) } - - context 'given a post with an emoji shortcode at the start' do - let(:text) { ':coolcat: Beep boop' } - - it 'converts the shortcode to an image tag' do - is_expected.to match(/

:coolcat:alert("Hello")' } - let(:account) { Fabricate(:account, domain: 'remote', note: text) } - - it 'reformats' do - is_expected.to_not include '' - end - - context 'with custom_emojify option' do - let!(:emoji) { Fabricate(:custom_emoji, domain: remote_account.domain) } - - before { remote_account.note = text } - - subject { Formatter.instance.simplified_format(remote_account, custom_emojify: true) } - - context 'given a post with an emoji shortcode at the start' do - let(:text) { '

:coolcat: Beep boop
' } - - it 'converts shortcode to image tag' do - is_expected.to match(/

:coolcat:Beep :coolcat: boop

' } - - it 'converts shortcode to image tag' do - is_expected.to match(/Beep :coolcat::coolcat::coolcat:

' } - - it 'does not touch the shortcodes' do - is_expected.to match(/

:coolcat::coolcat:<\/p>/) - end - end - - context 'given a post with an emoji shortcode at the end' do - let(:text) { '

Beep boop
:coolcat:

' } - - it 'converts shortcode to image tag' do - is_expected.to match(/
:coolcat:alert("Hello")' } - - subject { Formatter.instance.sanitize(html, Sanitize::Config::MASTODON_STRICT) } - - it 'sanitizes' do - is_expected.to eq '' - end - end -end diff --git a/spec/lib/html_aware_formatter.rb b/spec/lib/html_aware_formatter.rb new file mode 100644 index 000000000..18d23abf5 --- /dev/null +++ b/spec/lib/html_aware_formatter.rb @@ -0,0 +1,44 @@ +require 'rails_helper' + +RSpec.describe HtmlAwareFormatter do + describe '#to_s' do + subject { described_class.new(text, local).to_s } + + context 'when local' do + let(:local) { true } + let(:text) { 'Foo bar' } + + it 'returns formatted text' do + is_expected.to eq '

Foo bar

' + end + end + + context 'when remote' do + let(:local) { false } + + context 'given plain text' do + let(:text) { 'Beep boop' } + + it 'keeps the plain text' do + is_expected.to include 'Beep boop' + end + end + + context 'given text containing script tags' do + let(:text) { '' } + + it 'strips the scripts' do + is_expected.to_not include '' + end + end + + context 'given text containing malicious classes' do + let(:text) { 'Show more' } + + it 'strips the malicious classes' do + is_expected.to_not include 'status__content__spoiler-link' + end + end + end + end +end diff --git a/spec/lib/plain_text_formatter_spec.rb b/spec/lib/plain_text_formatter_spec.rb new file mode 100644 index 000000000..c3d0ee630 --- /dev/null +++ b/spec/lib/plain_text_formatter_spec.rb @@ -0,0 +1,24 @@ +require 'rails_helper' + +RSpec.describe PlainTextFormatter do + describe '#to_s' do + subject { described_class.new(status.text, status.local?).to_s } + + context 'given a post with local status' do + let(:status) { Fabricate(:status, text: '

a text by a nerd who uses an HTML tag in text

', uri: nil) } + + it 'returns the raw text' do + is_expected.to eq '

a text by a nerd who uses an HTML tag in text

' + end + end + + context 'given a post with remote status' do + let(:remote_account) { Fabricate(:account, domain: 'remote.test', username: 'bob', url: 'https://remote.test/') } + let(:status) { Fabricate(:status, account: remote_account, text: '

Hello

') } + + it 'returns tag-stripped text' do + is_expected.to eq 'Hello' + end + end + end +end diff --git a/spec/lib/text_formatter_spec.rb b/spec/lib/text_formatter_spec.rb new file mode 100644 index 000000000..52a9d2498 --- /dev/null +++ b/spec/lib/text_formatter_spec.rb @@ -0,0 +1,313 @@ +require 'rails_helper' + +RSpec.describe TextFormatter do + describe '#to_s' do + let(:preloaded_accounts) { nil } + + subject { described_class.new(text, preloaded_accounts: preloaded_accounts).to_s } + + context 'given text containing plain text' do + let(:text) { 'text' } + + it 'paragraphizes the text' do + is_expected.to eq '

text

' + end + end + + context 'given text containing line feeds' do + let(:text) { "line\nfeed" } + + it 'removes line feeds' do + is_expected.not_to include "\n" + end + end + + context 'given text containing linkable mentions' do + let(:preloaded_accounts) { [Fabricate(:account, username: 'alice')] } + let(:text) { '@alice' } + + it 'creates a mention link' do + is_expected.to include '@alice' + end + end + + context 'given text containing unlinkable mentions' do + let(:preloaded_accounts) { [] } + let(:text) { '@alice' } + + it 'does not create a mention link' do + is_expected.to include '@alice' + end + end + + context 'given a stand-alone medium URL' do + let(:text) { 'https://hackernoon.com/the-power-to-build-communities-a-response-to-mark-zuckerberg-3f2cac9148a4' } + + it 'matches the full URL' do + is_expected.to include 'href="https://hackernoon.com/the-power-to-build-communities-a-response-to-mark-zuckerberg-3f2cac9148a4"' + end + end + + context 'given a stand-alone google URL' do + let(:text) { 'http://google.com' } + + it 'matches the full URL' do + is_expected.to include 'href="http://google.com"' + end + end + + context 'given a stand-alone URL with a newer TLD' do + let(:text) { 'http://example.gay' } + + it 'matches the full URL' do + is_expected.to include 'href="http://example.gay"' + end + end + + context 'given a stand-alone IDN URL' do + let(:text) { 'https://nic.みんな/' } + + it 'matches the full URL' do + is_expected.to include 'href="https://nic.みんな/"' + end + + it 'has display URL' do + is_expected.to include 'nic.みんな/' + end + end + + context 'given a URL with a trailing period' do + let(:text) { 'http://www.mcmansionhell.com/post/156408871451/50-states-of-mcmansion-hell-scottsdale-arizona. ' } + + it 'matches the full URL but not the period' do + is_expected.to include 'href="http://www.mcmansionhell.com/post/156408871451/50-states-of-mcmansion-hell-scottsdale-arizona"' + end + end + + context 'given a URL enclosed with parentheses' do + let(:text) { '(http://google.com/)' } + + it 'matches the full URL but not the parentheses' do + is_expected.to include 'href="http://google.com/"' + end + end + + context 'given a URL with a trailing exclamation point' do + let(:text) { 'http://www.google.com!' } + + it 'matches the full URL but not the exclamation point' do + is_expected.to include 'href="http://www.google.com"' + end + end + + context 'given a URL with a trailing single quote' do + let(:text) { "http://www.google.com'" } + + it 'matches the full URL but not the single quote' do + is_expected.to include 'href="http://www.google.com"' + end + end + + context 'given a URL with a trailing angle bracket' do + let(:text) { 'http://www.google.com>' } + + it 'matches the full URL but not the angle bracket' do + is_expected.to include 'href="http://www.google.com"' + end + end + + context 'given a URL with a query string' do + context 'with escaped unicode character' do + let(:text) { 'https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&q=autolink' } + + it 'matches the full URL' do + is_expected.to include 'href="https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&q=autolink"' + end + end + + context 'with unicode character' do + let(:text) { 'https://www.ruby-toolbox.com/search?utf8=✓&q=autolink' } + + it 'matches the full URL' do + is_expected.to include 'href="https://www.ruby-toolbox.com/search?utf8=✓&q=autolink"' + end + end + + context 'with unicode character at the end' do + let(:text) { 'https://www.ruby-toolbox.com/search?utf8=✓' } + + it 'matches the full URL' do + is_expected.to include 'href="https://www.ruby-toolbox.com/search?utf8=✓"' + end + end + + context 'with escaped and not escaped unicode characters' do + let(:text) { 'https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&utf81=✓&q=autolink' } + + it 'preserves escaped unicode characters' do + is_expected.to include 'href="https://www.ruby-toolbox.com/search?utf8=%E2%9C%93&utf81=✓&q=autolink"' + end + end + end + + context 'given a URL with parentheses in it' do + let(:text) { 'https://en.wikipedia.org/wiki/Diaspora_(software)' } + + it 'matches the full URL' do + is_expected.to include 'href="https://en.wikipedia.org/wiki/Diaspora_(software)"' + end + end + + context 'given a URL in quotation marks' do + let(:text) { '"https://example.com/"' } + + it 'does not match the quotation marks' do + is_expected.to include 'href="https://example.com/"' + end + end + + context 'given a URL in angle brackets' do + let(:text) { '' } + + it 'does not match the angle brackets' do + is_expected.to include 'href="https://example.com/"' + end + end + + context 'given a URL with Japanese path string' do + let(:text) { 'https://ja.wikipedia.org/wiki/日本' } + + it 'matches the full URL' do + is_expected.to include 'href="https://ja.wikipedia.org/wiki/日本"' + end + end + + context 'given a URL with Korean path string' do + let(:text) { 'https://ko.wikipedia.org/wiki/대한민국' } + + it 'matches the full URL' do + is_expected.to include 'href="https://ko.wikipedia.org/wiki/대한민국"' + end + end + + context 'given a URL with a full-width space' do + let(:text) { 'https://example.com/ abc123' } + + it 'does not match the full-width space' do + is_expected.to include 'href="https://example.com/"' + end + end + + context 'given a URL in Japanese quotation marks' do + let(:text) { '「[https://example.org/」' } + + it 'does not match the quotation marks' do + is_expected.to include 'href="https://example.org/"' + end + end + + context 'given a URL with Simplified Chinese path string' do + let(:text) { 'https://baike.baidu.com/item/中华人民共和国' } + + it 'matches the full URL' do + is_expected.to include 'href="https://baike.baidu.com/item/中华人民共和国"' + end + end + + context 'given a URL with Traditional Chinese path string' do + let(:text) { 'https://zh.wikipedia.org/wiki/臺灣' } + + it 'matches the full URL' do + is_expected.to include 'href="https://zh.wikipedia.org/wiki/臺灣"' + end + end + + context 'given a URL containing unsafe code (XSS attack, visible part)' do + let(:text) { %q{http://example.com/bb} } + + it 'does not include the HTML in the URL' do + is_expected.to include '"http://example.com/b"' + end + + it 'escapes the HTML' do + is_expected.to include '<del>b</del>' + end + end + + context 'given a URL containing unsafe code (XSS attack, invisible part)' do + let(:text) { %q{http://example.com/blahblahblahblah/a} } + + it 'does not include the HTML in the URL' do + is_expected.to include '"http://example.com/blahblahblahblah/a"' + end + + it 'escapes the HTML' do + is_expected.to include '<script>alert("Hello")</script>' + end + end + + context 'given text containing HTML code (script tag)' do + let(:text) { '' } + + it 'escapes the HTML' do + is_expected.to include '

<script>alert("Hello")</script>

' + end + end + + context 'given text containing HTML (XSS attack)' do + let(:text) { %q{} } + + it 'escapes the HTML' do + is_expected.to include '

<img src="javascript:alert('XSS');">

' + end + end + + context 'given an invalid URL' do + let(:text) { 'http://www\.google\.com' } + + it 'outputs the raw URL' do + is_expected.to eq '

http://www\.google\.com

' + end + end + + context 'given text containing a hashtag' do + let(:text) { '#hashtag' } + + it 'creates a hashtag link' do + is_expected.to include '/tags/hashtag" class="mention hashtag" rel="tag">#hashtag' + end + end + + context 'given text containing a hashtag with Unicode chars' do + let(:text) { '#hashtagタグ' } + + it 'creates a hashtag link' do + is_expected.to include '/tags/hashtag%E3%82%BF%E3%82%B0" class="mention hashtag" rel="tag">#hashtagタグ' + end + end + + context 'given text with a stand-alone xmpp: URI' do + let(:text) { 'xmpp:user@instance.com' } + + it 'matches the full URI' do + is_expected.to include 'href="xmpp:user@instance.com"' + end + end + + context 'given text with an xmpp: URI with a query-string' do + let(:text) { 'please join xmpp:muc@instance.com?join right now' } + + it 'matches the full URI' do + is_expected.to include 'href="xmpp:muc@instance.com?join"' + end + end + + context 'given text containing a magnet: URI' do + let(:text) { 'wikipedia gives this example of a magnet uri: magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a' } + + it 'matches the full URI' do + is_expected.to include 'href="magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a"' + end + end + end +end From 07f8b4d1b19f734d04e69daeb4c3421ef9767aac Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 02:54:11 +0100 Subject: [PATCH 49/73] Bump version to 3.5.0rc2 (#17855) --- CHANGELOG.md | 6 ++++++ lib/mastodon/version.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52a62a213..f0305d148 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -81,6 +81,7 @@ All notable changes to this project will be documented in this file. - Add lazy loading for emoji picker in web UI ([mashirozx](https://github.com/mastodon/mastodon/pull/16907), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17011)) - Add single option votes tooltip in polls in web UI ([Brawaru](https://github.com/mastodon/mastodon/pull/16849)) - Add confirmation modal when closing media edit modal with unsaved changes in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16518)) +- Add hint about missing media attachment description in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17845)) - Add support for fetching Create and Announce activities by URI in ActivityPub ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16383)) - Add `S3_FORCE_SINGLE_REQUEST` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/16866)) - Add `OMNIAUTH_ONLY` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17288), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17345)) @@ -130,6 +131,11 @@ All notable changes to this project will be documented in this file. ### Fixed +- Fix IDN domains not being rendered correctly in a few left-over places ([Gargron](https://github.com/mastodon/mastodon/pull/17848)) +- Fix Sanskrit translation not being used in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17820)) +- Fix Kurdish languages having the wrong language codes ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17812)) +- Fix pghero making database schema suggestions ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17807)) +- Fix encoding glitch in the OpenGraph description of a profile page ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17821)) - Fix web manifest not permitting PWA usage from alternate domains ([HolgerHuo](https://github.com/mastodon/mastodon/pull/16714)) - Fix not being able to edit media attachments for scheduled posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17690)) - Fix subscribed relay activities being recorded as boosts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17571)) diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index f6e437d3a..acaa978bb 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc1' + 'rc2' end def suffix From 24e78969ae97501aad18595eb3af8c7338a1cb7c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 04:02:19 +0100 Subject: [PATCH 50/73] Fix typo (#17875) --- app/serializers/activitypub/actor_serializer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb index bd1648348..30f86aae3 100644 --- a/app/serializers/activitypub/actor_serializer.rb +++ b/app/serializers/activitypub/actor_serializer.rb @@ -195,7 +195,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer end def value - html_aware_format(object.value, object.account.value?, with_rel_me: true, with_domains: true, multiline: false) + html_aware_format(object.value, object.account.local?, with_rel_me: true, with_domains: true, multiline: false) end end From d7d049aab7578028492e73671769f0a350e34203 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 26 Mar 2022 04:29:36 +0100 Subject: [PATCH 51/73] Bump version to 3.5.0rc3 (#17876) --- lib/mastodon/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index acaa978bb..b1bd692a5 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 e6a159a64869927cca5535943cdf3a280aeb5394 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 28 Mar 2022 01:16:02 +0200 Subject: [PATCH 52/73] =?UTF-8?q?Fix=20extra=20=E2=80=9Czero=E2=80=9D=20ke?= =?UTF-8?q?y=20in=20some=20plural=20translation=20strings=20(#17883)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/locales/en.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 5fa3c012e..829cd61d0 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -168,7 +168,6 @@ en: previous_strikes_description_html: one: This account has one strike. other: This account has %{count} strikes. - zero: This account is in good standing. promote: Promote protocol: Protocol public: Public @@ -530,7 +529,6 @@ en: known_accounts: one: "%{count} known account" other: "%{count} known accounts" - zero: No known account moderation: all: All limited: Limited @@ -802,7 +800,6 @@ en: shared_by_over_week: one: Shared by one person over the last week other: Shared by %{count} people over the last week - zero: Shared by noone over the last week title: Trending links usage_comparison: Shared %{today} times today, compared to %{yesterday} yesterday pending_review: Pending review @@ -845,7 +842,6 @@ en: used_by_over_week: one: Used by one person over the last week other: Used by %{count} people over the last week - zero: Used by noone over the last week title: Trends warning_presets: add_new: Add new From 2c45859ca9076c0b9916922e0be21ff83fc3b143 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 28 Mar 2022 01:17:17 +0200 Subject: [PATCH 53/73] Refactor account and status formatting (#17877) * Refactor status formatting * Add account formatting helpers * Remove StatusFormatter * Fixup * Fix copied typo --- app/chewy/statuses_index.rb | 4 +++- app/helpers/formatting_helper.rb | 12 ++++++++++-- app/lib/feed_manager.rb | 2 +- app/serializers/activitypub/actor_serializer.rb | 4 ++-- app/serializers/rest/account_serializer.rb | 4 ++-- app/views/accounts/_bio.html.haml | 4 ++-- app/views/admin/accounts/show.html.haml | 4 ++-- app/views/admin/reports/show.html.haml | 2 +- app/views/directories/index.html.haml | 2 +- app/views/notification_mailer/_status.text.erb | 2 +- app/views/notification_mailer/digest.text.erb | 2 +- 11 files changed, 26 insertions(+), 16 deletions(-) diff --git a/app/chewy/statuses_index.rb b/app/chewy/statuses_index.rb index d119f7cac..bfd61a048 100644 --- a/app/chewy/statuses_index.rb +++ b/app/chewy/statuses_index.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class StatusesIndex < Chewy::Index + include FormattingHelper + settings index: { refresh_interval: '15m' }, analysis: { filter: { english_stop: { @@ -57,7 +59,7 @@ class StatusesIndex < Chewy::Index field :id, type: 'long' field :account_id, type: 'long' - field :text, type: 'text', value: ->(status) { [status.spoiler_text, PlainTextFormatter.new(status.text, status.local?).to_s].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do + field :text, type: 'text', value: ->(status) { [status.spoiler_text, extract_status_plain_text(status)].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do field :stemmed, type: 'text', analyzer: 'content' end diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb index 66e9e1e91..e11156999 100644 --- a/app/helpers/formatting_helper.rb +++ b/app/helpers/formatting_helper.rb @@ -9,11 +9,19 @@ module FormattingHelper TextFormatter.new(text, options).to_s end - def extract_plain_text(text, local) - PlainTextFormatter.new(text, local).to_s + def extract_status_plain_text(status) + PlainTextFormatter.new(status.text, status.local?).to_s end def status_content_format(status) html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : [])) end + + def account_bio_format(account) + html_aware_format(account.note, account.local?) + end + + def account_field_value_format(field, with_rel_me: true) + html_aware_format(field.value, field.account.local?, with_rel_me: with_rel_me, with_domains: true, multiline: false) + end end diff --git a/app/lib/feed_manager.rb b/app/lib/feed_manager.rb index 53d1390d4..709450080 100644 --- a/app/lib/feed_manager.rb +++ b/app/lib/feed_manager.rb @@ -446,7 +446,7 @@ class FeedManager status = status.reblog if status.reblog? combined_text = [ - extract_plain_text(status.text, status.local?), + extract_status_plain_text(status), status.spoiler_text, status.preloadable_poll ? status.preloadable_poll.options.join("\n\n") : nil, status.ordered_media_attachments.map(&:description).join("\n\n"), diff --git a/app/serializers/activitypub/actor_serializer.rb b/app/serializers/activitypub/actor_serializer.rb index 30f86aae3..e6dd8040e 100644 --- a/app/serializers/activitypub/actor_serializer.rb +++ b/app/serializers/activitypub/actor_serializer.rb @@ -103,7 +103,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer end def summary - object.suspended? ? '' : html_aware_format(object.note, object.local?) + object.suspended? ? '' : account_bio_format(object) end def icon @@ -195,7 +195,7 @@ class ActivityPub::ActorSerializer < ActivityPub::Serializer end def value - html_aware_format(object.value, object.account.local?, with_rel_me: true, with_domains: true, multiline: false) + account_field_value_format(object) end end diff --git a/app/serializers/rest/account_serializer.rb b/app/serializers/rest/account_serializer.rb index 2f67e06b2..4cf7b253f 100644 --- a/app/serializers/rest/account_serializer.rb +++ b/app/serializers/rest/account_serializer.rb @@ -20,7 +20,7 @@ class REST::AccountSerializer < ActiveModel::Serializer attributes :name, :value, :verified_at def value - html_aware_format(object.value, object.account.local?, with_rel_me: true, with_domains: true, multiline: false) + account_field_value_format(object) end end @@ -35,7 +35,7 @@ class REST::AccountSerializer < ActiveModel::Serializer end def note - object.suspended? ? '' : html_aware_format(object.note, object.local?) + object.suspended? ? '' : account_bio_format(object) end def url diff --git a/app/views/accounts/_bio.html.haml b/app/views/accounts/_bio.html.haml index df4f9bdb8..e2539b1d4 100644 --- a/app/views/accounts/_bio.html.haml +++ b/app/views/accounts/_bio.html.haml @@ -10,12 +10,12 @@ - if field.verified? %span.verified__mark{ title: t('accounts.link_verified_on', date: l(field.verified_at)) } = fa_icon 'check' - = prerender_custom_emojis(html_aware_format(field.value, account.local?, with_rel_me: true, with_domains: true, multiline: false), account.emojis) + = prerender_custom_emojis(account_field_value_format(field), account.emojis) = account_badge(account) - if account.note.present? - .account__header__content.emojify= prerender_custom_emojis(html_aware_format(account.note, account.local?), account.emojis) + .account__header__content.emojify= prerender_custom_emojis(account_bio_format(account), account.emojis) .public-account-bio__extra = t 'accounts.joined', date: l(account.created_at, format: :month) diff --git a/app/views/admin/accounts/show.html.haml b/app/views/admin/accounts/show.html.haml index b252f3eac..1230294fe 100644 --- a/app/views/admin/accounts/show.html.haml +++ b/app/views/admin/accounts/show.html.haml @@ -21,11 +21,11 @@ - if field.verified? %span.verified__mark{ title: t('accounts.link_verified_on', date: l(field.verified_at)) } = fa_icon 'check' - = prerender_custom_emojis(html_aware_format(field.value, account.local?, with_rel_me: true, with_domains: true, multiline: false), account.emojis) + = prerender_custom_emojis(account_field_value_format(field, with_rel_me: false), account.emojis) - if account.note.present? %div - .account__header__content.emojify= prerender_custom_emojis(html_aware_format(account.note, account.local?), account.emojis) + .account__header__content.emojify= prerender_custom_emojis(account_bio_format(account), account.emojis) .dashboard__counters.admin-account-counters %div diff --git a/app/views/admin/reports/show.html.haml b/app/views/admin/reports/show.html.haml index 41fed2efb..cf960565f 100644 --- a/app/views/admin/reports/show.html.haml +++ b/app/views/admin/reports/show.html.haml @@ -27,7 +27,7 @@ = fa_icon('lock') if @report.target_account.locked? - if @report.target_account.note.present? .account-card__bio.emojify - = prerender_custom_emojis(html_aware_format(@report.target_account.note, @report.target_account.local?), @report.target_account.emojis) + = prerender_custom_emojis(account_bio_format(@report.target_account), @report.target_account.emojis) .account-card__actions .account-card__counters .account-card__counters__item diff --git a/app/views/directories/index.html.haml b/app/views/directories/index.html.haml index a032ddb8d..48f8c4bc2 100644 --- a/app/views/directories/index.html.haml +++ b/app/views/directories/index.html.haml @@ -34,7 +34,7 @@ = fa_icon('lock') if account.locked? - if account.note.present? .account-card__bio.emojify - = prerender_custom_emojis(html_aware_format(account.note, account.local?), account.emojis) + = prerender_custom_emojis(account_bio_format(account), account.emojis) - else .flex-spacer .account-card__actions diff --git a/app/views/notification_mailer/_status.text.erb b/app/views/notification_mailer/_status.text.erb index bf6d2b620..1dc8de739 100644 --- a/app/views/notification_mailer/_status.text.erb +++ b/app/views/notification_mailer/_status.text.erb @@ -3,6 +3,6 @@ > ---- > <% end %> -> <%= raw word_wrap(extract_plain_text(status.text, status.local?), break_sequence: "\n> ") %> +> <%= raw word_wrap(extract_status_plain_text(status), break_sequence: "\n> ") %> <%= raw t('application_mailer.view')%> <%= web_url("statuses/#{status.id}") %> diff --git a/app/views/notification_mailer/digest.text.erb b/app/views/notification_mailer/digest.text.erb index b767eb9c4..0f84a4ef0 100644 --- a/app/views/notification_mailer/digest.text.erb +++ b/app/views/notification_mailer/digest.text.erb @@ -5,7 +5,7 @@ * <%= raw t('notification_mailer.digest.mention', name: notification.from_account.pretty_acct) %> - <%= raw extract_plain_text(notification.target_status.text, notification.target_status.local?) %> + <%= raw extract_status_plain_text(notification.target_status) %> <%= raw t('application_mailer.view')%> <%= web_url("statuses/#{notification.target_status.id}") %> <% end %> From 56edc6552f71a1f58fd8ca5ea2f0603015be0c2c Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 28 Mar 2022 09:39:31 +0200 Subject: [PATCH 54/73] Add `SMTP_RETURN_PATH` environment variable to set bounce domain (#17886) --- config/environments/production.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/config/environments/production.rb b/config/environments/production.rb index 7fe381040..b003cce9e 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -91,11 +91,13 @@ Rails.application.configure do # E-mails outgoing_email_address = ENV.fetch('SMTP_FROM_ADDRESS', 'notifications@localhost') - outgoing_mail_domain = Mail::Address.new(outgoing_email_address).domain + outgoing_email_domain = Mail::Address.new(outgoing_email_address).domain + config.action_mailer.default_options = { from: outgoing_email_address, reply_to: ENV['SMTP_REPLY_TO'], - 'Message-ID': -> { "<#{Mail.random_tag}@#{outgoing_mail_domain}>" }, + return_path: ENV['SMTP_RETURN_PATH'], + message_id: -> { "<#{Mail.random_tag}@#{outgoing_email_domain}>" }, } config.action_mailer.smtp_settings = { From 30658924a80434e6a2bceb61267b911ea8d37898 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 28 Mar 2022 12:43:58 +0200 Subject: [PATCH 55/73] Fix test-related issues (#17888) * Remove obsolete RSS::Serializer test Since #17828, RSS::Serializer no longer has specific code for deleted statuses, but it is never called on deleted statuses anyway. * Rename erroneously-named test files * Fix failing test * Fix test deprecation warnings * Update CircleCI Ruby orb 1.4.0 has a bug that does not match all the test files due to incorrect globbing --- .circleci/config.yml | 2 +- .../admin/accounts_controller_spec.rb | 10 ++-- ..._specs.rb => bookmarks_controller_spec.rb} | 13 ++++-- ...matter.rb => html_aware_formatter_spec.rb} | 0 spec/lib/rss/serializer_spec.rb | 7 --- spec/services/after_block_service_spec.rb | 8 ++-- spec/services/delete_account_service_spec.rb | 14 +++--- spec/services/mute_service_spec.rb | 22 ++++----- spec/services/notify_service_spec.rb | 46 +++++++++---------- spec/services/suspend_account_service_spec.rb | 12 ++--- .../unsuspend_account_service_spec.rb | 26 +++++------ 11 files changed, 70 insertions(+), 90 deletions(-) rename spec/controllers/settings/exports/{bookmarks_controller_specs.rb => bookmarks_controller_spec.rb} (54%) rename spec/lib/{html_aware_formatter.rb => html_aware_formatter_spec.rb} (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4fcc8c618..b9228f996 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ version: 2.1 orbs: - ruby: circleci/ruby@1.4.0 + ruby: circleci/ruby@1.4.1 node: circleci/node@5.0.1 executors: diff --git a/spec/controllers/admin/accounts_controller_spec.rb b/spec/controllers/admin/accounts_controller_spec.rb index 0f71d697c..1779fb7c0 100644 --- a/spec/controllers/admin/accounts_controller_spec.rb +++ b/spec/controllers/admin/accounts_controller_spec.rb @@ -194,9 +194,7 @@ RSpec.describe Admin::AccountsController, type: :controller do end describe 'POST #unblock_email' do - subject do - -> { post :unblock_email, params: { id: account.id } } - end + subject { post :unblock_email, params: { id: account.id } } let(:current_user) { Fabricate(:user, admin: admin) } let(:account) { Fabricate(:account, suspended: true) } @@ -206,11 +204,11 @@ RSpec.describe Admin::AccountsController, type: :controller do let(:admin) { true } it 'succeeds in removing email blocks' do - is_expected.to change { CanonicalEmailBlock.where(reference_account: account).count }.from(1).to(0) + expect { subject }.to change { CanonicalEmailBlock.where(reference_account: account).count }.from(1).to(0) end it 'redirects to admin account path' do - subject.call + subject expect(response).to redirect_to admin_account_path(account.id) end end @@ -219,7 +217,7 @@ RSpec.describe Admin::AccountsController, type: :controller do let(:admin) { false } it 'fails to remove avatar' do - subject.call + subject expect(response).to have_http_status :forbidden end end diff --git a/spec/controllers/settings/exports/bookmarks_controller_specs.rb b/spec/controllers/settings/exports/bookmarks_controller_spec.rb similarity index 54% rename from spec/controllers/settings/exports/bookmarks_controller_specs.rb rename to spec/controllers/settings/exports/bookmarks_controller_spec.rb index 85761577b..a06c02e0c 100644 --- a/spec/controllers/settings/exports/bookmarks_controller_specs.rb +++ b/spec/controllers/settings/exports/bookmarks_controller_spec.rb @@ -3,11 +3,16 @@ require 'rails_helper' describe Settings::Exports::BookmarksController do render_views - describe 'GET #index' do - it 'returns a csv of the bookmarked toots' do - user = Fabricate(:user) - user.account.bookmarks.create!(status: Fabricate(:status, uri: 'https://foo.bar/statuses/1312')) + let(:user) { Fabricate(:user) } + let(:account) { Fabricate(:account, domain: 'foo.bar') } + let(:status) { Fabricate(:status, account: account, uri: 'https://foo.bar/statuses/1312') } + describe 'GET #index' do + before do + user.account.bookmarks.create!(status: status) + end + + it 'returns a csv of the bookmarked toots' do sign_in user, scope: :user get :index, format: :csv diff --git a/spec/lib/html_aware_formatter.rb b/spec/lib/html_aware_formatter_spec.rb similarity index 100% rename from spec/lib/html_aware_formatter.rb rename to spec/lib/html_aware_formatter_spec.rb diff --git a/spec/lib/rss/serializer_spec.rb b/spec/lib/rss/serializer_spec.rb index 0364d13de..1da45d302 100644 --- a/spec/lib/rss/serializer_spec.rb +++ b/spec/lib/rss/serializer_spec.rb @@ -13,13 +13,6 @@ describe RSS::Serializer do subject { RSS::Serializer.new.send(:status_title, status) } - context 'if destroyed?' do - it 'returns "#{account.acct} deleted status"' do - status.destroy! - expect(subject).to eq "#{account.acct} deleted status" - end - end - context 'on a toot with long text' do let(:text) { "This toot's text is longer than the allowed number of characters" } diff --git a/spec/services/after_block_service_spec.rb b/spec/services/after_block_service_spec.rb index fe5b26b2b..c09425d7c 100644 --- a/spec/services/after_block_service_spec.rb +++ b/spec/services/after_block_service_spec.rb @@ -1,9 +1,7 @@ require 'rails_helper' RSpec.describe AfterBlockService, type: :service do - subject do - -> { described_class.new.call(account, target_account) } - end + subject { described_class.new.call(account, target_account) } let(:account) { Fabricate(:account) } let(:target_account) { Fabricate(:account) } @@ -24,7 +22,7 @@ RSpec.describe AfterBlockService, type: :service do FeedManager.instance.push_to_home(account, other_account_status) FeedManager.instance.push_to_home(account, other_account_reblog) - is_expected.to change { + expect { subject }.to change { Redis.current.zrange(home_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s, other_account_reblog.id.to_s]).to([other_account_status.id.to_s]) end @@ -43,7 +41,7 @@ RSpec.describe AfterBlockService, type: :service do FeedManager.instance.push_to_list(list, other_account_status) FeedManager.instance.push_to_list(list, other_account_reblog) - is_expected.to change { + expect { subject }.to change { Redis.current.zrange(list_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s, other_account_reblog.id.to_s]).to([other_account_status.id.to_s]) end diff --git a/spec/services/delete_account_service_spec.rb b/spec/services/delete_account_service_spec.rb index 9c785fc17..1fbe4d07c 100644 --- a/spec/services/delete_account_service_spec.rb +++ b/spec/services/delete_account_service_spec.rb @@ -23,12 +23,10 @@ RSpec.describe DeleteAccountService, type: :service do let!(:account_note) { Fabricate(:account_note, account: account) } - subject do - -> { described_class.new.call(account) } - end + subject { described_class.new.call(account) } it 'deletes associated owned records' do - is_expected.to change { + expect { subject }.to change { [ account.statuses, account.media_attachments, @@ -43,7 +41,7 @@ RSpec.describe DeleteAccountService, type: :service do end it 'deletes associated target records' do - is_expected.to change { + expect { subject }.to change { [ AccountPin.where(target_account: account), ].map(&:count) @@ -51,7 +49,7 @@ RSpec.describe DeleteAccountService, type: :service do end it 'deletes associated target notifications' do - is_expected.to change { + expect { subject }.to change { [ 'poll', 'favourite', 'status', 'mention', 'follow' ].map { |type| Notification.where(type: type).count } @@ -73,7 +71,7 @@ RSpec.describe DeleteAccountService, type: :service do let!(:local_follower) { Fabricate(:account) } it 'sends a delete actor activity to all known inboxes' do - subject.call + subject expect(a_request(:post, "https://alice.com/inbox")).to have_been_made.once expect(a_request(:post, "https://bob.com/inbox")).to have_been_made.once end @@ -91,7 +89,7 @@ RSpec.describe DeleteAccountService, type: :service do let!(:local_follower) { Fabricate(:account) } it 'sends a reject follow to follower inboxes' do - subject.call + subject expect(a_request(:post, account.inbox_url)).to have_been_made.once end end diff --git a/spec/services/mute_service_spec.rb b/spec/services/mute_service_spec.rb index 4bb839b8d..bdec1c67b 100644 --- a/spec/services/mute_service_spec.rb +++ b/spec/services/mute_service_spec.rb @@ -1,9 +1,7 @@ require 'rails_helper' RSpec.describe MuteService, type: :service do - subject do - -> { described_class.new.call(account, target_account) } - end + subject { described_class.new.call(account, target_account) } let(:account) { Fabricate(:account) } let(:target_account) { Fabricate(:account) } @@ -21,45 +19,41 @@ RSpec.describe MuteService, type: :service do FeedManager.instance.push_to_home(account, status) FeedManager.instance.push_to_home(account, other_account_status) - is_expected.to change { + expect { subject }.to change { Redis.current.zrange(home_timeline_key, 0, -1) }.from([status.id.to_s, other_account_status.id.to_s]).to([other_account_status.id.to_s]) end end it 'mutes account' do - is_expected.to change { + expect { subject }.to change { account.muting?(target_account) }.from(false).to(true) end context 'without specifying a notifications parameter' do it 'mutes notifications from the account' do - is_expected.to change { + expect { subject }.to change { account.muting_notifications?(target_account) }.from(false).to(true) end end context 'with a true notifications parameter' do - subject do - -> { described_class.new.call(account, target_account, notifications: true) } - end + subject { described_class.new.call(account, target_account, notifications: true) } it 'mutes notifications from the account' do - is_expected.to change { + expect { subject }.to change { account.muting_notifications?(target_account) }.from(false).to(true) end end context 'with a false notifications parameter' do - subject do - -> { described_class.new.call(account, target_account, notifications: false) } - end + subject { described_class.new.call(account, target_account, notifications: false) } it 'does not mute notifications from the account' do - is_expected.to_not change { + expect { subject }.to_not change { account.muting_notifications?(target_account) }.from(false) end diff --git a/spec/services/notify_service_spec.rb b/spec/services/notify_service_spec.rb index 7433866b7..294c31b04 100644 --- a/spec/services/notify_service_spec.rb +++ b/spec/services/notify_service_spec.rb @@ -1,9 +1,7 @@ require 'rails_helper' RSpec.describe NotifyService, type: :service do - subject do - -> { described_class.new.call(recipient, type, activity) } - end + subject { described_class.new.call(recipient, type, activity) } let(:user) { Fabricate(:user) } let(:recipient) { user.account } @@ -11,42 +9,42 @@ RSpec.describe NotifyService, type: :service do let(:activity) { Fabricate(:follow, account: sender, target_account: recipient) } let(:type) { :follow } - it { is_expected.to change(Notification, :count).by(1) } + it { expect { subject }.to change(Notification, :count).by(1) } it 'does not notify when sender is blocked' do recipient.block!(sender) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does not notify when sender is muted with hide_notifications' do recipient.mute!(sender, notifications: true) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does notify when sender is muted without hide_notifications' do recipient.mute!(sender, notifications: false) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end it 'does not notify when sender\'s domain is blocked' do recipient.block_domain!(sender.domain) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does still notify when sender\'s domain is blocked but sender is followed' do recipient.block_domain!(sender.domain) recipient.follow!(sender) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end it 'does not notify when sender is silenced and not followed' do sender.silence! - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does not notify when recipient is suspended' do recipient.suspend! - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end context 'for direct messages' do @@ -61,7 +59,7 @@ RSpec.describe NotifyService, type: :service do let(:enabled) { true } it 'does not notify' do - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end context 'if the message chain is initiated by recipient, but is not direct message' do @@ -70,7 +68,7 @@ RSpec.describe NotifyService, type: :service do let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) } it 'does not notify' do - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end end @@ -81,7 +79,7 @@ RSpec.describe NotifyService, type: :service do let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: dummy_reply)) } it 'does not notify' do - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end end @@ -91,7 +89,7 @@ RSpec.describe NotifyService, type: :service do let(:activity) { Fabricate(:mention, account: recipient, status: Fabricate(:status, account: sender, visibility: :direct, thread: reply_to)) } it 'does notify' do - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end end end @@ -100,7 +98,7 @@ RSpec.describe NotifyService, type: :service do let(:enabled) { false } it 'does notify' do - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end end end @@ -112,17 +110,17 @@ RSpec.describe NotifyService, type: :service do it 'shows reblogs by default' do recipient.follow!(sender) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end it 'shows reblogs when explicitly enabled' do recipient.follow!(sender, reblogs: true) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end it 'shows reblogs when disabled' do recipient.follow!(sender, reblogs: false) - is_expected.to change(Notification, :count) + expect { subject }.to change(Notification, :count) end end @@ -134,12 +132,12 @@ RSpec.describe NotifyService, type: :service do it 'does not notify when conversation is muted' do recipient.mute_conversation!(activity.status.conversation) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end it 'does not notify when it is a reply to a blocked user' do recipient.block!(asshole) - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end end @@ -147,7 +145,7 @@ RSpec.describe NotifyService, type: :service do let(:sender) { recipient } it 'does not notify when recipient is the sender' do - is_expected.to_not change(Notification, :count) + expect { subject }.to_not change(Notification, :count) end end @@ -163,7 +161,7 @@ RSpec.describe NotifyService, type: :service do let(:enabled) { true } it 'sends email' do - is_expected.to change(ActionMailer::Base.deliveries, :count).by(1) + expect { subject }.to change(ActionMailer::Base.deliveries, :count).by(1) end end @@ -171,7 +169,7 @@ RSpec.describe NotifyService, type: :service do let(:enabled) { false } it "doesn't send email" do - is_expected.to_not change(ActionMailer::Base.deliveries, :count).from(0) + expect { subject }.to_not change(ActionMailer::Base.deliveries, :count).from(0) end end end diff --git a/spec/services/suspend_account_service_spec.rb b/spec/services/suspend_account_service_spec.rb index cf7eb257a..5d45e4ffd 100644 --- a/spec/services/suspend_account_service_spec.rb +++ b/spec/services/suspend_account_service_spec.rb @@ -5,9 +5,7 @@ RSpec.describe SuspendAccountService, type: :service do let!(:local_follower) { Fabricate(:user, current_sign_in_at: 1.hour.ago).account } let!(:list) { Fabricate(:list, account: local_follower) } - subject do - -> { described_class.new.call(account) } - end + subject { described_class.new.call(account) } before do allow(FeedManager.instance).to receive(:unmerge_from_home).and_return(nil) @@ -18,13 +16,13 @@ RSpec.describe SuspendAccountService, type: :service do end it "unmerges from local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to have_received(:unmerge_from_home).with(account, local_follower) expect(FeedManager.instance).to have_received(:unmerge_from_list).with(account, list) end it 'marks account as suspended' do - is_expected.to change { account.suspended? }.from(false).to(true) + expect { subject }.to change { account.suspended? }.from(false).to(true) end end @@ -51,7 +49,7 @@ RSpec.describe SuspendAccountService, type: :service do end it 'sends an update actor to followers and reporters' do - subject.call + subject expect(a_request(:post, remote_follower.inbox_url).with { |req| match_update_actor_request(req, account) }).to have_been_made.once expect(a_request(:post, remote_reporter.inbox_url).with { |req| match_update_actor_request(req, account) }).to have_been_made.once end @@ -77,7 +75,7 @@ RSpec.describe SuspendAccountService, type: :service do end it 'sends a reject follow' do - subject.call + subject expect(a_request(:post, account.inbox_url).with { |req| match_reject_follow_request(req, account, local_followee) }).to have_been_made.once end end diff --git a/spec/services/unsuspend_account_service_spec.rb b/spec/services/unsuspend_account_service_spec.rb index 0593beb6f..3ac4cc085 100644 --- a/spec/services/unsuspend_account_service_spec.rb +++ b/spec/services/unsuspend_account_service_spec.rb @@ -5,9 +5,7 @@ RSpec.describe UnsuspendAccountService, type: :service do let!(:local_follower) { Fabricate(:user, current_sign_in_at: 1.hour.ago).account } let!(:list) { Fabricate(:list, account: local_follower) } - subject do - -> { described_class.new.call(account) } - end + subject { described_class.new.call(account) } before do allow(FeedManager.instance).to receive(:merge_into_home).and_return(nil) @@ -33,7 +31,7 @@ RSpec.describe UnsuspendAccountService, type: :service do end it 'marks account as unsuspended' do - is_expected.to change { account.suspended? }.from(true).to(false) + expect { subject }.to change { account.suspended? }.from(true).to(false) end include_examples 'common behavior' do @@ -47,13 +45,13 @@ RSpec.describe UnsuspendAccountService, type: :service do end it "merges back into local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to have_received(:merge_into_home).with(account, local_follower) expect(FeedManager.instance).to have_received(:merge_into_list).with(account, list) end it 'sends an update actor to followers and reporters' do - subject.call + subject expect(a_request(:post, remote_follower.inbox_url).with { |req| match_update_actor_request(req, account) }).to have_been_made.once expect(a_request(:post, remote_reporter.inbox_url).with { |req| match_update_actor_request(req, account) }).to have_been_made.once end @@ -75,18 +73,18 @@ RSpec.describe UnsuspendAccountService, type: :service do end it 're-fetches the account' do - subject.call + subject expect(resolve_account_service).to have_received(:call).with(account) end it "merges back into local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to have_received(:merge_into_home).with(account, local_follower) expect(FeedManager.instance).to have_received(:merge_into_list).with(account, list) end it 'marks account as unsuspended' do - is_expected.to change { account.suspended? }.from(true).to(false) + expect { subject }.to change { account.suspended? }.from(true).to(false) end end @@ -99,18 +97,18 @@ RSpec.describe UnsuspendAccountService, type: :service do end it 're-fetches the account' do - subject.call + subject expect(resolve_account_service).to have_received(:call).with(account) end it "does not merge back into local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to_not have_received(:merge_into_home).with(account, local_follower) expect(FeedManager.instance).to_not have_received(:merge_into_list).with(account, list) end it 'does not mark the account as unsuspended' do - is_expected.not_to change { account.suspended? } + expect { subject }.not_to change { account.suspended? } end end @@ -120,12 +118,12 @@ RSpec.describe UnsuspendAccountService, type: :service do end it 're-fetches the account' do - subject.call + subject expect(resolve_account_service).to have_received(:call).with(account) end it "does not merge back into local followers' feeds" do - subject.call + subject expect(FeedManager.instance).to_not have_received(:merge_into_home).with(account, local_follower) expect(FeedManager.instance).to_not have_received(:merge_into_list).with(account, list) end From 22eeaf2645e44ea800a6e4c4acb7bf9d72211344 Mon Sep 17 00:00:00 2001 From: Shlee Date: Tue, 29 Mar 2022 08:08:20 +1030 Subject: [PATCH 56/73] Split build image actions (#17793) * Update build-image.yml * Update build-image.yml * Update build-image.yml * Update build-image.yml --- .github/workflows/build-image.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 75c7b54a6..0fa28aca1 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -13,6 +13,9 @@ on: jobs: build-image: runs-on: ubuntu-latest + strategy: + matrix: + os: [linux/arm64, linux/amd64] steps: - uses: actions/checkout@v2 - uses: docker/setup-qemu-action@v1 @@ -35,7 +38,7 @@ jobs: - uses: docker/build-push-action@v2 with: context: . - platforms: linux/amd64,linux/arm64 + platforms: ${{ matrix.os }} push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} cache-from: type=registry,ref=tootsuite/mastodon:latest From 894956e20cfa7ea36bb124fb3561fde5694ac955 Mon Sep 17 00:00:00 2001 From: Claire Date: Mon, 28 Mar 2022 23:57:38 +0200 Subject: [PATCH 57/73] Fix /api/v1/admin/accounts (#17887) * Fix /api/v1/admin/accounts Compatibility was broken since #17009 which changed the underlying filter class without changing the controller. This commits restore support for the old parameters. * Add /api/v2/admin/accounts with the new parameters * Add tests * Add missing filter for `silenced` status Co-authored-by: Eugen Rochko Co-authored-by: Eugen Rochko --- .../api/v1/admin/accounts_controller.rb | 16 +++- .../api/v2/admin/accounts_controller.rb | 31 ++++++++ app/models/account_filter.rb | 4 + config/routes.rb | 4 + .../api/v1/admin/accounts_controller_spec.rb | 35 ++++++++- .../api/v2/admin/accounts_controller_spec.rb | 73 +++++++++++++++++++ 6 files changed, 159 insertions(+), 4 deletions(-) create mode 100644 app/controllers/api/v2/admin/accounts_controller.rb create mode 100644 spec/controllers/api/v2/admin/accounts_controller_spec.rb diff --git a/app/controllers/api/v1/admin/accounts_controller.rb b/app/controllers/api/v1/admin/accounts_controller.rb index 65330b8c8..4b6dab208 100644 --- a/app/controllers/api/v1/admin/accounts_controller.rb +++ b/app/controllers/api/v1/admin/accounts_controller.rb @@ -104,13 +104,27 @@ class Api::V1::Admin::AccountsController < Api::BaseController end def filtered_accounts - AccountFilter.new(filter_params).results + AccountFilter.new(translated_filter_params).results end def filter_params params.permit(*FILTER_PARAMS) end + def translated_filter_params + translated_params = { origin: 'local', status: 'active' }.merge(filter_params.slice(*AccountFilter::KEYS)) + + translated_params[:origin] = 'remote' if params[:remote].present? + + %i(active pending disabled silenced suspended).each do |status| + translated_params[:status] = status.to_s if params[status].present? + end + + translated_params[:permissions] = 'staff' if params[:staff].present? + + translated_params + end + def insert_pagination_headers set_pagination_headers(next_path, prev_path) end diff --git a/app/controllers/api/v2/admin/accounts_controller.rb b/app/controllers/api/v2/admin/accounts_controller.rb new file mode 100644 index 000000000..a89e6835e --- /dev/null +++ b/app/controllers/api/v2/admin/accounts_controller.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController + FILTER_PARAMS = %i( + origin + status + permissions + username + by_domain + display_name + email + ip + invited_by + ).freeze + + PAGINATION_PARAMS = (%i(limit) + FILTER_PARAMS).freeze + + private + + def filtered_accounts + AccountFilter.new(filter_params).results + end + + def filter_params + params.permit(*FILTER_PARAMS) + end + + def pagination_params(core_params) + params.slice(*PAGINATION_PARAMS).permit(*PAGINATION_PARAMS).merge(core_params) + end +end diff --git a/app/models/account_filter.rb b/app/models/account_filter.rb index 9da1522dd..ec309ce09 100644 --- a/app/models/account_filter.rb +++ b/app/models/account_filter.rb @@ -80,6 +80,10 @@ class AccountFilter accounts_with_users.merge(User.pending) when 'suspended' Account.suspended + when 'disabled' + accounts_with_users.merge(User.disabled) + when 'silenced' + Account.silenced else raise "Unknown status: #{value}" end diff --git a/config/routes.rb b/config/routes.rb index c108e2ec4..7c9a13dc4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -576,6 +576,10 @@ Rails.application.routes.draw do resources :media, only: [:create] get '/search', to: 'search#index', as: :search resources :suggestions, only: [:index] + + namespace :admin do + resources :accounts, only: [:index] + end end namespace :web do diff --git a/spec/controllers/api/v1/admin/accounts_controller_spec.rb b/spec/controllers/api/v1/admin/accounts_controller_spec.rb index 3f61bbc0b..b69595f7e 100644 --- a/spec/controllers/api/v1/admin/accounts_controller_spec.rb +++ b/spec/controllers/api/v1/admin/accounts_controller_spec.rb @@ -30,15 +30,44 @@ RSpec.describe Api::V1::Admin::AccountsController, type: :controller do end describe 'GET #index' do + let!(:remote_account) { Fabricate(:account, domain: 'example.org') } + let!(:other_remote_account) { Fabricate(:account, domain: 'foo.bar') } + let!(:suspended_account) { Fabricate(:account, suspended: true) } + let!(:suspended_remote) { Fabricate(:account, domain: 'foo.bar', suspended: true) } + let!(:disabled_account) { Fabricate(:user, disabled: true).account } + let!(:pending_account) { Fabricate(:user, approved: false).account } + let!(:admin_account) { user.account } + + let(:params) { {} } + before do - get :index + pending_account.user.update(approved: false) + get :index, params: params end it_behaves_like 'forbidden for wrong scope', 'write:statuses' it_behaves_like 'forbidden for wrong role', 'user' - it 'returns http success' do - expect(response).to have_http_status(200) + [ + [{ active: 'true', local: 'true', staff: 'true' }, [:admin_account]], + [{ by_domain: 'example.org', remote: 'true' }, [:remote_account]], + [{ suspended: 'true' }, [:suspended_account]], + [{ disabled: 'true' }, [:disabled_account]], + [{ pending: 'true' }, [:pending_account]], + ].each do |params, expected_results| + context "when called with #{params.inspect}" do + let(:params) { params } + + it 'returns http success' do + expect(response).to have_http_status(200) + end + + it "returns the correct accounts (#{expected_results.inspect})" do + json = body_as_json + + expect(json.map { |a| a[:id].to_i }).to eq (expected_results.map { |symbol| send(symbol).id }) + end + end end end diff --git a/spec/controllers/api/v2/admin/accounts_controller_spec.rb b/spec/controllers/api/v2/admin/accounts_controller_spec.rb new file mode 100644 index 000000000..3212ddb84 --- /dev/null +++ b/spec/controllers/api/v2/admin/accounts_controller_spec.rb @@ -0,0 +1,73 @@ +require 'rails_helper' + +RSpec.describe Api::V2::Admin::AccountsController, type: :controller do + render_views + + let(:role) { 'moderator' } + let(:user) { Fabricate(:user, role: role) } + let(:scopes) { 'admin:read admin:write' } + let(:token) { Fabricate(:accessible_access_token, resource_owner_id: user.id, scopes: scopes) } + let(:account) { Fabricate(:account) } + + before do + allow(controller).to receive(:doorkeeper_token) { token } + end + + shared_examples 'forbidden for wrong scope' do |wrong_scope| + let(:scopes) { wrong_scope } + + it 'returns http forbidden' do + expect(response).to have_http_status(403) + end + end + + shared_examples 'forbidden for wrong role' do |wrong_role| + let(:role) { wrong_role } + + it 'returns http forbidden' do + expect(response).to have_http_status(403) + end + end + + describe 'GET #index' do + let!(:remote_account) { Fabricate(:account, domain: 'example.org') } + let!(:other_remote_account) { Fabricate(:account, domain: 'foo.bar') } + let!(:suspended_account) { Fabricate(:account, suspended: true) } + let!(:suspended_remote) { Fabricate(:account, domain: 'foo.bar', suspended: true) } + let!(:disabled_account) { Fabricate(:user, disabled: true).account } + let!(:pending_account) { Fabricate(:user, approved: false).account } + let!(:admin_account) { user.account } + + let(:params) { {} } + + before do + pending_account.user.update(approved: false) + get :index, params: params + end + + it_behaves_like 'forbidden for wrong scope', 'write:statuses' + it_behaves_like 'forbidden for wrong role', 'user' + + [ + [{ status: 'active', origin: 'local', permissions: 'staff' }, [:admin_account]], + [{ by_domain: 'example.org', origin: 'remote' }, [:remote_account]], + [{ status: 'suspended' }, [:suspended_remote, :suspended_account]], + [{ status: 'disabled' }, [:disabled_account]], + [{ status: 'pending' }, [:pending_account]], + ].each do |params, expected_results| + context "when called with #{params.inspect}" do + let(:params) { params } + + it 'returns http success' do + expect(response).to have_http_status(200) + end + + it "returns the correct accounts (#{expected_results.inspect})" do + json = body_as_json + + expect(json.map { |a| a[:id].to_i }).to eq (expected_results.map { |symbol| send(symbol).id }) + end + end + end + end +end From 1e46c290470b54ff63e9034d17d9c14c26d0ad1f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Tue, 29 Mar 2022 03:51:09 +0200 Subject: [PATCH 58/73] New Crowdin updates (#17864) * New translations doorkeeper.en.yml (Kazakh) * New translations doorkeeper.en.yml (Estonian) * New translations doorkeeper.en.yml (Latvian) * New translations doorkeeper.en.yml (Hindi) * New translations doorkeeper.en.yml (Welsh) * New translations doorkeeper.en.yml (Serbian (Latin)) * New translations doorkeeper.en.yml (Esperanto) * New translations doorkeeper.en.yml (Chinese Traditional, Hong Kong) * New translations doorkeeper.en.yml (Tatar) * New translations doorkeeper.en.yml (Malayalam) * New translations doorkeeper.en.yml (Breton) * New translations doorkeeper.en.yml (Sinhala) * New translations doorkeeper.en.yml (Occitan) * New translations activerecord.en.yml (Czech) * New translations devise.en.yml (Polish) * New translations activerecord.en.yml (Dutch) * New translations devise.en.yml (Dutch) * New translations activerecord.en.yml (Norwegian) * New translations devise.en.yml (Norwegian) * New translations activerecord.en.yml (Polish) * New translations activerecord.en.yml (Portuguese) * New translations devise.en.yml (Portuguese) * New translations activerecord.en.yml (Russian) * New translations devise.en.yml (Russian) * New translations activerecord.en.yml (Slovak) * New translations devise.en.yml (Slovak) * New translations activerecord.en.yml (Slovenian) * New translations devise.en.yml (Slovenian) * New translations activerecord.en.yml (Albanian) * New translations devise.en.yml (Albanian) * New translations activerecord.en.yml (Serbian (Cyrillic)) * New translations devise.en.yml (Korean) * New translations devise.en.yml (Czech) * New translations activerecord.en.yml (Hebrew) * New translations activerecord.en.yml (Danish) * New translations devise.en.yml (Danish) * New translations activerecord.en.yml (German) * New translations devise.en.yml (German) * New translations activerecord.en.yml (Greek) * New translations devise.en.yml (Greek) * New translations activerecord.en.yml (Basque) * New translations devise.en.yml (Basque) * New translations activerecord.en.yml (Finnish) * New translations devise.en.yml (Finnish) * New translations devise.en.yml (Hebrew) * New translations activerecord.en.yml (Korean) * New translations activerecord.en.yml (Hungarian) * New translations devise.en.yml (Hungarian) * New translations activerecord.en.yml (Armenian) * New translations devise.en.yml (Armenian) * New translations activerecord.en.yml (Italian) * New translations devise.en.yml (Italian) * New translations activerecord.en.yml (Japanese) * New translations devise.en.yml (Japanese) * New translations activerecord.en.yml (Georgian) * New translations devise.en.yml (Georgian) * New translations devise.en.yml (Serbian (Cyrillic)) * New translations activerecord.en.yml (Swedish) * New translations devise.en.yml (Norwegian Nynorsk) * New translations activerecord.en.yml (Bengali) * New translations devise.en.yml (Bengali) * New translations activerecord.en.yml (Marathi) * New translations activerecord.en.yml (Thai) * New translations activerecord.en.yml (Croatian) * New translations devise.en.yml (Croatian) * New translations activerecord.en.yml (Norwegian Nynorsk) * New translations activerecord.en.yml (Kazakh) * New translations activerecord.en.yml (Spanish, Mexico) * New translations devise.en.yml (Kazakh) * New translations activerecord.en.yml (Estonian) * New translations devise.en.yml (Estonian) * New translations activerecord.en.yml (Latvian) * New translations devise.en.yml (Latvian) * New translations activerecord.en.yml (Hindi) * New translations devise.en.yml (Hindi) * New translations devise.en.yml (Spanish, Mexico) * New translations devise.en.yml (Spanish, Argentina) * New translations devise.en.yml (Swedish) * New translations activerecord.en.yml (Vietnamese) * New translations activerecord.en.yml (Turkish) * New translations devise.en.yml (Turkish) * New translations activerecord.en.yml (Ukrainian) * New translations devise.en.yml (Ukrainian) * New translations activerecord.en.yml (Chinese Simplified) * New translations devise.en.yml (Chinese Simplified) * New translations activerecord.en.yml (Chinese Traditional) * New translations devise.en.yml (Chinese Traditional) * New translations devise.en.yml (Urdu (Pakistan)) * New translations devise.en.yml (Vietnamese) * New translations activerecord.en.yml (Spanish, Argentina) * New translations activerecord.en.yml (Galician) * New translations devise.en.yml (Galician) * New translations activerecord.en.yml (Portuguese, Brazilian) * New translations devise.en.yml (Portuguese, Brazilian) * New translations activerecord.en.yml (Indonesian) * New translations devise.en.yml (Indonesian) * New translations activerecord.en.yml (Persian) * New translations devise.en.yml (Persian) * New translations activerecord.en.yml (Tamil) * New translations devise.en.yml (Tamil) * New translations devise.en.yml (Welsh) * New translations activerecord.en.yml (Sorani (Kurdish)) * New translations devise.en.yml (Sorani (Kurdish)) * New translations activerecord.en.yml (Corsican) * New translations devise.en.yml (Corsican) * New translations activerecord.en.yml (Sardinian) * New translations devise.en.yml (Sardinian) * New translations activerecord.en.yml (Kabyle) * New translations activerecord.en.yml (Kurmanji (Kurdish)) * New translations devise.en.yml (Kabyle) * New translations devise.en.yml (Ido) * New translations activerecord.en.yml (Standard Moroccan Tamazight) * New translations devise.en.yml (Serbian (Latin)) * New translations activerecord.en.yml (Esperanto) * New translations activerecord.en.yml (Breton) * New translations activerecord.en.yml (Chinese Traditional, Hong Kong) * New translations devise.en.yml (Chinese Traditional, Hong Kong) * New translations activerecord.en.yml (Tatar) * New translations devise.en.yml (Tatar) * New translations activerecord.en.yml (Malayalam) * New translations devise.en.yml (Malayalam) * New translations devise.en.yml (Breton) * New translations activerecord.en.yml (Serbian (Latin)) * New translations activerecord.en.yml (Sinhala) * New translations devise.en.yml (Sinhala) * New translations devise.en.yml (Kannada) * New translations activerecord.en.yml (Occitan) * New translations devise.en.yml (Occitan) * New translations devise.en.yml (Standard Moroccan Tamazight) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Portuguese, Brazilian) * New translations en.json (Portuguese, Brazilian) * New translations doorkeeper.en.yml (Portuguese, Brazilian) * New translations en.json (Portuguese, Brazilian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Danish) * New translations en.yml (Vietnamese) * New translations en.yml (Galician) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Albanian) * New translations en.json (Albanian) * New translations en.json (Albanian) * New translations en.yml (Scottish Gaelic) * New translations en.json (Scottish Gaelic) * New translations doorkeeper.en.yml (Scottish Gaelic) * New translations simple_form.en.yml (Scottish Gaelic) * New translations en.yml (Icelandic) * New translations en.yml (Spanish) * New translations en.yml (Polish) * New translations en.yml (French) * New translations en.yml (French) * New translations en.json (French) * New translations en.yml (Portuguese) * New translations en.yml (Italian) * New translations en.yml (Ukrainian) * New translations en.json (Ukrainian) * New translations doorkeeper.en.yml (Ukrainian) * New translations en.json (Ukrainian) * New translations en.yml (Indonesian) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Vietnamese) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.yml (Czech) * New translations en.yml (Thai) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations simple_form.en.yml (Czech) * New translations en.yml (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.json (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Czech) * New translations en.yml (Korean) * New translations en.yml (Portuguese) * New translations en.yml (Hungarian) * New translations en.yml (Polish) * New translations en.yml (Albanian) * New translations en.yml (Basque) * New translations en.yml (Turkish) * New translations en.yml (Ukrainian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Icelandic) * New translations en.yml (Indonesian) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Finnish) * New translations en.yml (Galician) * New translations en.yml (Chinese Simplified) * New translations en.yml (Swedish) * New translations en.yml (Arabic) * New translations en.yml (French) * New translations en.yml (Spanish) * New translations en.yml (Catalan) * New translations en.yml (Hebrew) * New translations en.yml (Italian) * New translations en.yml (Japanese) * New translations en.yml (Russian) * New translations en.yml (German) * New translations en.yml (Vietnamese) * New translations en.yml (Thai) * New translations en.yml (Scottish Gaelic) * New translations en.yml (Danish) * New translations en.yml (Spanish, Mexico) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Latvian) * New translations en.yml (Chinese Traditional) * New translations en.yml (Spanish, Argentina) * New translations en.yml (Chinese Traditional) * New translations en.yml (Catalan) * New translations en.yml (Korean) * New translations en.yml (Danish) * New translations en.yml (Danish) * New translations en.yml (Spanish) * New translations en.yml (French) * New translations en.yml (French) * New translations en.yml (Hungarian) * New translations en.yml (Icelandic) * New translations en.yml (Kurmanji (Kurdish)) * New translations en.yml (Czech) * New translations en.yml (Albanian) * New translations en.yml (Russian) * New translations en.yml (Russian) * New translations en.yml (Russian) * New translations en.json (Persian) * New translations en.yml (Persian) * New translations simple_form.en.yml (Persian) * New translations doorkeeper.en.yml (Persian) * New translations en.yml (Indonesian) * New translations en.json (Persian) * New translations en.yml (Persian) * New translations simple_form.en.yml (Persian) * New translations doorkeeper.en.yml (Persian) * New translations en.yml (Italian) * New translations en.yml (Vietnamese) * Run `yarn manage:translations` * Run `bundle exec i18n-tasks normalize` Co-authored-by: Yamagishi Kazutoshi --- app/javascript/mastodon/locales/cs.json | 46 ++++---- app/javascript/mastodon/locales/fa.json | 4 +- app/javascript/mastodon/locales/fr.json | 4 +- app/javascript/mastodon/locales/gd.json | 8 +- app/javascript/mastodon/locales/pt-BR.json | 40 +++---- app/javascript/mastodon/locales/sq.json | 8 +- app/javascript/mastodon/locales/th.json | 4 +- app/javascript/mastodon/locales/uk.json | 10 +- config/locales/activerecord.ku.yml | 2 +- config/locales/ar.yml | 3 - config/locales/ca.yml | 17 +-- config/locales/cs.yml | 35 +++++- config/locales/da.yml | 19 ++-- config/locales/de.yml | 16 --- config/locales/devise.ku.yml | 26 ++--- config/locales/devise.th.yml | 2 +- config/locales/doorkeeper.fa.yml | 31 +++++- config/locales/doorkeeper.gd.yml | 37 +++++++ config/locales/doorkeeper.ku.yml | 4 +- config/locales/doorkeeper.pt-BR.yml | 1 + config/locales/doorkeeper.uk.yml | 15 +++ config/locales/es-AR.yml | 17 +-- config/locales/es-MX.yml | 22 +--- config/locales/es.yml | 11 +- config/locales/eu.yml | 8 -- config/locales/fa.yml | 123 +++++++++++++++------ config/locales/fi.yml | 16 --- config/locales/fr.yml | 24 ++-- config/locales/gd.yml | 117 +++++++++++++++++--- config/locales/gl.yml | 21 +--- config/locales/he.yml | 11 -- config/locales/hu.yml | 13 ++- config/locales/id.yml | 21 ++-- config/locales/is.yml | 9 +- config/locales/it.yml | 9 +- config/locales/ja.yml | 4 - config/locales/ko.yml | 13 +-- config/locales/ku.yml | 51 ++++----- config/locales/lv.yml | 21 +--- config/locales/pl.yml | 9 +- config/locales/pt-BR.yml | 1 + config/locales/pt-PT.yml | 21 +--- config/locales/ru.yml | 29 +++-- config/locales/simple_form.cs.yml | 1 + config/locales/simple_form.fa.yml | 34 +++--- config/locales/simple_form.gd.yml | 9 ++ config/locales/simple_form.ku.yml | 36 +++--- config/locales/simple_form.th.yml | 2 +- config/locales/sq.yml | 24 ++-- config/locales/sv.yml | 4 - config/locales/th.yml | 23 +--- config/locales/tr.yml | 16 --- config/locales/uk.yml | 18 ++- config/locales/vi.yml | 74 ++++++------- config/locales/zh-CN.yml | 16 --- config/locales/zh-TW.yml | 15 +-- 56 files changed, 659 insertions(+), 516 deletions(-) diff --git a/app/javascript/mastodon/locales/cs.json b/app/javascript/mastodon/locales/cs.json index d48780042..c6ffaa6f2 100644 --- a/app/javascript/mastodon/locales/cs.json +++ b/app/javascript/mastodon/locales/cs.json @@ -75,7 +75,7 @@ "column.domain_blocks": "Blokované domény", "column.favourites": "Oblíbené", "column.follow_requests": "Žádosti o sledování", - "column.home": "Domů", + "column.home": "Domovská časová osa", "column.lists": "Seznamy", "column.mutes": "Skrytí uživatelé", "column.notifications": "Oznámení", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Objevujte", "navigation_bar.domain_blocks": "Blokované domény", "navigation_bar.edit_profile": "Upravit profil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Objevování", "navigation_bar.favourites": "Oblíbené", "navigation_bar.filters": "Skrytá slova", "navigation_bar.follow_requests": "Žádosti o sledování", @@ -318,7 +318,7 @@ "notification.poll": "Anketa, ve které jste hlasovali, skončila", "notification.reblog": "Uživatel {name} boostnul váš příspěvek", "notification.status": "Nový příspěvek od {name}", - "notification.update": "{name} edited a post", + "notification.update": "uživatel {name} upravil příspěvek", "notifications.clear": "Smazat oznámení", "notifications.clear_confirmation": "Opravdu chcete trvale smazat všechna vaše oznámení?", "notifications.column_settings.admin.sign_up": "New sign-ups:", @@ -338,7 +338,7 @@ "notifications.column_settings.status": "Nové příspěvky:", "notifications.column_settings.unread_notifications.category": "Nepřečtená oznámení", "notifications.column_settings.unread_notifications.highlight": "Zvýraznit nepřečtená oznámení", - "notifications.column_settings.update": "Edits:", + "notifications.column_settings.update": "Úpravy:", "notifications.filter.all": "Vše", "notifications.filter.boosts": "Boosty", "notifications.filter.favourites": "Oblíbení", @@ -380,7 +380,7 @@ "relative_time.days": "{number} d", "relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", - "relative_time.full.just_now": "just now", + "relative_time.full.just_now": "právě teď", "relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.hours": "{number} h", @@ -391,11 +391,11 @@ "reply_indicator.cancel": "Zrušit", "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", + "report.categories.other": "Ostatní", "report.categories.spam": "Spam", - "report.categories.violation": "Content violates one or more server rules", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", + "report.categories.violation": "Obsah porušuje jedno nebo více pravidel serveru", + "report.category.subtitle": "Vyberte nejbližší možnost", + "report.category.title": "Povězte nám, proč chcete {type} nahlásit", "report.category.title_account": "profile", "report.category.title_status": "post", "report.close": "Done", @@ -404,20 +404,20 @@ "report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii hlášení?", "report.mute": "Mute", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", - "report.next": "Next", + "report.next": "Dále", "report.placeholder": "Dodatečné komentáře", - "report.reasons.dislike": "I don't like it", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", - "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.violation_description": "You are aware that it breaks specific rules", - "report.rules.subtitle": "Select all that apply", - "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", - "report.statuses.title": "Are there any posts that back up this report?", + "report.reasons.dislike": "Nelíbí se mi", + "report.reasons.dislike_description": "Není to něco, co chcete vidět", + "report.reasons.other": "Jde o něco jiného", + "report.reasons.other_description": "Problém neodpovídá ostatním kategoriím", + "report.reasons.spam": "Je to spam", + "report.reasons.spam_description": "Škodlivé odkazy, falešné interakce nebo opakované odpovědi", + "report.reasons.violation": "Porušuje pravidla serveru", + "report.reasons.violation_description": "Máte za to, že porušuje konkrétní pravidla", + "report.rules.subtitle": "Vyberte všechna relevantní", + "report.rules.title": "Která pravidla porušuje?", + "report.statuses.subtitle": "Vyberte všechny relevantní", + "report.statuses.title": "Existují příspěvky dokládající toto hlášení?", "report.submit": "Odeslat", "report.target": "Nahlášení uživatele {target}", "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", @@ -490,7 +490,7 @@ "suggestions.dismiss": "Odmítnout návrh", "suggestions.header": "Mohlo by vás zajímat…", "tabs_bar.federated_timeline": "Federovaná", - "tabs_bar.home": "Domů", + "tabs_bar.home": "Domovská", "tabs_bar.local_timeline": "Místní", "tabs_bar.notifications": "Oznámení", "tabs_bar.search": "Hledat", diff --git a/app/javascript/mastodon/locales/fa.json b/app/javascript/mastodon/locales/fa.json index d5276039d..73a65ed78 100644 --- a/app/javascript/mastodon/locales/fa.json +++ b/app/javascript/mastodon/locales/fa.json @@ -9,7 +9,7 @@ "account.browse_more_on_origin_server": "مرور بیش‌تر روی نمایهٔ اصلی", "account.cancel_follow_request": "لغو درخواست پی‌گیری", "account.direct": "پیام مستقیم به ‎@{name}", - "account.disable_notifications": "آگاهی به من هنگام فرستادن‌های ‎@{name} پایان یابد", + "account.disable_notifications": "آگاه کردن من هنگام فرسته‌های ‎@{name} را متوقّف کن", "account.domain_blocked": "دامنه مسدود شد", "account.edit_profile": "ویرایش نمایه", "account.enable_notifications": "هنگام فرسته‌های ‎@{name} مرا آگاه کن", @@ -444,7 +444,7 @@ "status.admin_status": "گشودن این فرسته در واسط مدیریت", "status.block": "مسدود کردن ‎@{name}", "status.bookmark": "نشانک", - "status.cancel_reblog_private": "لغو تقویت", + "status.cancel_reblog_private": "ناتقویت", "status.cannot_reblog": "این فرسته قابل تقویت نیست", "status.copy": "رونوشت پیوند فرسته", "status.delete": "حذف", diff --git a/app/javascript/mastodon/locales/fr.json b/app/javascript/mastodon/locales/fr.json index 65d3c6ea1..13d89502b 100644 --- a/app/javascript/mastodon/locales/fr.json +++ b/app/javascript/mastodon/locales/fr.json @@ -229,7 +229,7 @@ "keyboard_shortcuts.blocked": "Ouvrir la liste des comptes bloqués", "keyboard_shortcuts.boost": "Partager le message", "keyboard_shortcuts.column": "Se placer dans une colonne", - "keyboard_shortcuts.compose": "se placer dans la zone de rédaction", + "keyboard_shortcuts.compose": "Se placer dans la zone de rédaction", "keyboard_shortcuts.description": "Description", "keyboard_shortcuts.direct": "Ouvrir la colonne des messages directs", "keyboard_shortcuts.down": "Descendre dans la liste", @@ -246,7 +246,7 @@ "keyboard_shortcuts.muted": "Ouvrir la liste des comptes masqués", "keyboard_shortcuts.my_profile": "Ouvrir votre profil", "keyboard_shortcuts.notifications": "Ouvrir la colonne de notifications", - "keyboard_shortcuts.open_media": "ouvrir le média", + "keyboard_shortcuts.open_media": "Ouvrir le média", "keyboard_shortcuts.pinned": "Ouvrir la liste des messages épinglés", "keyboard_shortcuts.profile": "Ouvrir le profil de l’auteur·rice", "keyboard_shortcuts.reply": "Répondre au message", diff --git a/app/javascript/mastodon/locales/gd.json b/app/javascript/mastodon/locales/gd.json index aae73a23e..9ca41b2f6 100644 --- a/app/javascript/mastodon/locales/gd.json +++ b/app/javascript/mastodon/locales/gd.json @@ -18,7 +18,7 @@ "account.followers": "Luchd-leantainn", "account.followers.empty": "Chan eil neach sam bith a’ leantainn air a’ chleachdaiche seo fhathast.", "account.followers_counter": "{count, plural, one {{counter} neach-leantainn} two {{counter} neach-leantainn} few {{counter} luchd-leantainn} other {{counter} luchd-leantainn}}", - "account.following": "Following", + "account.following": "A’ leantainn", "account.following_counter": "{count, plural, one {A’ leantainn air {counter}} two {A’ leantainn air {counter}} few {A’ leantainn air {counter}} other {A’ leantainn air {counter}}}", "account.follows.empty": "Chan eil an cleachdaiche seo a’ leantainn air neach sam bith fhathast.", "account.follows_you": "’Gad leantainn", @@ -41,12 +41,12 @@ "account.statuses_counter": "{count, plural, one {{counter} phost} two {{counter} phost} few {{counter} postaichean} other {{counter} post}}", "account.unblock": "Dì-bhac @{name}", "account.unblock_domain": "Dì-bhac an àrainn {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Dì-bhac", "account.unendorse": "Na brosnaich air a’ phròifil", "account.unfollow": "Na lean tuilleadh", "account.unmute": "Dì-mhùch @{name}", "account.unmute_notifications": "Dì-mhùch na brathan o @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Dì-mhùch", "account_note.placeholder": "Briog airson nòta a chur ris", "admin.dashboard.daily_retention": "Reat glèidheadh nan cleachdaichean às dèidh an clàradh a-rèir latha", "admin.dashboard.monthly_retention": "Reat glèidheadh nan cleachdaichean às dèidh an clàradh a-rèir mìos", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Fidir", "navigation_bar.domain_blocks": "Àrainnean bacte", "navigation_bar.edit_profile": "Deasaich a’ phròifil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Rùraich", "navigation_bar.favourites": "Na h-annsachdan", "navigation_bar.filters": "Faclan mùchte", "navigation_bar.follow_requests": "Iarrtasan leantainn", diff --git a/app/javascript/mastodon/locales/pt-BR.json b/app/javascript/mastodon/locales/pt-BR.json index c597aa20d..2b9755c06 100644 --- a/app/javascript/mastodon/locales/pt-BR.json +++ b/app/javascript/mastodon/locales/pt-BR.json @@ -18,7 +18,7 @@ "account.followers": "Seguidores", "account.followers.empty": "Nada aqui.", "account.followers_counter": "{count, plural, one {{counter} seguidor} other {{counter} seguidores}}", - "account.following": "Following", + "account.following": "Seguindo", "account.following_counter": "{count, plural, one {segue {counter}} other {segue {counter}}}", "account.follows.empty": "Nada aqui.", "account.follows_you": "te segue", @@ -41,14 +41,14 @@ "account.statuses_counter": "{count, plural, one {{counter} Toot} other {{counter} Toots}}", "account.unblock": "Desbloquear @{name}", "account.unblock_domain": "Desbloquear domínio {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Desbloquear", "account.unendorse": "Remover", "account.unfollow": "Deixar de seguir", "account.unmute": "Dessilenciar @{name}", "account.unmute_notifications": "Mostrar notificações de @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Reativar", "account_note.placeholder": "Nota pessoal sobre este perfil aqui", - "admin.dashboard.daily_retention": "User retention rate by day after sign-up", + "admin.dashboard.daily_retention": "Taxa de retenção de usuários por dia, após a inscrição", "admin.dashboard.monthly_retention": "Taxa de retenção de usuários por mês, após a inscrição", "admin.dashboard.retention.average": "Média", "admin.dashboard.retention.cohort": "Mês de inscrição", @@ -168,7 +168,7 @@ "empty_column.community": "A linha local está vazia. Publique algo para começar!", "empty_column.direct": "Nada aqui. Quando você enviar ou receber toots diretos, eles aparecerão aqui.", "empty_column.domain_blocks": "Nada aqui.", - "empty_column.explore_statuses": "Nothing is trending right now. Check back later!", + "empty_column.explore_statuses": "Nada está em alta no momento. Volte mais tarde!", "empty_column.favourited_statuses": "Nada aqui. Quando você favoritar um toot, ele aparecerá aqui.", "empty_column.favourites": "Nada aqui. Quando alguém favoritar, o autor aparecerá aqui.", "empty_column.follow_recommendations": "Parece que não há sugestões para você. Tente usar a pesquisa para encontrar pessoas que você possa conhecer ou explorar hashtags.", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Descobrir", "navigation_bar.domain_blocks": "Domínios bloqueados", "navigation_bar.edit_profile": "Editar perfil", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Explorar", "navigation_bar.favourites": "Favoritos", "navigation_bar.filters": "Palavras filtradas", "navigation_bar.follow_requests": "Seguidores pendentes", @@ -390,42 +390,42 @@ "relative_time.today": "hoje", "reply_indicator.cancel": "Cancelar", "report.block": "Bloquear", - "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.block_explanation": "Você não verá suas postagens. Eles não poderão ver suas postagens ou segui-lo. Eles serão capazes de perceber que estão bloqueados.", "report.categories.other": "Outro", "report.categories.spam": "Spam", "report.categories.violation": "O conteúdo viola uma ou mais regras do servidor", - "report.category.subtitle": "Choose the best match", - "report.category.title": "Tell us what's going on with this {type}", + "report.category.subtitle": "Escolha a alternativa de melhor correspondência", + "report.category.title": "Conte-nos o que está acontecendo com esse {type}", "report.category.title_account": "perfil", "report.category.title_status": "publicação", "report.close": "Concluído", - "report.comment.title": "Is there anything else you think we should know?", + "report.comment.title": "Há algo mais que você acredita que devemos saber?", "report.forward": "Encaminhar para {target}", "report.forward_hint": "A conta está em outra instância. Enviar uma cópia anônima da denúncia para lá?", "report.mute": "Silenciar", - "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", + "report.mute_explanation": "Você não verá suas postagens. Eles ainda podem seguir você e ver suas postagens e não saberão que estão silenciados.", "report.next": "Próximo", "report.placeholder": "Comentários adicionais aqui", "report.reasons.dislike": "Eu não gosto disso", - "report.reasons.dislike_description": "It is not something you want to see", - "report.reasons.other": "It's something else", + "report.reasons.dislike_description": "Não é algo que você quer ver", + "report.reasons.other": "É outra coisa", "report.reasons.other_description": "O problema não se encaixa em outras categorias", "report.reasons.spam": "É spam", - "report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", - "report.reasons.violation": "It violates server rules", + "report.reasons.spam_description": "Links maliciosos, envolvimento falso ou respostas repetitivas", + "report.reasons.violation": "Viola as regras do servidor", "report.reasons.violation_description": "Você está ciente de que isso quebra regras específicas", "report.rules.subtitle": "Selecione tudo que se aplica", - "report.rules.title": "Which rules are being violated?", + "report.rules.title": "Que regras estão sendo violadas?", "report.statuses.subtitle": "Selecione tudo que se aplica", - "report.statuses.title": "Are there any posts that back up this report?", + "report.statuses.title": "Existem postagens que respaldam esse relatório?", "report.submit": "Enviar", "report.target": "Denunciando {target}", - "report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", + "report.thanks.take_action": "Aqui estão suas opções para controlar o que você vê no Mastodon:", "report.thanks.take_action_actionable": "Enquanto revisamos isso, você pode tomar medidas contra @{name}:", "report.thanks.title": "Não quer ver isto?", "report.thanks.title_actionable": "Obrigado por reportar. Vamos analisar.", - "report.unfollow": "Unfollow @{name}", - "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", + "report.unfollow": "Deixar de seguir @{name}", + "report.unfollow_explanation": "Você está seguindo esta conta. Para não mais ver os posts dele em sua página inicial, deixe de segui-lo.", "search.placeholder": "Pesquisar", "search_popout.search_format": "Formato de pesquisa avançada", "search_popout.tips.full_text": "Texto simples retorna toots que você escreveu, favoritou, deu boost, ou em que foi mencionado, assim como nomes de usuário e de exibição, e hashtags correspondentes.", diff --git a/app/javascript/mastodon/locales/sq.json b/app/javascript/mastodon/locales/sq.json index d1047f5da..ce3cdabd0 100644 --- a/app/javascript/mastodon/locales/sq.json +++ b/app/javascript/mastodon/locales/sq.json @@ -18,7 +18,7 @@ "account.followers": "Ndjekës", "account.followers.empty": "Këtë përdorues ende s’e ndjek kush.", "account.followers_counter": "{count, plural, one {{counter} Ndjekës} other {{counter} Ndjekës}}", - "account.following": "Following", + "account.following": "Ndjekje", "account.following_counter": "{count, plural, one {{counter} i Ndjekur} other {{counter} të Ndjekur}}", "account.follows.empty": "Ky përdorues ende s’ndjek kënd.", "account.follows_you": "Ju ndjek", @@ -41,12 +41,12 @@ "account.statuses_counter": "{count, plural, one {{counter} Mesazh} other {{counter} Mesazhe}}", "account.unblock": "Zhbllokoje @{name}", "account.unblock_domain": "Zhblloko përkatësinë {domain}", - "account.unblock_short": "Unblock", + "account.unblock_short": "Zhbllokoje", "account.unendorse": "Mos e përfshi në profil", "account.unfollow": "Resht së ndjekuri", "account.unmute": "Ktheji zërin @{name}", "account.unmute_notifications": "Hiqua ndalimin e shfaqjes njoftimeve nga @{name}", - "account.unmute_short": "Unmute", + "account.unmute_short": "Çheshtoje", "account_note.placeholder": "Klikoni për të shtuar shënim", "admin.dashboard.daily_retention": "Shkallë mbajtjeje përdoruesi, në ditë, pas regjistrimit", "admin.dashboard.monthly_retention": "Shkallë mbajtjeje përdoruesi, në muaj, pas regjistrimit", @@ -294,7 +294,7 @@ "navigation_bar.discover": "Zbuloni", "navigation_bar.domain_blocks": "Përkatësi të bllokuara", "navigation_bar.edit_profile": "Përpunoni profilin", - "navigation_bar.explore": "Explore", + "navigation_bar.explore": "Eksploroni", "navigation_bar.favourites": "Të parapëlqyer", "navigation_bar.filters": "Fjalë të heshtuara", "navigation_bar.follow_requests": "Kërkesa për ndjekje", diff --git a/app/javascript/mastodon/locales/th.json b/app/javascript/mastodon/locales/th.json index f7eddd11b..f8477e8fd 100644 --- a/app/javascript/mastodon/locales/th.json +++ b/app/javascript/mastodon/locales/th.json @@ -128,7 +128,7 @@ "confirmations.logout.confirm": "ออกจากระบบ", "confirmations.logout.message": "คุณแน่ใจหรือไม่ว่าต้องการออกจากระบบ?", "confirmations.mute.confirm": "ซ่อน", - "confirmations.mute.explanation": "นี่จะซ่อนโพสต์จากเขาและโพสต์ที่กล่าวถึงเขา แต่จะยังอนุญาตให้เขาเห็นโพสต์ของคุณและติดตามคุณ", + "confirmations.mute.explanation": "นี่จะซ่อนโพสต์จากเขาและโพสต์ที่กล่าวถึงเขา แต่จะยังคงอนุญาตให้เขาเห็นโพสต์ของคุณและติดตามคุณ", "confirmations.mute.message": "คุณแน่ใจหรือไม่ว่าต้องการซ่อน {name}?", "confirmations.redraft.confirm": "ลบแล้วร่างใหม่", "confirmations.redraft.message": "คุณแน่ใจหรือไม่ว่าต้องการลบโพสต์นี้แล้วร่างโพสต์ใหม่? รายการโปรดและการดันจะหายไป และการตอบกลับโพสต์ดั้งเดิมจะไม่มีความเกี่ยวพัน", @@ -403,7 +403,7 @@ "report.forward": "ส่งต่อไปยัง {target}", "report.forward_hint": "บัญชีมาจากเซิร์ฟเวอร์อื่น ส่งสำเนาของรายงานที่ไม่ระบุตัวตนไปที่นั่นด้วย?", "report.mute": "ซ่อน", - "report.mute_explanation": "คุณจะไม่เห็นโพสต์ของเขา เขายังสามารถติดตามคุณและเห็นโพสต์ของคุณและจะไม่ทราบว่ามีการซ่อนเขา", + "report.mute_explanation": "คุณจะไม่เห็นโพสต์ของเขา เขายังคงสามารถติดตามคุณและเห็นโพสต์ของคุณและจะไม่ทราบว่ามีการซ่อนเขา", "report.next": "ถัดไป", "report.placeholder": "ความคิดเห็นเพิ่มเติม", "report.reasons.dislike": "ฉันไม่ชอบโพสต์", diff --git a/app/javascript/mastodon/locales/uk.json b/app/javascript/mastodon/locales/uk.json index 876f8aa8a..e2e1386e6 100644 --- a/app/javascript/mastodon/locales/uk.json +++ b/app/javascript/mastodon/locales/uk.json @@ -18,7 +18,7 @@ "account.followers": "Підписники", "account.followers.empty": "Ніхто ще не підписався на цього користувача.", "account.followers_counter": "{count, plural, one {{counter} Підписник} few {{counter} Підписники} many {{counter} Підписників} other {{counter} Підписники}}", - "account.following": "Following", + "account.following": "Стежите", "account.following_counter": "{count, plural, one {{counter} Підписка} few {{counter} Підписки} many {{counter} Підписок} other {{counter} Підписки}}", "account.follows.empty": "Цей користувач ще ні на кого не підписався.", "account.follows_you": "Підписаний(-а) на вас", @@ -402,7 +402,7 @@ "report.comment.title": "Is there anything else you think we should know?", "report.forward": "Надіслати до {target}", "report.forward_hint": "Це акаунт з іншого серверу. Відправити анонімізовану копію скарги і туди?", - "report.mute": "Mute", + "report.mute": "Заглушити", "report.mute_explanation": "You will not see their posts. They can still follow you and see your posts and will not know that they are muted.", "report.next": "Далі", "report.placeholder": "Додаткові коментарі", @@ -415,8 +415,8 @@ "report.reasons.violation": "It violates server rules", "report.reasons.violation_description": "You are aware that it breaks specific rules", "report.rules.subtitle": "Select all that apply", - "report.rules.title": "Which rules are being violated?", - "report.statuses.subtitle": "Select all that apply", + "report.rules.title": "Які правила порушено?", + "report.statuses.subtitle": "Виберіть усі варіанти, що підходять", "report.statuses.title": "Are there any posts that back up this report?", "report.submit": "Відправити", "report.target": "Скаржимося на {target}", @@ -424,7 +424,7 @@ "report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.title": "Don't want to see this?", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", - "report.unfollow": "Unfollow @{name}", + "report.unfollow": "Відписатися від @{name}", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "search.placeholder": "Пошук", "search_popout.search_format": "Розширений формат пошуку", diff --git a/config/locales/activerecord.ku.yml b/config/locales/activerecord.ku.yml index 3a3a1d843..340b7a777 100644 --- a/config/locales/activerecord.ku.yml +++ b/config/locales/activerecord.ku.yml @@ -9,7 +9,7 @@ ku: agreement: Peymana karûbarê email: Navnîşana E-nameyê locale: Herêmî - password: Pêborîn + password: Borînpeyv user/account: username: Navê bikarhêneriyê user/invite_request: diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 4ccadab8b..ba66c5749 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -474,9 +474,6 @@ ar: delivery_error_days: أيام أخطاء التوصيل delivery_error_hint: إذا كان التوصيل غير ممكناً لـ%{count} يوم، فستوضع عليها علامة {غير قابلة للتسليم} تلقائياً. empty: لم يتم العثور على نطاقات. - known_accounts: - one: "%{count} حساب معروف" - other: "%{count} حسابات معروفة" moderation: all: كافتها limited: محدود diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 6c5fc95fe..d7a8a4858 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -168,7 +168,6 @@ ca: previous_strikes_description_html: one: Aquest compte té una acció. other: Aquest compte té %{count} accions. - zero: Aquest compte està al dia. promote: Promociona protocol: Protocol public: Públic @@ -530,7 +529,6 @@ ca: known_accounts: one: "%{count} compte conegut" other: "%{count} comptes coneguts" - zero: Cap compte conegut moderation: all: Totes limited: Limitades @@ -775,6 +773,11 @@ ca: system_checks: database_schema_check: message_html: Hi ha pendents migracions de la base de dades. Si us plau executa-les per a assegurar que l'aplicació es comporta com s'espera + elasticsearch_running_check: + message_html: No s'ha pogut connectar a Elasticsearch. Si us plau verifica que estigui funcionant o desactiva la cerca de text complet + elasticsearch_version_check: + message_html: 'Versió incompatible de Elasticsearch: %{value}' + version_comparison: Elasticsearch %{running_version} està funcionant mentre %{required_version} és requerida rules_check: action: Gestiona les normes del servidor message_html: No has definit cap norma del servidor. @@ -795,9 +798,8 @@ ca: disallow: No permetre l'enllaç disallow_provider: No permetre el mitjà shared_by_over_week: - one: Compartit per un usuari en la darrera setmana - other: Compartit per %{count} usuaris en la darrera setmana - zero: Compartit per ningú en la darrera setmana + one: Compartit per una persona en la darrera setmana + other: Compartit per %{count} persones en la darrera setmana title: Enllaços en tendència usage_comparison: Compartit %{today} vegades avui, comparat amb %{yesterday} d'ahir pending_review: Revisió pendent @@ -838,9 +840,8 @@ ca: usable: Pot ser emprat usage_comparison: Usat %{today} vegades avui, comparat amb %{yesterday} d'ahir used_by_over_week: - one: Emprat per un usuari en la darrera setmana - other: Emprat per %{count} usuaris en la darrera setmana - zero: Emprat per ningú en la darrera setmana + one: Emprat per una persona en la darrera setmana + other: Emprat per %{count} persones en la darrera setmana title: Tendència warning_presets: add_new: Afegir-ne un de nou diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 8eda24b4f..107aa9a0b 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -168,6 +168,11 @@ cs: not_subscribed: Neodebírá pending: Čeká na posouzení perform_full_suspension: Pozastavit + previous_strikes_description_html: + few: Tento účet má %{count} strajky. + many: Tento účet má %{count} strajků. + one: Tento účet má jeden strajk. + other: Tento účet má %{count} strajků. promote: Povýšit protocol: Protokol public: Veřejný @@ -366,6 +371,7 @@ cs: enable: Povolit enabled: Povoleno enabled_msg: Emoji bylo úspěšně povoleno + image_hint: PNG nebo GIF do %{size} list: Uvést listed: Uvedeno new: @@ -446,6 +452,8 @@ cs: title: Doporučená sledování unsuppress: Obnovit doporučení sledování instances: + availability: + warning: Poslední pokus o připojení k tomuto serveru byl neúspěšný back_to_all: Vše back_to_limited: Omezený back_to_warning: Varování @@ -527,12 +535,15 @@ cs: one: "%{count} poznámka" other: "%{count} poznámek" action_taken_by: Akci vykonal uživatel - are_you_sure: Opravu? + are_you_sure: Jste si jisti? assign_to_self: Přidělit ke mně assigned: Přiřazený moderátor by_target_domain: Doména nahlášeného účtu + category: Kategorie + category_description_html: Důvod nahlášení tohoto účtu a/nebo obsahu bude uveden v komunikaci s nahlášeným účtem comment: none: Žádné + comment_description_html: 'Pro upřesnění uživatel %{name} napsal:' created_at: Nahlášené forwarded: Přeposláno forwarded_to: Přeposláno na %{domain} @@ -544,13 +555,19 @@ cs: create_and_unresolve: Znovu otevřít s poznámkou delete: Smazat placeholder: Popište, jaké akce byly vykonány, nebo jakékoliv jiné související aktuality… + title: Poznámky + notes_description_html: Zobrazit a zanechat poznámky pro ostatní moderátory i sebe v budoucnu + remote_user_placeholder: vzdálený uživatel z %{instance} reopen: Znovu otevřít hlášení report: 'Nahlásit #%{id}' reported_account: Nahlášený účet reported_by: Nahlášeno uživatelem resolved: Vyřešeno resolved_msg: Hlášení úspěšně vyřešeno! + skip_to_actions: Přeskočit k akcím status: Stav + statuses: Nahlášený obsah + statuses_description_html: Obsah porušující pravidla bude uveden v komunikaci s nahlášeným účtem target_origin: Původ nahlášeného účtu title: Hlášení unassign: Odebrat @@ -666,6 +683,11 @@ cs: system_checks: database_schema_check: message_html: Na spuštění čekají databázové migrace. Nechte je prosím proběhnout pro zajištění očekávaného chování aplikace + elasticsearch_running_check: + message_html: Nelze se připojit k Elasticsearch. Prosím zkontrolujte, že běží, nebo vypněte fulltextové vyhledávání + elasticsearch_version_check: + message_html: 'Nekompatibilní verze Elasticsearch: %{value}' + version_comparison: Je spuštěn Elasticsearch %{running_version} místo vyžadovaného %{required_version} rules_check: action: Spravovat pravidla serveru message_html: Nedefinovali jste žádná pravidla serveru. @@ -1041,6 +1063,9 @@ cs: carry_mutes_over_text: Tento účet se přesunul z %{acct}, který jste skryli. copy_account_note_text: 'Tento účet se přesunul z %{acct}, zde byly Vaše předchozí poznámky o něm:' notification_mailer: + admin: + sign_up: + subject: Uživatel %{name} se zaregistroval digest: action: Zobrazit všechna oznámení body: Zde najdete stručný souhrn zpráv, které jste zmeškali od vaší poslední návštěvy %{since} @@ -1082,6 +1107,8 @@ cs: title: Nový boost status: subject: Nový příspěvek od %{name} + update: + subject: Uživatel %{name} upravil příspěvek notifications: email_events: Události pro e-mailová oznámení email_events_hint: 'Vyberte události, pro které chcete dostávat oznámení:' @@ -1163,6 +1190,9 @@ cs: reply: proceed: Pokračovat k odpovědi prompt: 'Chcete odpovědět na tento příspěvek:' + reports: + errors: + invalid_rules: neodkazuje na platná pravidla scheduled_statuses: over_daily_limit: Překročili jste limit %{limit} příspěvků naplánovaných na tento den over_total_limit: Překročili jste limit %{limit} naplánovaných příspěvků @@ -1251,6 +1281,7 @@ cs: other: "%{count} videí" boosted_from_html: Boostnuto z %{acct_link} content_warning: 'Varování o obsahu: %{warning}' + default_language: Stejný jako jazyk rozhraní disallowed_hashtags: few: 'obsahoval nepovolené hashtagy: %{tags}' many: 'obsahoval nepovolené hashtagy: %{tags}' @@ -1450,6 +1481,8 @@ cs: subject: Potvrďte prosím pokus o přihlášení title: Pokus o přihlášení warning: + explanation: + delete_statuses: Bylo shledáno, že některé vaše příspěvky porušují jednu nebo více zásad komunity a následně byly odstraněny moderátory %{instance}. subject: disable: Váš účet %{acct} byl zmrazen none: Varování pro %{acct} diff --git a/config/locales/da.yml b/config/locales/da.yml index b264dffae..d3182ad7f 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -166,9 +166,8 @@ da: perform_full_suspension: Suspendér previous_strikes: Tidligere anmeldelser (strikes) previous_strikes_description_html: - one: Denne konto har et anmeldelse. + one: Denne konto har en anmeldelse. other: Denne konto har %{count} anmeldelser. - zero: Denne konto er på god fod. promote: Forfrem protocol: Protokol public: Offentlig @@ -530,7 +529,6 @@ da: known_accounts: one: "%{count} kendt konto" other: "%{count} kendte konti" - zero: Ingen kendt konto moderation: all: Alle limited: Begrænset @@ -775,6 +773,11 @@ da: system_checks: database_schema_check: message_html: Databasemigreringer afventer. Kør dem for at sikre den forventede adfærd fra applikationen + elasticsearch_running_check: + message_html: Kunne ikke oprette forbindelse til Elasticsearch. Tjek, at den kører, eller deaktivér fuldtekstsøgning + elasticsearch_version_check: + message_html: 'Inkompatibel Elasticsearch-version: %{value}' + version_comparison: Elasticsearch %{running_version} kører, men %{required_version} kræves rules_check: action: Håndtér serverregler message_html: Ingen serverregler defineret. @@ -795,9 +798,8 @@ da: disallow: Tillad ikke link disallow_provider: Tillad ikke udgiver shared_by_over_week: - one: Delt af én person i løbet af den seneste uge - other: Delt af %{count} personer i løbet af den seneste uge - zero: Ikke delt af nogen i løbet af den seneste uge + one: Delt af én person den seneste uge + other: Delt af %{count} personer den seneste uge title: Populære links usage_comparison: Delt %{today} gange i dag, sammenlignet med %{yesterday} i går pending_review: Afventer revision @@ -838,9 +840,8 @@ da: usable: Kan anvendes usage_comparison: Anvendt %{today} gange i dag, sammenlignet med %{yesterday} i går used_by_over_week: - one: Anvendt af én person i løbet af den seneste uge - other: Anvendt af %{count} personer i løbet af den seneste uge - zero: Ikke anvendt af nogen i løbet af den seneste uge + one: Brugt af én person den seneste uge + other: Brugt af %{count} personer den seneste uge title: Trends warning_presets: add_new: Tilføj ny diff --git a/config/locales/de.yml b/config/locales/de.yml index d595fdd42..78ba2c440 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -165,10 +165,6 @@ de: pending: In Warteschlange perform_full_suspension: Verbannen previous_strikes: Vorherige Strikes - previous_strikes_description_html: - one: Dieses Konto hat einen Strike. - other: Dieses Konto hat %{count} Strikes. - zero: Dieses Konto ist in gutem Stand. promote: Befördern protocol: Protokoll public: Öffentlich @@ -527,10 +523,6 @@ de: delivery_error_hint: Wenn eine Lieferung für %{count} Tage nicht möglich ist, wird sie automatisch als nicht lieferbar markiert. destroyed_msg: Daten von %{domain} sind nun in der Warteschlange für die bevorstehende Löschung. empty: Keine Domains gefunden. - known_accounts: - one: "%{count} bekanntes Konto" - other: "%{count} bekannte Konten" - zero: Kein bekanntes Konto moderation: all: Alle limited: Beschränkt @@ -794,10 +786,6 @@ de: description_html: Dies sind Links, die derzeit von Konten geteilt werden, von denen dein Server Beiträge sieht. Es kann deinen Benutzern helfen, herauszufinden, was in der Welt vor sich geht. Es werden keine Links öffentlich angezeigt, bis du den Publisher genehmigst. Du kannst auch einzelne Links zulassen oder ablehnen. disallow: Verbiete Link disallow_provider: Verbiete Herausgeber - shared_by_over_week: - one: In der letzten Woche geteilt von einer Person - other: In der letzten Woche geteilt von %{count} Personen - zero: Geteilt von niemandem in der letzten Woche title: Angesagte Links usage_comparison: Heute %{today} mal geteilt, gestern %{yesterday} mal pending_review: Überprüfung ausstehend @@ -837,10 +825,6 @@ de: trending_rank: 'Trend #%{rank}' usable: Kann verwendet werden usage_comparison: Heute %{today} mal genutzt, gestern %{yesterday} mal - used_by_over_week: - one: In der letzten Woche genutzt von einer Person - other: In der letzten Woche genutzt von %{count} Personen - zero: Genutzt von niemandem in der letzten Woche title: Trends warning_presets: add_new: Neu hinzufügen diff --git a/config/locales/devise.ku.yml b/config/locales/devise.ku.yml index 9ae76dab2..18187a156 100644 --- a/config/locales/devise.ku.yml +++ b/config/locales/devise.ku.yml @@ -8,10 +8,10 @@ ku: failure: already_authenticated: Jixwe te berê têketin kiriye. inactive: Ajimêra te hîn nehatiye çalakkirin. - invalid: Nederbasdar %{authentication_keys} an jî şîfre. + invalid: "%{authentication_keys} an jî borînpeyv nederbasdar e." last_attempt: Peşiya kilît kirina ajimêra te carek din jî biceribîne. locked: Ajimêra ye hat kilît kirin. - not_found_in_database: Nederbasdar %{authentication_keys} an jî şîfre. + not_found_in_database: "%{authentication_keys} an jî borînpeyv nederbasdar e." pending: Ajimêra te hîn tê vekolandin. timeout: Danişîna te qedîya. Ji kerema xwe ji bo berdewamiyê dîsa têkeve. unauthenticated: Peşiya berdewamiya te têketina xwe bike an jî xwe tomar bike. @@ -33,10 +33,10 @@ ku: subject: 'Mastodon: E-name hate guhertin' title: Navnîşana e-nameya nû password_change: - explanation: Pêborîna ajimêra te hate guhertin. + explanation: Borînpeyva ajimêra te hate guhertin. extra: Heke te ajimêra xwe ne guhertiye. Ew tê wateya ku kesek ketiye ajimêrê te. Jkx pêborîna xwe zû biguherîne an jî bi rêveberiya rajekar re têkeve têkiliyê heke tu êdî nikare ajimêra xwe bi kar bînî. subject: 'Mastodon: pêborîn hate guhertin' - title: Pêborîn hate guhertin + title: Borînpeyv hate guhertin reconfirmation_instructions: explanation: Navnîşana nû piştrast bike da ku tu e-nameya xwe biguherînî. extra: |- @@ -45,13 +45,13 @@ ku: subject: 'Mastodon: E-nameyê piştrast bike bo %{instance}' title: Navnîşana e-nameyê piştrast bike reset_password_instructions: - action: Pêborînê biguherîne + action: Borînpeyvê biguherîne explanation: Te ji bo ajimêra xwe daxwaza pêborîneke nû kiriye. - extra: Heke te ev daxwaz nekir, jkx guh nede vê e-nameyê. Pêborîna te wê neyê guhertin heya ku tu li girêdana Jêrin bitikînî û yeka nû çê bikî. + extra: Heke te ev daxwaz nekir, jkx guh nede vê e-nameyê. Borînpeyva te wê neyê guhertin heya ku tu li girêdana Jêrin bitikînî û yeka nû çê bikî. subject: 'Mastodon: rêwerzên jê birina pêborîn' - title: Pêborîn ji nû ve saz bike + title: Borînpeyv ji nû ve saz bike two_factor_disabled: - explanation: Ji bo ajimêrê te piştrastkirina du-faktorî hat asteng kirin. Niha tu tenê bi navnîşana e-name û şîfre ya xwe dikarî têketin bikî. + explanation: Ji bo ajimêrê te piştrastkirina du-faktorî hat asteng kirin. Niha tu tenê bi navnîşana e-name û borînpeyva xwe dikarî têketinê bikî. subject: 'Mastodon: piştrastkirina du- faktorî neçalak bike' title: 2FA Neçalak e two_factor_enabled: @@ -85,11 +85,11 @@ ku: failure: Nikare ji %{kind} rastandinê bikê ji bo " %{reason}". success: Ji ajimêra %{kind} bi serkeftî hate rastandin. passwords: - no_token: Tu nikarî xwe bigihînî vê rûpelê bêyî ku tu ji e-nameya ji nû ve sazkirina pêborînê wernegerî. Heke tu ji e-nameya ji nû ve sazkirina pêborînê tê, ji kerema xwe pê ewle be ku tu girêdanê ya tevahî bi kar tînî. - send_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. - send_paranoid_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina pêborînê bistînî di hundir çend xulkan de. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. - updated: Pêborîna te bi serkeftî hate guhertin. Niha tu têketî ye. - updated_not_active: Pêborîna te bi serkeftî hate guhertin. + no_token: Tu nikarî xwe bigihînî vê rûpelê bêyî ku tu ji e-nameya ji nû ve sazkirina borînpeyvê wernegerî. Heke tu ji e-nameya ji nû ve sazkirina borînpeyvê tê, ji kerema xwe pê ewle be ku tu girêdanê ya tevahî bi kar tînî. + send_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina borînpeyvê bistînî. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. + send_paranoid_instructions: Heke navnîşana te ya e-nameyê di danegeha me da hebê, tu yê di navnîşana xwe ya e-nameyê da girêdana rizgarkirina borînpeyvê bistînî di hundir çend xulkan de. Heke te ev e-name wernegirtibe, ji kerema xwe peldanka xwe ya spamê kontrol bike. + updated: Borînpeyva te bi serkeftî hate guhertin. Niha tu têketî ye. + updated_not_active: Borînpeyva te bi serkeftî hate guhertin. registrations: destroyed: Xatirê te! Ajimêra te bi serkeftî hate pûçkirin. Em hêvî dikin ku tu di nêzîk de te dîsa bibînin. signed_up: Bi xêr hatî! Te bi serkeftî tomarkirin kir. diff --git a/config/locales/devise.th.yml b/config/locales/devise.th.yml index 14f99f2c3..287ea49c5 100644 --- a/config/locales/devise.th.yml +++ b/config/locales/devise.th.yml @@ -12,7 +12,7 @@ th: last_attempt: คุณลองได้อีกหนึ่งครั้งก่อนที่บัญชีของคุณจะถูกล็อค locked: บัญชีของคุณถูกล็อค not_found_in_database: "%{authentication_keys} หรือรหัสผ่านไม่ถูกต้อง" - pending: บัญชีของคุณยังอยู่ระหว่างการตรวจทาน + pending: บัญชีของคุณยังคงอยู่ระหว่างการตรวจทาน timeout: เซสชันของคุณหมดอายุแล้ว โปรดลงชื่อเข้าอีกครั้งเพื่อดำเนินการต่อ unauthenticated: คุณจำเป็นต้องลงชื่อเข้าหรือลงทะเบียนก่อนดำเนินการต่อ unconfirmed: คุณต้องยืนยันที่อยู่อีเมลของคุณก่อนดำเนินการต่อ diff --git a/config/locales/doorkeeper.fa.yml b/config/locales/doorkeeper.fa.yml index cc479fbc1..9f455e64b 100644 --- a/config/locales/doorkeeper.fa.yml +++ b/config/locales/doorkeeper.fa.yml @@ -29,7 +29,7 @@ fa: edit: title: ویرایش برنامه form: - error: اوخ! ببینید چیزی را اشتباهی در فرم وارد نکرده‌اید؟ + error: اوخ! ببینید چیزی را اشتباهی در فرم وارد نکرده‌اید help: native_redirect_uri: برای آزمایش‌های محلی %{native_redirect_uri} را به کار ببرید redirect_uri: هر URI را در یک سطر جدا بنویسید @@ -60,6 +60,7 @@ fa: error: title: خطایی رخ داد new: + review_permissions: بازبینی اجازه‌ها title: نیاز به اجازه دادن show: title: این کد مجوز را کپی کرده و در برنامه وارد کنید. @@ -69,6 +70,7 @@ fa: confirmations: revoke: آیا مطمئن هستید؟ index: + scopes: اجازه‌ها title: برنامه‌های مجاز errors: messages: @@ -104,6 +106,29 @@ fa: authorized_applications: destroy: notice: برنامه فسخ شد. + grouped_scopes: + access: + read: فقط دسترسی خواندن + read/write: دسترسی خواندن و نوشتن + write: فقط دسترسی نوشتن + title: + accounts: حساب‌ها + all: همه چیز + blocks: مسدودها + bookmarks: نشانک‌ها + conversations: گفت‌وگوها + crypto: رمزگذاری سرتاسری + favourites: پسندیده‌ها + filters: پالایه‌ها + follows: پی‌گرفتگان + lists: سیاهه‌ها + media: پیوست‌های رسانه‌ای + mutes: خموش‌ها + notifications: آگاهی‌ها + push: آگاهی‌های ارسالی + reports: گزارش‌ها + search: جست‌وجو + statuses: فرسته‌ها layouts: admin: nav: @@ -118,11 +143,12 @@ fa: admin:write: تغییر تمام داده‌ها روی کارساز admin:write:accounts: انجام کنش مدیریتی روی حساب‌ها admin:write:reports: انجام کنش مدیریتی روی گزارش‌ها + crypto: از رمزگذاری سرتاسر استفاده کنید follow: پیگیری، مسدودسازی، لغو مسدودسازی، و لغو پیگیری حساب‌ها push: دریافت آگاهی‌ای ارسالیتان read: خواندن اطلاعات حساب شما read:accounts: دیدن اطّلاعات حساب - read:blocks: دیدن انسدادهایتان + read:blocks: دیدن مسدودهایتان read:bookmarks: دیدن نشانک‌هایتان read:favourites: دیدن برگزیده‌هایتان read:filters: دیدن پالایه‌هایتان @@ -137,6 +163,7 @@ fa: write:accounts: تغییر نمایه‌تان write:blocks: انسداد حساب‌ها و دامنه‌ها write:bookmarks: نشانک‌گذاری وضعیت‌ها + write:conversations: مکالمات را بی‌صدا و حذف کنید write:favourites: برگزیدن وضعیت‌ها write:filters: ایحاد پالایش‌ها write:follows: پی‌گیری افراد diff --git a/config/locales/doorkeeper.gd.yml b/config/locales/doorkeeper.gd.yml index 217dca738..c5a830fc7 100644 --- a/config/locales/doorkeeper.gd.yml +++ b/config/locales/doorkeeper.gd.yml @@ -60,6 +60,8 @@ gd: error: title: Thachair mearachd new: + prompt_html: Bu mhiann le %{client_name} cead gus an cunntas agad inntrigeadh. Seo aplacaid threas-phàrtaidh. Mur eil earbsa agad ann, na ùghdarraich e. + review_permissions: Thoir sùil air na ceadan title: Tha feum air ùghdarrachadh show: title: Dèan lethbhreac dhen chòd ùghdarrachaidh seo ’s cuir san aplacaid e. @@ -69,6 +71,12 @@ gd: confirmations: revoke: A bheil thu cinnteach? index: + authorized_at: Air ùghdarrachadh %{date} + description_html: Seo na h-aplacaidean as urrainn dhaibh an cunntas agad inntrigeadh leis an API. Ma tha aplacaid an-seo nach aithne dhut no ma tha droch-ghiùlan air aplacaid, ’s urrainn dhut an t-inntrigeadh aice a chùl-ghairm. + last_used_at: Air a chleachdadh %{date} an turas mu dheireadh + never_used: Cha deach a chleachdadh a-riamh + scopes: Ceadan + superapp: Inntearnail title: Na h-aplacaidean ùghdarraichte agad errors: messages: @@ -104,6 +112,33 @@ gd: authorized_applications: destroy: notice: Chaidh an t-iarrtas a chùl-ghairm. + grouped_scopes: + access: + read: Inntrigeadh leughaidh a-mhàin + read/write: Inntrigeadh leughaidh is sgrìobhaidh + write: Inntrigeadh sgrìobhaidh a-mhàin + title: + accounts: Cunntasan + admin/accounts: Rianachd nan cunntas + admin/all: Gach gleus na rianachd + admin/reports: Rianachd nan gearan + all: A h-uile rud + blocks: Bacaidhean + bookmarks: Comharran-lìn + conversations: Còmhraidhean + crypto: Crioptachadh o cheann gu ceann + favourites: Annsachdan + filters: Criathragan + follow: Dàimhean + follows: Leantainn + lists: Liostaichean + media: Ceanglachain mheadhanan + mutes: Mùchaidhean + notifications: Brathan + push: Brathan putaidh + reports: Gearanan + search: Lorg + statuses: Postaichean layouts: admin: nav: @@ -118,6 +153,7 @@ gd: admin:write: dàta sam bith atharrachadh air an fhrithealaiche admin:write:accounts: gnìomhan na maorsainneachd a ghabhail air cunntasan admin:write:reports: gnìomhan na maorsainneachd a ghabhail air gearanan + crypto: crioptachadh o cheann gu ceann a chleachdadh follow: dàimhean chunntasan atharrachadh push: na brathan putaidh agad fhaighinn read: dàta sam bith a’ cunntais agad a leughadh @@ -137,6 +173,7 @@ gd: write:accounts: a’ phròifil agad atharrachadh write:blocks: cunntasan is àrainnean a bhacadh write:bookmarks: comharran-lìn a dhèanamh de phostaichean + write:conversations: còmhraidhean a mhùchadh is a sguabadh às write:favourites: postaichean a chur ris na h-annsachdan write:filters: criathragan a chruthachadh write:follows: leantainn air daoine diff --git a/config/locales/doorkeeper.ku.yml b/config/locales/doorkeeper.ku.yml index 6db8bb73d..f92a228d1 100644 --- a/config/locales/doorkeeper.ku.yml +++ b/config/locales/doorkeeper.ku.yml @@ -31,7 +31,7 @@ ku: form: error: Wey li min! kontrol bikeku form çewtî tê de tune help: - native_redirect_uri: Bo testên herêmî %{native_redirect_uri} bikar bîne + native_redirect_uri: Bo testên herêmî %{native_redirect_uri} bi kar bîne redirect_uri: Serê URl de rêzek bikarbînin scopes: Berfirehî bi valahîyan re veqetîne. Bo bikaranîna berfirehî ya standard vala bihêle. index: @@ -81,7 +81,7 @@ ku: errors: messages: access_denied: Xwedîyê çavkanîyê an jî destûrmendê rajeker daxwazî red kirin. - credential_flow_not_configured: Herikîna pêborînê bawername ya xwediyê çavkaniyê, ji ber Doorkeeper.configure.resource_owner_from_credentials nehat pevsazkirin. + credential_flow_not_configured: Herikîna borînpeyvê bawername ya xwediyê çavkaniyê, ji ber Doorkeeper.configure.resource_owner_from_credentials nehat pevsazkirin. invalid_client: Erêkirina nasnameyê rajegir ji ber rajegirê nediyar têk çû, erêkirina nasnameyê rajegir di nav da tinne an jî rêbaza erêkirinê ne piştgirêdayî ye. invalid_grant: Mafê ku hatiye peyda kirin ne derbasdar e, qediya ye, pûç e, girêdana ya ku di daxwaza mafê de tê bikaranîn li hev nagire an jî rajegirekî din hildaye. invalid_redirect_uri: Girêdan beralîkirî ya di nav da ne derbasdar e. diff --git a/config/locales/doorkeeper.pt-BR.yml b/config/locales/doorkeeper.pt-BR.yml index 7c77af88b..93cd0c55a 100644 --- a/config/locales/doorkeeper.pt-BR.yml +++ b/config/locales/doorkeeper.pt-BR.yml @@ -113,6 +113,7 @@ pt-BR: accounts: Contas all: Tudo blocks: Blocos + bookmarks: Salvos conversations: Conversas crypto: Criptografia de ponta a ponta favourites: Favoritos diff --git a/config/locales/doorkeeper.uk.yml b/config/locales/doorkeeper.uk.yml index 7d522497d..e9000cf46 100644 --- a/config/locales/doorkeeper.uk.yml +++ b/config/locales/doorkeeper.uk.yml @@ -60,6 +60,7 @@ uk: error: title: Сталася помилка new: + review_permissions: Переглянути дозволи title: Необхідна авторизація show: title: Скопіюйте цей код авторизації та вставте його у додаток. @@ -69,8 +70,11 @@ uk: confirmations: revoke: Ви впевнені? index: + authorized_at: Авторизовано %{date} + last_used_at: Востаннє використано %{date} never_used: Ніколи не використовувалися scopes: Дозволи + superapp: Внутрішній title: Ваші авторизовані додатки errors: messages: @@ -107,17 +111,27 @@ uk: 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: Скарги @@ -157,6 +171,7 @@ uk: write:accounts: змінювати ваш профіль write:blocks: блокувати облікові записи і домени write:bookmarks: додавати пости в закладки + write:conversations: заглушити і видалити розмови write:favourites: вподобані статуси write:filters: створювати фільтри write:follows: підписуйтесь на людей diff --git a/config/locales/es-AR.yml b/config/locales/es-AR.yml index 2acc958a7..36b46eb47 100644 --- a/config/locales/es-AR.yml +++ b/config/locales/es-AR.yml @@ -168,7 +168,6 @@ es-AR: previous_strikes_description_html: one: Esta cuenta tiene un incumplimiento. other: Esta cuenta tiene %{count} incumplimientos. - zero: Esta cuenta está en buen estado. promote: Promover protocol: Protocolo public: Pública @@ -530,7 +529,6 @@ es-AR: known_accounts: one: "%{count} cuenta conocida" other: "%{count} cuentas conocidas" - zero: Ninguna cuenta conocida moderation: all: Todas limited: Limitadas @@ -775,6 +773,11 @@ es-AR: system_checks: database_schema_check: message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecutalas para asegurarte de que la aplicación funciona según lo esperado + elasticsearch_running_check: + message_html: No se pudo conectar a Elasticsearch. Por favor, revisá que se esté ejecutando, o deshabilitá la búsqueda de texto completo + elasticsearch_version_check: + message_html: 'Versión incompatible de Elasticsearch: %{value}' + version_comparison: Se está ejecutando la versión %{running_version} de Elasticsearch, mientras que la versión requerida es la %{required_version} rules_check: action: Administrar reglas del servidor message_html: No definiste ninguna regla del servidor. @@ -795,9 +798,8 @@ es-AR: disallow: Rechazar enlace disallow_provider: Rechazar medio shared_by_over_week: - one: Compartido por una persona en la última semana - other: Compartido por %{count} personas en la última semana - zero: Compartido por nadie en la última semana + one: Compartido por una persona durante la última semana + other: Compartido por %{count} personas durante la última semana title: Enlaces en tendencia usage_comparison: Compartido %{today} veces hoy, comparado con la/s %{yesterday} vez/veces de ayer pending_review: Revisión pendiente @@ -838,9 +840,8 @@ es-AR: usable: Pueden usarse usage_comparison: Usadas %{today} veces hoy, comparado con la/s %{yesterday} vez/veces de ayer used_by_over_week: - one: Usada por una persona en la última semana - other: Usada por %{count} personas en la última semana - zero: Usada por nadie en la última semana + one: Usada por una persona durante la última semana + other: Usada por %{count} personas durante la última semana title: Tendencias warning_presets: add_new: Agregar nuevo diff --git a/config/locales/es-MX.yml b/config/locales/es-MX.yml index da321d7ee..17af40f2c 100644 --- a/config/locales/es-MX.yml +++ b/config/locales/es-MX.yml @@ -165,10 +165,6 @@ es-MX: pending: Revisión pendiente perform_full_suspension: Suspender previous_strikes: Amonestaciones anteriores - previous_strikes_description_html: - one: Esta cuenta tiene una amonestación. - other: Esta cuenta tiene %{count} amonestaciones. - zero: Esta cuenta está en buen estado. promote: Promocionar protocol: Protocolo public: Público @@ -490,6 +486,7 @@ es-MX: other: Intentos fallidos en %{count} días diferentes. no_failures_recorded: No hay fallos en el registro. title: Disponibilidad + warning: El último intento de conexión a este servidor no ha tenido éxito back_to_all: Todos back_to_limited: Limitados back_to_warning: Advertencia @@ -526,10 +523,6 @@ es-MX: delivery_error_hint: Si la entrega no es posible a lo largo de %{count} días, se marcará automáticamente como no entregable. destroyed_msg: Los datos de %{domain} están ahora en cola para su inminente eliminación. empty: No se encontraron dominios. - known_accounts: - one: "%{count} cuenta conocida" - other: "%{count} cuentas conocidas" - zero: Ninguna cuenta conocida moderation: all: Todos limited: Limitado @@ -774,6 +767,11 @@ es-MX: system_checks: database_schema_check: message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecútalas para asegurarte de que la aplicación funciona como debería + elasticsearch_running_check: + message_html: No se pudo conectar a Elasticsearch. Por favor, comprueba que está ejecutándose, o desactiva la búsqueda de texto completo + elasticsearch_version_check: + message_html: 'Versión incompatible de Elasticsearch: %{value}' + version_comparison: Elasticsearch %{running_version} se está ejecutando pero se necesita Elasticsearch %{required_version} rules_check: action: Administrar reglas del servidor message_html: No ha definido ninguna regla del servidor. @@ -793,10 +791,6 @@ es-MX: description_html: Estos son enlaces que actualmente están siendo compartidos mucho por las cuentas desde las que tu servidor ve los mensajes. Pueden ayudar a tus usuarios a averiguar qué está pasando en el mundo. Ningún enlace se muestren públicamente hasta que autorice al dominio. También puede permitir o rechazar enlaces individuales. disallow: Rechazar enlace disallow_provider: Rechazar editor - shared_by_over_week: - one: Compartido por una persona en la última semana - other: Compartido por %{count} personas durante la última semana - zero: Compartido por nadie en la última semana title: Enlaces en tendencia usage_comparison: Compartido %{today} veces hoy, comparado a %{yesterday} ayer pending_review: Revisión pendiente @@ -836,10 +830,6 @@ es-MX: trending_rank: Tendencia n.º %{rank} usable: Pueden usarse usage_comparison: Usada %{today} veces hoy, comparado con %{yesterday} ayer - used_by_over_week: - one: Usada por una persona durante la última semana - other: Usada por %{count} personas durante la última semana - zero: Usada por nadie en la última semana title: Tendencias warning_presets: add_new: Añadir nuevo diff --git a/config/locales/es.yml b/config/locales/es.yml index 31970da48..2ac09ea44 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -168,7 +168,6 @@ es: previous_strikes_description_html: one: Esta cuenta tiene una amonestación. other: Esta cuenta tiene %{count} amonestaciones. - zero: Esta cuenta está en buen estado. promote: Promocionar protocol: Protocolo public: Público @@ -530,7 +529,6 @@ es: known_accounts: one: "%{count} cuenta conocida" other: "%{count} cuentas conocidas" - zero: Ninguna cuenta conocida moderation: all: Todos limited: Limitado @@ -775,6 +773,11 @@ es: system_checks: database_schema_check: message_html: Hay migraciones pendientes de la base de datos. Por favor, ejecútalas para asegurarte de que la aplicación funciona como debería + elasticsearch_running_check: + message_html: No se pudo conectar a Elasticsearch. Por favor, comprueba que está ejecutándose, o desactiva la búsqueda de texto completo + elasticsearch_version_check: + message_html: 'Versión incompatible de Elasticsearch: %{value}' + version_comparison: Elasticsearch %{running_version} se está ejecutando pero se necesita Elasticsearch %{required_version} rules_check: action: Administrar reglas del servidor message_html: No ha definido ninguna regla del servidor. @@ -795,9 +798,8 @@ es: disallow: Rechazar enlace disallow_provider: Rechazar medio shared_by_over_week: - one: Compartido por una persona en la última semana + one: Compartido por una persona durante la última semana other: Compartido por %{count} personas durante la última semana - zero: Compartido por nadie en la última semana title: Enlaces en tendencia usage_comparison: Compartido %{today} veces hoy, comparado con %{yesterday} ayer pending_review: Revisión pendiente @@ -840,7 +842,6 @@ es: used_by_over_week: one: Usada por una persona durante la última semana other: Usada por %{count} personas durante la última semana - zero: Usada por nadie en la última semana title: Tendencias warning_presets: add_new: Añadir nuevo diff --git a/config/locales/eu.yml b/config/locales/eu.yml index d6f49058e..a41a77baf 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -163,10 +163,6 @@ eu: pending: Berrikusketa egiteke perform_full_suspension: Kanporatu previous_strikes: Aurreko abisuak - previous_strikes_description_html: - one: Kontu honek abisu bat dauka. - other: Kontu honek %{count} abisu dauzka. - zero: Kontu honek ez dauka abisurik. promote: Sustatu protocol: Protokoloa public: Publikoa @@ -497,10 +493,6 @@ eu: delivery_error_hint: Banaketa ezin bada %{count} egunean egin, banaezin bezala markatuko da automatikoki. destroyed_msg: "%{domain} domeinuko datuak berehala ezabatzeko ilaran daude orain." empty: Ez da domeinurik aurkitu. - known_accounts: - one: Kontu ezagun %{count} - other: "%{count} kontu ezagun" - zero: Kontu ezagunik ez moderation: all: Denak limited: Mugatua diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 1776505ba..2379e63da 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -16,6 +16,7 @@ fa: contact: تماس contact_missing: تنظیم نشده contact_unavailable: موجود نیست + continue_to_web: در کارهٔ وب ادامه دهید discover_users: یافتن کاربران documentation: مستندات federation_hint_html: با حسابی روی %{instance} می‌توانید افراد روی هر کارساز ماستودون و بیش از آن را پی بگیرید. @@ -25,6 +26,8 @@ fa: این حساب، بازیگری مجازی به نمایندگی خود کارساز بوده و کاربری واقعی نیست. این حساب برای مقاصد خودگردانی به کار می‌رفته و نباید مسدود شود؛ مگر این که بخواهید کل نمونه را مسدود کنید که در آن صورت نیز باید از انسداد دامنه استفاده کنید. learn_more: بیشتر بدانید + logged_in_as_html: شما هم‌اکنون به عنوان %{username} وارد شده‌اید. + logout_before_registering: شما هم‌اکنون وارد شده‌اید. privacy_policy: سیاست رازداری rules: قوانین کارساز rules_html: 'در زیر خلاصه‌ای از قوانینی که در صورت علاقه به داشتن حسابی روی این کارساز ماستودون، باید رعایت کنید آمده است:' @@ -75,10 +78,10 @@ fa: pin_errors: following: باید کاربری که می‌خواهید پیشنهاد دهید را دنبال کرده باشید posts: - one: بوق - other: بوق - posts_tab_heading: بوق‌ها - posts_with_replies: بوق‌ها و پاسخ‌ها + one: فرسته + other: فرسته‌ها + posts_tab_heading: فرسته‌ها + posts_with_replies: فرسته‌ها و پاسخ‌ها roles: admin: مدیر bot: ربات @@ -161,6 +164,7 @@ fa: not_subscribed: مشترک نیست pending: در انتظار بررسی perform_full_suspension: تعلیق + previous_strikes: اخطارهای پیشین promote: ترفیع‌دادن protocol: پروتکل public: عمومی @@ -202,8 +206,9 @@ fa: silence: خموشاندن silenced: خموشانده statuses: نوشته‌ها - strikes: اخطار های پیشین + strikes: اخطارهای پیشین subscribe: اشتراک + suspend: تعلیق suspended: تعلیق‌شده suspension_irreversible: داده‌های این حساب به صورت بی‌بازگشت حذف شد. می‌توانید برای قابل استفاده کردنش، آن را نامعلّق کنید، ولی این کار هیچ داده‌ای را که از پیش داده، برنخواهد گرداند. suspension_reversible_hint_html: حساب معلّق شد و داده‌ها به صورت کامل در %{date} برداشته خواهند شد. تا آن زمان، حساب می‌تواند بی هیچ عوارضی بازگردانده شود. اگر می‌خواهید فوراً همهٔ داده‌های حساب را بردارید، می‌توانید در پایین این کار را بکنید. @@ -224,6 +229,7 @@ fa: whitelisted: فهرست مجاز action_logs: action_types: + approve_appeal: پذیرش درخواست تجدیدنظر approve_user: تایید کاربر assigned_to_self_report: واگذاری گزارش change_email_user: تغییر رایانامه برای کاربر @@ -255,6 +261,7 @@ fa: enable_user: به کار انداختن کاربر memorialize_account: یادسپاری حساب promote_user: ترفیع کاربر + reject_appeal: رد کردن درخواست تجدیدنظر reject_user: رد کاربر remove_avatar_user: برداشتن تصویر نمایه reopen_report: بازگشایی گزارش @@ -273,6 +280,7 @@ fa: update_domain_block: به‌روزرسانی مسدودسازی دامنه update_status: به‌روز رسانی وضعیت actions: + approve_appeal_html: "%{name} درخواست تجدیدنظر تصمیم مدیر را از %{target} پذیرفت" approve_user_html: "%{name} ثبت نام %{target} را تایید کرد" assigned_to_self_report_html: "%{name} رسیدگی به گزارش %{target} را به عهده گرفت" change_email_user_html: "%{name} نشانی رایانامهٔ کاربر %{target} را عوض کرد" @@ -304,6 +312,7 @@ fa: 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} را دوباره به جریان انداخت" @@ -381,6 +390,18 @@ fa: media_storage: ذخیره‌ساز رسانه new_users: کاربران جدید opened_reports: گزارش باز شده + pending_appeals_html: + one: "%{count} درخواست تجدیدنظر در انتظار" + other: "%{count} درخواست تجدیدنظر در انتظار" + pending_reports_html: + one: "%{count} گزارش در انتظار" + other: "%{count} گزارش در انتظار" + pending_tags_html: + one: "%{count} هشتگ در انتظار" + other: "%{count} هشتگ در انتظار" + pending_users_html: + one: "%{count} کاربر در انتظار" + other: "%{count} کاربر در انتظار" resolved_reports: گزارش حل شده software: نرم‌افزار sources: منابع ثبت‌نام @@ -389,6 +410,10 @@ fa: top_languages: زبان‌های فعّال‌تر top_servers: کاربران فعّال‌تر website: پایگاه وب + disputes: + appeals: + empty: هیچ درخواست تجدیدنظری یافت نشد + title: درخواست‌های تجدیدنظر domain_allows: add_new: مجاز کردن دامنه created_msg: دامنه با موفقیت مجاز شد @@ -497,11 +522,11 @@ fa: relays: add_new: افزودن رلهٔ تازه delete: حذف - description_html: یک رلهٔ میان‌سروری (federation relay) یک سرور میانجی است که حجم زیادی از بوق‌های عمومی را بین سرورهای گوناگونی که عضوش می‌شوند جابه‌جا می‌کند. رله‌ها به سرورهای کوچک و متوسط کمک می‌کنند تا مطالب عمومی بیشتری را بیابند. اگر رله نباشد، این مطالب عمومی تنها وقتی پیدا می‌شوند که کاربران محلی خودشان پیگیر کاربران روی سرورهای دیگر شوند. + description_html: یک رلهٔ میان‌سروری (federation relay) یک سرور میانجی است که حجم زیادی از فرسته‌های عمومی را بین سرورهای گوناگونی که عضوش می‌شوند جابه‌جا می‌کند. رله‌ها به سرورهای کوچک و متوسط کمک می‌کنند تا مطالب عمومی بیشتری را بیابند. اگر رله نباشد، این مطالب عمومی تنها وقتی پیدا می‌شوند که کاربران محلی خودشان پیگیر کاربران روی سرورهای دیگر شوند. disable: از کار انداختن disabled: از کار افتاده enable: به کار انداختن - enable_hint: اگر فعال باشد، کارساز شما عضو همهٔ بوق‌های عمومی‌ای را که از این رله می‌آید می‌گیرد، و بوق‌های عمومی این کارساز را به آن می‌فرستند. + enable_hint: اگر فعال باشد، کارساز شما عضو همهٔ فرسته‌های عمومی‌ای را که از این رله می‌آید می‌گیرد، و فرسته‌های عمومی این کارساز را به آن می‌فرستند. enabled: فعال inbox_url: نشانی رله pending: در انتظار پذیرش رله @@ -567,10 +592,10 @@ fa: title: قوانین کارساز settings: activity_api_enabled: - desc_html: تعداد بوق‌های محلی، کاربران فعال، و کاربران تازه در هر هفته + desc_html: تعداد فرسته‌های محلی، کاربران فعال، و کاربران تازه در هر هفته title: انتشار آمار تجمیعی دربارهٔ فعالیت کاربران bootstrap_timeline_accounts: - desc_html: نام‌های کاربری را با ویرگول از هم جدا کنید. تنها حساب‌های محلی و قفل‌نشده کار می‌کنند. اگر این‌جا را خالی بگذارید، به طور پیش‌فرض همهٔ مدیرهای این سرور پی‌گرفته خواهند شد. + desc_html: نام‌های کاربری را با ویرگول از هم جدا کنید. این حساب‌ها تضمین می‌شوند که در پیشنهادهای پی‌گیری نشان داده شوند title: پیگیری‌های پیش‌فرض برای کاربران تازه contact_information: email: ایمیل کاری @@ -584,7 +609,7 @@ fa: domain_blocks: all: برای همه disabled: برای هیچ‌کدام - title: نمایش دامین‌های مسدودشده + title: نمایش دامنه‌های مسدود شده users: برای کاربران محلی واردشده domain_blocks_rationale: title: دیدن دلیل @@ -623,7 +648,7 @@ fa: open: همه می‌توانند ثبت نام کنند title: شرایط ثبت نام show_known_fediverse_at_about_page: - desc_html: اگر انتخاب شود، بوق‌های همهٔ سرورهای دیگر نیز در پیش‌نمایش این سرور نمایش می‌یابد. وگرنه فقط بوق‌های محلی نشان داده می‌شوند. + desc_html: اگر از کار انداخته شود، خط‌زمانی همگانی را محدود می‌کند؛ تا فقط محتوای محلّی را نمایش دهد. title: نمایش سرورهای دیگر در پیش‌نمایش این سرور show_staff_badge: desc_html: نمایش علامت همکار روی صفحهٔ کاربر @@ -653,7 +678,7 @@ fa: title: بگذارید که برچسب‌های پرطرفدار بدون بازبینی قبلی نمایش داده شوند trends: desc_html: برچسب‌های عمومی که پیش‌تر بازبینی شده‌اند و هم‌اینک پرطرفدارند - title: برچسب‌های پرطرفدار + title: پرطرفدارها site_uploads: delete: پرونده بارگذاری شده را پاک کنید destroyed_msg: بارگذاری پایگاه با موفقیت حذف شد! @@ -666,9 +691,12 @@ fa: deleted: پاک‌شده media: title: رسانه - no_status_selected: هیچ بوقی تغییری نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند + no_status_selected: هیچ فرسته‌ای تغییری نکرد زیرا هیچ‌کدام از آن‌ها انتخاب نشده بودند title: نوشته‌های حساب with_media: دارای عکس یا ویدیو + strikes: + appeal_approved: درخواست تجدیدنظر کرد + appeal_pending: درخواست تجدیدنظر در انتظار system_checks: database_schema_check: message_html: تعداد مهاجرت پایگاه داده در انتظار انجام هستند. لطفا آن‌ها را اجرا کنید تا اطمینان یابید که برنامه مطابق انتظار رفتار خواهد کرد @@ -707,6 +735,7 @@ fa: not_listable: پیشنهاد نخواهد شد not_usable: غیر قابل استفاده title: برچسب‌های پرطرفدار + trending_rank: 'پرطرفدار #%{rank}' usable: قابل استفاده title: پرطرفدار warning_presets: @@ -716,6 +745,10 @@ fa: empty: هنز هیچ پیش‌تنظیم هشداری را تعریف نکرده‌اید. title: مدیریت هشدارهای پیش‌فرض admin_mailer: + new_appeal: + actions: + none: یک هشدار + silence: برای محدود کردن حساب آنها new_pending_account: body: جزئیات حساب تازه این‌جاست. شما می‌توانید آن را تأیید یا رد کنید. subject: حساب تازه‌ای در %{instance} نیازمند بررسی است (%{username}) @@ -723,6 +756,9 @@ fa: body: کاربر %{reporter} کاربر %{target} را گزارش داد body_remote: کسی از %{domain} گزارش %{target} را فرستاده subject: گزارش تازه‌ای برای %{instance} (#%{id}) + new_trends: + new_trending_links: + no_approved_links: در حال حاضر هیچ پیوند پرطرفداری پذیرفته نشده است. aliases: add_new: ساختن نام مستعار created_msg: نام مستعار تازه با موفقیت ساخته شد. الان می‌توانید انتقال از حساب قدیمی را آغاز کنید. @@ -741,7 +777,7 @@ fa: guide_link: https://crowdin.com/project/mastodon guide_link_text: همه می‌توانند کمک کنند. sensitive_content: محتوای حساس - toot_layout: آرایش بوق + toot_layout: آرایش فرسته application_mailer: notification_preferences: تغییر ترجیحات ایمیل salutation: "%{name}،" @@ -861,6 +897,18 @@ fa: directory: شاخهٔ نمایه explanation: کاربران را بر اساس علاقه‌مندی‌هایشان بیابید explore_mastodon: گشت و گذار در %{title} + disputes: + strikes: + appeal: درخواست تجدیدنظر + appeal_rejected: درخواست تجدیدنظر رد شده است + appeal_submitted_at: درخواست تجدیدنظر فرستاده شد + appeals: + submit: فرستادن درخواست تجدیدنظر + title_actions: + none: هشدار + your_appeal_approved: درخواست تجدیدنظر شما پذیرفته شد + your_appeal_pending: شما یک درخواست تجدیدنظر فرستادید + your_appeal_rejected: درخواست تجدیدنظر شما رد شد domain_validator: invalid_domain: نام دامین معتبر نیست errors: @@ -892,7 +940,7 @@ fa: blocks: حساب‌های مسدودشده bookmarks: نشانک‌ها csv: CSV - domain_blocks: دامین‌های مسدودشده + domain_blocks: دامنه‌های مسدود شده lists: سیاهه‌ها mutes: حساب‌های بی‌صداشده storage: تصویرهای ذخیره‌شده @@ -998,7 +1046,7 @@ fa: not_ready: پرونده‌هایی که پردازش را تمام نکرده‌اند نمی‌توانند پیوست شوند. یکبار دیگر امتحان کنید! too_many: نمی‌توان بیشتر از ۴ تصویر بارگذاری کرد migrations: - acct: username@domain حساب تازه + acct: جابه‌جایی به cancel: لغو انتقال cancel_explanation: با لغو انتقال، حساب شما دوباره فعال می‌شود، ولی این کار پیگیران شما را که به حساب دیگر منتقل شده‌اند برنمی‌گرداند. cancelled_msg: انتقال حساب با موفقیت لغو شد. @@ -1067,9 +1115,9 @@ fa: poll: subject: نظرسنجی‌ای از %{name} پایان یافت reblog: - body: "%{name} نوشتهٔ شما را بازبوقید:" - subject: "%{name} نوشتهٔ شما را بازبوقید" - title: بازبوق تازه + body: "%{name} فرستهٔ شما را تقویت کرد:" + subject: "%{name} فرستهٔ شما را تقویت کرد" + title: تقویت تازه status: subject: "%{name} چیزی فرستاد" notifications: @@ -1145,17 +1193,17 @@ fa: reason_html: "چرا این گام ضروریست؟ ممکن است %{instance} کارسازی نباشد که شما رویش حساب دارید؛ پس لازم است پیش از هرچیز، به کارساز خودتان هدایتتان کنیم." remote_interaction: favourite: - proceed: به سمت پسندیدن این بوق - prompt: 'شما می‌خواهید این بوق را بپسندید:' + proceed: به سمت پسندیدن + prompt: 'شما می‌خواهید این فرسته را بپسندید:' reblog: - proceed: به سمت بازبوقیدن - prompt: 'شما می‌خواهید این بوق را بازببوقید:' + proceed: به سمت تقویت + prompt: 'شما می‌خواهید این فرسته را تقویت کنید:' reply: proceed: به سمت پاسخ‌دادن - prompt: 'شما می‌خواهید به این بوق پاسخ دهید:' + prompt: 'شما می‌خواهید به این فرسته پاسخ دهید:' scheduled_statuses: - over_daily_limit: شما از حد مجاز %{limit} بوق زمان‌بندی‌شده در آن روز فراتر رفته‌اید - over_total_limit: شما از حد مجاز %{limit} بوق زمان‌بندی‌شده فراتر رفته‌اید + over_daily_limit: شما از حد مجاز %{limit} فرسته زمان‌بندی‌شده در آن روز فراتر رفته‌اید + over_total_limit: شما از حد مجاز %{limit} فرسته زمان‌بندی‌شده فراتر رفته‌اید too_soon: زمان تعیین‌شده باید در آینده باشد sessions: activity: آخرین فعالیت @@ -1233,19 +1281,19 @@ fa: video: one: "%{count} ویدیو" other: "%{count} ویدیو" - boosted_from_html: بازبوقیده از طرف %{acct_link} + boosted_from_html: تقویت شده از طرف %{acct_link} content_warning: 'هشدا محتوا: %{warning}' disallowed_hashtags: one: 'دارای هشتگ غیرمجاز: %{tags}' other: 'دارای هشتگ‌های غیرمجاز: %{tags}' errors: in_reply_not_found: به نظر نمی‌رسد وضعیتی که می‌خواهید به آن پاسخ دهید، وجود داشته باشد. - open_in_web: بازکردن در وب + open_in_web: گشودن در وب over_character_limit: از حد مجاز %{max} حرف فراتر رفتید pin_errors: limit: از این بیشتر نمی‌شود نوشته‌های ثابت داشت ownership: نوشته‌های دیگران را نمی‌توان ثابت کرد - reblog: بازبوق‌ها را نمی‌توان ثابت کرد + reblog: تقویت را نمی‌توان سنجاق کرد poll: total_people: one: "%{count} نفر" @@ -1295,17 +1343,17 @@ fa: '2629746': ۱ ماه '31556952': ۱ سال '5259492': ۲ ماه - '604800': 1 week + '604800': ۱ هفته '63113904': ۲ سال '7889238': ۳ ماه min_age_label: کرانهٔ سن min_favs: نگه داشتن فرسته‌هایی با برگزینش بیش از min_favs_hint: هیچ یک از فرسته‌هایتان را که بیش از این تعداد برگزیده شده باشند، حذف نمی‌کند. برای حذف فرسته‌ها فارغ از تعداد برگزینش‌هایشان، خالی بگذارید min_reblogs: نگه داشتن فرسته‌هایی با تقویت بیش از - min_reblogs_hint: هیچ یک از فرسته‌هایتان را که بیش از این تعداد تق. یت شده باشند، حذف نمی‌کند. برای حذف فرسته‌ها فارغ از تعداد تقویت‌هایشان، خالی بگذارید + min_reblogs_hint: هیچ یک از فرسته‌هایتان را که بیش از این تعداد تقویت شده باشند، حذف نمی‌کند. برای حذف فرسته‌ها فارغ از تعداد تقویت‌هایشان، خالی بگذارید stream_entries: pinned: نوشته‌های ثابت - reblogged: بازبوقید + reblogged: تقویت شده sensitive_content: محتوای حساس tags: does_not_match_previous_name: با نام پیشین مطابق نیست @@ -1417,6 +1465,15 @@ fa: recovery_instructions_html: اگر تلفن خود را گم کردید، می‌توانید با یکی از کدهای بازیابی زیر کنترل حساب خود را به دست بگیرید. این کدها را در جای امنی نگه دارید. مثلاً آن‌ها را چاپ کنید و کنار سایر مدارک مهم خود قرار دهید. webauthn: کلیدهای امنیتی user_mailer: + appeal_approved: + action: به حساب خودتان بروید + explanation: درخواست تجدیدنظر اخطار علیه حساب شما در %{strike_date} که در %{appeal_date} ارسال کرده‌اید، پذیرفته شده است. حساب شما بار دیگر در وضعیت خوبی قرار دارد. + subject: درخواست تجدیدنظر شما در %{date} پذیرفته شد + title: درخواست تجدیدنظر پذیرفته شد + appeal_rejected: + explanation: درخواست تجدیدنظر اخطار علیه حساب شما در %{strike_date} که در %{appeal_date} ارسال کرده‌اید، رد شده است. + subject: درخواست تجدیدنظر شما در %{date} رد شده است + title: درخواست تجدیدنظر رد شد backup_ready: explanation: شما یک نسخهٔ پشتیبان کامل از حساب خود را درخواست کردید. این پشتیبان الان آمادهٔ بارگیری است! subject: بایگانی شما آمادهٔ دریافت است @@ -1428,6 +1485,8 @@ fa: subject: لطفاً تلاش برای ورود را تأیید کنید title: تلاش برای ورود warning: + appeal: فرستادن یک درخواست تجدیدنظر + appeal_description: اگر فکر می‌کنید این یک خطا است، می‌توانید یک درخواست تجدیدنظر به کارکنان %{instance} ارسال کنید. categories: spam: هرزنامه reason: 'دلیل:' diff --git a/config/locales/fi.yml b/config/locales/fi.yml index 918c505b1..1cdaed6ef 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -165,10 +165,6 @@ fi: pending: Odottaa tarkistusta perform_full_suspension: Siirrä kokonaan jäähylle previous_strikes: Aiemmat varoitukset - previous_strikes_description_html: - one: Tällä tilillä on yksi varoitus. - other: Tällä tilillä on %{count} varoitusta. - zero: Tämä tili on hyvässä kunnossa. promote: Ylennä protocol: Protokolla public: Julkinen @@ -495,10 +491,6 @@ fi: delivery_error_hint: Jos toimitus ei ole mahdollista %{count} päivän aikana, se merkitään automaattisesti toimittamattomaksi. destroyed_msg: Tiedot %{domain} on nyt jonossa välitöntä poistoa varten. empty: Verkkotunnuksia ei löytynyt. - known_accounts: - one: "%{count} tunnettu tili" - other: "%{count} tunnettua tiliä" - zero: Ei tunnettua tiliä moderation: all: Kaikki limited: Rajoitettu @@ -760,10 +752,6 @@ fi: description_html: Nämä ovat linkkejä, joita jaetaan tällä hetkellä paljon tileillä, joilta palvelimesi näkee viestejä. Se voi auttaa käyttäjiäsi saamaan selville, mitä maailmassa tapahtuu. Linkkejä ei näytetä julkisesti, ennen kuin hyväksyt julkaisijan. Voit myös sallia tai hylätä yksittäiset linkit. disallow: Hylkää linkki disallow_provider: Estä julkaisija - shared_by_over_week: - one: Jakanut yksi henkilö viimeisen viikon aikana - other: Jakanut %{count} henkilöä viimeisen viikon aikana - zero: Kukaan ei ole jakanut viimeisen viikon aikana title: Suositut linkit usage_comparison: Jaettu %{today} kertaa tänään verrattuna eilen %{yesterday} pending_review: Odottaa tarkistusta @@ -803,10 +791,6 @@ fi: trending_rank: 'Nousussa #%{rank}' usable: Voidaan käyttää usage_comparison: Käytetty %{today} kertaa tänään, verrattuna %{yesterday} eiliseen - used_by_over_week: - one: Yhden henkilön käyttämä viimeisen viikon aikana - other: Käyttänyt %{count} henkilöä viimeisen viikon aikana - zero: Ei kenenkään käytössä viimeisen viikon aikana title: Trendit warning_presets: add_new: Lisää uusi diff --git a/config/locales/fr.yml b/config/locales/fr.yml index e3879be0a..bc1902cf8 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -166,9 +166,8 @@ fr: perform_full_suspension: Suspendre previous_strikes: Sanctions précédentes previous_strikes_description_html: - one: Ce compte a reçu une sanction. + one: Ce compte a reçu %{count} sanction. other: Ce compte a reçu %{count} sanctions. - zero: Ce compte est en règle. promote: Promouvoir protocol: Protocole public: Publique @@ -482,8 +481,12 @@ fr: instances: availability: failure_threshold_reached: Le seuil de défaillance a été atteint le %{date}. + failures_recorded: + one: Tentative échouée pendant %{count} jour. + other: Tentatives échouées pendant %{count} jours différents. no_failures_recorded: Pas d'échec enregistré. title: Disponibilité + warning: La dernière tentative de connexion à ce serveur a échoué back_to_all: Tout back_to_limited: Limité back_to_warning: Avertissement @@ -523,7 +526,6 @@ fr: known_accounts: one: "%{count} compte connu" other: "%{count} comptes connus" - zero: Pas de compte connu moderation: all: Tout limited: Limité @@ -768,6 +770,11 @@ fr: system_checks: database_schema_check: message_html: Vous avez des migrations de base de données en attente. Veuillez les exécuter pour vous assurer que l'application se comporte comme prévu + elasticsearch_running_check: + message_html: Impossible de se connecter à Elasticsearch. Veuillez vérifier qu’il est en cours d’exécution ou désactiver la recherche en plein texte + elasticsearch_version_check: + message_html: 'Version d’Elasticsearch incompatible : %{value}' + version_comparison: Elasticsearch %{running_version} est en cours d’exécution alors que %{required_version} est requise rules_check: action: Gérer les règles du serveur message_html: Vous n'avez pas défini de règles pour le serveur. @@ -788,9 +795,8 @@ fr: disallow: Interdire le lien disallow_provider: Interdire l'éditeur shared_by_over_week: - one: Partagé par une personne au cours de la semaine dernière - other: Partagé par %{count} personnes au cours de la semaine dernière - zero: Non partagé au cours de la semaine dernière + one: Partagé par %{count} personne au cours de la dernière semaine + other: Partagé par %{count} personnes au cours de la dernière semaine title: Liens tendances usage_comparison: Partagé %{today} fois aujourd'hui, comparé à %{yesterday} hier pending_review: En attente de révision @@ -831,9 +837,8 @@ fr: usable: Peut être utilisé usage_comparison: Utilisé %{today} fois aujourd'hui, comparé à %{yesterday} hier used_by_over_week: - one: Utilisé par une personne au cours de la semaine dernière - other: Utilisé par %{count} personnes au cours de la semaine dernière - zero: Non utilisé au cours de la semaine dernière + one: Utilisé par %{count} personne au cours de la dernière semaine + other: Utilisé par %{count} personnes au cours de la dernière semaine title: Tendances warning_presets: add_new: Ajouter un nouveau @@ -1431,6 +1436,7 @@ fr: disallowed_hashtags: one: 'contient un hashtag désactivé : %{tags}' other: 'contient les hashtags désactivés : %{tags}' + edited_at_html: Édité le %{date} errors: in_reply_not_found: Le message auquel vous essayez de répondre ne semble pas exister. open_in_web: Ouvrir sur le web diff --git a/config/locales/gd.yml b/config/locales/gd.yml index 6729b0443..0f6524fbd 100644 --- a/config/locales/gd.yml +++ b/config/locales/gd.yml @@ -173,10 +173,6 @@ gd: pending: A’ feitheamh air lèirmheas perform_full_suspension: Cuir à rèim previous_strikes: Rabhaidhean roimhe - previous_strikes_description_html: - one: Fhuair an cunntas seo aon rabhadh. - other: Fhuair an cunntas seo %{count} rabhaidhean. - zero: Tha deagh chliù aig a’ chunntas seo. promote: Àrdaich protocol: Pròtacal public: Poblach @@ -381,6 +377,7 @@ gd: enable: Cuir an comas enabled: Chaidh a chur an comas enabled_msg: Chaidh an t-Emoji sin a chur an comas + image_hint: PNG no GIF suas ri %{size} list: Liosta listed: Liostaichte new: @@ -485,6 +482,7 @@ gd: resolve: Fuasgail an àrainn title: Bac àrainn puist-d ùr no_email_domain_block_selected: Cha deach bacadh àrainn puist-d sam bith atharrachadh o nach deach gin dhiubh a thaghadh + resolved_dns_records_hint_html: Thèid ainm na h-àrainne fhuasgladh nan àrainnean MX a leanas agus an urra riutha-san gun gabh iad ri post-d. Ma bhacas tu àrainn MX, bacaidh seo an clàradh o sheòladh puist-d sam bith a chleachdas an aon àrainn MX fiù ’s ma bhios ainm àrainne eadar-dhealaichte ’ga sealltainn. Thoir an aire nach bac thu solaraichean puist-d mòra. resolved_through_html: Chaidh fuasgladh slighe %{domain} title: Àrainnean puist-d ’gam bacadh follow_recommendations: @@ -496,11 +494,46 @@ gd: title: Molaidhean leantainn unsuppress: Aisig am moladh leantainn instances: + availability: + description_html: + few: Ma dh’fhàilligeas an lìbhrigeadh dhan àrainn fad %{count} làithean, chan fheuch sinn a-rithist leis an lìbhrigeadh ach às dèidh lìbhrigeadh fhaighinn on àrainn ud fhèin. + one: Ma dh’fhàilligeas an lìbhrigeadh dhan àrainn fad %{count} latha, chan fheuch sinn a-rithist leis an lìbhrigeadh ach às dèidh lìbhrigeadh fhaighinn on àrainn ud fhèin. + other: Ma dh’fhàilligeas an lìbhrigeadh dhan àrainn fad %{count} latha, chan fheuch sinn a-rithist leis an lìbhrigeadh ach às dèidh lìbhrigeadh fhaighinn on àrainn ud fhèin. + two: Ma dh’fhàilligeas an lìbhrigeadh dhan àrainn fad %{count} latha, chan fheuch sinn a-rithist leis an lìbhrigeadh ach às dèidh lìbhrigeadh fhaighinn on àrainn ud fhèin. + failure_threshold_reached: Chaidh stairsneach an fhàilligidh a ruigsinn %{date}. + failures_recorded: + few: Oidhirp a dh’fhàillig rè %{count} làithean. + one: Oidhirp a dh’fhàillig rè %{count} latha. + other: Oidhirp a dh’fhàillig rè %{count} latha. + two: Oidhirp a dh’fhàillig rè %{count} latha. + no_failures_recorded: Cha deach fàilligeadh sam bith a chlàradh. + title: Faotainneachd + warning: Cha deach leis an oidhirp mu dheireadh air ceangal ris an fhrithealaiche seo back_to_all: Na h-uile back_to_limited: Cuingichte back_to_warning: Rabhadh by_domain: Àrainn confirm_purge: A bheil thu cinnteach gu bheil thu airson an dàta on àrainn seo a sguabadh às gu buan? + content_policies: + comment: Nòta taobh a-staigh + description_html: "’S urrainn dhut poileasaidhean susbainte a mhìneachadh a thèid a chur an sàs air a h-uile cunntas on àrainn seo ’s a fo-àrainnean-se." + policies: + reject_media: Diùlt meadhanan + reject_reports: Diùlt gearanan + silence: Cuingich + suspend: Cuir à rèim + policy: Poileasaidh + reason: Adhbhar poblach + title: Poileasaidhean susbainte + dashboard: + instance_accounts_dimension: Cunntasan ’gan leantainn as trice + instance_accounts_measure: cunntasan ’gan stòradh + instance_followers_measure: an luchd-leantainn againne thall + instance_follows_measure: an luchd-leantainn acasan an-seo + instance_languages_dimension: Brod nan cànan + instance_media_attachments_measure: ceanglachain mheadhanan ’gan stòradh + instance_reports_measure: gearanan mun dèidhinn + instance_statuses_measure: postaichean ’gan stòradh delivery: all: Na h-uile clear: Falamhaich na mearachdan lìbhrigidh @@ -512,10 +545,6 @@ gd: delivery_error_hint: Mura gabh a lìbhrigeadh fad %{count} là(ithean), thèid comharra a chur ris gu fèin-obrachail a dh’innseas nach gabh a lìbhrigeadh. destroyed_msg: Tha an dàta o %{domain} air ciutha an sguabaidh às aithghearr. empty: Cha deach àrainn a lorg. - known_accounts: - one: "%{count} chunntas as aithne dhuinn" - other: "%{count} cunntas(an) as aithne dhuinn" - zero: Gun chunntas as aithne dhuinn moderation: all: Na h-uile limited: Cuingichte @@ -523,12 +552,14 @@ gd: private_comment: Beachd prìobhaideachd public_comment: Beachd poblach purge: Purgaidich + purge_description_html: Ma tha thu dhen bheachd gu bheil an àrainn seo far loidhne gu buan, ’s urrainn dhut a h-uile clàr cunntais ’s an dàta co-cheangailte on àrainn ud a sguabadh às san stòras agad. Dh’fhaoidte gun doir sin greis mhath. title: Co-nasgadh total_blocked_by_us: "‘Ga bhacadh leinne" total_followed_by_them: "’Ga leantainn leotha-san" total_followed_by_us: "’Ga leantainn leinne" total_reported: Gearanan mun dèidhinn total_storage: Ceanglachain mheadhanan + totals_time_period_hint_html: Gabhaidh na h-iomlanan gu h-ìosal a-staigh an dàta o chian nan cian. invites: deactivate_all: Cuir na h-uile à gnìomh filter: @@ -584,9 +615,13 @@ gd: action_log: Sgrùd an loga action_taken_by: Chaidh an gnìomh a ghabhail le actions: + delete_description_html: Thèid na postaichean le gearan orra a sguabadh às agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. + mark_as_sensitive_description_html: Thèid comharra an fhrionasachd a chur ris na meadhanan sna postaichean le gearan orra agus rabhadh a chlàradh gus do chuideachadh ach am bi thu nas teinne le droch-ghiùlan on aon chunntas sam àm ri teachd. other_description_html: Seall barrachd roghainnean airson giùlan a’ chunntais a stiùireadh agus an conaltradh leis a’ chunntas a chaidh gearan a dhèanamh mu dhèidhinn a ghnàthachadh. + resolve_description_html: Cha dèid gnìomh sam bith a ghabhail an aghaidh a’ chunntais le gearan air agus thèid an gearan a dhùnadh gun rabhadh a chlàradh. silence_description_html: Chan fhaic ach an fheadhainn a tha a’ leantainn oirre mu thràth no a lorgas a làimh i a’ phròifil seo agus cuingichidh seo uiread nan daoine a ruigeas i gu mòr. Gabhaidh seo a neo-dhèanamh uair sam bith. suspend_description_html: Cha ghabh a’ phròifil seo agus an t-susbaint gu leòr aice inntrigeadh gus an dèid a sguabadh às air deireadh na sgeòil. Cha ghabh eadar-ghabhail a dhèanamh leis a’ chunntas. Gabhaidh seo a neo-dhèanamh am broinn 30 latha. + actions_description_html: Cuir romhad dè an gnìomh a ghabhas tu gus an gearan seo fhuasgladh. Ma chuireas tu peanas air a’ chunntas le gearan air, gheibh iad brath air a’ phost-d mura tagh thu an roinn-seòrsa Spama. add_to_report: Cuir barrachd ris a’ ghearan are_you_sure: A bheil thu cinnteach? assign_to_self: Iomruin dhomh-sa @@ -756,6 +791,11 @@ gd: system_checks: database_schema_check: message_html: Tha imrichean stòir-dhàta ri dhèiligeadh ann. Ruith iad a dhèanamh cinnteach gum bi giùlan na h-aplacaid mar a bhiodhte ’n dùil + elasticsearch_running_check: + message_html: Cha b’ urrainn dhuinn ceangal ri Elasticsearch. Dearbh thu bheil e a’ ruith no cuir an lorg làn-teacsa à comas + elasticsearch_version_check: + message_html: 'Tionndadh Elasticsearch nach eil co-chòrdail: %{value}' + version_comparison: Tha Elasticsearch %{running_version} a ruith ach tha feum air %{required_version} rules_check: action: Stiùirich riaghailtean an fhrithealaiche message_html: Cha do mhìnich thu riaghailtean an fhrithealaiche fhathast. @@ -772,23 +812,22 @@ gd: links: allow: Ceadaich an ceangal allow_provider: Ceadaich am foillsichear + description_html: Seo na ceanglaichean a tha ’gan co-roinneadh le iomadh cunntas on a chì am frithealaiche agad na postaichean. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh ach am faigh iad a-mach dè tha tachairt air an t-saoghal. Cha dèid ceanglaichean a shealltainn gu poblach gus an aontaich thu ris an fhoillsichear. ’S urrainn dhut ceanglaichean àraidh a cheadachadh no a dhiùltadh cuideachd. disallow: Na ceadaich an ceangal disallow_provider: Na ceadaich am foillsichear - shared_by_over_week: - one: Chaidh a cho-roinneadh le aonar rè na seachdain seo chaidh - other: Chaidh a cho-roinneadh le %{count} rè na seachdain seo chaidh - zero: Cha deach a cho-roinneadh rè na seachdain seo chaidh title: Ceanglaichean a’ treandadh usage_comparison: Chaidh a cho-roinneadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè pending_review: A’ feitheamh air lèirmheas preview_card_providers: allowed: Faodaidh ceanglaichean on fhoillsichear seo treandadh + description_html: Seo na h-àrainnean on a thèid ceanglaichean a cho-roinneadh air an fhrithealaiche agad gu tric. Cha bhi ceanglaichean a’ treandadh mura dh’aontaich thu ri àrainn a’ cheangail. Gabhaidh d’ aonta (no do dhiùltadh) a-staigh na fo-àrainnean. rejected: Cha treandaich ceanglaichean on fhoillsichear seo title: Foillsichearan rejected: Air a dhiùltadh statuses: allow: Ceadaich am post allow_account: Ceadaich an t-ùghdar + description_html: Seo na postaichean air a bheil am frithealaiche agad eòlach ’s a tha ’gan co-roinneadh is ’nan annsachd gu tric aig an àm seo. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh ùr no a thill ach an lorg iad daoine airson leantainn orra. Cha dèid postaichean a shealltainn gu poblach gus an gabh thu ris an ùghdar agus gus an aontaich an t-ùghdar gun dèid an cunntas aca a mholadh do dhaoine eile. ’S urrainn dhut postaichean àraidh a cheadachadh no a dhiùltadh cuideachd. disallow: Na ceadaich am post disallow_account: Na ceadaich an t-ùghdar not_discoverable: Cha do chuir an t-ùghdar roimhe gun gabh a lorg @@ -806,6 +845,7 @@ gd: tag_servers_dimension: Brod nam frithealaichean tag_servers_measure: frithealaichean eadar-dhealaichte tag_uses_measure: cleachdaidhean iomlan + description_html: Seo na tagaichean hais a nochdas ann an grunn phostaichean a chì am frithealaiche agad aig an àm seo. Faodaidh iad a bhith ’nan cuideachadh dhan luchd-cleachdaidh agad ach am faigh iad a-mach cò air a tha daoine a’ bruidhinn nas trice aig an àm seo. Cha dèid tagaichean hais a shealltainn gu poblach gus an aontaich thu riutha. listable: Gabhaidh a mholadh not_listable: Cha dèid a mholadh not_trendable: Cha nochd e am measg nan treandaichean @@ -816,10 +856,6 @@ gd: trending_rank: 'A’ treandadh #%{rank}' usable: Gabhaidh a chleachdadh usage_comparison: Chaidh a chleachdadh %{today} tura(i)s an-diugh an coimeas ri %{yesterday} an-dè - used_by_over_week: - one: Chaidh a chleachdadh le aonar rè na seachdain seo chaidh - other: Chaidh a chleachdadh le %{count} rè na seachdain seo chaidh - zero: Cha deach a chleachdadh rè na seachdain seo chaidh title: Treandaichean warning_presets: add_new: Cuir fear ùr ris @@ -851,12 +887,15 @@ gd: body: 'Tha na nithean seo feumach air lèirmheas mus nochd iad gu poblach:' new_trending_links: no_approved_links: Chan eil ceangal a’ treandadh le aontachadh ann. + requirements: "’S urrainn do ghin dhe na tagraichean seo dol thairis air #%{rank} a tha aig a’ cheangal “%{lowest_link_title}” a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_link_score} air." title: Ceanglaichean a’ treandadh new_trending_statuses: no_approved_statuses: Chan eil post a’ treandadh le aontachadh ann. + requirements: "’S urrainn do ghin dhe na tagraichean seo dol thairis air #%{rank} a tha aig a’ phost %{lowest_status_url} a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_status_score} air." title: Postaichean a’ treandadh new_trending_tags: no_approved_tags: Chan eil taga hais a’ treandadh le aontachadh ann. + requirements: "’S urrainn do ghin dhe na tagraichean seo dol thairis air #%{rank} a tha aig an taga hais #%{lowest_tag_name} a’ treandadh as ìsle le aontachadh agus sgòr de %{lowest_tag_score} air." title: Tagaichean hais a’ treandadh subject: Tha treandaichean ùra a’ feitheamh air lèirmheas air %{instance} aliases: @@ -1011,6 +1050,19 @@ gd: submit: Cuir a-null an t-ath-thagradh associated_report: An gearan co-cheangailte created_at: Ceann-là + description_html: Seo na gnìomhan a chaidh a ghabhail an aghaidh a’ chunntais agad agus na rabhaidhean a chaidh a chur thugad le luchd-obrach %{instance}. + recipient: Faightear + status: 'Post #%{id}' + status_removed: Chaidh am post a thoirt air falbh on t-siostam mu thràth + title: "%{action} o %{date}" + title_actions: + delete_statuses: Toirt air falbh puist + disable: Reòthadh cunntais + mark_statuses_as_sensitive: Comharra na frionasachd air postaichean + none: Rabhadh + sensitive: Comharra na frionasachd air cunntais + silence: Cuingeachadh cunntais + suspend: Cur à rèim cunntais your_appeal_approved: Chaidh aontachadh ris an ath-thagradh agad your_appeal_pending: Chuir thu ath-thagradh a-null your_appeal_rejected: Chaidh an t-ath-thagradh agad a dhiùltadh @@ -1192,6 +1244,9 @@ gd: carry_mutes_over_text: Chaidh an cleachdaiche seo imrich o %{acct} a b’ àbhaist dhut a mhùchadh. copy_account_note_text: 'Da cleachdaiche air gluasad o %{acct}, seo na nòtaichean a bh’ agad mu dhèidhinn roimhe:' notification_mailer: + admin: + sign_up: + subject: Chlàraich %{name} digest: action: Seall a h-uile brath body: Seo geàrr-chunntas air na h-atharraichean nach fhaca thu on tadhal mu dheireadh agad %{since} @@ -1233,6 +1288,8 @@ gd: title: Brosnachadh ùr status: subject: Tha %{name} air post a sgrìobhadh + update: + subject: Dheasaich %{name} post notifications: email_events: Tachartasan nam brathan puist-d email_events_hint: 'Tagh na tachartasan dhan a bheil thu airson brathan fhaighinn:' @@ -1314,6 +1371,9 @@ gd: reply: proceed: Lean air adhart gus freagairt prompt: 'Tha thu airson freagairt dhan phost seo:' + reports: + errors: + invalid_rules: gun iomradh air riaghailtean dligheach scheduled_statuses: over_daily_limit: Chaidh thu thar na crìoch de %{limit} post(aichean) sgeidealaichte an-diugh over_total_limit: Chaidh thu thar na crìoch de %{limit} post(aichean) sgeidealaichte @@ -1380,6 +1440,7 @@ gd: profile: Pròifil relationships: Dàimhean leantainn statuses_cleanup: Sguabadh às fèin-obrachail phostaichean + strikes: Rabhaidhean na maorsainneachd two_factor_authentication: Dearbhadh dà-cheumnach webauthn_authentication: Iuchraichean tèarainteachd statuses: @@ -1402,11 +1463,13 @@ gd: two: "%{count} video" boosted_from_html: Brosnachadh o %{acct_link} content_warning: 'Rabhadh susbainte: %{warning}' + default_language: Co-ionnan ri cànan na h-eadar-aghaidh disallowed_hashtags: few: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" one: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" other: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" two: "– bha na tagaichean hais toirmisgte seo ann: %{tags}" + edited_at_html: Air a dheasachadh %{date} errors: in_reply_not_found: Tha coltas nach eil am post dhan a tha thu airson freagairt ann. open_in_web: Fosgail air an lìon @@ -1469,7 +1532,7 @@ gd: '2629746': Mìos '31556952': Bliadhna '5259492': 2 mhìos - '604800': 1 week + '604800': Seachdain '63113904': 2 bhliadhna '7889238': 3 mìosan min_age_label: Stairsneach aoise @@ -1484,7 +1547,7 @@ gd: tags: does_not_match_previous_name: "– chan eil seo a-rèir an ainm roimhe" terms: - body_html: '

Poileasaidh prìobhaideachd

Dè am fiosrachadh a chruinnicheas sinn?

  • Fiosrachadh bunasach a’ cunntais: Ma chlàraicheas tu leis an fhrithealaiche seo, dh’fhaoidte gun dèid iarraidh ort gun cuir thu a-steach ainm-cleachdaiche, seòladh puist-d agus facal-faire. Faodaidh tu barrachd fiosrachaidh a chur ris a’ phròifil agad ma thogras tu, can ainm-taisbeanaidh agus teacsa mu do dhèidhinn agus dealbhan pròifile ’s banna-chinn a luchdadh suas. Thèid an t-ainm-cleachdaiche, an t-ainm-taisbeanaidh, an teacsa mu do dhèidhinn agus dealbhan na pròifile ’s a bhanna-chinn a shealltainn gu poblach an-còmhnaidh.
  • Postaichean, luchd-leantainn agus fiosrachadh poblach eile: Tha liosta nan daoine air a leanas tu poblach mar a tha i dhan luchd-leantainn agad. Nuair a chuireas tu a-null teachdaireachd, thèid an t-àm ’s an ceann-latha a stòradh cho math ris an aplacaid leis an do chuir thu am foirm a-null. Faodaidh ceanglachain meadhain a bhith am broinn teachdaireachdan, can dealbhan no videothan. Tha postaichean poblach agus postaichean falaichte o liostaichean ri ’m faighinn gu poblach. Nuair a bhrosnaicheas tu post air a’ phròifil agad, ’s e fiosrachadh poblach a tha sin cuideachd. Thèid na postaichean agad a lìbhrigeadh dhan luchd-leantainn agad agus is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nuair a sguabas tu às post, thèid sin a lìbhrigeadh dhan luchd-leantainn agad cuideachd. Tha ath-bhlogachadh no dèanamh annsachd de phost eile poblach an-còmhnaidh.
  • Postaichean dìreach is dhan luchd-leantainn a-mhàin: Thèid a h-uile post a stòradh ’s a phròiseasadh air an fhrithealaiche. Thèid na postaichean dhan luchd-leantainn a-mhàin a lìbhrigeadh dhan luchd-leantainn agad agus dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost. Thèid postaichean dìreach a lìbhrigeadh dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost a-mhàin. Is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nì sinn ar dìcheall gun cuingich sinn an t-inntrigeadh dha na postaichean air na daoine a fhuair ùghdarrachadh dhaibh ach dh’fhaoidte nach dèan frithealaichean eile seo. Mar sin dheth, tha e cudromach gun doir thu sùil air na frithealaichean dhan a bhuineas an luchd-leantainn agad. Faodaidh tu roghainn a chur air no dheth a leigeas leat aontachadh ri luchd-leantainn ùra no an diùltadh a làimh. Thoir an aire gum faic rianairean an fhrithealaiche agus frithealaiche sam bith a gheibh am fiosrachadh na teachdaireachdan dhen leithid agus gur urrainn dha na faightearan glacaidhean-sgrìn no lethbhreacan dhiubh a dhèanamh no an cho-roinneadh air dòighean eile. Na co-roinn fiosrachadh cunnartach air Mastodon idir.
  • IPan is meata-dàta eile: Nuair a nì thu clàradh a-steach, clàraidh sinn an seòladh IP on a rinn thu clàradh a-steach cuide ri ainm aplacaid a’ bhrabhsair agad. Bidh a h-uile seisean clàraidh a-steach ri làimh dhut airson an lèirmheas agus an cùl-ghairm sna roghainnean. Thèid an seòladh IP as ùire a chleachd thu a stòradh suas ri 12 mhìos. Faodaidh sinn cuideachd logaichean an fhrithealaiche a chumail a ghabhas a-steach seòladh IP aig a h-uile iarrtas dhan fhrithealaiche againn.

Dè na h-adhbharan air an cleachd sinn am fiosrachadh agad?

Seo na dòighean air an cleachd sinn fiosrachadh sam bith a chruinnich sinn uat ma dh’fhaoidte:

  • Airson bun-ghleusan Mhastodon a lìbhrigeadh. Chan urrainn dhut conaltradh le susbaint càich no an t-susbaint agad fhèin a phostadh ach nuair a bhios tu air do chlàradh a-steach. Mar eisimpleir, faodaidh tu leantainn air càch ach am faic thu na postaichean aca còmhla air loidhne-ama pearsanaichte na dachaigh agad.
  • Airson cuideachadh le maorsainneachd na coimhearsnachd, can airson coimeas a dhèanamh eadar an seòladh IP agad ri feadhainn eile feuch am mothaich sinn do sheachnadh toirmisg no briseadh eile nan riaghailtean.
  • Faodaidh sinn an seòladh puist-d agad a chleachdadh airson fiosrachadh no brathan mu chonaltraidhean càich leis an t-susbaint agad no teachdaireachdan a chur thugad, airson freagairt ri ceasnachaidhean agus/no iarrtasan no ceistean eile.

Ciamar a dhìonas sinn am fiosrachadh agad?

Cuiridh sinn iomadh gleus tèarainteachd an sàs ach an glèidheadh sinn sàbhailteachd an fhiosrachaidh phearsanta agad nuair a chuireas tu gin a-steach, nuair a chuireas tu a-null e no nuair a nì thu inntrigeadh air. Am measg gleusan eile, thèid seisean a’ bhrabhsair agad cuide ris an trafaig eadar na h-aplacaidean agad ’s an API a dhìon le SSL agus thèid hais a dhèanamh dhen fhacal-fhaire agad le algairim aon-shligheach làidir. Faodaidh tu dearbhadh dà-cheumnach a chur an comas airson barrachd tèarainteachd a chur ris an inntrigeadh dhan chunntas agad.


Dè am poileasaidh cumail dàta againn?

Nì sinn ar dìcheall:

  • Nach cùm sinn logaidhean an fhrithealaiche sa bheil seòlaidhean IP nan iarrtasan uile dhan fhrithealaiche seo nas fhaide na 90 latha ma chumas sinn logaichean dhen leithid idir.
  • Nach cùm sinn na seòlaidhean IP a tha co-cheangailte ri cleachdaichean clàraichte nas fhaide na 12 mhìos.

’S urrainn dhut tasg-lann iarraidh dhen t-susbaint agad ’s a luchdadh a-nuas is gabhaidh seo a-staigh na postaichean, na ceanglachain meadhain, dealbh na pròifil agus dealbh a’ bhanna-chinn agad.

’S urrainn dhut an cunntas agad a sguabadh às gu buan uair sam bith.


An cleachd sinn briosgaidhean?

Cleachdaidh. ’S e faidhlichean beaga a tha sna briosgaidean a thar-chuireas làrach no solaraiche seirbheise gu clàr-cruaidh a’ choimpiutair agad leis a’ bhrabhsair-lìn agad (ma cheadaicheas tu sin). Bheir na briosgaidean sin comas dhan làrach gun aithnich i am brabhsair agad agus ma tha cunntas clàraichte agad, gun co-cheangail i ris a’ chunntas chlàraichte agad e.

Cleachdaidh sinn briosgaidean airson na roghainnean agad a thuigsinn ’s a ghlèidheadh gus an tadhail thu oirnn san àm ri teachd.


Am foillsich sinn fiosrachadh sam bith gu pàrtaidhean air an taobh a-muigh?

Cha reic, malairt no tar-chuir sinn fiosrachadh air a dh’aithnichear thu fhèin gu pàrtaidh sam bith air an taobh a-muigh. Cha ghabh seo a-staigh treas-phàrtaidhean earbsach a chuidicheas leinn le ruith na làraich againn, le obrachadh a’ ghnìomhachais againn no gus an t-seirbheis a thoirt leat cho fada ’s a dh’aontaicheas na treas-phàrtaidhean sin gun cùm iad am fiosrachadh dìomhair. Faodaidh sinn am fiosrachadh agad fhoillseachadh cuideachd nuair a bhios sinn dhen bheachd gu bheil am foillseachadh sin iomchaidh airson gèilleadh dhan lagh, poileasaidhean na làraich againn èigneachadh no na còraichean, an sealbh no an t-sàbhailteachd againn fhèin no aig càch a dhìon.

Dh’fhaoidte gun dèid an t-susbaint phoblach agad a luchdadh a-nuas le frithealaichean eile san lìonra. Thèid na postaichean poblach agad ’s an fheadhainn dhan luchd-leantainn a-mhàin a lìbhrigeadh dha na frithealaichean far a bheil an luchd-leantainn agad a’ còmhnaidh agus thèid na teachdaireachdan dìreach a lìbhrigeadh gu frithealaichean nam faightearan nuair a bhios iad a’ còmhnaidh air frithealaiche eile.

Nuair a dh’ùghdarraicheas tu aplacaid gun cleachd i an cunntas agad, a-rèir sgòp nan ceadan a dh’aontaicheas tu riutha, faodaidh i fiosrachadh poblach na pròifil agad, liosta na feadhna air a bhios tu a’ leantainn, an luchd-leantainn agad, na liostaichean agad, na postaichean agad uile ’s na h-annsachdan agad inntrigeadh. Chan urrainn do dh’aplacaidean an seòladh puist-d no am facal-faire agad inntrigeadh idir.


Cleachdadh na làraich leis a’ chloinn

Ma tha am frithealaiche seo san Aonadh Eòrpach (AE) no san Roinn Eaconomach na h-Eòrpa (EEA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (General Data Protection Regulation) nach cleachd thu an làrach seo.

Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (Children''s Online Privacy Protection Act)ha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (General Data Protection Regulation) nach cleachd thu an làrach seo.

Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (Children''s Online Privacy Protection Act) nach cleachd thu an làrach seo.

Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.


Atharraichean air a’ phoileasaidh phrìobhaideachd againn

Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.

Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.

Chaidh a fhreagarrachadh o thùs o phoileasaidh prìobhaideachd Discourse.

nach cleachd thu an làrach seo.

Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.


Atharraichean air a’ phoileasaidh phrìobhaideachd againn

Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.

Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.

Chaidh a fhreagarrachadh o thùs o phoileasaidh prìobhaideachd Discourse.

+ body_html: '

Poileasaidh prìobhaideachd

Dè am fiosrachadh a chruinnicheas sinn?

  • Fiosrachadh bunasach a’ cunntais: Ma chlàraicheas tu leis an fhrithealaiche seo, dh’fhaoidte gun dèid iarraidh ort gun cuir thu a-steach ainm-cleachdaiche, seòladh puist-d agus facal-faire. Faodaidh tu barrachd fiosrachaidh a chur ris a’ phròifil agad ma thogras tu, can ainm-taisbeanaidh agus teacsa mu do dhèidhinn agus dealbhan pròifile ’s banna-chinn a luchdadh suas. Thèid an t-ainm-cleachdaiche, an t-ainm-taisbeanaidh, an teacsa mu do dhèidhinn agus dealbhan na pròifile ’s a bhanna-chinn a shealltainn gu poblach an-còmhnaidh.
  • Postaichean, luchd-leantainn agus fiosrachadh poblach eile: Tha liosta nan daoine air a leanas tu poblach mar a tha i dhan luchd-leantainn agad. Nuair a chuireas tu a-null teachdaireachd, thèid an t-àm ’s an ceann-latha a stòradh cho math ris an aplacaid leis an do chuir thu am foirm a-null. Faodaidh ceanglachain meadhain a bhith am broinn teachdaireachdan, can dealbhan no videothan. Tha postaichean poblach agus postaichean falaichte o liostaichean ri ’m faighinn gu poblach. Nuair a bhrosnaicheas tu post air a’ phròifil agad, ’s e fiosrachadh poblach a tha sin cuideachd. Thèid na postaichean agad a lìbhrigeadh dhan luchd-leantainn agad agus is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nuair a sguabas tu às post, thèid sin a lìbhrigeadh dhan luchd-leantainn agad cuideachd. Tha ath-bhlogachadh no dèanamh annsachd de phost eile poblach an-còmhnaidh.
  • Postaichean dìreach is dhan luchd-leantainn a-mhàin: Thèid a h-uile post a stòradh ’s a phròiseasadh air an fhrithealaiche. Thèid na postaichean dhan luchd-leantainn a-mhàin a lìbhrigeadh dhan luchd-leantainn agad agus dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost. Thèid postaichean dìreach a lìbhrigeadh dhan luchd-chleachdaidh a chaidh iomradh a dhèanamh orra sa phost a-mhàin. Is ciall dha seo gun dèid an lìbhrigeadh gu frithealaichean eile aig amannan is gun dèid lethbhreacan dhiubh a stòradh thall. Nì sinn ar dìcheall gun cuingich sinn an t-inntrigeadh dha na postaichean air na daoine a fhuair ùghdarrachadh dhaibh ach dh’fhaoidte nach dèan frithealaichean eile seo. Mar sin dheth, tha e cudromach gun doir thu sùil air na frithealaichean dhan a bhuineas an luchd-leantainn agad. Faodaidh tu roghainn a chur air no dheth a leigeas leat aontachadh ri luchd-leantainn ùra no an diùltadh a làimh. Thoir an aire gum faic rianairean an fhrithealaiche agus frithealaiche sam bith a gheibh am fiosrachadh na teachdaireachdan dhen leithid agus gur urrainn dha na faightearan glacaidhean-sgrìn no lethbhreacan dhiubh a dhèanamh no an cho-roinneadh air dòighean eile. Na co-roinn fiosrachadh cunnartach air Mastodon idir.
  • IPan is meata-dàta eile: Nuair a nì thu clàradh a-steach, clàraidh sinn an seòladh IP on a rinn thu clàradh a-steach cuide ri ainm aplacaid a’ bhrabhsair agad. Bidh a h-uile seisean clàraidh a-steach ri làimh dhut airson an lèirmheas agus an cùl-ghairm sna roghainnean. Thèid an seòladh IP as ùire a chleachd thu a stòradh suas ri 12 mhìos. Faodaidh sinn cuideachd logaichean an fhrithealaiche a chumail a ghabhas a-steach seòladh IP aig a h-uile iarrtas dhan fhrithealaiche againn.

Dè na h-adhbharan air an cleachd sinn am fiosrachadh agad?

Seo na dòighean air an cleachd sinn fiosrachadh sam bith a chruinnich sinn uat ma dh’fhaoidte:

  • Airson bun-ghleusan Mhastodon a lìbhrigeadh. Chan urrainn dhut eadar-ghnìomh a ghabhail le susbaint càich no an t-susbaint agad fhèin a phostadh ach nuair a bhios tu air do chlàradh a-steach. Mar eisimpleir, faodaidh tu leantainn air càch ach am faic thu na postaichean aca còmhla air loidhne-ama pearsanaichte na dachaigh agad.
  • Airson cuideachadh le maorsainneachd na coimhearsnachd, can airson coimeas a dhèanamh eadar an seòladh IP agad ri feadhainn eile feuch am mothaich sinn do sheachnadh toirmisg no briseadh eile nan riaghailtean.
  • Faodaidh sinn an seòladh puist-d agad a chleachdadh airson fiosrachadh no brathan mu eadar-ghnìomhan a ghabh càch leis an t-susbaint agad no teachdaireachdan a chur thugad, airson freagairt ri ceasnachaidhean agus/no iarrtasan no ceistean eile.

Ciamar a dhìonas sinn am fiosrachadh agad?

Cuiridh sinn iomadh gleus tèarainteachd an sàs ach an glèidheadh sinn sàbhailteachd an fhiosrachaidh phearsanta agad nuair a chuireas tu gin a-steach, nuair a chuireas tu a-null e no nuair a nì thu inntrigeadh air. Am measg gleusan eile, thèid seisean a’ bhrabhsair agad cuide ris an trafaig eadar na h-aplacaidean agad ’s an API a dhìon le SSL agus thèid hais a dhèanamh dhen fhacal-fhaire agad le algairim aon-shligheach làidir. Faodaidh tu dearbhadh dà-cheumnach a chur an comas airson barrachd tèarainteachd a chur ris an inntrigeadh dhan chunntas agad.


Dè am poileasaidh cumail dàta againn?

Nì sinn ar dìcheall:

  • Nach cùm sinn logaidhean an fhrithealaiche sa bheil seòlaidhean IP nan iarrtasan uile dhan fhrithealaiche seo nas fhaide na 90 latha ma chumas sinn logaichean dhen leithid idir.
  • Nach cùm sinn na seòlaidhean IP a tha co-cheangailte ri cleachdaichean clàraichte nas fhaide na 12 mhìos.

’S urrainn dhut tasg-lann iarraidh dhen t-susbaint agad ’s a luchdadh a-nuas is gabhaidh seo a-staigh na postaichean, na ceanglachain meadhain, dealbh na pròifil agus dealbh a’ bhanna-chinn agad.

’S urrainn dhut an cunntas agad a sguabadh às gu buan uair sam bith.


An cleachd sinn briosgaidhean?

Cleachdaidh. ’S e faidhlichean beaga a tha sna briosgaidean a thar-chuireas làrach no solaraiche seirbheise gu clàr-cruaidh a’ choimpiutair agad leis a’ bhrabhsair-lìn agad (ma cheadaicheas tu sin). Bheir na briosgaidean sin comas dhan làrach gun aithnich i am brabhsair agad agus ma tha cunntas clàraichte agad, gun co-cheangail i ris a’ chunntas chlàraichte agad e.

Cleachdaidh sinn briosgaidean airson na roghainnean agad a thuigsinn ’s a ghlèidheadh gus an tadhail thu oirnn san àm ri teachd.


Am foillsich sinn fiosrachadh sam bith gu pàrtaidhean air an taobh a-muigh?

Cha reic, malairt no tar-chuir sinn fiosrachadh air a dh’aithnichear thu fhèin gu pàrtaidh sam bith air an taobh a-muigh. Cha ghabh seo a-staigh treas-phàrtaidhean earbsach a chuidicheas leinn le ruith na làraich againn, le obrachadh a’ ghnìomhachais againn no gus an t-seirbheis a thoirt leat cho fada ’s a dh’aontaicheas na treas-phàrtaidhean sin gun cùm iad am fiosrachadh dìomhair. Faodaidh sinn am fiosrachadh agad fhoillseachadh cuideachd nuair a bhios sinn dhen bheachd gu bheil am foillseachadh sin iomchaidh airson gèilleadh dhan lagh, poileasaidhean na làraich againn èigneachadh no na còraichean, an sealbh no an t-sàbhailteachd againn fhèin no aig càch a dhìon.

Dh’fhaoidte gun dèid an t-susbaint phoblach agad a luchdadh a-nuas le frithealaichean eile san lìonra. Thèid na postaichean poblach agad ’s an fheadhainn dhan luchd-leantainn a-mhàin a lìbhrigeadh dha na frithealaichean far a bheil an luchd-leantainn agad a’ còmhnaidh agus thèid na teachdaireachdan dìreach a lìbhrigeadh gu frithealaichean nam faightearan nuair a bhios iad a’ còmhnaidh air frithealaiche eile.

Nuair a dh’ùghdarraicheas tu aplacaid gun cleachd i an cunntas agad, a-rèir sgòp nan ceadan a dh’aontaicheas tu riutha, faodaidh i fiosrachadh poblach na pròifil agad, liosta na feadhna air a bhios tu a’ leantainn, an luchd-leantainn agad, na liostaichean agad, na postaichean agad uile ’s na h-annsachdan agad inntrigeadh. Chan urrainn do dh’aplacaidean an seòladh puist-d no am facal-faire agad inntrigeadh idir.


Cleachdadh na làraich leis a’ chloinn

Ma tha am frithealaiche seo san Aonadh Eòrpach (AE) no san Roinn Eaconomach na h-Eòrpa (EEA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (General Data Protection Regulation) nach cleachd thu an làrach seo.

Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (Children''s Online Privacy Protection Act)ha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 16 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon GDPR (General Data Protection Regulation) nach cleachd thu an làrach seo.

Ma tha am frithealaiche seo sna Stàitean Aonaichte (SAA): Tha an làrach, na batharan agus na seirbheisean againn uile ag amas air an fheadhainn a tha co-dhiù 13 bliadhnaichean a dh’aois. Ma tha thu nas òige na 16 bliadhnaichean a dh’aois, tha e riatanach fon COPPA (Children''s Online Privacy Protection Act) nach cleachd thu an làrach seo.

Dh’fhaoidte gu bheil am frithealaiche seo fo riatanasan lagha eile ma tha e ann an uachdranas laghail eile.


Atharraichean air a’ phoileasaidh phrìobhaideachd againn

Ma chuireas sinn romhainn am poileasaidh prìobhaideachd againn atharrachadh, postaichidh sinn na h-atharraichean dhan duilleag seo.

Tha an sgrìobhainn seo fo cheadachas CC-BY-SA. Chaidh ùrachadh an turas mu dheireadh an t-7mh dhen Mhart 2018.

Chaidh a fhreagarrachadh o thùs o phoileasaidh prìobhaideachd Discourse.

' title: Teirmichean na seirbheise ⁊ poileasaidh prìobhaideachd %{instance} @@ -1513,6 +1576,15 @@ gd: recovery_instructions_html: Ma chailleas tu an t-inntrigeadh dhan fhòn agad, ’s urrainn dhut fear dhe na còdan aisig gu h-ìosal a chleachdadh airson faighinn a-steach dhan chunntas agad a-rithist. Cùm na còdan aisig sàbhailte. Mar eisimpleir, ’s urrainn dhut an clò-bhualadh ’s a chumail far a bheil thu a’ cumail na sgrìobhainnean cudromach eile agad. webauthn: Iuchraichean tèarainteachd user_mailer: + appeal_approved: + action: Tadhail air a’ chunntas agad + explanation: Chaidh aontachadh ris an ath-thagradh agad air an rabhadh o %{strike_date} a chuir thu a-null %{appeal_date}. Tha deagh chliù air a’ chunntas agad a-rithist. + subject: Chaidh aontachadh ris an ath-thagradh agad o %{date} + title: Chaidh aontachadh ri ath-thagradh + appeal_rejected: + explanation: Chaidh an t-ath-thagradh agad air an rabhadh o %{strike_date} a chuir thu a-null %{appeal_date} a dhiùltadh. + subject: Chaidh an t-ath-thagradh agad o %{date} a dhiùltadh + title: Chaidh ath-thagradh a dhiùltadh backup_ready: explanation: Dh’iarr thu lethbhreac-glèidhidh slàn dhen chunntas Mastodon agad. Tha e deis ri luchdadh a-nuas a-nis! subject: Tha an tasg-lann agad deis ri luchdadh a-nuas @@ -1524,25 +1596,34 @@ gd: subject: Dearbh an oidhirp air clàradh a-steach title: Oidhirp clàraidh a-steach warning: + appeal: Cuir ath-thagradh a-null + appeal_description: Ma tha thu dhen bheachd gur e mearachd a th’ ann, ’s urrainn dhut ath-thagradh a chur a-null gun sgioba aig %{instance}. categories: spam: Spama violation: Tha an t-susbaint a’ briseadh na riaghailtean giùlain a leanas explanation: + delete_statuses: Thathar dhen bheachd gu bheil cuid dhe na postaichean agad a’ briseadh riaghailt no riaghailtean giùlain agus chaidh an toirt air falbh le maoir %{instance} an uairsin. disable: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh ach mairidh a’ phròifil ’s an dàta eile agad. Faodaidh tu lethbhreac-glèidhidh dhen dàta agad iarraidh, roghainnean a’ chunntais atharrachadh no an cunntas agad a sguabadh às. + mark_statuses_as_sensitive: Chuir maoir %{instance} comharra na frionasachd ri cuid dhe na postaichean agad. Is ciall dha seo gum feumar gnogag a thoirt air na meadhanan sna postaichean mus faicear ro-shealladh. ’S urrainn dhut fhèin comharra a chur gu bheil meadhan frionasach nuair a sgrìobhas tu post san à ri teachd. sensitive: O seo a-mach, thèid comharra na frionasachd a chur ri faidhle meadhain sam bith a luchdaicheas tu suas agus thèid am falach air cùlaibh rabhaidh a ghabhas briogadh air. silence: "’S urrainn dhut an cunntas agad a chleachdadh fhathast ach chan fhaic ach na daoine a tha a’ leantainn ort mu thràth na postaichean agad air an fhrithealaiche seo agus dh’fhaoidte gun dèid d’ às-dhùnadh o iomadh gleus luirg. Gidheadh, faodaidh càch leantainn ort a làimh fhathast." suspend: Chan urrainn dhut an cunntas agad a chleachdadh tuilleadh agus chan fhaigh thu grèim air a’ phròifil no air an dàta eile agad. ’S urrainn dhut clàradh a-steach fhathast airson lethbhreac-glèidhidh dhen dàta agad iarraidh mur dèid an dàta a thoirt air falbh an ceann 30 latha gu slàn ach cumaidh sinn cuid dhen dàta bhunasach ach nach seachain thu an cur à rèim. reason: 'Adhbhar:' + statuses: 'Iomradh air postaichean:' subject: delete_statuses: Chaidh na postaichean agad air %{acct} a thoirt air falbh disable: Chaidh an cunntas %{acct} agad a reòthadh + mark_statuses_as_sensitive: Chaidh comharra na frionasachd a chur ris na postaichean agad air %{acct} none: Rabhadh dha %{acct} + sensitive: Thèid comharra na frionasachd a chur ris na postaichean agad air %{acct} o seo a-mach silence: Chaidh an cunntas %{acct} agad a chuingeachadh suspend: Chaidh an cunntas %{acct} agad a chur à rèim title: delete_statuses: Chaidh postaichean a thoirt air falbh disable: Cunntas reòite + mark_statuses_as_sensitive: Chaidh comharra na frionasachd a chur ri postaichean none: Rabhadh + sensitive: Chaidh comharra na frionasachd a chur ri cunntas silence: Cunntas cuingichte suspend: Cunntas à rèim welcome: diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 27642844c..e28d9e018 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -165,10 +165,6 @@ gl: pending: Revisión pendente perform_full_suspension: Suspender previous_strikes: Accións previas - previous_strikes_description_html: - one: Esta conta ten un evento. - other: Esta conta ten %{count} eventos. - zero: Esta conta ten boa reputación. promote: Promocionar protocol: Protocolo public: Público @@ -527,10 +523,6 @@ gl: delivery_error_hint: Se non é posible a entrega durante %{count} días, será automáticamente marcado como non entregable. destroyed_msg: Os datos desde %{domain} están na cola para o borrado inminente. empty: Non se atopan dominios. - known_accounts: - one: "%{count} conta coñecida" - other: "%{count} contas coñecidas" - zero: Sen contas coñecidas moderation: all: Todo limited: Limitado @@ -775,6 +767,11 @@ gl: system_checks: database_schema_check: message_html: Existen migracións pendentes na base de datos. Bota man desta tarefa para facer que a aplicación funcione como se agarda dela + elasticsearch_running_check: + message_html: Non se puido conectar con Elasticsearch. Comproba que está funcionando, ou desactiva a busca por texto completo + elasticsearch_version_check: + message_html: 'Versión incompatible de Elasticsearch: %{value}' + version_comparison: Está executándose Elasticsearch %{running_version} pero requírese a %{required_version} rules_check: action: Xestionar regras do servidor message_html: Non tes definidas regras para o servidor. @@ -794,10 +791,6 @@ gl: description_html: Estas son ligazóns que actualmente están sendo compartidas por moitas contas das que o teu servidor recibe publicación. Pode ser de utilidade para as túas usuarias para saber o que acontece polo mundo. Non se mostran ligazóns de xeito público a non ser que autorices a quen as publica. Tamén podes permitir ou rexeitar ligazóns de xeito individual. disallow: Denegar ligazón disallow_provider: Denegar orixe - shared_by_over_week: - one: Compartido por unha persoa na última semana - other: Compartido por %{count} persoas na última semana - zero: Non foi compartido na última semana title: Ligazóns en voga usage_comparison: Compartido %{today} veces hoxe, comparado con %{yesterday} onte pending_review: Revisión pendente @@ -837,10 +830,6 @@ gl: trending_rank: 'En voga #%{rank}' usable: Pode ser usado usage_comparison: Utilizado %{today} veces hoxe, comparado coas %{yesterday} de onte - used_by_over_week: - one: Utilizado por unha persoa na última semana - other: Utilizado por %{count} persoas na última semana - zero: Non foi utilizado na última semana title: Tendencias warning_presets: add_new: Engadir novo diff --git a/config/locales/he.yml b/config/locales/he.yml index 67f3df609..97138fffa 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -169,17 +169,6 @@ he: remove_from_report: הסרה מהדיווח report: דווח title: ניהול - trends: - links: - shared_by_over_week: - one: שותף ע"י משתמש\ת אחד\ת בשבוע האחרון - other: שותף ע"י %{count} משתמשים בשבוע האחרון - zero: לא שותף בכלל בשבוע האחרון - tags: - used_by_over_week: - one: היה בשימוש משתמש\ת אחד\ת בשבוע האחרון - other: היה בשימוש ע"י %{count} משתמשים בשבוע האחרון - zero: לא היה בשימוש בכלל בשבוע האחרון application_mailer: settings: 'שינוי הגדרות דוא"ל: %{link}' view: 'תצוגה:' diff --git a/config/locales/hu.yml b/config/locales/hu.yml index ec2d4fa94..abe5baf48 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -170,7 +170,6 @@ hu: previous_strikes_description_html: one: Ezt a fiókot egyszer szankcionálták. other: Ezt a fiókot %{count} esetben szankcionálták. - zero: Ez a fiók makulátlan. promote: Előléptetés protocol: Protokoll public: Nyilvános @@ -532,7 +531,6 @@ hu: known_accounts: one: "%{count} ismert fiók" other: "%{count} ismert fiók" - zero: Nincs ismert fiók moderation: all: Mind limited: Korlátozott @@ -777,6 +775,11 @@ hu: system_checks: database_schema_check: message_html: Vannak esedékes adatbázis migrációink. Kérlek, futtasd őket, hogy biztosítsd, hogy az alkalmazás megfelelően működjön + elasticsearch_running_check: + message_html: Nem sikerült az Elasticsearchhöz kapcsolódni. Ellenőrizze, hogy fut-e, vagy kapcsolja ki a teljes szöveges keresést. + elasticsearch_version_check: + message_html: 'Nem kompatibilis Elasticsearch verzió: %{value}' + version_comparison: Az Elasticsearch %{running_version} fut, de %{required_version} szükséges rules_check: action: Szerver szabályok menedzselése message_html: Még nem definiáltál egy szerver szabályt sem. @@ -797,9 +800,8 @@ hu: disallow: Hivatkozás letiltása disallow_provider: Közzétevő letiltása shared_by_over_week: - one: Egy ember osztotta meg az elmúlt héten - other: "%{count} ember osztotta meg az elmúlt héten" - zero: Senki sem osztotta meg az elmúlt héten + one: Egy ember osztotta meg a múlt héten + other: "%{count} ember osztotta meg a múlt héten" title: Felkapott hivatkozások usage_comparison: "%{today} alkalommal lett ma megosztva, a tegnapi %{yesterday} alkalomhoz képest" pending_review: Áttekintésre vár @@ -842,7 +844,6 @@ hu: used_by_over_week: one: Egy ember használta a múlt héten other: "%{count} ember használta a múlt héten" - zero: Senki sem használta a múlt héten title: Trendek warning_presets: add_new: Új hozzáadása diff --git a/config/locales/id.yml b/config/locales/id.yml index 63b9066ce..ccb71ebdd 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -160,9 +160,7 @@ id: perform_full_suspension: Lakukan suspen penuh previous_strikes: Peringatan sebelumnya previous_strikes_description_html: - one: Akun ini mendapatkan satu peringatan. - other: Akun ini mendapatkan %{count} peringatan. - zero: Akun ini status bagus. + other: Akun ini mendapatkan %{count} hukuman. promote: Promosikan protocol: Protokol public: Publik @@ -515,9 +513,7 @@ id: destroyed_msg: Data dari %{domain} masuk antrean dihapus dalam waktu dekat. empty: Domain tidak ditemukan. known_accounts: - one: "%{count} akun dikenal" - other: "%{count} akun dikenal" - zero: Tidak ada akun yang dikenal + other: "%{count} akun yang dikenal" moderation: all: Semua limited: Terbatas @@ -761,6 +757,11 @@ id: system_checks: database_schema_check: message_html: Ada proses migrasi basis data tertunda. Silakan jalankan untuk memastikan aplikasi bekerja seperti yang diharapkan + elasticsearch_running_check: + message_html: Tidak dapat tersambung ke Elasticsearch. Pastikan itu berjalan, atau nonaktifkan pencarian teks penuh + elasticsearch_version_check: + message_html: 'Versi Elasticsearch tidak kompatibel: %{value}' + version_comparison: Elasticsearch %{running_version} sedang berjalan, sementara yang diwajibkan adalah %{required_version} rules_check: action: Kelola aturan server message_html: Anda belum menentukan aturan server apapun. @@ -781,9 +782,7 @@ id: disallow: Batalkan izin tautan disallow_provider: Batalkan izin penerbit shared_by_over_week: - one: Dibagikan oleh satu orang lebih dari seminggu lalu - other: Dibagikan oleh %{count} orang lebih dari seminggu lalu - zero: Tidak dibagikan siapapun lebih dari seminggu lalu + other: Dibagikan oleh %{count} orang selama seminggu terakhir title: Tautan sedang tren usage_comparison: Dibagikan %{today} kali hari ini, dibandingkan %{yesterday} kemarin pending_review: Tinjauan tertunda @@ -823,9 +822,7 @@ id: usable: Dapat digunakan usage_comparison: Digunakan %{today} kali hari ini, dibandingkan %{yesterday} kemarin used_by_over_week: - one: Dipakai oleh satu orang lebih dari seminggu lalu - other: Dipakai oleh %{count} orang selama seminggu terakhir - zero: Tidak dipakai siapapun lebih dari seminggu lalu + other: Digunakan oleh %{count} orang selama seminggu terakhir title: Tren warning_presets: add_new: Tambah baru diff --git a/config/locales/is.yml b/config/locales/is.yml index 92eb0e31e..910ae0b79 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -168,7 +168,6 @@ is: previous_strikes_description_html: one: Þessi notandaaðgangur er með eina refsingu. other: Þessi notandaaðgangur er með %{count} refsingar. - zero: Þessi notandaaðgangur er í góðu lagi. promote: Hækka í tign protocol: Samskiptamáti public: Opinber @@ -530,7 +529,6 @@ is: known_accounts: one: "%{count} þekktur notandaaðgangur" other: "%{count} þekktir notendaaðgangar" - zero: Enginn þekktur notandaaðgangur moderation: all: Allt limited: Takmarkað @@ -775,6 +773,11 @@ is: system_checks: database_schema_check: message_html: Það eru fyrirliggjandi yfirfærslur á gagnagrunnum. Keyrðu þær til að tryggja að forritið hegði sér eins og skyldi + elasticsearch_running_check: + message_html: Gat ekki tengst við Elasticsearch-leitina. Gakktu úr skugga um að hún sé í gangi, eða gerðu leit í öllum texta óvirka + elasticsearch_version_check: + message_html: 'Ósamhæfð útgáfa Elasticsearch-leitar: %{value}' + version_comparison: Elasticsearch %{running_version} er í gangi á meðan útgáfa %{required_version} er nauðsynleg rules_check: action: Sýsla með reglur netþjónsins message_html: Þú hefur ekki skilgreint neinar reglur fyrir netþjón. @@ -797,7 +800,6 @@ is: shared_by_over_week: one: Deilt af einum aðila síðustu vikuna other: Deilt af %{count} aðilum síðustu vikuna - zero: Ekki deilt af neinum aðila síðustu vikuna title: Vinsælir tenglar usage_comparison: Deilt %{today} sinnum í dag, samanborið við %{yesterday} í gær pending_review: Bíður eftir yfirlestri @@ -840,7 +842,6 @@ is: used_by_over_week: one: Notað af einum aðila síðustu vikuna other: Notað af %{count} aðilum síðustu vikuna - zero: Ekki notað af neinum aðila síðustu vikuna title: Tilhneiging warning_presets: add_new: Bæta við nýju diff --git a/config/locales/it.yml b/config/locales/it.yml index 5af135fbc..92cd18d1a 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -168,7 +168,6 @@ it: previous_strikes_description_html: one: Questo account ha una violazione. other: Questo account ha %{count} violazioni. - zero: Questo account ha una buona reputazione. promote: Promuovi protocol: Protocollo public: Pubblico @@ -530,7 +529,6 @@ it: known_accounts: one: "%{count} account noto" other: "%{count} account noti" - zero: Nessun account noto moderation: all: Tutto limited: Limitato @@ -775,6 +773,11 @@ it: system_checks: database_schema_check: message_html: Ci sono migrazioni del database in attesa. Sei pregato di eseguirle per assicurarti che l'applicazione si comporti come previsto + elasticsearch_running_check: + message_html: Impossibile connettersi a Elasticsearch. Verificare che sia in esecuzione o disabilitare la ricerca full-text + elasticsearch_version_check: + message_html: 'Versione Elasticsearch incompatibile: %{value}' + version_comparison: È in esecuzione la versione %{running_version} di Elasticsearch, ma è richiesta la versione %{required_version} rules_check: action: Gestisci regole del server message_html: Non hai definito alcuna regola del server. @@ -797,7 +800,6 @@ it: shared_by_over_week: one: Condiviso da una persona nell'ultima settimana other: Condiviso da %{count} persone nell'ultima settimana - zero: Condiviso da nessuno nell'ultima settimana title: Link in tendenza usage_comparison: Condiviso %{today} volte oggi, rispetto a %{yesterday} ieri pending_review: Revisione in sospeso @@ -840,7 +842,6 @@ it: used_by_over_week: one: Usato da una persona nell'ultima settimana other: Usato da %{count} persone nell'ultima settimana - zero: Usato da nessuno nell'ultima settimana title: Tendenze warning_presets: add_new: Aggiungi nuovo diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 58c4694c0..84559e499 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -474,10 +474,6 @@ ja: delivery_error_hint: "%{count} 日間配送ができない場合は、自動的に配送不可としてマークされます。" destroyed_msg: "%{domain} からのデータは、すぐに削除されるように、キューに追加されました。" empty: ドメインが見つかりませんでした。 - known_accounts: - one: 既知のアカウントが%{count}件あります - other: 既知のアカウントが%{count}件あります - zero: 既知のアカウントはありません moderation: all: すべて limited: 制限あり diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 19cabb1ce..a8e8e3622 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -162,9 +162,7 @@ ko: perform_full_suspension: 정지시키기 previous_strikes: 이전의 처벌들 previous_strikes_description_html: - one: 이 계정은 번의 처벌이 있었습니다. other: 이 계정은 %{count} 번의 처벌이 있었습니다. - zero: 이 계정은 처벌 기록이 없습니다. promote: 승급 protocol: 프로토콜 public: 공개 @@ -519,9 +517,7 @@ ko: destroyed_msg: "%{domain}의 데이터는 곧바로 지워지도록 대기열에 들어갔습니다." empty: 도메인이 하나도 없습니다. known_accounts: - one: "%{count} 개의 알려진 계정" other: "%{count} 개의 알려진 계정" - zero: 알려진 계정이 없습니다 moderation: all: 모두 limited: 제한됨 @@ -765,6 +761,11 @@ ko: system_checks: database_schema_check: message_html: 데이터베이스 마이그레이션이 대기중입니다. 응용프로그램이 예상한대로 동작할 수 있도록 마이그레이션을 실행해 주세요 + elasticsearch_running_check: + message_html: Elasticsearch에 연결할 수 없습니다. 실행중인지 확인하거나, 전문검색을 비활성화하세요 + elasticsearch_version_check: + message_html: '호환되지 않는 Elasticsearch 버전: %{value}' + version_comparison: Elasticsearch %{required_version}버전이 필요하지만 %{running_version}버전이 실행 중입니다. rules_check: action: 서버 규칙 관리 message_html: 아직 서버규칙을 정하지 않았습니다. @@ -785,9 +786,7 @@ ko: disallow: 링크 거부하기 disallow_provider: 출처 거부하기 shared_by_over_week: - one: 지난 주 동안 한 명의 사람이 공유했습니다 other: 지난 주 동안 %{count} 명의 사람들이 공유했습니다 - zero: 지난 주 동안 공유한 사람이 없습니다 title: 유행하는 링크 usage_comparison: 오늘은 %{today}회 공유되었고, 어제는 %{yesterday}회 공유되었습니다 pending_review: 심사 대기 @@ -827,9 +826,7 @@ ko: usable: 사용 가능 usage_comparison: 오늘은 %{today}회 사용되었고, 어제는 %{yesterday}회 사용되었습니다 used_by_over_week: - one: 지난 주 동안 한 명의 사람이 사용했습니다 other: 지난 주 동안 %{count} 명의 사람들이 사용했습니다 - zero: 지난 주 동안 사용한 사람이 없습니다 title: 유행 warning_presets: add_new: 새로 추가 diff --git a/config/locales/ku.yml b/config/locales/ku.yml index 7dac9ae44..1f5554f4b 100644 --- a/config/locales/ku.yml +++ b/config/locales/ku.yml @@ -168,7 +168,6 @@ ku: previous_strikes_description_html: one: Ev ajimêr yek binpêkirin kiriye. other: Ev ajimêr %{count} binpêkirin kiriye. - zero: Ev ajimêr di rewşeke baş de ye. promote: Derbasê asteke bilind be protocol: Protokol public: Gelemperî @@ -186,7 +185,7 @@ ku: send: E-nameya pejirandinê dîsa bişîne success: E-nameya pejirandinê bi awayekî serkeftî hate şandin! reset: Ji nû ve saz bike - reset_password: Pêborînê ji nû ve saz bike + reset_password: Borînpeyvê ji nû ve saz bike resubscribe: Dîsa beşdar bibe role: Maf roles: @@ -198,9 +197,9 @@ ku: search_same_email_domain: Bikarhênerên din ên bi heman navpera e-nameyê search_same_ip: Bikarhênerên din ên xwedî heman IP security_measures: - only_password: Têne pêborîn - password_and_2fa: Pêborîn û 2FA - password_and_sign_in_token: Pêborîn û navnîşana e-nameyê + only_password: Têne borînpeyv + password_and_2fa: Borînpeyv û 2FA + password_and_sign_in_token: Borînpeyv û navnîşana e-nameyê sensitive: Hêz-hestiyar sensitized: Wek hestiyar hatiye nîşankirin shared_inbox_url: URLya wergirtiyên parvekirî @@ -269,7 +268,7 @@ ku: reject_user: Bikarhêner nepejirîne remove_avatar_user: Avatarê rake reopen_report: Ragihandina ji nû ve veke - reset_password_user: Pêborînê ji nû ve saz bike + reset_password_user: Borînpeyvê ji nû ve saz bike resolve_report: Ragihandinê çareser bike sensitive_account: Ajimêra hêz-hestiyar silence_account: Ajimêrê bi sînor bike @@ -320,7 +319,7 @@ ku: reject_user_html: "%{name} tomarkirina ji %{target} nepejirand" remove_avatar_user_html: "%{name} avatara bikarhêner %{target} rakir" reopen_report_html: "%{name} ragihandina %{target} ji nû ve vekir" - reset_password_user_html: "%{name} pêborîna bikarhênerê %{target} ji nû ve saz kir" + reset_password_user_html: "%{name} borînpeyva bikarhêner %{target} ji nû ve saz kir" resolve_report_html: "%{name} ragihandina %{target} çareser kir" sensitive_account_html: "%{name} medyayê %{target} wekî hestiyarî nîşan kir" silence_account_html: "%{name} ajimêra %{target} bi sînor kir" @@ -532,7 +531,6 @@ ku: known_accounts: one: "%{count} ajimêra naskirî" other: "%{count} ajimêrên naskirî" - zero: Ajimêra naskirî tune ye moderation: all: Hemû limited: Sînorkirî @@ -777,6 +775,11 @@ ku: system_checks: database_schema_check: message_html: Koçberiyên databasê yên li bendê hene. Ji kerema xwe wan bişopîne da ku bicîh bikî ku sepan wekî ku tê hêvî kirin tevbigere + elasticsearch_running_check: + message_html: Bi Elasticsearch re nayê girêdan. Ji kerema xwe kontrol bike ku ew dixebite, an lêgerîna tev-nivîsî neçalak bike + elasticsearch_version_check: + message_html: 'Guhertoya Elasticsearch a nelihevhatî: %{value}' + version_comparison: Elasticsearch %{running_version} dixebite lê %{required_version} pêwîst e rules_check: action: Rêzikên rajekara bi rê ve bibe message_html: Te qet rêzikên rajekara diyar nekiriye. @@ -798,8 +801,7 @@ ku: disallow_provider: Mafê nede weşanger shared_by_over_week: one: Di nava hefteya dawî de ji aliyê keskekî ve hate parvekirin - other: Di nava hefteya dawî de ji aliyê %{count} kes ve hate parvekirin - zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate parvekirin + other: Di nava hefteya dawî de ji aliyê %{count} ve hate parvekirin title: Girêdanên di rojevê de usage_comparison: Îro %{today} car hate parvekirin, li gorî %{yesterday} duh pending_review: Li benda nirxandinê ye @@ -842,7 +844,6 @@ ku: used_by_over_week: one: Di nava hefteya dawî de ji aliyê kesekî ve hatiye bikaranîn other: Di nava hefteya dawî de ji %{count} kes ve hatiye bikaranîn - zero: Di nava hefteya dawî de ji aliyê kesekî ve nehate bikaranîn title: Rojev warning_presets: add_new: Yeka nû tevlî bike @@ -921,7 +922,7 @@ ku: your_token: Nîşana gihîştina te auth: apply_for_account: Daxwaza vexwendinekê bike - change_password: Pêborîn + change_password: Borînpeyv checkbox_agreement_html: Ez rêbazên rajeker û hêmanên karûbaran dipejirînim checkbox_agreement_without_rules_html: Ez hêmanên karûbaran rêbazên rajeker dipejirînim delete_account: Ajimêr jê bibe @@ -932,8 +933,8 @@ ku: suffix: Bi ajimêrekê, tu yê karibî kesan bişopînî, rojanekirinan bişînî û bi bikarhênerên ji her rajekarê Mastodon re peyaman bişînî û bêhtir! didnt_get_confirmation: Te rêwerzên pejirandinê wernegirt? dont_have_your_security_key: Kilîda te ya ewlehiyê tune ye? - forgot_password: Te pêborîna xwe jibîrkir? - invalid_reset_password_token: Ji nû ve sazkirina pêborînê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike. + forgot_password: Te borînpeyva xwe ji bîr kir? + invalid_reset_password_token: Ji nû ve sazkirina borînpeyvê nederbasdar e an jî qediya ye. Jkx daxwaza yeka nû bike. link_to_otp: Ji têlefona xwe an jî ji kodeke rizgarkirinê kodeke du-gavî binivîsine link_to_webauth: Amûra kilîta ewlehiya xwe bi kar bîne log_in_with: Têkeve bi riya @@ -948,9 +949,9 @@ ku: register: Tomar bibe registration_closed: "%{instance} endamên nû napejirîne" resend_confirmation: Rêwerên pejirandinê ji nû ve bişîne - reset_password: Pêborînê ji nû ve saz bike + reset_password: Borînpeyvê ji nû ve saz bike security: Ewlehî - set_new_password: Pêborîneke nû ji nû ve saz bike + set_new_password: Borînpeyveke nû ji nû ve saz bike setup: email_below_hint_html: Heke navnîşana e-nameya jêrîn ne rast be, tu dikarî wê li vir biguherîne û e-nameyeke pejirandinê ya nû bistîne. email_settings_hint_html: E-nameya pejirandinê ji %{email} re hate şandin. Heke ew navnîşana e-nameyê ne rast be, tu dikarî wê di sazkariyên ajimêr de biguherîne. @@ -964,7 +965,7 @@ ku: view_strikes: Binpêkirinên berê yên dijî ajimêrê xwe bibîne too_fast: Form pir zû hat şandin, dîsa biceribîne. trouble_logging_in: Têketina te de pirsgirêk çêdibe? - use_security_key: Kilîteke ewlehiyê bikar bîne + use_security_key: Kilîteke ewlehiyê bi kar bîne authorize_follow: already_following: Jixwe tu vê ajimêrê dişopînî already_requested: Jixwe te ji vê ajimêrê re daxwazîya şopandinê şandi bû @@ -979,9 +980,9 @@ ku: title: "%{acct} bişopîne" challenge: confirm: Bidomîne - hint_html: "Nîşe:Ji bo demjimêreke din em ê pêborîna te careke din ji te nexwazin." - invalid_password: Pêborîna nederbasdar - prompt: Ji bo bidomî lêborînê bipejirîne + hint_html: "Nîşe:Ji bo demjimêreke din em ê borînpeyva te careke din ji te nexwazin." + invalid_password: Borînpeyva nederbasdar + prompt: Ji bo bidomî borînpeyvê bipejirîne crypto: errors: invalid_key: ed25519 ne derbasdare ne jî Curve25519 kilîta @@ -1006,7 +1007,7 @@ ku: x_seconds: "%{count}çirke" deletes: challenge_not_passed: Zanyariyên ku te nivîsandî ne rast in - confirm_password: Pêborîna xwe ya heyî binivîsine da ku nasnameya xwe piştrast bikî + confirm_password: Borînpeyva xwe ya heyî binivîsine da ku nasnameya xwe piştrast bikî confirm_username: Navê bikarhêneriyê xwe binivîse da ku prosedurê piştrast bike proceed: Ajimêr jê bibe success_msg: Ajimêra te bi serkeftî hate jêbirin @@ -1176,10 +1177,10 @@ ku: login_activities: authentication_methods: otp: sepandina rastandina du-gavî - password: pêborîn + password: borînpeyv sign_in_token: koda ewlehiyê bo e-nameyê webauthn: kilîtên ewlehiyê - description_html: Heke çalakiya ku nas nakî dibînî, çêtir dibe ku pêborîna xwe biguherînî û rastandina du-gavî çalak bikî. + description_html: Heke çalakiya ku nas nakî dibînî, çêtir dibe ku borînpeyva xwe biguherînî û rastandina du-gavî çalak bikî. empty: Dîroka piştrastkirinê tune ye failed_sign_in_html: Hewldana têketinê ser neket bi%{method} ji %{ip} (%{browser}) de successful_sign_in_html: Bi serkeftî têketin bi %{method} ji %{ip}(%{browser}) çêbû @@ -1637,7 +1638,7 @@ ku: sign_in_token: details: 'Li vir hûrgiliyên hewldanê hene:' explanation: 'Me hewildanek têketina ajimêra te ji navnîşana IP ya nenas destnîşan kir. Ger ev tu bî, ji kerema xwe koda ewlehiyê ya jêr binivîsîne di rûpela jêpirsînê de:' - further_actions: 'Ger ev ne tu bî, ji kerema xwe re pêborîna xwe biguherîne û li ser ajimêra xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çê bikî:' + further_actions: 'Ku ev ne tu bî, ji kerema xwe re borînpeyva xwe biguherîne û li ser ajimêra xwe rastkirina du-gavî çalak bike. Tu dikarî wê ji vê derê çê bikî:' subject: Ji kerema xwe re hewldanên têketinê piştrast bike title: Hewldanên têketinê warning: @@ -1694,7 +1695,7 @@ ku: invalid_otp_token: Koda du-gavî ya nelê invalid_sign_in_token: Kilîda ewlehiyê a nelê otp_lost_help_html: Heke te gihîştina herduyan ji dest da, dibe ku tu bi %{email} re têkilî deyne - seamless_external_login: Te bi servîsekî biyanî re têketina xwe kir, ji ber vê yekê şîfre û e-name nayê bikaranîn. + seamless_external_login: Te bi rajekarke biyanî re têketina xwe kir, ji ber vê yekê borînpeyv û e-name nayê bikaranîn. signed_in_as: 'Têketin wekî:' suspicious_sign_in_confirmation: Xuya dike ku te berê têketin ji vê amûrê nekiriye, ji ber vê yekê em kodeke ewlehiyê ji navnîşana e-nameya te re dişînin da ku piştrast bikî ku tu ye an na. verification: diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 3440da7ef..d695c5191 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -169,10 +169,6 @@ lv: pending: Gaida pārskatīšanu perform_full_suspension: Apturēt previous_strikes: Iepriekšējie brīdinājumi - previous_strikes_description_html: - one: Šim kontam ir viens brīdinājums. - other: Šim kontam ir %{count} brīdinājumi. - zero: Š konta stāvoklis ir labs. promote: Veicināt protocol: Protokols public: Publisks @@ -538,10 +534,6 @@ lv: delivery_error_hint: Ja piegāde nav iespējama %{count} dienas, tā tiks automātiski atzīmēta kā nepiegādājama. destroyed_msg: Dati no %{domain} tagad ir gaidīšanas rindā, lai tos drīzumā dzēstu. empty: Domēni nav atrasti. - known_accounts: - one: "%{count} zināms konts" - other: "%{count} zināmi konti" - zero: Nav zināmu kontu moderation: all: Visas limited: Ierobežotās @@ -787,6 +779,11 @@ lv: system_checks: database_schema_check: message_html: Notiek datubāzu migrācijas. Lūdzu, palaid tās, lai nodrošinātu, ka lietojumprogramma darbojas, kā paredzēts + elasticsearch_running_check: + message_html: Nevarēja izveidot savienojumu ar Elasticsearch. Lūdzu, pārbaudi, vai tā darbojas, vai atspējo pilna teksta meklēšanu + elasticsearch_version_check: + message_html: 'Nesaderīga Elasticsearch versija: %{value}' + version_comparison: Darbojas Elasticsearch %{running_version}, tomēr ir nepieciešama %{required_version} rules_check: action: Pārvaldīt servera nosacījumus message_html: Tu neesi definējis nevienu servera nosacījumu. @@ -806,10 +803,6 @@ lv: description_html: Šīs ir saites, kuras pašlaik bieži koplieto konti, no kuriem tavs serveris redz ziņas. Tas var palīdzēt taviem lietotājiem uzzināt, kas notiek pasaulē. Kamēr tu neapstiprini izdevēju, neviena saite netiek rādīta publiski. Vari arī atļaut vai noraidīt atsevišķas saites. disallow: Neatļaut saiti disallow_provider: Neatļaut publicētāju - shared_by_over_week: - one: Pēdējās nedēļas laikā kopīgoja viena persona - other: Pēdējās nedēļas laikā kopīgoja %{count} personas - zero: Pēdējās nedēļas laikā neviens nav kopīgojis title: Populārākās saites usage_comparison: Šodien kopīgots %{today} reizes, salīdzinot ar %{yesterday} vakar pending_review: Gaida pārskatīšanu @@ -850,10 +843,6 @@ lv: trending_rank: 'Populārākie #%{rank}' usable: Var tikt lietots usage_comparison: Šodien lietots %{today} reizes, salīdzinot ar %{yesterday} vakar - used_by_over_week: - one: Pēdējās nedēļas laikā izmantoja viens cilvēks - other: Pēdējās nedēļas laikā izmantoja %{count} personas - zero: Pēdējās nedēļas laikā neviens nav izmantojis title: Tendences warning_presets: add_new: Pievienot jaunu diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 9a093f9d3..15755bde7 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -170,10 +170,6 @@ pl: pending: Oczekuje na przegląd perform_full_suspension: Zawieś previous_strikes: Poprzednie ostrzeżenia - previous_strikes_description_html: - one: To konto ma jedno ostrzeżenie. - other: To konto ma %{count} ostrzeżeń. - zero: To konto jest w dobrym stanie. promote: Podnieś uprawnienia protocol: Protokół public: Publiczne @@ -748,6 +744,11 @@ pl: system_checks: database_schema_check: message_html: Istnieją oczekujące migracje bazy danych. Uruchom je, aby upewnić się, że aplikacja działa tak, jak powinna + elasticsearch_running_check: + message_html: Nie można połączyć się z Elasticsearch. Sprawdź czy jest uruchomiony lub wyłącz wyszukiwanie pełnotekstowe + elasticsearch_version_check: + message_html: 'Niekompatybilna wersja Elasticsearch: %{value}' + version_comparison: Elasticsearch w wersji %{running_version} jest uruchomiony, ale wymagana wersja to %{required_version} rules_check: action: Zarządzaj regułami serwera message_html: Nie zdefiniowano żadnych reguł serwera. diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 912e42a7d..1d0de0d4a 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -1471,6 +1471,7 @@ pt-BR: title: delete_statuses: Publicações removidas disable: Conta bloqueada + mark_statuses_as_sensitive: Postagens marcadas como sensíveis none: Aviso silence: Conta silenciada suspend: Conta banida diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 348545cbf..05f6ebf07 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -165,10 +165,6 @@ pt-PT: pending: Pendente de revisão perform_full_suspension: Fazer suspensão completa previous_strikes: Punições anteriores - previous_strikes_description_html: - one: Esta conta tem 1 punição. - other: Esta conta tem %{count} punições. - zero: Esta conta está em situação regular. promote: Promover protocol: Protocolo public: Público @@ -527,10 +523,6 @@ pt-PT: delivery_error_hint: Se a entrega não for possível durante %{count} dias, será automaticamente marcada como não realizável. destroyed_msg: Dados de %{domain} estão agora na fila para iminente eliminação. empty: Não foram encontrados domínios. - known_accounts: - one: "%{count} conta conhecida" - other: "%{count} contas conhecidas" - zero: Nenhuma conta conhecida moderation: all: Todas limited: Limitadas @@ -775,6 +767,11 @@ pt-PT: system_checks: database_schema_check: message_html: Existem migrações de base de dados pendentes. Por favor, 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 + elasticsearch_version_check: + message_html: 'Versão de Elasticsearch incompatível: %{value}' + version_comparison: A versão de Elasticsearch %{running_version} está em execução. No entanto, é obrigatória a versão %{required_version} rules_check: action: Gerir regras da instância message_html: Não definiu nenhuma regra para a instância. @@ -794,10 +791,6 @@ pt-PT: description_html: Estes são links que atualmente estão a ser frequentemente partilhados por contas visiveis pelo seu servidor. Eles podem ajudar os seus utilizador a descobrir o que está a acontecer no mundo. Nenhum link é exibido publicamente até que aprove o editor. Também pode permitir ou rejeitar links individualmente. disallow: Não permitir link disallow_provider: Não permitir editor - shared_by_over_week: - one: Partilhado por uma pessoa na última semana - other: Partilhado por %{count} pessoas na última semana - zero: Partilhado por ninguém na última semana title: Links em destaque usage_comparison: Partilhado %{today} vezes hoje, em comparação com %{yesterday} ontem pending_review: Pendente de revisão @@ -837,10 +830,6 @@ pt-PT: trending_rank: 'Tendência #%{rank}' usable: Pode ser utilizada usage_comparison: Utilizada %{today} vezes hoje, em comparação com %{yesterday} ontem - used_by_over_week: - one: Utilizada por uma pessoa na última semana - other: Utilizada por %{count} pessoas na última semana - zero: Utilizada por ninguém na última semana title: Tendências warning_presets: add_new: Adicionar novo diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 4440f3336..d6eab2a99 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -174,9 +174,10 @@ ru: perform_full_suspension: Блокировка previous_strikes: Предыдущие замечания previous_strikes_description_html: - one: У этой учетной записи одно замечание. - other: У этой учетной записи %{count} замечания. - zero: У этой учетной записи хорошая репутация. + few: У этой учётной записи %{count} замечания. + many: У этой учётной записи %{count} замечаний. + one: У этой учётной записи одно замечание. + other: У этой учетной записи %{count} замечание. promote: Повысить protocol: Протокол public: Публичный @@ -505,9 +506,10 @@ ru: destroyed_msg: Данные для домена %{domain} поставлены в очередь на удаление. empty: Домены не найдены. known_accounts: + few: "%{count} известные учётные записи" + many: "%{count} известных учётных записей" one: "%{count} известная учётная запись" - other: "%{count} известных учётных записей" - zero: Нет известных учётных записей + other: "%{count} известная учётная запись" moderation: all: Все limited: Ограниченные @@ -748,6 +750,11 @@ ru: system_checks: database_schema_check: message_html: Есть отложенные миграции базы данных. Запустите их, чтобы убедиться, что приложение работает должным образом + elasticsearch_running_check: + message_html: Не удалось подключиться к Elasticsearch. Пожалуйста, проверьте, что он запущен, или отключите полнотекстовый поиск + elasticsearch_version_check: + message_html: 'Несовместимая версия Elasticsearch: %{value}' + version_comparison: Запущен Elasticsearch %{running_version}, а необходим %{required_version} rules_check: action: Управление правилами сервера message_html: Вы не определили правила сервера. @@ -767,9 +774,10 @@ ru: disallow: Запретить ссылку disallow_provider: Отклонить издание shared_by_over_week: + few: Поделилось %{count} человека за последнюю неделю + many: Поделилось %{count} человек за последнюю неделю one: Поделился один человек за последнюю неделю - other: Поделилось %{count} людей за последнюю неделю - zero: Никто не поделился за последнюю неделю + other: Поделился %{count} человек за последнюю неделю title: Актуальные ссылки usage_comparison: Поделились %{today} раз сегодня, по сравнению с %{yesterday} вчера pending_review: Ожидает рассмотрения @@ -797,9 +805,10 @@ ru: usable: Может использоваться usage_comparison: Использовано %{today} сегодня, для сравнения вчера %{yesterday} used_by_over_week: - one: За последнюю неделю использовано одним человеком - other: За последнюю неделю использовано %{count} людьми - zero: За последнюю неделю никто не использовал + few: За последнюю неделю использовало %{count} человека + many: За последнюю неделю использовало %{count} человек + one: За последнюю неделю использовал один человек + other: За последнюю неделю использовал %{count} человек title: Популярное warning_presets: add_new: Добавить diff --git a/config/locales/simple_form.cs.yml b/config/locales/simple_form.cs.yml index 3276b4843..233a9f6ee 100644 --- a/config/locales/simple_form.cs.yml +++ b/config/locales/simple_form.cs.yml @@ -35,6 +35,7 @@ cs: current_password: Z bezpečnostních důvodů prosím zadejte heslo současného účtu current_username: Potvrďte prosím tuto akci zadáním uživatelského jména aktuálního účtu digest: Odesíláno pouze po dlouhé době nečinnosti a pouze, pokud jste při své nepřítomnosti obdrželi osobní zprávy + discoverable: Umožnit, aby mohli váš účet objevit neznámí lidé pomocí doporučení, trendů a dalších funkcí email: Bude vám poslán potvrzovací e-mail fields: Na profilu můžete mít až 4 položky zobrazené jako tabulka header: PNG, GIF či JPG. Maximálně %{size}. Bude zmenšen na %{dimensions} px diff --git a/config/locales/simple_form.fa.yml b/config/locales/simple_form.fa.yml index 7fdd3b7a8..e3b4921cd 100644 --- a/config/locales/simple_form.fa.yml +++ b/config/locales/simple_form.fa.yml @@ -7,12 +7,12 @@ fa: account_migration: acct: نشانی username@domain را برای حسابی که می‌خواهید به آن منتقل شوید بنویسید account_warning_preset: - text: می‌توانید مانند بوق‌های معمولی کاربران دیگر را نام ببرید یا پیوند و برچسب بگذارید + text: می‌توانید مانند فرسته‌های معمولی کاربران دیگر را نام ببرید یا پیوند و برچسب بگذارید title: اختیاری. برای گیرنده قابل مشاهده نیست admin_account_action: - include_statuses: این کاربر خواهد دید که کدام بوق او موجب اقدام مدیریتی یا هشدار شده است + include_statuses: این کاربر خواهد دید که کدام فرسته او موجب اقدام مدیریتی یا هشدار شده است send_email_notification: توضیحی که کاربر می‌بینید که برای حسابش چه رخ داده است - text_html: اختیاری. می‌توانید مثل بوق‌های معمولی بنویسید. می‌توانید برای صرفه‌جویی در زمان هشدارهای ازپیش‌آماده بیفزایید + text_html: اختیاری. می‌توانید مثل فرسته‌های معمولی بنویسید. می‌توانید برای صرفه‌جویی در زمان هشدارهای ازپیش‌آماده بیفزایید type_html: با حساب %{acct} می‌خواهید چه کار کنید؟‌ types: disable: از استفادهٔ کاربر از حسابش جلوگیری می‌کند، ولی محتوایش را حذف یا پنهان نمی‌کند. @@ -26,9 +26,9 @@ fa: ends_at: اختیاری. اعلامیه در این به صورت خودکار نامنتشر خواهد شد scheduled_at: برای انتشار فوری اعلامیه، خالی بگذارید starts_at: اختیاری. در صورتی که اعلامیه‌تان محدود به بازهٔ زمانی خاصی است - text: می‌توانید مانند یک بوق‌ معمولی بنویسید. یادتان باشد که اعلامیهٔ شما فضای صفحهٔ کاربران را اشغال خواهد کرد + text: می‌توانید مانند یک فرسته‌ معمولی بنویسید. یادتان باشد که اعلامیهٔ شما فضای صفحهٔ کاربران را اشغال خواهد کرد appeal: - text: فقط یک بار می‌توانید برای اخطار اعتراض کنید + text: فقط یک بار می‌توانید برای اخطار درخواست تجدیدنظر کنید defaults: autofollow: کسانی که از راه دعوت‌نامه عضو می‌شوند به طور خودکار پیگیر شما خواهند شد avatar: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد @@ -42,20 +42,20 @@ fa: fields: شما می‌توانید تا چهار مورد را در یک جدول در نمایهٔ خود نمایش دهید header: یکی از قالب‌های PNG یا GIF یا JPG. بیشترین اندازه %{size}. تصویر به اندازهٔ %{dimensions} پیکسل تبدیل خواهد شد inbox_url: نشانی صفحهٔ اصلی رله‌ای را که می‌خواهید به کار ببرید کپی کنید - irreversible: بوق‌های پالوده به طور برگشت‌ناپذیری ناپدید می‌شوند، حتا اگر بعدها پالایه برداشته شود + irreversible: فرسته‌های پالوده به طور برگشت‌ناپذیری ناپدید می‌شوند، حتا اگر بعدها پالایه برداشته شود locale: زبان واسط کاربری، رایانامه‌ها و آگاهی‌های ارسالی locked: باید پیگیران تازه را خودتان تأیید کنید password: دست‌کم باید ۸ نویسه داشته باشد - phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای بوق‌ها مقایسه می‌شود + phrase: مستقل از کوچکی و بزرگی حروف، با متن اصلی یا هشدار محتوای فرسته‌ها مقایسه می‌شود scopes: واسط‌های برنامه‌نویسی که این برنامه به آن دسترسی دارد. اگر بالاترین سطح دسترسی را انتخاب کنید، دیگر نیازی به انتخاب سطح‌های پایینی ندارید. - setting_aggregate_reblogs: برای بازبوق‌هایی که به تازگی برایتان نمایش داده شده‌اند، بازبوق‌های بیشتر را نشان نده (فقط روی بازبوق‌های اخیر تأثیر می‌گذارد) + setting_aggregate_reblogs: برای تقویت‌هایی که به تازگی برایتان نمایش داده شده‌اند، تقویت‌های بیشتر را نمایش نده (فقط روی تقویت‌های اخیر تأثیر می‌گذارد) setting_default_sensitive: تصاویر حساس به طور پیش‌فرض پنهان هستند و می‌توانند با یک کلیک آشکار شوند setting_display_media_default: تصویرهایی را که به عنوان حساس علامت زده شده‌اند پنهان کن setting_display_media_hide_all: همیشه همهٔ عکس‌ها و ویدیوها را پنهان کن setting_display_media_show_all: همیشه تصویرهایی را که به عنوان حساس علامت زده شده‌اند را نشان بده setting_hide_network: فهرست پیگیران شما و فهرست کسانی که شما پی می‌گیرید روی نمایهٔ شما دیده نخواهد شد setting_noindex: روی نمایهٔ عمومی و صفحهٔ نوشته‌های شما تأثیر می‌گذارد - setting_show_application: برنامه‌ای که به کمک آن بوق می‌زنید، در جزئیات بوق شما نمایش خواهد یافت + setting_show_application: برنامه‌ای که به کمک آن فرسته می‌زنید، در جزئیات فرسته شما نمایش خواهد یافت setting_use_blurhash: سایه‌ها بر اساس رنگ‌های به‌کاررفته در تصویر پنهان‌شده ساخته می‌شوند ولی جزئیات تصویر در آن‌ها آشکار نیست setting_use_pending_items: به جای پیش‌رفتن خودکار در فهرست، به‌روزرسانی فهرست نوشته‌ها را پشت یک کلیک پنهان کن username: نام کاربری شما روی %{domain} یکتا خواهد بود @@ -103,7 +103,7 @@ fa: text: متن از پیش آماده‌شده title: عنوان admin_account_action: - include_statuses: بوق‌های گزارش‌شده را در ایمیل بگنجان + include_statuses: فرسته‌های گزارش‌شده را در ایمیل بگنجان send_email_notification: اطلاع‌رسانی به کاربر از راه ایمیل text: هشدار موردی type: کنش @@ -150,10 +150,10 @@ fa: password: رمز phrase: کلیدواژه یا عبارت setting_advanced_layout: فعال‌سازی رابط کاربری پیشرفته - setting_aggregate_reblogs: بازبوق‌ها را متحد کن + setting_aggregate_reblogs: تقویت‌ها را در خط‌زمانی گروه‌بندی کن setting_auto_play_gif: پخش خودکار تصویرهای متحرک - setting_boost_modal: نمایش پیغام تأیید پیش از بازبوقیدن - setting_crop_images: در بوق‌های بازنشده، تصویرها را به ابعاد ۱۶×۹ کوچک کن + setting_boost_modal: نمایش پیغام تأیید پیش از تقویت کردن + setting_crop_images: در فرسته‌های ناگسترده، تصویرها را به ابعاد ‎۱۶×۹ کوچک کن setting_default_language: زبان نوشته‌های شما setting_default_privacy: حریم خصوصی نوشته‌ها setting_default_sensitive: همیشه تصاویر را به عنوان حساس علامت بزن @@ -163,7 +163,7 @@ fa: setting_display_media_default: پیش‌فرض setting_display_media_hide_all: نهفتن همه setting_display_media_show_all: نمایش همه - setting_expand_spoilers: همیشه بوق‌هایی را که هشدار محتوا دارند کامل نشان بده + setting_expand_spoilers: همیشه فرسته‌هایی را که هشدار محتوا دارند کامل نشان بده setting_hide_network: نهفتن شبکهٔ ارتباطی setting_noindex: درخواست از موتورهای جستجوگر برای ظاهر نشدن در نتایج جستجو setting_reduce_motion: کاستن از حرکت در پویانمایی‌ها @@ -200,14 +200,14 @@ fa: sign_up_requires_approval: محدود کردن ثبت نام‌ها severity: قانون notification_emails: - appeal: شخصی به تصمیم ناظر اعتراض کرد + appeal: شخصی به تصمیم مدیر اعتراض کرد digest: فرستادن رایانامه‌های خلاصه favourite: وقتی کسی نوشتهٔ شما را پسندید ایمیل بفرست follow: وقتی کسی پیگیر شما شد ایمیل بفرست follow_request: وقتی کسی درخواست پیگیری کرد ایمیل بفرست mention: وقتی کسی از شما نام برد ایمیل بفرست pending_account: وقتی حساب تازه‌ای نیاز به بازبینی داشت ایمیل بفرست - reblog: وقتی کسی نوشتهٔ شما را بازبوقید ایمیل بفرست + reblog: وقتی کسی فرستهٔ شما را تقویت کرد ایمیل بفرست report: گزارش جدیدی فرستاده شد trending_tag: روند جدیدی نیازمند بازبینی است rule: @@ -216,7 +216,7 @@ fa: listable: اجازه به این برچسب برای ظاهر شدن در جست‌وجوها و پیشنهادها name: برچسب trendable: بگذارید که این برچسب در موضوعات پرطرفدار دیده شود - usable: بگذارید که این برچسب در بوق‌ها به کار بروند + usable: بگذارید که این برچسب در فرسته‌ها به کار بروند 'no': خیر recommended: توصیه می‌شود required: diff --git a/config/locales/simple_form.gd.yml b/config/locales/simple_form.gd.yml index ac71f8307..31b636344 100644 --- a/config/locales/simple_form.gd.yml +++ b/config/locales/simple_form.gd.yml @@ -27,6 +27,8 @@ gd: scheduled_at: Fàg seo bàn airson am brath-fios fhoillseachadh sa bhad starts_at: Roghainnean. Cleachd seo airson am brath-fios a chuingeachadh rè ama shònraichte text: "’S urrainn dhut co-chàradh puist a chleachdadh. Thoir an aire air am meud a chaitheas am brath-fios air sgrìn an luchd-chleachdaidh" + appeal: + text: Chan urrainn dhut ath-thagradh a dhèanamh air rabhadh ach aon turas defaults: autofollow: Leanaidh na daoine a chlàraicheas leis a cuireadh ort gu fèin-obrachail avatar: PNG, GIF or JPG. %{size} air a char as motha. Thèid a sgèileadh sìos gu %{dimensions}px @@ -35,6 +37,7 @@ gd: current_password: A chùm tèarainteachd, cuir a-steach facal-faire a’ chunntais làithrich current_username: Airson seo a dhearbhadh, cuir a-steach ainm-cleachdaiche a’ chunntais làithrich digest: Cha dèid seo a chur ach nuair a bhios tu air ùine mhòr gun ghnìomh a ghabhail agus ma fhuair thu teachdaireachd phearsanta fhad ’s a bha thu air falbh + discoverable: Ceadaich gun lorg coigrich an cunntas agad le taic o mholaidhean, treandaichean is gleusan eile email: Thèid post-d dearbhaidh a chur thugad fields: Faodaidh tu suas ri 4 nithean a shealltainn mar chlàr air a’ phròifil agad header: PNG, GIF or JPG. %{size} air a char as motha. Thèid a sgèileadh sìos gu %{dimensions}px @@ -60,6 +63,7 @@ gd: domain_allow: domain: "’S urrainn dhan àrainn seo dàta fhaighinn on fhrithealaiche seo agus thèid an dàta a thig a-steach uaithe a phròiseasadh ’s a stòradh" email_domain_block: + domain: Seo ainm na h-àrainne a nochdas san t-seòladh puist-d no sa chlàr MX a chleachdas e. Thèid an dearbhadh aig àm a’ chlàraidh. with_dns_records: Thèid oidhirp a dhèanamh air fuasgladh clàran DNS na h-àrainne a chaidh a thoirt seachad agus thèid na toraidhean a bhacadh cuideachd featured_tag: name: 'Mholamaid fear dhe na tagaichean seo:' @@ -116,6 +120,8 @@ gd: scheduled_at: Cuir foillseachadh air an sgeideal starts_at: Toiseach an tachartais text: Brath-fios + appeal: + text: Mìnich carson a bu chòir an caochladh a chur orra defaults: autofollow: Thoir cuireadh dhaibh airson leantainn air a’ chunntas agad avatar: Avatar @@ -194,6 +200,7 @@ gd: sign_up_requires_approval: Cuingich clàraidhean ùra severity: Riaghailt notification_emails: + appeal: Tha cuideigin ag ath-thagradh co-dhùnadh na maorsainneachd digest: Cuir puist-d le geàrr-chunntas favourite: Is annsa le cuideigin am post agad follow: Lean cuideigin ort @@ -201,6 +208,8 @@ gd: mention: Thug cuideigin iomradh ort pending_account: Tha cunntas ùr feumach air lèirmheas reblog: Bhrosnaich cuideigin am post agad + report: Chaidh gearan ùr a chur a-null + trending_tag: Tha treand ùr ri lèirmheasadh rule: text: Riaghailt tag: diff --git a/config/locales/simple_form.ku.yml b/config/locales/simple_form.ku.yml index dcf723591..09621771d 100644 --- a/config/locales/simple_form.ku.yml +++ b/config/locales/simple_form.ku.yml @@ -3,20 +3,20 @@ ku: simple_form: hints: account_alias: - acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike + acct: Ajimêrê ku tu dixwazî jê bar bikî navê bikarhêner@navpar diyar bike account_migration: - acct: Ajimêrê ku tu dixwazî bar bikî navê bikarhêner@domain diyar bike + acct: Ajimêrê ku tu dixwazî bar bikî bo wê navê bikarhêner@navpar diyar bike account_warning_preset: - text: Tu dikarî wek URLyan, hashtagan û şîroveyan, tootê ristesazî jî bikarbînî + text: Tu dikarî hevoksaziya şandiyê wekî URL, hashtag û şîroveyan, bi kar bînî title: Bi dilê xwe ye. Ji wergir re nay xûyakirin admin_account_action: - include_statuses: Bikarhênerê bibîne kîjan toot dibin sedemê çalakî an jî agahdarî + include_statuses: Bikarhêner wê bibîne kîjan şandî dibin sedemê çalakî an jî agahdarikirina çavdêriyê send_email_notification: Bikarhêner dê ravekirinê tiştê ku bi ajimêra wan re qewimî bistîne - text_html: Bi dili xwe ye. Tu dikarî hevoksazî ye toot bikarbînî. Tu dikarî pêşsazîyên hişyariyê lê zêde bikî ji bo ku demê derbas nekî + text_html: Bi dilê xwe ye. Tu dikarî hevoksaziye şandiyê bi kar bînî. Tu dikarî pêşsaziyên hişyariyê tevlî bikî ji bo ku demê derbas nekî type_html: Hilbijêre ka tu yê çi bikî bi %{acct} re types: - disable: Nehêle bila bikarhêner ajimêrê xwe bikar bîne lê naverokan jê nebe an jî veneşêre. - none: Ji bo ku tu hişyariyekê ji bikarhêner re bişînî vê bi kar bîne, bêyî ku çalakiyeke din dest lê neda. + disable: Nehêle bikarhêner ajimêrê xwe bi kar bîne lê naverokan jê nabe an jî veneşêre. + none: Ji bo ku tu hişyariyekê ji bikarhêner re bişînî vê bi kar bîne, bêyî ku çalakiyeke din bikî. sensitive: Neçar bihêle ku ev bikarhêner hemû pêvekên medyayê hestiyar nîşan bike. silence: Pêşî li bikarhêneran bigire ku bikarhêner bi herkesî ra xûyabarî neşîne, post û agahdarîyên xwe ji mirovên ku wan naşopîne veşêre. suspend: Pêşîya hevbandorîya vî ajimêrê bigire û naveroka wê jê bibe. Di nava 30 rojan de tê vegerandin. @@ -26,7 +26,7 @@ ku: ends_at: Bi dilê xwe ye. Daxuyanî di vê demê de bi xweberî ji weşanê de rabe scheduled_at: Vala bihêle ku yekcar daxûyanî were weşandin starts_at: Bi dilê xwe ye. Heke daxûyanî ya te di demeke diyar ve girêdayî be - text: Tu dikarî hevoksazî yên toot bikarbînî. Ji kerema xwe cihê ku ev daxuyanî li ser dîmenderê bikarhêner bigire baldar be + text: Tu dikarî hevoksaziya şandiyê bi kar bînî. Ji kerema xwe bila haya te ji cihê ku ev daxuyanî li ser dîmenderê bikarhêner bigire hebe appeal: text: Tu dikarî tenê carekê îtîraza binpêkirinê bikî defaults: @@ -34,7 +34,7 @@ ku: avatar: PNG, GIF an jî JPG. Herî zêde %{size} dê ber bi %{dimensions}px ve were kêmkirin bot: Ji yên din re nîşan bike ku ajimêr bi piranî kiryarên xweberî dike û dibe ku neyê çavdêrî kirin context: Yek an jî zêdetir girêdan divê parzûn were sepandin - current_password: Ji bo ewlehiyê ji kerema xwe şîfreya ajimêrê xwe niha têkevin + current_password: Ji bo ewlehiyê ji kerema xwe borînpeyva ajimêrê xwe têxe current_username: Ji bo piştrastkirinê, ji kerema xwe navê bikarhêner ya ajimêrê niha binvîse digest: Tenê piştî demek dirêj neçalakiyê de û tenê di nebûna te da peyamên teybetî standî be tê şandin discoverable: Mafê biden ku ajimêra te bi pêşniyar û taybetmendiyên din ji aliyê biyaniyan ve bê vedîtin @@ -42,10 +42,10 @@ ku: fields: Tu dikarî heya 4 hêmanan wekî tabloyek li ser profîla xwe nîşan bidî header: PNG, GIF an jî JPG. Herî zêde %{size} ber bi %{dimensions}px ve were kêmkirin inbox_url: URLyê di rûpela pêşî de guhêrkerê ku tu dixwazî bi kar bînî jê bigire - irreversible: Tootên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe + irreversible: Şandiyên parzûnkirî êdî bê veger wenda bibe, heger parzûn paşê were rakirin jî nabe locale: Zimanê navrûyê bikarhêner, agahdarîyên e-name û pêl kirin locked: Bi destan daxwazên şopê hilbijêrîne da ku kî bikaribe te bişopîne - password: Herî kêm 8 karakter bikar bîne + password: Herî kêm 8 tîpan bi kar bîne phrase: Ji rewşa nivîsê tîpên girdek/hûrdek an jî ji hişyariya naveroka ya şandiyê wek serbixwe wê were hevbeş kirin scopes: |- Sepana ku dê kîjan maf bide bigihije APIyan. @@ -56,7 +56,7 @@ ku: setting_display_media_hide_all: Medyayê tim veşêre setting_display_media_show_all: Medyayê tim nîşan bike setting_hide_network: Kesên ku te dişopîne û kesên tu dişopînî ev ên profîla te de were veşartin - setting_noindex: Bandor li hemî profîla te û tootên rûpela te dike + setting_noindex: Bandor li hemî profîla te û şandiyên rûpela te dike setting_show_application: Navê sepana ku tu ji bo şandinê wê bi kar tîne dê di dîtinê berferh ên di şandiyên te de were xuyakirin setting_use_blurhash: Gradyen xwe bi rengên dîtbarîyên veşartî ve radigire, lê belê hûrgilîyan diveşêre setting_use_pending_items: Li şûna ku herkê wek bixweber bizivirînî nûvekirina demnameyê li paş tikandinekî veşêre @@ -129,10 +129,10 @@ ku: avatar: Wêne bot: Ev ajimêrekî bot e chosen_languages: Parzûnê zimanan - confirm_new_password: Peborîna nû bipejirîne - confirm_password: Peborîn bipejirîne + confirm_new_password: Borînpeyva nû bipejirîne + confirm_password: Borînpeyvê bipejirîne context: Parzûnê naverokan - current_password: Pêborîna heyî + current_password: Borînpeyva heyî data: Dane discoverable: Ji yên din re ajimêrê pêşniyar bike display_name: Navê nîşandanê @@ -146,10 +146,10 @@ ku: locale: Zimanê navrûyê locked: Ajimêr kilît bike max_uses: Hejmara bikaranîna herî zêde - new_password: Pêborîna nû + new_password: Borînpeyva nû note: Jiyanname otp_attempt: Koda du faktoran - password: Pêborîn + password: Borînpeyv phrase: Peyvkilîd an jî hevok setting_advanced_layout: Navrûya tevnê yê pêşketî çalak bike setting_aggregate_reblogs: Di demnameyê de şandiyên bilindkirî kom bike @@ -169,7 +169,7 @@ ku: setting_hide_network: Grafîka xwe ya civakî veşêre setting_noindex: Bes e nexe di nav rêzên lêgerîna gerokan setting_reduce_motion: Lîstikên livoka kêm bike - setting_show_application: Sepana ku ji bo şandina toot'a tê bikaranîn diyar bike + setting_show_application: Sepana ku ji bo şandina şandiyan tê bikaranîn diyar bike setting_system_font_ui: Curenivîsa berdest a pergalê bi kar bîne setting_theme: Rûkarê malperê setting_trends: Rojeva îro nîşan bide diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml index b954b50fe..ed8420aea 100644 --- a/config/locales/simple_form.th.yml +++ b/config/locales/simple_form.th.yml @@ -20,7 +20,7 @@ th: sensitive: บังคับให้ทำเครื่องหมายไฟล์แนบสื่อของผู้ใช้นี้ทั้งหมดว่าละเอียดอ่อน silence: ป้องกันไม่ให้ผู้ใช้สามารถโพสต์โดยมีการมองเห็นเป็นสาธารณะ ซ่อนโพสต์และการแจ้งเตือนของเขาจากผู้คนที่ไม่ได้กำลังติดตามผู้ใช้ suspend: ป้องกันไม่ให้มีการโต้ตอบใด ๆ จากหรือไปยังบัญชีนี้และลบเนื้อหาของบัญชี แปลงกลับได้ภายใน 30 วัน - warning_preset_id: ไม่จำเป็น คุณยังสามารถเพิ่มข้อความที่กำหนดเองที่จุดสิ้นสุดของค่าที่ตั้งไว้ล่วงหน้า + warning_preset_id: ไม่จำเป็น คุณยังคงสามารถเพิ่มข้อความที่กำหนดเองที่จุดสิ้นสุดของค่าที่ตั้งไว้ล่วงหน้า announcement: all_day: เมื่อกาเครื่องหมาย จะแสดงเฉพาะวันที่ของช่วงเวลาเท่านั้น ends_at: ไม่จำเป็น จะเลิกเผยแพร่ประกาศที่เวลานี้โดยอัตโนมัติ diff --git a/config/locales/sq.yml b/config/locales/sq.yml index a497ef81a..560f4bff7 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -166,9 +166,8 @@ sq: perform_full_suspension: Pezulloje previous_strikes: Paralajmërime të mëparshme previous_strikes_description_html: - one: Kjo llogari ka one paralajmërim. + one: Kjo llogari ka një paralajmërim. other: Kjo llogari ka %{count} paralajmërime. - zero: Kjo llogari është në pozita të mira. promote: Promovojeni protocol: Protokoll public: Publike @@ -373,6 +372,7 @@ sq: enable: Aktivizoje enabled: I aktivizuar enabled_msg: Ai emoxhi u aktivizua me sukses + image_hint: PNG ose GIF deri në %{size} list: Vëre në listë listed: Në listë new: @@ -468,6 +468,7 @@ sq: title: Zë i ri email në listë bllokimesh no_email_domain_block_selected: S’u ndryshuan blloqe përkatësish email, ngaqë s’qe përzgjedhur ndonjë resolved_dns_records_hint_html: Emri i përkatësisë jep u përket përkatësive vijuese MX, që janë përgjegjëset për pranim email-esh. Bllokimi i një përkatësie MX do të bllokojë regjistrime nga çfarëdo adrese email që përdor të njëjtën përkatësi MX, edhe nëse emri i dukshëm i përkatësisë është i ndryshëm. Jini i kujdesshëm të mos bllokoni shërbime të njohur email-esh. + resolved_through_html: Zgjidhur përmes %{domain} title: Listë bllokimesh email-esh follow_recommendations: description_html: "Rekomandimet për ndjekje ndihmojnë përdoruesit e rinj të gjejnë shpejt lëndë me interes. Kur një përdorues nuk ka ndërvepruar mjaftueshëm me të tjerët, që të formohen rekomandime të personalizuara ndjekjeje, rekomandohen këto llogari. Ato përzgjidhen çdo ditë, prej një përzierje llogarish me shkallën më të lartë të angazhimit dhe numrin më të lartë të ndjekësve vendorë për një gjuhë të dhënë." @@ -487,6 +488,7 @@ sq: one: Përpjekje e dështuar në %{count} ditë. other: Përpjekje e dështuar në %{count} ditë të ndryshme. no_failures_recorded: S’ka dështime të regjistruara. + warning: Përpjekja e fundit për t’u lidhur me këtë shërbyes ka qenë e pasuksesshme back_to_all: Krejt back_to_limited: E kufizuar back_to_warning: Kujdes @@ -526,7 +528,6 @@ sq: known_accounts: one: "%{count} llogari e njohur" other: "%{count} llogari të njohura" - zero: Pa llogari të njohur moderation: all: Krejt limited: Të kufizuarat @@ -771,6 +772,11 @@ sq: system_checks: database_schema_check: message_html: Ka migrime bazash të dhënash pezull. Ju lutemi, kryejini, për të qenë të sigurt se aplikacioni sillet siç priteet + elasticsearch_running_check: + message_html: S’u lidh dot me Elasticsearch. Ju lutemi, kontrolloni nëse ky xhiron, ose çaktivizoni kërkimin në tërë tekstin + elasticsearch_version_check: + message_html: 'Version Elasticsearch i papërputhshëm: %{value}' + version_comparison: Xhiron Elasticsearch %{running_version}, ndërkohë që është i domosdoshëm %{required_version} rules_check: action: Administroni rregulla shërbyesi message_html: S’keni përcaktuar ndonjë rregull shërbyesi. @@ -791,9 +797,8 @@ sq: disallow: Hiq lejimin e lidhjes disallow_provider: Mos e lejo botuesin shared_by_over_week: - one: Ndarë nga një person javën e kaluar - other: Ndarë nga %{count} persona javën e kaluar - zero: E pandarë nga njeri gjatë javës së kaluar + one: Ndarë me të tjerë nga një person gjatë javës së kaluar + other: Ndarë me të tjerë nga %{count} vetë gjatë javës së kaluar title: Lidhje në modë usage_comparison: Ndarë %{today} herë sot, kundrejt %{yesterday} dje pending_review: Në pritje të shqyrtimit @@ -832,9 +837,8 @@ sq: usable: Mund të përdoret usage_comparison: Përdorur %{today} herë sot, krahasuar me %{yesterday} dje used_by_over_week: - one: Përdorur nga një persona gjatë javës së kaluar - other: Përdorur nga %{count} persona gjatë javës së kaluar - zero: E papërdorur nga njeri gjatë javës së kaluar + one: Përdorur nga një person gjatë javës së kaluar + other: Përdorur nga %{count} vetë gjatë javës së kaluar title: Në modë warning_presets: add_new: Shtoni të ri @@ -1408,6 +1412,7 @@ sq: profile: Profil relationships: Ndjekje dhe ndjekës statuses_cleanup: Fshirje e automatizuar postimesh + strikes: Paralajmërime nga moderimi two_factor_authentication: Mirëfilltësim Dyfaktorësh webauthn_authentication: Kyçe sigurie statuses: @@ -1428,6 +1433,7 @@ sq: disallowed_hashtags: one: 'përmbante një hashtag të palejuar: %{tags}' other: 'përmbante hashtag-ë të palejuar: %{tags}' + edited_at_html: Përpunuar më %{date} errors: in_reply_not_found: Gjendja të cilës po provoni t’i përgjigjeni s’duket se ekziston. open_in_web: Hape në internet diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 441044516..c8424e5f5 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -160,10 +160,6 @@ sv: pending: Inväntar granskning perform_full_suspension: Utför full avstängning previous_strikes: Tidigare varningar - previous_strikes_description_html: - one: Detta konto har en varning. - other: Detta konto har %{count} varningar. - zero: Detta konto är i gott skick. promote: Befordra protocol: Protokoll public: Offentlig diff --git a/config/locales/th.yml b/config/locales/th.yml index d6248b7a8..ce40b9517 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -156,10 +156,6 @@ th: pending: การตรวจทานที่รอดำเนินการ perform_full_suspension: ระงับ previous_strikes: การดำเนินการก่อนหน้านี้ - previous_strikes_description_html: - one: บัญชีนี้มี หนึ่ง การดำเนินการ - other: บัญชีนี้มี %{count} การดำเนินการ - zero: บัญชีนี้ อยู่ในสถานะที่ดี promote: เลื่อนขั้น protocol: โปรโตคอล public: สาธารณะ @@ -490,10 +486,6 @@ th: delivery_available: มีการจัดส่ง delivery_error_days: วันที่มีข้อผิดพลาดการจัดส่ง empty: ไม่พบโดเมน - known_accounts: - one: "%{count} บัญชีที่รู้จัก" - other: "%{count} บัญชีที่รู้จัก" - zero: ไม่มีบัญชีที่รู้จัก moderation: all: ทั้งหมด limited: จำกัดอยู่ @@ -717,6 +709,8 @@ th: suspend: "%{name} ได้ระงับบัญชีของ %{target}" appeal_approved: อุทธรณ์แล้ว system_checks: + elasticsearch_version_check: + message_html: 'รุ่น Elasticsearch ที่เข้ากันไม่ได้: %{value}' rules_check: action: จัดการกฎของเซิร์ฟเวอร์ message_html: คุณไม่ได้กำหนดกฎของเซิร์ฟเวอร์ใด ๆ @@ -735,10 +729,6 @@ th: allow_provider: อนุญาตผู้เผยแพร่ disallow: ไม่อนุญาตลิงก์ disallow_provider: ไม่อนุญาตผู้เผยแพร่ - shared_by_over_week: - one: แบ่งปันโดยหนึ่งคนในช่วงสัปดาห์ที่ผ่านมา - other: แบ่งปันโดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา - zero: ไม่มีใครแบ่งปันในช่วงสัปดาห์ที่ผ่านมา title: ลิงก์ที่กำลังนิยม usage_comparison: แบ่งปัน %{today} ครั้งวันนี้ เทียบกับ %{yesterday} เมื่อวานนี้ pending_review: การตรวจทานที่รอดำเนินการ @@ -773,10 +763,6 @@ th: trending_rank: 'กำลังนิยม #%{rank}' usable: สามารถใช้ usage_comparison: ใช้ %{today} ครั้งวันนี้ เทียบกับ %{yesterday} เมื่อวานนี้ - used_by_over_week: - one: ใช้โดยหนึ่งคนในช่วงสัปดาห์ที่ผ่านมา - other: ใช้โดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา - zero: ไม่มีใครใช้ในช่วงสัปดาห์ที่ผ่านมา title: แนวโน้ม warning_presets: add_new: เพิ่มใหม่ @@ -1439,11 +1425,12 @@ th: spam: สแปม violation: เนื้อหาละเมิดหลักเกณฑ์ชุมชนดังต่อไปนี้ explanation: - delete_statuses: มีการพบว่าบางโพสต์ของคุณละเมิดหนึ่งหลักเกณฑ์ชุมชนหรือมากกว่าและได้รับการเอาออกโดยผู้ควบคุมของ %{instance} ในเวลาต่อมา + delete_statuses: มีการพบว่าโพสต์บางส่วนของคุณละเมิดหนึ่งหลักเกณฑ์ชุมชนหรือมากกว่าและได้รับการเอาออกโดยผู้ควบคุมของ %{instance} ในเวลาต่อมา disable: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป แต่โปรไฟล์และข้อมูลอื่น ๆ ของคุณยังคงอยู่ในสภาพเดิม คุณสามารถขอข้อมูลสำรองของข้อมูลของคุณ เปลี่ยนการตั้งค่าบัญชี หรือลบบัญชีของคุณ - mark_statuses_as_sensitive: ทำเครื่องหมายบางโพสต์ของคุณว่าละเอียดอ่อนโดยผู้ควบคุมของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต + mark_statuses_as_sensitive: ทำเครื่องหมายโพสต์บางส่วนของคุณว่าละเอียดอ่อนโดยผู้ควบคุมของ %{instance} แล้ว นี่หมายความว่าผู้คนจะต้องแตะสื่อในโพสต์ก่อนที่จะแสดงตัวอย่าง คุณสามารถทำเครื่องหมายสื่อว่าละเอียดอ่อนด้วยตัวคุณเองเมื่อโพสต์ในอนาคต sensitive: จากนี้ไป จะทำเครื่องหมายไฟล์สื่อที่อัปโหลดทั้งหมดของคุณว่าละเอียดอ่อนและซ่อนอยู่หลังการคลิกไปยังคำเตือน silence: คุณยังคงสามารถใช้บัญชีของคุณแต่เฉพาะผู้คนที่กำลังติดตามคุณอยู่แล้วเท่านั้นที่จะเห็นโพสต์ของคุณในเซิร์ฟเวอร์นี้ และอาจแยกคุณออกจากคุณลักษณะการค้นพบต่าง ๆ อย่างไรก็ตาม ผู้อื่นอาจยังติดตามคุณด้วยตนเอง + suspend: คุณไม่สามารถใช้บัญชีของคุณได้อีกต่อไป และจะไม่สามารถเข้าถึงโปรไฟล์และข้อมูลอื่น ๆ ของคุณได้อีกต่อไป คุณยังคงสามารถเข้าสู่ระบบเพื่อขอข้อมูลสำรองของข้อมูลของคุณจนกว่าจะเอาข้อมูลออกอย่างสมบูรณ์ในเวลาประมาณ 30 วัน แต่เราจะเก็บรักษาข้อมูลพื้นฐานบางอย่างไว้เพื่อป้องกันไม่ให้คุณหลบเลี่ยงการระงับ reason: 'เหตุผล:' statuses: 'โพสต์ที่อ้างถึง:' subject: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 47a55326b..2733f5eba 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -165,10 +165,6 @@ tr: pending: Bekleyen yorum perform_full_suspension: Askıya al previous_strikes: Önceki eylemler - previous_strikes_description_html: - one: Bu hesap için bir eylem yapılmış. - other: Bu hesap için %{count} eylem yapılmış. - zero: Bu hesap hali iyi durumda. promote: Yükselt protocol: Protokol public: Herkese açık @@ -527,10 +523,6 @@ tr: delivery_error_hint: Eğer teslimat %{count} gün boyunca mümkün olmazsa, otomatik olarak teslim edilemiyor olarak işaretlenecek. destroyed_msg: "%{domain} alan adından veriler hemen silinmek üzere kuyruğa alındı." empty: Alan adı bulunamadı. - known_accounts: - one: "%{count} bilinen hesap" - other: "%{count} bilinen hesap" - zero: Bilinen hesap yok moderation: all: Tümü limited: Sınırlı @@ -794,10 +786,6 @@ tr: description_html: Bu bağlantılar şu anda sunucunuzun gönderilerini gördüğü hesaplarca bolca paylaşılıyor. Kullanıcılarınızın dünyada neler olduğunu görmesine yardımcı olabilir. Yayıncıyı onaylamadığınız sürece hiçbir bağlantı herkese açık yayınlanmaz. Tekil bağlantıları onaylayabilir veya reddedebilirsiniz. disallow: Bağlantıya izin verme disallow_provider: Yayıncıya izin verme - shared_by_over_week: - one: Geçen hafta bir kişi paylaştı - other: Geçen hafta %{count} kişi paylaştı - zero: Geçen hafta kimse paylaşmadı title: Öne çıkan bağlantılar usage_comparison: Bugün %{today} kere paylaşıldı, dün %{yesterday} kere paylaşılmıştı pending_review: İnceleme bekliyor @@ -837,10 +825,6 @@ tr: trending_rank: 'Öne çıkanlar #%{rank}' usable: Kullanılabilir usage_comparison: Bugün %{today} kere kullanıldı, dün %{yesterday} kere kullanılmıştı - used_by_over_week: - one: Geçen hafta bir kişi tarafından kullanıldı - other: Geçen hafta %{count} kişi tarafından kullanıldı - zero: Geçen hafta kimse tarafından kullanılmadı title: Öne çıkanlar warning_presets: add_new: Yeni ekle diff --git a/config/locales/uk.yml b/config/locales/uk.yml index ec0036226..a42f048d6 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -440,10 +440,15 @@ uk: add_new: Додати created_msg: Успішно додано поштовий домен до чорного списку delete: Видалити + dns: + types: + mx: MX-запис domain: Домен new: create: Додати домен + resolve: Розв'язати домен title: Нове блокування поштового домену + resolved_through_html: Розв'язано через %{domain} title: Чорний список поштових доменів follow_recommendations: description_html: "Слідувати рекомендаціям та допомогти новим користувачам швидко знайти цікавий вміст. Коли користувачі не взаємодіяли з іншими людьми достатньо, щоб сформувати персоналізовані рекомендації, радимо замість цього вказувати ці облікові записи. Вони щоденно переобчислюються з масиву облікових записів з найбільшою кількістю недавніх взаємодій і найбільшою кількістю місцевих підписників розраховується для цієї мови." @@ -481,10 +486,6 @@ uk: delivery_error_hint: Якщо доставляння неможливе впродовж %{count} днів, воно автоматично позначиться недоставленим. destroyed_msg: Дані з %{domain} тепер у черзі на видалення. empty: Доменів не знайдено. - known_accounts: - one: "%{count} відомий обліковий запис" - other: "%{count} відомих облікових записів" - zero: Немає відомих облікових записів moderation: all: Усі limited: Обмежені @@ -571,6 +572,7 @@ uk: forwarded: Переслано forwarded_to: Переслано до %{domain} mark_as_resolved: Відмітити як вирішену + mark_as_sensitive: Позначити делікатним mark_as_unresolved: Відмітити як невирішену no_one_assigned: Ніхто notes: @@ -745,6 +747,7 @@ uk: statuses: allow: Дозволити оприлюднення allow_account: Дозволити автора + disallow: Заборонити допис disallow_account: Заборонити автора tags: current_score: Поточний результат %{score} @@ -862,6 +865,7 @@ uk: status: account_status: Статус облікового запису confirming: Очікуємо на завершення підтвердження за допомогою електронної пошти. + functional: Ваш обліковий запис повністю робочий. pending: Ваша заява очікує на розгляд нашим персоналом. Це може зайняти деякий час. Ви отримаєте електронний лист, якщо ваша заява буде схвалена. redirecting_to: Ваш обліковий запис наразі неактивний, тому що він перенаправлений до %{acct}. too_fast: Форму подано занадто швидко, спробуйте ще раз. @@ -938,13 +942,16 @@ uk: submit: Подати апеляцію associated_report: Пов'язана скарга created_at: Застарілі + recipient: Адресант status: 'Допис #%{id}' status_removed: Допис уже вилучено з системи title: "%{action} від %{date}" title_actions: delete_statuses: Вилучення допису disable: Заморожування облікового запису + mark_statuses_as_sensitive: Позначати дописи делікатними none: Попередження + sensitive: Позначення облікового запису делікатним silence: Обмеження облікового запису suspend: Призупинення облікового запису your_appeal_approved: Вашу апеляцію було схвалено @@ -1128,6 +1135,9 @@ uk: carry_mutes_over_text: Цей користувач переїхав з %{acct}, який ви заглушили. copy_account_note_text: 'Цей користувач був переміщений з %{acct}, ось ваші попередні нотатки:' notification_mailer: + admin: + sign_up: + subject: "%{name} приєднується" digest: action: Показати усі сповіщення body: Коротко про пропущене вами з Вашого останнього входу %{since} diff --git a/config/locales/vi.yml b/config/locales/vi.yml index ea196a5cd..14e6c1c3b 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -160,9 +160,7 @@ vi: perform_full_suspension: Vô hiệu hóa previous_strikes: Lịch sử kiểm duyệt previous_strikes_description_html: - one: Người dùng này có một lần cảnh cáo. - other: Người dùng này có %{count} lần cảnh cáo. - zero: Người dùng này chưa từng bị cảnh cáo. + other: Người này bị cảnh cáo %{count} lần. promote: Chỉ định vai trò protocol: Giao thức public: Công khai @@ -230,22 +228,22 @@ vi: approve_appeal: Phê duyệt kháng cáo approve_user: Phê duyệt người dùng assigned_to_self_report: Tự xử lý báo cáo - change_email_user: Đổi email - confirm_user: Xác thực - create_account_warning: Cảnh cáo + change_email_user: Đổi email người dùng + confirm_user: Xác thực người dùng + create_account_warning: Cảnh cáo người dùng create_announcement: Tạo thông báo mới - create_custom_emoji: Tạo emoji mới - create_domain_allow: Tạo cho phép máy chủ mới - create_domain_block: Tạo chặn máy chủ mới - create_email_domain_block: Tạo chặn tên miền email mới + create_custom_emoji: Tạo emoji + create_domain_allow: Cho phép máy chủ + create_domain_block: Chặn máy chủ + create_email_domain_block: Chặn tên miền email create_ip_block: Tạo chặn IP mới - create_unavailable_domain: Tạo máy chủ không khả dụng + create_unavailable_domain: Máy chủ không khả dụng demote_user: Xóa vai trò destroy_announcement: Xóa thông báo destroy_custom_emoji: Xóa emoji - destroy_domain_allow: Xóa máy chủ cho phép - destroy_domain_block: Xóa máy chủ đã chặn - destroy_email_domain_block: Xóa tên miền email đã chặn + destroy_domain_allow: Bỏ cho phép máy chủ + destroy_domain_block: Bỏ chặn máy chủ + destroy_email_domain_block: Bỏ chặn tên miền email destroy_instance: Thanh trừng máy chủ destroy_ip_block: Xóa IP đã chặn destroy_status: Xóa tút @@ -253,10 +251,10 @@ vi: disable_2fa_user: Vô hiệu hóa 2FA disable_custom_emoji: Vô hiệu hóa emoji disable_sign_in_token_auth_user: Tắt xác thực bằng email cho người dùng - disable_user: Khóa người dùng - enable_custom_emoji: Kích hoạt Emoji + disable_user: Vô hiệu hóa đăng nhập + enable_custom_emoji: Cho phép Emoji enable_sign_in_token_auth_user: Bật xác thực bằng email cho người dùng - enable_user: Kích hoạt lại người dùng + enable_user: Bỏ vô hiệu hóa đăng nhập memorialize_account: Đánh dấu tưởng niệm promote_user: Chỉ định vai trò reject_appeal: Từ chối kháng cáo @@ -265,24 +263,24 @@ vi: reopen_report: Mở lại báo cáo reset_password_user: Đặt lại mật khẩu resolve_report: Xử lý báo cáo - sensitive_account: Đánh dấu nhạy cảm - silence_account: Đánh dấu hạn chế - suspend_account: Đánh dấu vô hiệu hóa + sensitive_account: Áp đặt nhạy cảm + silence_account: Áp đặt hạn chế + suspend_account: Áp đặt vô hiệu hóa unassigned_report: Báo cáo chưa xử lý unblock_email_account: Mở khóa địa chỉ email unsensitive_account: Bỏ nhạy cảm unsilence_account: Bỏ hạn chế unsuspend_account: Bỏ vô hiệu hóa update_announcement: Cập nhật thông báo - update_custom_emoji: Cập nhật Emoji mới + update_custom_emoji: Cập nhật Emoji update_domain_block: Cập nhật máy chủ chặn update_status: Cập nhật tút actions: approve_appeal_html: "%{name} đã phê duyệt quyết định kiểm duyệt từ %{target}" approve_user_html: "%{name} đã chấp nhận đăng ký từ %{target}" assigned_to_self_report_html: "%{name} tự xử lý báo cáo %{target}" - change_email_user_html: "%{name} đã thay đổi địa chỉ email cho %{target}" - confirm_user_html: "%{name} xác nhận địa chỉ email của người dùng %{target}" + change_email_user_html: "%{name} đã thay đổi địa chỉ email của %{target}" + confirm_user_html: "%{name} đã xác thực địa chỉ email của %{target}" create_account_warning_html: "%{name} đã gửi cảnh cáo %{target}" create_announcement_html: "%{name} tạo thông báo mới %{target}" create_custom_emoji_html: "%{name} đã tải lên biểu tượng cảm xúc mới %{target}" @@ -307,14 +305,14 @@ vi: disable_user_html: "%{name} vô hiệu hóa đăng nhập %{target}" enable_custom_emoji_html: "%{name} cho phép Emoji %{target}" enable_sign_in_token_auth_user_html: "%{name} bật xác thực email của %{target}" - enable_user_html: "%{name} mở khóa cho người dùng %{target}" + enable_user_html: "%{name} bỏ vô hiệu hóa đăng nhập %{target}" memorialize_account_html: "%{name} đã biến tài khoản %{target} thành một trang tưởng niệm" promote_user_html: "%{name} chỉ định vai trò cho %{target}" - reject_appeal_html: "%{name} đã phản đối quyết định kiểm duyệt từ %{target}" + reject_appeal_html: "%{name} đã từ chối kháng cáo của %{target}" reject_user_html: "%{name} đã từ chối đăng ký từ %{target}" remove_avatar_user_html: "%{name} đã xóa ảnh đại diện của %{target}" reopen_report_html: "%{name} mở lại báo cáo %{target}" - reset_password_user_html: "%{name} đặt lại mật khẩu của người dùng %{target}" + reset_password_user_html: "%{name} đã đặt lại mật khẩu của %{target}" resolve_report_html: "%{name} đã xử lý báo cáo %{target}" sensitive_account_html: "%{name} đánh dấu nội dung của %{target} là nhạy cảm" silence_account_html: "%{name} đã ẩn %{target}" @@ -323,15 +321,15 @@ vi: unblock_email_account_html: "%{name} mở khóa địa chỉ email của %{target}" unsensitive_account_html: "%{name} đánh dấu nội dung của %{target} là bình thường" unsilence_account_html: "%{name} đã bỏ ẩn %{target}" - unsuspend_account_html: "%{name} đã ngừng vô hiệu hóa %{target}" + unsuspend_account_html: "%{name} đã bỏ vô hiệu hóa %{target}" update_announcement_html: "%{name} cập nhật thông báo %{target}" update_custom_emoji_html: "%{name} đã cập nhật emoji %{target}" update_domain_block_html: "%{name} cập nhật chặn máy chủ %{target}" update_status_html: "%{name} cập nhật tút của %{target}" deleted_status: "(tút đã xóa)" empty: Không tìm thấy bản ghi. - filter_by_action: Lọc theo hành động - filter_by_user: Lọc theo người + filter_by_action: Theo hành động + filter_by_user: Theo người title: Nhật ký kiểm duyệt announcements: destroyed_msg: Xóa thông báo thành công! @@ -477,6 +475,7 @@ vi: other: Thất bại tạm thời vào %{count} ngày khác. no_failures_recorded: Chưa bao giờ thất bại. title: Khả dụng + warning: Lần thử cuối cùng để kết nối tới máy chủ này đã không thành công back_to_all: Toàn bộ back_to_limited: Hạn chế back_to_warning: Cảnh báo @@ -514,9 +513,7 @@ vi: destroyed_msg: Dữ liệu từ %{domain} đã lên lịch để xóa. empty: Không có máy chủ nào. known_accounts: - one: "%{count} người dùng đã biết" - other: "%{count} người dùng đã biết" - zero: Không có người dùng đã biết + other: "%{count} tài khoản đã biết" moderation: all: Tất cả limited: Hạn chế @@ -760,6 +757,11 @@ vi: system_checks: database_schema_check: message_html: Có cơ sở dữ liệu đang chờ xử lý. Xin khởi động nó để ứng dụng có thể hoạt động một cách ổn định nhất + elasticsearch_running_check: + message_html: Không thể kết nối Elasticsearch. Hãy kiểm tra xem nó có đang chạy, hay tìm kiếm full-text bị tắt + elasticsearch_version_check: + message_html: 'Phiên bản Elasticsearch không tương thích: %{value}' + version_comparison: Đang dùng Elasticsearch %{running_version} trong khi bắt buộc phải có %{required_version} rules_check: action: Sửa quy tắc máy chủ message_html: Bạn chưa cập nhật quy tắc máy chủ. @@ -780,9 +782,7 @@ vi: disallow: Cấm liên kết disallow_provider: Cấm nguồn đăng shared_by_over_week: - one: một người chia sẻ trong tuần qua - other: "%{count} người chia sẻ trong tuần qua" - zero: Không ai chia sẻ trong tuần qua + other: "%{count} người chia sẻ tuần rồi" title: Liên kết xu hướng usage_comparison: Chia sẻ %{today} lần hôm nay, so với %{yesterday} lần hôm qua pending_review: Đang chờ @@ -822,9 +822,7 @@ vi: usable: Có thể dùng usage_comparison: Dùng %{today} lần hôm nay, so với %{yesterday} hôm qua used_by_over_week: - one: Dùng bởi một người trong tuần qua - other: Dùng bởi %{count} người trong tuần qua - zero: Không ai dùng trong tuần qua + other: "%{count} người dùng tuần rồi" title: Xu hướng warning_presets: add_new: Thêm mới diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 6341b4eed..48c2ec09a 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -161,10 +161,6 @@ zh-CN: pending: 待审核 perform_full_suspension: 封禁 previous_strikes: 既往处罚 - previous_strikes_description_html: - one: 此账号有1次处罚。 - other: 此账号有%{count}次处罚。 - zero: 此账号记录良好。 promote: 升任 protocol: 协议 public: 公开页面 @@ -516,10 +512,6 @@ zh-CN: delivery_error_hint: 如果投递已不可用 %{count} 天,它将被自动标记为无法投递。 destroyed_msg: "%{domain} 中的数据现在正在排队等待被立刻删除。" empty: 暂无域名。 - known_accounts: - one: "%{count} 个已知帐户" - other: "%{count} 个已知帐户" - zero: 没有已知账户 moderation: all: 全部 limited: 受限的 @@ -782,10 +774,6 @@ zh-CN: description_html: 这些是当前此服务器可见账号的嘟文中被大量分享的链接。它可以帮助用户了解正在发生的事情。发布者获得批准前不会公开显示任何链接。你也可以批准或拒绝单个链接。 disallow: 不允许链接 disallow_provider: 不允许发布者 - shared_by_over_week: - one: 过去一周内被 1 个人分享过 - other: 过去一周内被 %{count} 个人分享过 - zero: 过去一周内未被分享过 title: 热门链接 usage_comparison: 今日被分享 %{today} 次,前一日为 %{yesterday} 次 pending_review: 待审核 @@ -824,10 +812,6 @@ zh-CN: trending_rank: '热门 #%{rank}' usable: 可以使用 usage_comparison: 今日被使用 %{today} 次,前一日为 %{yesterday} 次 - used_by_over_week: - one: 过去一周内被 1 个人使用过 - other: 过去一周内被 %{count} 个人使用过 - zero: 过去一周内未被使用过 title: 流行趋势 warning_presets: add_new: 添加新条目 diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 1b64f9893..90625c5fd 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -160,9 +160,7 @@ zh-TW: perform_full_suspension: 停權 previous_strikes: 先前的警示 previous_strikes_description_html: - one: 此帳號已有 1 次警示。 other: 此帳號已有 %{count} 次警示。 - zero: 此帳號信譽良好。 promote: 晉級 protocol: 協議 public: 公開 @@ -517,9 +515,7 @@ zh-TW: destroyed_msg: 來自 %{domain} 的資料現在正在佇列中等待刪除。 empty: 找不到網域 known_accounts: - one: "%{count} 個已知帳號" other: "%{count} 個已知帳號" - zero: 沒有已知帳號 moderation: all: 全部 limited: 限制 @@ -763,6 +759,11 @@ zh-TW: system_checks: database_schema_check: message_html: 有挂起的数据库迁移,请运行它们以确保应用程序按照预期运行。 + elasticsearch_running_check: + message_html: 無法連接 Elasticsearch。請檢查是否正在執行中,或者已關閉全文搜尋。 + elasticsearch_version_check: + message_html: 不相容的 Elasticsearch 版本:%{value} + version_comparison: Elasticsearch %{running_version} 版正在執行,需要 %{required_version} 版。 rules_check: action: 管理服务器规则 message_html: 你没有定义任何服务器规则。 @@ -783,9 +784,7 @@ zh-TW: disallow: 不允許連結 disallow_provider: 不允許發行者 shared_by_over_week: - one: 上週由 1 個人分享 - other: 上週由 %{count} 個人分享 - zero: 上週無人分享 + other: 上週被 %{count} 名使用者分享 title: 熱門連結 usage_comparison: 於今日被 %{today} 人分享,相較於昨日 %{yesterday} 人 pending_review: 等待審核中 @@ -825,9 +824,7 @@ zh-TW: usable: 可被使用 usage_comparison: 於今日被使用 %{today} 次,相較於昨日 %{yesterday} 次 used_by_over_week: - one: 上週被 1 個人使用 other: 上週被 %{count} 個人使用 - zero: 上週無人使用 title: 熱門榜 warning_presets: add_new: 新增 From 0949881355ef2a39ef66ec6c98b26cf42ae363ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:50:40 +0900 Subject: [PATCH 59/73] Bump yargs from 17.3.1 to 17.4.0 (#17834) Bumps [yargs](https://github.com/yargs/yargs) from 17.3.1 to 17.4.0. - [Release notes](https://github.com/yargs/yargs/releases) - [Changelog](https://github.com/yargs/yargs/blob/main/CHANGELOG.md) - [Commits](https://github.com/yargs/yargs/compare/v17.3.1...v17.4.0) --- updated-dependencies: - dependency-name: yargs dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 83bf03bd3..9033a2838 100644 --- a/package.json +++ b/package.json @@ -190,7 +190,7 @@ "react-test-renderer": "^16.14.0", "sass-lint": "^1.13.1", "webpack-dev-server": "^3.11.3", - "yargs": "^17.3.1" + "yargs": "^17.4.0" }, "resolutions": { "kind-of": "^6.0.3" diff --git a/yarn.lock b/yarn.lock index 394d08e59..bb7efe76b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11536,10 +11536,10 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.3.1: - version "17.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" - integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== +yargs@^17.4.0: + version "17.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00" + integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA== dependencies: cliui "^7.0.2" escalade "^3.1.1" From c6302848b474cacddb363f3576a5e7dda206a5d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:51:13 +0900 Subject: [PATCH 60/73] Bump devise-two-factor from 4.0.1 to 4.0.2 (#17892) Bumps [devise-two-factor](https://github.com/tinfoil/devise-two-factor) from 4.0.1 to 4.0.2. - [Release notes](https://github.com/tinfoil/devise-two-factor/releases) - [Changelog](https://github.com/tinfoil/devise-two-factor/blob/main/CHANGELOG.md) - [Commits](https://github.com/tinfoil/devise-two-factor/compare/v4.0.1...v4.0.2) --- updated-dependencies: - dependency-name: devise-two-factor dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cafb814a6..73b23126b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -96,7 +96,7 @@ GEM aws-sigv4 (~> 1.4) aws-sigv4 (1.4.0) aws-eventstream (~> 1, >= 1.0.2) - bcrypt (3.1.16) + bcrypt (3.1.17) better_errors (2.9.1) coderay (>= 1.0.0) erubi (>= 1.0.0) @@ -174,11 +174,11 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-two-factor (4.0.1) - activesupport (< 6.2) + devise-two-factor (4.0.2) + activesupport (< 7.1) attr_encrypted (>= 1.3, < 4, != 2) devise (~> 4.0) - railties (< 6.2) + railties (< 7.1) rotp (~> 6.0) devise_pam_authenticatable2 (9.2.0) devise (>= 4.0.0) From a2091f9daf6770833be8290834be3b50a8929493 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:51:55 +0900 Subject: [PATCH 61/73] Bump prettier from 2.6.0 to 2.6.1 (#17893) Bumps [prettier](https://github.com/prettier/prettier) from 2.6.0 to 2.6.1. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.6.0...2.6.1) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 9033a2838..36999d4ab 100644 --- a/package.json +++ b/package.json @@ -184,7 +184,7 @@ "eslint-plugin-promise": "~6.0.0", "eslint-plugin-react": "~7.29.4", "jest": "^27.5.1", - "prettier": "^2.6.0", + "prettier": "^2.6.1", "raf": "^3.4.1", "react-intl-translations-manager": "^5.0.3", "react-test-renderer": "^16.14.0", diff --git a/yarn.lock b/yarn.lock index bb7efe76b..7b9473eba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8651,10 +8651,10 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prettier@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.0.tgz#12f8f504c4d8ddb76475f441337542fa799207d4" - integrity sha512-m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A== +prettier@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" + integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" From 8d7064faeb2d90c4e09546a0ffa8d4511d3d6388 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:52:24 +0900 Subject: [PATCH 62/73] Bump @testing-library/jest-dom from 5.16.2 to 5.16.3 (#17895) Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.2 to 5.16.3. - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/jest-dom/compare/v5.16.2...v5.16.3) --- updated-dependencies: - dependency-name: "@testing-library/jest-dom" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 36999d4ab..de440c6b2 100644 --- a/package.json +++ b/package.json @@ -174,7 +174,7 @@ "ws": "^8.5.0" }, "devDependencies": { - "@testing-library/jest-dom": "^5.16.2", + "@testing-library/jest-dom": "^5.16.3", "@testing-library/react": "^12.1.4", "babel-eslint": "^10.1.0", "babel-jest": "^27.5.1", diff --git a/yarn.lock b/yarn.lock index 7b9473eba..155e9579b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1490,10 +1490,10 @@ lz-string "^1.4.4" pretty-format "^27.0.2" -"@testing-library/jest-dom@^5.16.2": - version "5.16.2" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.2.tgz#f329b36b44aa6149cd6ced9adf567f8b6aa1c959" - integrity sha512-6ewxs1MXWwsBFZXIk4nKKskWANelkdUehchEOokHsN8X7c2eKXGw+77aRV63UU8f/DTSVUPLaGxdrj4lN7D/ug== +"@testing-library/jest-dom@^5.16.3": + version "5.16.3" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.3.tgz#b76851a909586113c20486f1679ffb4d8ec27bfa" + integrity sha512-u5DfKj4wfSt6akfndfu1eG06jsdyA/IUrlX2n3pyq5UXgXMhXY+NJb8eNK/7pqPWAhCKsCGWDdDO0zKMKAYkEA== dependencies: "@babel/runtime" "^7.9.2" "@types/testing-library__jest-dom" "^5.9.1" From 560f2cc9e3c4be37e734f160f11f902c51fc82bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:52:52 +0900 Subject: [PATCH 63/73] Bump babel-loader from 8.2.3 to 8.2.4 (#17894) Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.3 to 8.2.4. - [Release notes](https://github.com/babel/babel-loader/releases) - [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel-loader/compare/v8.2.3...v8.2.4) --- updated-dependencies: - dependency-name: babel-loader dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index de440c6b2..35966f2f4 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,7 @@ "arrow-key-navigation": "^1.2.0", "autoprefixer": "^9.8.8", "axios": "^0.26.1", - "babel-loader": "^8.2.3", + "babel-loader": "^8.2.4", "babel-plugin-lodash": "^3.3.4", "babel-plugin-preval": "^5.1.0", "babel-plugin-react-intl": "^6.2.0", diff --git a/yarn.lock b/yarn.lock index 155e9579b..6b0a7979c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2361,13 +2361,13 @@ babel-jest@^27.5.1: graceful-fs "^4.2.9" slash "^3.0.0" -babel-loader@^8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" - integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== +babel-loader@^8.2.4: + version "8.2.4" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.4.tgz#95f5023c791b2e9e2ca6f67b0984f39c82ff384b" + integrity sha512-8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A== dependencies: find-cache-dir "^3.3.1" - loader-utils "^1.4.0" + loader-utils "^2.0.0" make-dir "^3.1.0" schema-utils "^2.6.5" From 64e087e0c31a804ebb9d1ffd13a84adaf8a99dbf Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 17:53:21 +0900 Subject: [PATCH 64/73] Bump concurrent-ruby from 1.1.9 to 1.1.10 (#17889) Bumps [concurrent-ruby](https://github.com/ruby-concurrency/concurrent-ruby) from 1.1.9 to 1.1.10. - [Release notes](https://github.com/ruby-concurrency/concurrent-ruby/releases) - [Changelog](https://github.com/ruby-concurrency/concurrent-ruby/blob/master/CHANGELOG.md) - [Commits](https://github.com/ruby-concurrency/concurrent-ruby/compare/v1.1.9...v1.1.10) --- updated-dependencies: - dependency-name: concurrent-ruby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 73b23126b..64e449186 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -157,7 +157,7 @@ GEM climate_control (0.2.0) coderay (1.1.3) color_diff (0.1) - concurrent-ruby (1.1.9) + concurrent-ruby (1.1.10) connection_pool (2.2.5) cose (1.0.0) cbor (~> 0.5.9) From 5b83733d327c8c944ccc995b7f9f8ab8a710d649 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 18:49:00 +0900 Subject: [PATCH 65/73] Bump capistrano from 3.16.0 to 3.17.0 (#17774) * Bump capistrano from 3.16.0 to 3.17.0 Bumps [capistrano](https://github.com/capistrano/capistrano) from 3.16.0 to 3.17.0. - [Release notes](https://github.com/capistrano/capistrano/releases) - [Commits](https://github.com/capistrano/capistrano/compare/v3.16.0...v3.17.0) --- updated-dependencies: - dependency-name: capistrano dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * 3.17.0 Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yamagishi Kazutoshi --- Gemfile | 2 +- Gemfile.lock | 4 ++-- config/deploy.rb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 0cf26980d..b29bf6818 100644 --- a/Gemfile +++ b/Gemfile @@ -137,7 +137,7 @@ group :development do gem 'brakeman', '~> 5.2', require: false gem 'bundler-audit', '~> 0.9', require: false - gem 'capistrano', '~> 3.16' + gem 'capistrano', '~> 3.17' gem 'capistrano-rails', '~> 1.6' gem 'capistrano-rbenv', '~> 2.2' gem 'capistrano-yarn', '~> 2.0' diff --git a/Gemfile.lock b/Gemfile.lock index 64e449186..c0fb74c1d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -121,7 +121,7 @@ GEM bundler (>= 1.2.0, < 3) thor (~> 1.0) byebug (11.1.3) - capistrano (3.16.0) + capistrano (3.17.0) airbrussh (>= 1.0.0) i18n rake (>= 10.0.0) @@ -732,7 +732,7 @@ DEPENDENCIES browser bullet (~> 7.0) bundler-audit (~> 0.9) - capistrano (~> 3.16) + capistrano (~> 3.17) capistrano-rails (~> 1.6) capistrano-rbenv (~> 2.2) capistrano-yarn (~> 2.0) diff --git a/config/deploy.rb b/config/deploy.rb index f642e6e59..8a2316b57 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -lock '3.16.0' +lock '3.17.0' set :repo_url, ENV.fetch('REPO', 'https://github.com/mastodon/mastodon.git') set :branch, ENV.fetch('BRANCH', 'master') From 22c19eefb11b4d8d9ef7c483443c78929d4a9733 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Mar 2022 18:58:28 +0900 Subject: [PATCH 66/73] Bump rubocop from 1.26.0 to 1.26.1 (#17891) Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.26.0 to 1.26.1. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.26.0...v1.26.1) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c0fb74c1d..d8b684ce8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -431,7 +431,7 @@ GEM openssl-signature_algorithm (0.4.0) orm_adapter (0.5.0) ox (2.14.10) - parallel (1.22.0) + parallel (1.22.1) parser (3.1.1.0) ast (~> 2.4.1) parslet (2.0.0) @@ -559,7 +559,7 @@ GEM rspec-support (3.11.0) rspec_junit_formatter (0.5.1) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.26.0) + rubocop (1.26.1) parallel (~> 1.10) parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) From cc9cd25d30e5d2b33e589c4f6f579d6002208445 Mon Sep 17 00:00:00 2001 From: Yurii Izorkin Date: Tue, 29 Mar 2022 23:16:59 +0300 Subject: [PATCH 67/73] caniuse-lite: add hash sum (#17902) --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index 6b0a7979c..f59fcc41b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2943,7 +2943,7 @@ caniuse-api@^3.0.0: caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001271, caniuse-lite@^1.0.30001286: version "1.0.30001310" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001310.tgz" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001310.tgz#da02cd07432c9eece6992689d1b84ca18139eea8" integrity sha512-cb9xTV8k9HTIUA3GnPUJCk0meUnrHL5gy5QePfDjxHyNBcnzPzrHFv5GqfP7ue5b1ZyzZL0RJboD6hQlPXjhjg== chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: From 2de5128e6658cf448b521498e687b17d83b5db02 Mon Sep 17 00:00:00 2001 From: Claire Date: Tue, 29 Mar 2022 22:55:37 +0200 Subject: [PATCH 68/73] Fix regression of status colors in actions modal in web UI (#17903) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #17900 Regression in #17844 (#17851 restored the code in the wrong place…) --- .../styles/mastodon/components.scss | 74 +++++++++---------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index d627d9557..3bd52eed3 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1009,6 +1009,43 @@ .audio-player { margin-top: 8px; } + + &.light { + .status__relative-time, + .status__visibility-icon { + color: $light-text-color; + } + + .status__display-name { + color: $inverted-text-color; + } + + .display-name { + color: $light-text-color; + + strong { + color: $inverted-text-color; + } + } + + .status__content { + color: $inverted-text-color; + + a { + color: $highlight-text-color; + } + + a.status__content__spoiler-link { + color: $primary-text-color; + background: $ui-primary-color; + + &:hover, + &:focus { + background: lighten($ui-primary-color, 8%); + } + } + } + } } .status__relative-time, @@ -1154,43 +1191,6 @@ .audio-player { margin-top: 8px; } - - &.light { - .status__relative-time, - .status__visibility-icon { - color: $light-text-color; - } - - .status__display-name { - color: $inverted-text-color; - } - - .display-name { - color: $light-text-color; - - strong { - color: $inverted-text-color; - } - } - - .status__content { - color: $inverted-text-color; - - a { - color: $highlight-text-color; - } - - a.status__content__spoiler-link { - color: $primary-text-color; - background: $ui-primary-color; - - &:hover, - &:focus { - background: lighten($ui-primary-color, 8%); - } - } - } - } } .detailed-status__meta { From 2cc7ba26715c9f3fcc81ee5d30b282b1493a2e0b Mon Sep 17 00:00:00 2001 From: Claire Date: Wed, 30 Mar 2022 10:26:51 +0200 Subject: [PATCH 69/73] Refactor `response_to_recipient?` CTE (#17899) * Optimize and clean up `response_to_recipient?` CTE Marginally improve performances, and make the CTE much more readable * Limit max depth in `response_to_recipient?` CTE --- app/services/notify_service.rb | 40 +++++++--------------------------- 1 file changed, 8 insertions(+), 32 deletions(-) diff --git a/app/services/notify_service.rb b/app/services/notify_service.rb index b1f9fd755..a90f17cfd 100644 --- a/app/services/notify_service.rb +++ b/app/services/notify_service.rb @@ -48,47 +48,23 @@ class NotifyService < BaseService return false if @notification.target_status.in_reply_to_id.nil? # Using an SQL CTE to avoid unneeded back-and-forth with SQL server in case of long threads - !Status.count_by_sql([<<-SQL.squish, id: @notification.target_status.in_reply_to_id, recipient_id: @recipient.id, sender_id: @notification.from_account.id]).zero? - WITH RECURSIVE ancestors(id, in_reply_to_id, replying_to_sender, path) AS ( - SELECT - s.id, - s.in_reply_to_id, - (CASE - WHEN s.account_id = :recipient_id THEN - EXISTS ( - SELECT * - FROM mentions m - WHERE m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id - ) - ELSE - FALSE - END), - ARRAY[s.id] + !Status.count_by_sql([<<-SQL.squish, id: @notification.target_status.in_reply_to_id, recipient_id: @recipient.id, sender_id: @notification.from_account.id, depth_limit: 100]).zero? + WITH RECURSIVE ancestors(id, in_reply_to_id, mention_id, path, depth) AS ( + SELECT s.id, s.in_reply_to_id, m.id, ARRAY[s.id], 0 FROM statuses s + LEFT JOIN mentions m ON m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id WHERE s.id = :id UNION ALL - SELECT - s.id, - s.in_reply_to_id, - (CASE - WHEN s.account_id = :recipient_id THEN - EXISTS ( - SELECT * - FROM mentions m - WHERE m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id - ) - ELSE - FALSE - END), - st.path || s.id + SELECT s.id, s.in_reply_to_id, m.id, st.path || s.id, st.depth + 1 FROM ancestors st JOIN statuses s ON s.id = st.in_reply_to_id - WHERE st.replying_to_sender IS FALSE AND NOT s.id = ANY(path) + LEFT JOIN mentions m ON m.silent = FALSE AND m.account_id = :sender_id AND m.status_id = s.id + WHERE st.mention_id IS NULL AND NOT s.id = ANY(path) AND st.depth < :depth_limit ) SELECT COUNT(*) FROM ancestors st JOIN statuses s ON s.id = st.id - WHERE st.replying_to_sender IS TRUE AND s.visibility = 3 + WHERE st.mention_id IS NOT NULL AND s.visibility = 3 SQL end From 607ce67e05885108fbcbe0e3c170718a5586044e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Mar 2022 14:34:53 +0200 Subject: [PATCH 70/73] Revert "Split build image actions (#17793)" (#17907) This reverts commit 22eeaf2645e44ea800a6e4c4acb7bf9d72211344. --- .github/workflows/build-image.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build-image.yml b/.github/workflows/build-image.yml index 0fa28aca1..75c7b54a6 100644 --- a/.github/workflows/build-image.yml +++ b/.github/workflows/build-image.yml @@ -13,9 +13,6 @@ on: jobs: build-image: runs-on: ubuntu-latest - strategy: - matrix: - os: [linux/arm64, linux/amd64] steps: - uses: actions/checkout@v2 - uses: docker/setup-qemu-action@v1 @@ -38,7 +35,7 @@ jobs: - uses: docker/build-push-action@v2 with: context: . - platforms: ${{ matrix.os }} + platforms: linux/amd64,linux/arm64 push: ${{ github.event_name != 'pull_request' }} tags: ${{ steps.meta.outputs.tags }} cache-from: type=registry,ref=tootsuite/mastodon:latest From 5554ff2a1d6f451d63d03f4eb0a740d8c91455de Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Mar 2022 14:45:52 +0200 Subject: [PATCH 71/73] Fix being able to bypass e-mail restrictions (#17909) --- app/models/user.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index f2d9c49eb..e25c0ddb0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -91,11 +91,11 @@ class User < ApplicationRecord validates :invite_request, presence: true, on: :create, if: :invite_text_required? validates :locale, inclusion: I18n.available_locales.map(&:to_s), if: :locale? - validates_with BlacklistedEmailValidator, on: :create + validates_with BlacklistedEmailValidator, if: -> { !confirmed? } validates_with EmailMxValidator, if: :validate_email_dns? validates :agreement, acceptance: { allow_nil: false, accept: [true, 'true', '1'] }, on: :create - # Those are honeypot/antispam fields + # Honeypot/anti-spam fields attr_accessor :registration_form_time, :website, :confirm_password validates_with RegistrationFormTimeValidator, on: :create From bbc7afa2a24519ac238cbcd4e8aec310a002c40e Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Mar 2022 14:46:03 +0200 Subject: [PATCH 72/73] Fix being able to post URLs longer than 4096 characters (#17908) --- app/lib/extractor.rb | 6 +++ app/validators/status_length_validator.rb | 50 +++++++++++++------ .../status_length_validator_spec.rb | 15 ++++++ 3 files changed, 57 insertions(+), 14 deletions(-) diff --git a/app/lib/extractor.rb b/app/lib/extractor.rb index ef9407864..aea60dae5 100644 --- a/app/lib/extractor.rb +++ b/app/lib/extractor.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true module Extractor + MAX_DOMAIN_LENGTH = 253 + extend Twitter::TwitterText::Extractor module_function @@ -30,6 +32,10 @@ module Extractor after = $' unless Twitter::TwitterText::Regex[:end_mention_match].match?(after) + _, domain = screen_name.split('@') + + next if domain.present? && domain.length > MAX_DOMAIN_LENGTH + start_position = match_data.char_begin(1) - 1 end_position = match_data.char_end(1) diff --git a/app/validators/status_length_validator.rb b/app/validators/status_length_validator.rb index 4c258ec16..e107912b7 100644 --- a/app/validators/status_length_validator.rb +++ b/app/validators/status_length_validator.rb @@ -3,35 +3,57 @@ class StatusLengthValidator < ActiveModel::Validator MAX_CHARS = 500 URL_PLACEHOLDER_CHARS = 23 - URL_PLACEHOLDER = "\1#{'x' * URL_PLACEHOLDER_CHARS}" + URL_PLACEHOLDER = 'x' * 23 def validate(status) return unless status.local? && !status.reblog? - @status = status - status.errors.add(:text, I18n.t('statuses.over_character_limit', max: MAX_CHARS)) if too_long? + status.errors.add(:text, I18n.t('statuses.over_character_limit', max: MAX_CHARS)) if too_long?(status) end private - def too_long? - countable_length > MAX_CHARS + def too_long?(status) + countable_length(combined_text(status)) > MAX_CHARS end - def countable_length - total_text.mb_chars.grapheme_length + def countable_length(str) + str.mb_chars.grapheme_length end - def total_text - [@status.spoiler_text, countable_text].join + def combined_text(status) + [status.spoiler_text, countable_text(status.text)].join end - def countable_text - return '' if @status.text.nil? + def countable_text(str) + return '' if str.blank? - @status.text.dup.tap do |new_text| - new_text.gsub!(FetchLinkCardService::URL_PATTERN, URL_PLACEHOLDER) - new_text.gsub!(Account::MENTION_RE, '@\2') + # To ensure that we only give length concessions to entities that + # will be correctly parsed during formatting, we go through full + # entity extraction + + entities = Extractor.remove_overlapping_entities(Extractor.extract_urls_with_indices(str, extract_url_without_protocol: false) + Extractor.extract_mentions_or_lists_with_indices(str)) + + rewrite_entities(str, entities) do |entity| + if entity[:url] + URL_PLACEHOLDER + elsif entity[:screen_name] + "@#{entity[:screen_name].split('@').first}" + end end end + + def rewrite_entities(str, entities) + entities.sort_by! { |entity| entity[:indices].first } + result = ''.dup + + last_index = entities.reduce(0) do |index, entity| + result << str[index...entity[:indices].first] + result << yield(entity) + entity[:indices].last + end + + result << str[last_index..-1] + result + end end diff --git a/spec/validators/status_length_validator_spec.rb b/spec/validators/status_length_validator_spec.rb index bef3f29f5..db9c728a8 100644 --- a/spec/validators/status_length_validator_spec.rb +++ b/spec/validators/status_length_validator_spec.rb @@ -50,6 +50,13 @@ describe StatusLengthValidator do expect(status.errors).to have_received(:add) end + it 'does not count overly long URLs as 23 characters flat' do + text = "http://example.com/valid?#{'#foo?' * 1000}" + status = double(spoiler_text: '', text: text, errors: double(add: nil), local?: true, reblog?: false) + subject.validate(status) + expect(status.errors).to have_received(:add) + end + it 'counts only the front part of remote usernames' do text = ('a' * 475) + " @alice@#{'b' * 30}.com" status = double(spoiler_text: '', text: text, errors: double(add: nil), local?: true, reblog?: false) @@ -57,5 +64,13 @@ describe StatusLengthValidator do subject.validate(status) expect(status.errors).to_not have_received(:add) end + + it 'does count both parts of remote usernames for overly long domains' do + text = "@alice@#{'b' * 500}.com" + status = double(spoiler_text: '', text: text, errors: double(add: nil), local?: true, reblog?: false) + + subject.validate(status) + expect(status.errors).to have_received(:add) + end end end From 8c7223f4eac80b5725485be742d3fa2c984f4670 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 30 Mar 2022 14:52:37 +0200 Subject: [PATCH 73/73] Bump version to 3.5.0 (#17911) --- CHANGELOG.md | 7 ++++++- lib/mastodon/version.rb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0305d148..dd0ccc5f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ Changelog All notable changes to this project will be documented in this file. -## Unreleased +## [3.5.0] - 2022-03-30 ### Added - **Add support for incoming edited posts** ([Gargron](https://github.com/mastodon/mastodon/pull/16697), [Gargron](https://github.com/mastodon/mastodon/pull/17727), [Gargron](https://github.com/mastodon/mastodon/pull/17728), [Gargron](https://github.com/mastodon/mastodon/pull/17320), [Gargron](https://github.com/mastodon/mastodon/pull/17404), [Gargron](https://github.com/mastodon/mastodon/pull/17390), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17335), [Gargron](https://github.com/mastodon/mastodon/pull/17696), [Gargron](https://github.com/mastodon/mastodon/pull/17745), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17740), [Gargron](https://github.com/mastodon/mastodon/pull/17697), [Gargron](https://github.com/mastodon/mastodon/pull/17648), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17531), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17499), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17498), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17380), [Gargron](https://github.com/mastodon/mastodon/pull/17373), [Gargron](https://github.com/mastodon/mastodon/pull/17334), [Gargron](https://github.com/mastodon/mastodon/pull/17333), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17699), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/17748)) @@ -197,6 +197,11 @@ All notable changes to this project will be documented in this file. - Fix hashtag autocomplete overriding user-typed case ([weex](https://github.com/mastodon/mastodon/pull/16460)) - Fix WebAuthn authentication setup to not prompt for PIN ([truongnmt](https://github.com/mastodon/mastodon/pull/16545)) +### Security + +- Fix being able to post URLs longer than 4096 characters ([Gargron](https://github.com/mastodon/mastodon/pull/17908)) +- Fix being able to bypass e-mail restrictions ([Gargron](https://github.com/mastodon/mastodon/pull/17909)) + ## [3.4.6] - 2022-02-03 ### Fixed diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index b1bd692a5..256a3d3b7 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -17,7 +17,7 @@ module Mastodon end def flags - 'rc3' + '' end def suffix