Compare commits

...

144 Commits

Author SHA1 Message Date
ida schmidt 97b8b23158 Merge tag 'v4.0.2' of https://github.com/mastodon/mastodon into HEAD 2022-11-15 13:43:11 -07:00
Eugen Rochko 03b0f3ac83
Bump version to 4.0.2 (#20725) 2022-11-15 03:57:18 +01:00
Eugen Rochko 43b0b2f3f4
Fix wrong directive `unsafe-wasm-eval` to `wasm-unsafe-eval` (#20729) 2022-11-15 03:39:06 +01:00
prplecake b46b7c3d5e
Use "unsafe-wasm-eval" instead of "unsafe-eval" in script-src CSP (#20606)
* Add "unsafe-eval" to script-src CSP

* Use 'unsafe-wasm-eval' instead of 'unsafe-eval'
2022-11-15 03:22:38 +01:00
dependabot[bot] b59683c156
Bump nokogiri from 1.13.8 to 1.13.9 (#20041)
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.8 to 1.13.9.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.8...v1.13.9)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-15 03:19:56 +01:00
Eugen Rochko 17bd9a87b9
Fix wrong color on mentions hidden behind content warning in web UI (#20724) 2022-11-15 02:58:00 +01:00
Claire 8c3c6dcae9
Fix filters from other users being used in the streaming service (#20719) 2022-11-15 02:09:58 +01:00
ida schmidt 6f0c1d8c28 Merge tag 'v4.0.0' of https://github.com/mastodon/mastodon into HEAD 2022-11-14 14:54:23 -07:00
Eugen Rochko 4415dd6036
Bump version to 4.0.1 (#20696) 2022-11-14 22:21:14 +01:00
Claire ccbca50a25
Fix nodes order being sometimes mangled when rewriting emoji (#20677)
* Fix front-end emoji tests

* Fix nodes order being sometimes mangled when rewriting emoji
2022-11-14 22:14:55 +01:00
Eugen Rochko fb389bd73c
Bump version to 4.0.0 (#20636) 2022-11-14 20:27:12 +01:00
Eugen Rochko 21fd25a269
Fix rate limiting for paths with formats (#20675) 2022-11-14 20:26:31 +01:00
Claire 71c92d3f56
Fix emoji substitution not applying only to text nodes in backend code (#20641)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:21 +01:00
Claire 625e086996
Fix emoji substitution not applying only to text nodes in Web UI (#20640)
Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2022-11-14 20:26:03 +01:00
Claire 2d54986a03
Fix media metadata being only editable once (#20665) 2022-11-14 17:52:31 +01:00
Eugen Rochko 75299a042c
Bump version to 4.0.0rc4 (#20634) 2022-11-14 08:50:14 +01:00
trwnh b59ce0a60f
Move V2 Filter methods under /api/v2 prefix (#20622)
* Move V2 Filter methods under /api/v2 prefix

* move over the tests too
2022-11-14 08:34:07 +01:00
Claire 457c37e47a
Fix index name in fix-duplicates task (#20632) 2022-11-14 08:33:48 +01:00
Eugen Rochko 1e83092e47
Update AUTHORS.md (#20630) 2022-11-14 08:33:24 +01:00
Eugen Rochko 552d69ad96
Fix error when invalid domain name is submitted (#19474)
Fix #19175
2022-11-14 08:07:14 +01:00
Eugen Rochko 523e106cbf
Fix style of username in navigation bar above compose form in web UI (#20628)
Regression from #20540
2022-11-14 08:06:17 +01:00
Eugen Rochko b31afc6294
Fix error when passing unknown filter param in REST API (#20626)
Fix #19156
2022-11-14 08:06:06 +01:00
Eugen Rochko 5c826c408d
Fix image type not being set after conversion for convertible image types (#20624) 2022-11-14 07:13:14 +01:00
Eugen Rochko 167d86d21d
Fix `role_ids` not accepting arrays in admin API (#20625)
Fix #19157
2022-11-14 06:56:15 +01:00
Eugen Rochko 2e2ba39abf
Fix rules with same priority being sorted non-deterministically (#20623) 2022-11-14 06:28:19 +01:00
Eugen Rochko 6da9df774e
Fix dropdown menu on profiles not being accessible on narrow screens in web UI (#20620) 2022-11-14 06:05:10 +01:00
Hampton Lintorn-Catlin 147d8bd8fc
Support UTF-8 Characters in Domains During CSV Import (#20592)
* Support UTF-8 Characters in Domains During Import

* Update Changelong
2022-11-14 05:52:13 +01:00
Matt Corallo 9d039209cc
Add `Cache-Control` header to openstack-stored files (#20610)
When storing files in S3, paperclip is configured with a Cache-Control header
indicating the file is immutable, however no such header was added when using
OpenStack storage.

Luckily Paperclip's fog integration makes this trivial, with a simple
`fog_file` `Cache-Control` default doing the trick.
2022-11-14 05:26:49 +01:00
Eugen Rochko d0b7bd4250
Fix wrong cut-off point for "Read more" in web UI (#20599) 2022-11-14 00:43:24 +01:00
Eugen Rochko 24b2c60beb
Fix icons having an image role (#20600) 2022-11-14 00:38:56 +01:00
Erik Sundell 87fbd08f74
helm: Add helm chart tests (#20394)
* helm: Fix consistent list indentation

* helm: Add helm lint and helm template tests

* helm: Add helm template --validate test

* helm: Add helm install test
2022-11-13 22:22:07 +01:00
trwnh 07229089a6
Change in-app links to keep you in-app (#20540)
* Change in-app links to keep you in-app

* refactor Permalink into Link

* rewrite link hrefs in status content

* please linter

* please linter again
2022-11-13 21:10:20 +01:00
Cees-Jan Kiewiet ad66bbed62
Add the option to configure external postgresql port (#20370)
While the normal assumption of port `5432` for a postgresql server is pretty reliable I found that DigitalOcean puts them on a somewhat random port. This adds the ability to specify the port in the helm chart.
2022-11-13 21:06:03 +01:00
Alex Nordlund 82c663300a
Helm: support statsd publishing (#20455)
* Allow statsd publishing from Helm

* Apply suggestions from code review

Co-authored-by: Erik Sundell <erik.i.sundell@gmail.com>

Co-authored-by: Erik Sundell <erik.i.sundell@gmail.com>
2022-11-13 21:05:30 +01:00
Samuel Kaiser e62b514e95
Stick batch table toolbar to the top (#20442)
Fixes #20441
2022-11-13 21:02:28 +01:00
Emily Strickland c2231539c7
Test blank account field verifiability (#20458)
* Test blank account field verifiability

This change tests the need for #20428, which ensures that we guard against a situation in which `at_xpath` returns `nil`.

* Test verifiability of blank fields for remote account profiles

This adds a counterpart test for remote account profiles' fields' verifiability when those fields are blank. I previously added the same test for local accounts.
2022-11-13 21:02:09 +01:00
Claire bd806a3090
Update fix-duplicates (#20502)
Fixes #19133
2022-11-13 21:01:38 +01:00
Nicholas La Roux a6186da983
Clean up GitHub sourced gem entry (#20542) 2022-11-13 21:00:38 +01:00
Claire cd5e98dbdb
Fix public/local timeline posts not being properly filtered (#20567)
* Fix streaming server using wrong property name for matching filters

Late in the PR, the `filter_results` property has been renamed to `filtered`,
but the change has not been reflected in the streaming server code.

* Fix filter_action attribute being an integer instead of a string
2022-11-13 20:59:49 +01:00
Claire 3d3bd344cb
Fix announcement dates not being validated client-side (#20577) 2022-11-13 20:58:54 +01:00
Arthur Isac 1af482659d
Copied Spaces support from packer .rake (#20573) 2022-11-13 20:58:40 +01:00
Eugen Rochko cf36ee99bb
New Crowdin updates (#20476)
* New translations en.json (Galician)

* New translations en.yml (Galician)

* New translations en.json (Japanese)

* New translations en.yml (Czech)

* New translations en.json (Esperanto)

* New translations en.yml (Norwegian)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Latvian)

* New translations en.json (Esperanto)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Esperanto)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Portuguese, Brazilian)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Norwegian)

* New translations en.json (Welsh)

* New translations en.yml (Welsh)

* New translations en.json (Malayalam)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Welsh)

* New translations doorkeeper.en.yml (Welsh)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Thai)

* New translations devise.en.yml (Welsh)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Irish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.yml (Irish)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.yml (Polish)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.json (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Polish)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations simple_form.en.yml (Slovak)

* New translations en.json (Thai)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Norwegian)

* New translations en.json (Finnish)

* New translations en.json (Norwegian)

* New translations simple_form.en.yml (Norwegian)

* New translations en.yml (Thai)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Arabic)

* New translations en.json (German)

* New translations en.json (Dutch)

* New translations en.yml (Greek)

* New translations en.yml (German)

* New translations en.yml (Hungarian)

* New translations en.yml (Hebrew)

* New translations en.yml (Finnish)

* New translations en.yml (Basque)

* New translations en.yml (Frisian)

* New translations en.yml (Danish)

* New translations en.yml (Catalan)

* New translations en.yml (Bulgarian)

* New translations en.yml (Arabic)

* New translations en.yml (Afrikaans)

* New translations en.yml (French)

* New translations en.yml (Romanian)

* New translations en.yml (Spanish)

* New translations en.yml (Czech)

* New translations en.yml (Armenian)

* New translations en.yml (Urdu (Pakistan))

* New translations en.yml (Vietnamese)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Swedish)

* New translations en.yml (Serbian (Cyrillic))

* New translations en.yml (Slovenian)

* New translations en.yml (Thai)

* New translations en.yml (Galician)

* New translations en.yml (Russian)

* New translations en.yml (Icelandic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Slovak)

* New translations en.yml (Japanese)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Punjabi)

* New translations en.yml (Norwegian)

* New translations en.yml (Dutch)

* New translations en.yml (Macedonian)

* New translations en.yml (Lithuanian)

* New translations en.yml (Korean)

* New translations en.yml (Georgian)

* New translations en.yml (Italian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Albanian)

* New translations en.yml (Turkish)

* New translations en.yml (Ido)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Sorani (Kurdish))

* New translations en.yml (Kannada)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations en.yml (Occitan)

* New translations en.yml (Serbian (Latin))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Corsican)

* New translations en.yml (Sinhala)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Burmese)

* New translations en.yml (Cornish)

* New translations en.yml (Breton)

* New translations en.yml (Bengali)

* New translations en.yml (Hindi)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.yml (Latvian)

* New translations en.yml (Malay)

* New translations en.yml (Malayalam)

* New translations en.yml (Telugu)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

* New translations en.yml (Chinese Traditional, Hong Kong)

* New translations en.yml (Tatar)

* New translations en.yml (Igbo)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Afrikaans)

* New translations en.yml (Korean)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Thai)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Catalan)

* New translations en.yml (Greek)

* New translations en.yml (Italian)

* New translations en.yml (Slovenian)

* New translations en.yml (Swedish)

* New translations simple_form.en.yml (Thai)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.yml (Basque)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* New translations en.yml (Icelandic)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (French)

* New translations en.yml (Hebrew)

* New translations en.yml (Italian)

* New translations en.yml (Japanese)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Esperanto)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.yml (Hebrew)

* New translations en.yml (Norwegian)

* New translations en.yml (German)

* New translations en.json (Spanish)

* New translations en.yml (Finnish)

* New translations en.json (Norwegian)

* New translations en.yml (Latvian)

* New translations en.yml (Esperanto)

* New translations en.json (German)

* New translations en.json (Esperanto)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Esperanto)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-14 01:14:31 +09:00
David Hewitt 290d78cea4
Allow unsetting x-amz-acl S3 Permission headers (#20510)
Some "S3 Compatible" storage providers (Cloudflare R2 is one such example) don't support setting ACLs on individual uploads with the `x-amz-acl` header, and instead just have a visibility for the whole bucket. To support uploads to such providers without getting unsupported errors back, lets use a black `S3_PERMISSION` env var to indicate that these headers shouldn't be sent.

This is tested as working with Cloudflare R2.
2022-11-13 06:57:10 +01:00
Claire cf77d938f8
Fix saving server registration settings redirecting to branding settings (#20505) 2022-11-13 03:33:31 +01:00
helloworldstack e9e4938bc9
Fix casing and spacing of words (#20504) 2022-11-13 03:33:20 +01:00
Eugen Rochko d26c1cb2fe
Fix missing "not recommended" label on "Allow trends without review" (#20480) 2022-11-12 10:54:51 +01:00
Eugen Rochko e1af21cfd0
New Crowdin updates (#20258)
* New translations en.json (Asturian)

* New translations en.yml (Telugu)

* New translations en.yml (Tamil)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Kazakh)

* New translations en.yml (Estonian)

* New translations en.json (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Asturian)

* New translations en.json (Occitan)

* New translations simple_form.en.yml (Basque)

* New translations simple_form.en.yml (Spanish)

* New translations simple_form.en.yml (Arabic)

* New translations simple_form.en.yml (Bulgarian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Danish)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Greek)

* New translations simple_form.en.yml (Frisian)

* New translations simple_form.en.yml (Finnish)

* New translations simple_form.en.yml (Romanian)

* New translations simple_form.en.yml (Irish)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Hungarian)

* New translations simple_form.en.yml (Armenian)

* New translations simple_form.en.yml (Italian)

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Georgian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Vietnamese)

* New translations en.yml (Occitan)

* New translations en.yml (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.yml (Sorani (Kurdish))

* New translations en.yml (Corsican)

* New translations simple_form.en.yml (Norwegian)

* New translations simple_form.en.yml (Polish)

* New translations simple_form.en.yml (Sinhala)

* New translations en.yml (Kabyle)

* New translations en.yml (Sardinian)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.yml (Sanskrit)

* New translations simple_form.en.yml (Tatar)

* New translations simple_form.en.yml (Welsh)

* New translations simple_form.en.yml (Esperanto)

* New translations simple_form.en.yml (Chinese Traditional, Hong Kong)

* New translations simple_form.en.yml (Malayalam)

* New translations simple_form.en.yml (Kazakh)

* New translations simple_form.en.yml (Breton)

* New translations simple_form.en.yml (Scottish Gaelic)

* New translations activerecord.en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Asturian)

* New translations simple_form.en.yml (Occitan)

* New translations simple_form.en.yml (Serbian (Latin))

* New translations simple_form.en.yml (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Sorani (Kurdish))

* New translations simple_form.en.yml (Estonian)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Portuguese)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Russian)

* New translations simple_form.en.yml (Slovak)

* New translations simple_form.en.yml (Albanian)

* New translations simple_form.en.yml (Serbian (Cyrillic))

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Ukrainian)

* New translations simple_form.en.yml (Icelandic)

* New translations simple_form.en.yml (Croatian)

* New translations activerecord.en.yml (Icelandic)

* New translations simple_form.en.yml (Persian)

* New translations simple_form.en.yml (Tamil)

* New translations simple_form.en.yml (Spanish, Argentina)

* New translations simple_form.en.yml (Spanish, Mexico)

* New translations simple_form.en.yml (Bengali)

* New translations simple_form.en.yml (Corsican)

* New translations activerecord.en.yml (Portuguese, Brazilian)

* New translations activerecord.en.yml (Slovak)

* New translations activerecord.en.yml (Dutch)

* New translations activerecord.en.yml (Norwegian)

* New translations activerecord.en.yml (Polish)

* New translations activerecord.en.yml (Portuguese)

* New translations activerecord.en.yml (Russian)

* New translations activerecord.en.yml (Japanese)

* New translations activerecord.en.yml (Albanian)

* New translations activerecord.en.yml (Serbian (Cyrillic))

* New translations activerecord.en.yml (Swedish)

* New translations activerecord.en.yml (Turkish)

* New translations activerecord.en.yml (Ukrainian)

* New translations activerecord.en.yml (Chinese Simplified)

* New translations activerecord.en.yml (Vietnamese)

* New translations activerecord.en.yml (Galician)

* New translations activerecord.en.yml (Georgian)

* New translations activerecord.en.yml (Italian)

* New translations activerecord.en.yml (Catalan)

* New translations activerecord.en.yml (Czech)

* New translations activerecord.en.yml (Romanian)

* New translations activerecord.en.yml (French)

* New translations activerecord.en.yml (Spanish)

* New translations activerecord.en.yml (Afrikaans)

* New translations activerecord.en.yml (Arabic)

* New translations activerecord.en.yml (Bulgarian)

* New translations activerecord.en.yml (Armenian)

* New translations activerecord.en.yml (German)

* New translations activerecord.en.yml (Greek)

* New translations activerecord.en.yml (Frisian)

* New translations activerecord.en.yml (Basque)

* New translations activerecord.en.yml (Finnish)

* New translations activerecord.en.yml (Irish)

* New translations activerecord.en.yml (Hebrew)

* New translations activerecord.en.yml (Hungarian)

* New translations simple_form.en.yml (Ido)

* New translations simple_form.en.yml (Kabyle)

* New translations simple_form.en.yml (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (Sardinian)

* New translations activerecord.en.yml (Indonesian)

* New translations activerecord.en.yml (Kurmanji (Kurdish))

* New translations activerecord.en.yml (Breton)

* New translations activerecord.en.yml (Persian)

* New translations activerecord.en.yml (Asturian)

* New translations activerecord.en.yml (Occitan)

* New translations activerecord.en.yml (Serbian (Latin))

* New translations activerecord.en.yml (Sorani (Kurdish))

* New translations activerecord.en.yml (Tatar)

* New translations activerecord.en.yml (Corsican)

* New translations en.yml (Burmese)

* New translations en.yml (Igbo)

* New translations activerecord.en.yml (Malayalam)

* New translations activerecord.en.yml (Sinhala)

* New translations activerecord.en.yml (Chinese Traditional, Hong Kong)

* New translations activerecord.en.yml (Norwegian Nynorsk)

* New translations activerecord.en.yml (Tamil)

* New translations activerecord.en.yml (Spanish, Argentina)

* New translations activerecord.en.yml (Spanish, Mexico)

* New translations activerecord.en.yml (Bengali)

* New translations activerecord.en.yml (Marathi)

* New translations activerecord.en.yml (Thai)

* New translations activerecord.en.yml (Croatian)

* New translations activerecord.en.yml (Kazakh)

* New translations activerecord.en.yml (Estonian)

* New translations activerecord.en.yml (Latvian)

* New translations activerecord.en.yml (Hindi)

* New translations activerecord.en.yml (Welsh)

* New translations activerecord.en.yml (Sardinian)

* New translations activerecord.en.yml (Kabyle)

* New translations activerecord.en.yml (Ido)

* New translations activerecord.en.yml (Standard Moroccan Tamazight)

* New translations en.json (Afrikaans)

* New translations en.yml (Bulgarian)

* New translations en.json (Hungarian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Chinese Simplified)

* New translations en.json (Vietnamese)

* New translations en.json (Icelandic)

* New translations en.json (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Bulgarian)

* New translations doorkeeper.en.yml (Korean)

* New translations activerecord.en.yml (Bulgarian)

* New translations devise.en.yml (Bulgarian)

* New translations en.yml (German)

* New translations en.json (German)

* New translations en.json (Romanian)

* New translations en.json (Catalan)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.json (Norwegian)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Latvian)

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Hebrew)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.yml (Korean)

* New translations en.json (Turkish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations doorkeeper.en.yml (Portuguese, Brazilian)

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Thai)

* New translations en.json (Bulgarian)

* New translations en.yml (Ukrainian)

* New translations en.json (Indonesian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Asturian)

* New translations en.json (German)

* New translations en.json (Portuguese)

* New translations en.json (Spanish)

* New translations en.json (Danish)

* New translations en.json (Ukrainian)

* New translations en.json (Tamil)

* New translations en.json (Chinese Traditional)

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations en.json (Norwegian)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Korean)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Basque)

* New translations en.yml (Basque)

* New translations en.json (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Basque)

* New translations doorkeeper.en.yml (Esperanto)

* New translations en.json (Esperanto)

* New translations en.json (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.json (Latvian)

* New translations simple_form.en.yml (Occitan)

* New translations devise.en.yml (Esperanto)

* New translations en.yml (Czech)

* New translations en.json (German)

* New translations en.json (Czech)

* New translations en.json (French)

* New translations en.yml (Hebrew)

* New translations en.json (Norwegian)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations en.json (Ukrainian)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations doorkeeper.en.yml (Korean)

* New translations doorkeeper.en.yml (Chinese Traditional)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-12 15:56:25 +09:00
Alex Nordlund 628b3fa449
Uppercase chart readme.md to help tools discover it (#20438) 2022-11-12 05:11:07 +01:00
Bearice Ren 28cda42af5
fixes ArgumentError when proxy is used (#20420)
* fixes ArgumentError when proxy is used

* Update app/lib/request.rb

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2022-11-11 21:31:03 +01:00
Jeong Arm c4c1bee880
Fix trendable status without review (#20214) 2022-11-11 21:24:10 +01:00
Claire 93a6ebc83d
Fix WebUI crash when listing server blocks and rationale is not available (#20408)
Regression from #20391

Fixes #20405
2022-11-11 21:23:03 +01:00
Emily Strickland 96f51e593f
Guard against error extracting `body` from URL (#20428)
If `Nokogiri::HTML(value).at_xpath('//body')` fails to find the `body` element, it will return `nil`. We can guard against that with an early return. Avoids calling `children` on `Nilclass` in those cases.
2022-11-11 21:22:28 +01:00
Claire 31005aad12
Add the ability to edit media attachment metadata for any unattached media (#20402) 2022-11-11 21:22:17 +01:00
Cutls 553b169d48
Do not show drag&drop dialog when not logined (#20400)
* Cannot upload until login

* and do not fire upload

* change username props to context
2022-11-11 21:19:48 +01:00
Claire 5e796dc6f8
Remove “No description added” media warning in edit mode (#20393)
Editing media metadata is not currently possible in edit mode, the button would
open the modal but saving the changes would error out.
2022-11-11 09:20:24 +01:00
Eugen Rochko 9bc0a6c861
Fix metadata scrubbing removing color profile from images (#20389) 2022-11-11 09:20:10 +01:00
Eugen Rochko 53028af10e
Bump version to 4.0.0rc3 (#20378) 2022-11-11 08:39:38 +01:00
Eugen Rochko 6774c339b2
Fix domain blocks on about page not working well on small screens in web UI (#20391) 2022-11-11 08:26:58 +01:00
Pierre Bourdon 36bc90e8aa
blurhash_transcoder: prevent out-of-bound reads with <8bpp images (#20388)
The Blurhash library used by Mastodon requires an input encoded as 24
bits raw RGB data. The conversion to raw RGB using Imagemagick did not
previously specify the desired bit depth. In some situations, this leads
Imagemagick to output in a pixel format using less bpp than expected.
This then manifested as segfaults of the Sidekiq process due to
out-of-bounds read, or potentially a (highly noisy) memory infoleak.

Fixes #19235.
2022-11-11 07:45:16 +01:00
Eugen Rochko 73fecc3358
Change e-mail in SECURITY.md (#20384) 2022-11-11 05:26:43 +01:00
Connor Shea cf4992c918
Only remove padding when listing applications (#20382)
This prevents styling issues on the Authorization page.
2022-11-11 02:55:20 +01:00
F 97f657f818
Note that CircleCI auth may be required to run PR pipelines (#20371)
See #20284
2022-11-11 02:54:02 +01:00
Yamagishi Kazutoshi 53d26cfc1c
Delay workbox import (#20376) 2022-11-11 01:33:59 +01:00
Yamagishi Kazutoshi 19a8563905
Fix `ENV` (#20377) 2022-11-11 01:33:32 +01:00
F d4f973227c
Test the native_locale_name of a non-standard locale (#20284)
`:en` is English for both `standard_locale_name` and
`native_locale_name`, and so makes for a poor test candidate for
differentiating between them.
2022-11-11 00:06:18 +01:00
Erik Sundell 302a58c22b
helm: fix consistent indentation, chomping, and use of with (#19918) 2022-11-10 23:24:39 +01:00
Claire 86f6631d28
Remove dead code and refactor status threading code (#20357)
* Remove dead code

* Remove unneeded/broken parameters and refactor descendant computation
2022-11-10 22:30:00 +01:00
F a02a453a40
Add Scots to the supported locales (#20283)
Fixes #20249
2022-11-10 21:11:38 +01:00
Eugen Rochko c6c7c6223d
Change verification to only work for https links (#20304)
Fix #20242
2022-11-10 21:09:03 +01:00
F 9feba112a7
Make enable_starttls configurable by envvars (#20321)
ENABLE_STARTTLS is designed to replace ENABLE_STARTTLS_AUTO by accepting
three values: 'auto' (the default), 'always', and 'never'. If
ENABLE_STARTTLS isn't provided, we fall back to ENABLE_STARTTLS_AUTO. In
this way, this change should be fully backwards compatible.

Resolves #20311
2022-11-10 21:06:21 +01:00
Claire 1615c3eb6e
Change logged out /api/v1/statuses/:id/context logged out limits (#20355) 2022-11-10 21:06:08 +01:00
Claire 894ce3726a
Fix unnecessary service worker registration and preloading when logged out (#20341) 2022-11-10 20:26:04 +01:00
Alex Nordlund 397845453e
Update Helm README and bump version (#20346)
* Update Helm chart README and comments in values.yaml

* Bump next Helm chart to 2.2.0
2022-11-10 20:25:23 +01:00
Claire 8e1e7fe2e0
Add old logo files back (#20332)
Fixes #20221
2022-11-10 20:25:12 +01:00
Claire 99734ac936
Remove preview cards from fav and boost notifications (#20335)
Fixes #20329
2022-11-10 19:36:12 +01:00
Joe Friedl 86232e68a8
Give web container time to start (#19828) 2022-11-10 19:16:49 +01:00
mickkael 6c7cdedb24
Helm chart improved for ingress (#19826)
* ingressClassName

* ingress values must be optional
2022-11-10 19:11:25 +01:00
Alex Nordlund 60c4df3d1d
Bump next Helm chart to 2.1.0 (#20155) 2022-11-10 19:10:49 +01:00
Sheogorath e868f41923
fix(chart): Fix gitops-incompatible random rolling (#20184)
This patch reworks the Pod rolling mechanism, which is supposed to update Pods
with each migration run, but since the it generates a new random value on each
helm execution, this will constantly roll all pods in a GitOps driven deployment,
which reconciles the helm release.

This is resolved by fixing the upgrade to the `.Release.Revision`, which should
stay identical, unless config or helm release version have been changed. Further
it introduces automatic rolls based on adjustments to the environment variables
and secrets.

The implementation uses a helper template, following the 1-2-N rule, and omitting
code duplication.

References:
https://helm.sh/docs/chart_template_guide/builtin_objects/
https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
2022-11-10 19:10:38 +01:00
Alex Nordlund 86d4b6f7c9
Helm update readme.md (#20154)
* gitignore packaged helm charts

* Add upgrade instructions to helm chart/readme.md

* Note Helm secret changes that are necessary on failed upgrades
2022-11-10 19:10:06 +01:00
Alex Nordlund b907871604
Helm update readme.md (#20154)
* gitignore packaged helm charts

* Add upgrade instructions to helm chart/readme.md

* Note Helm secret changes that are necessary on failed upgrades
2022-11-10 19:09:54 +01:00
Eugen Rochko f8e8e622e5
Change incoming activity processing to happen in `ingress` queue (#20264) 2022-11-10 14:21:51 +01:00
Claire 89a6b76f99
Fix color of the “No description added“ media upload warning on light theme (#20328) 2022-11-10 14:21:31 +01:00
Effy Elden 8fdbb4d00d
Remove unused timeline_container to fix linter errors (#20305) 2022-11-10 08:50:45 +01:00
Eugen Rochko 7bdb2433f1
Change larger reblogs/favourites numbers to be shortened in web UI (#20303) 2022-11-10 08:49:59 +01:00
Eugen Rochko 16122761c5
Fix confusing wording in interaction modal in web UI (#20302) 2022-11-10 08:49:48 +01:00
Eugen Rochko ef582dc4f2
Add option to open original page in dropdowns of remote content in web UI (#20299)
Change profile picture click to open profile picture in modal in web UI
2022-11-10 08:49:35 +01:00
Eugen Rochko e37e8deb0f
Fix profile header being cut off in light theme in web UI (#20298) 2022-11-10 07:32:37 +01:00
Eugen Rochko 9965a23b04
Change link verification to ignore IDN domains (#20295)
Fix #3833
2022-11-10 06:27:45 +01:00
James Tucker 78a6b871fe
Improve performance by avoiding regex construction (#20215)
```ruby
10.times { p /#{FOO}/.object_id }
10.times { p FOO_RE.object_id }
```
2022-11-10 05:49:30 +01:00
Eugen Rochko 0cd0786aef
Revert filtering public timelines by locale by default (#20294) 2022-11-10 05:34:42 +01:00
trwnh b280a255c4
Change `master` branch to `main` branch (#20290) 2022-11-10 04:02:05 +01:00
Eugen Rochko 45ce858fd9
Fix `mailers` queue not being used for mailers (#20274)
Regression since Rails 6.1
2022-11-10 02:31:09 +01:00
Claire a5394980f2
Fix NameError in Webfinger redirect handling in ActivityPub::FetchRemoteActorService (#20260) 2022-11-09 20:10:38 +01:00
Eugen Rochko cd0a87f170
New Crowdin updates (#20016)
* New translations en.json (Telugu)

* New translations en.yml (Telugu)

* New translations en.yml (Occitan)

* New translations en.json (Serbian (Latin))

* New translations en.yml (Kabyle)

* New translations en.json (Igbo)

* New translations en.yml (Burmese)

* New translations en.json (Burmese)

* New translations activerecord.en.yml (Frisian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.yml (Silesian)

* New translations en.json (Silesian)

* New translations en.yml (Taigi)

* New translations en.json (Taigi)

* New translations en.json (Kabyle)

* New translations en.yml (Serbian (Latin))

* New translations en.yml (Sanskrit)

* New translations en.json (Sanskrit)

* New translations en.yml (Sardinian)

* New translations en.json (Sardinian)

* New translations en.yml (Corsican)

* New translations en.json (Corsican)

* New translations en.yml (Sorani (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.yml (Igbo)

* New translations en.json (Hebrew)

* New translations en.json (Polish)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Latvian)

* New translations en.json (Icelandic)

* New translations en.yml (Swedish)

* New translations en.json (Swedish)

* New translations en.json (Slovenian)

* New translations en.json (Russian)

* New translations en.json (Italian)

* New translations en.json (German)

* New translations en.yml (Hebrew)

* New translations en.yml (Finnish)

* New translations en.json (Finnish)

* New translations en.yml (Danish)

* New translations en.json (Afrikaans)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Dutch)

* New translations simple_form.en.yml (Hebrew)

* New translations en.json (Hebrew)

* New translations en.json (Spanish, Argentina)

* New translations activerecord.en.yml (Hebrew)

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Hebrew)

* New translations simple_form.en.yml (Hebrew)

* New translations en.yml (Occitan)

* New translations en.json (Welsh)

* New translations en.yml (Chinese Traditional)

* New translations en.json (German)

* New translations en.json (Chinese Traditional)

* New translations en.json (Ukrainian)

* New translations en.json (Portuguese)

* New translations en.yml (Hebrew)

* New translations en.json (Finnish)

* New translations en.json (Japanese)

* New translations devise.en.yml (Chinese Traditional)

* New translations en.yml (Thai)

* New translations en.json (Hebrew)

* New translations en.json (Thai)

* New translations en.json (Greek)

* New translations en.yml (Hebrew)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Occitan)

* New translations simple_form.en.yml (Hebrew)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations en.json (Thai)

* New translations en.json (Catalan)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Polish)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Esperanto)

* New translations en.json (Chinese Simplified)

* New translations en.json (Irish)

* New translations activerecord.en.yml (Irish)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Italian)

* New translations en.json (Danish)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Galician)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations en.json (Czech)

* New translations en.json (Turkish)

* New translations en.json (Vietnamese)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Albanian)

* New translations en.json (Arabic)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Bulgarian)

* New translations en.json (Macedonian)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Bulgarian)

* New translations devise.en.yml (Polish)

* New translations en.json (Bulgarian)

* New translations en.json (Hungarian)

* New translations en.yml (Japanese)

* New translations en.json (Norwegian)

* New translations en.json (Bulgarian)

* New translations en.json (Korean)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Scottish Gaelic)

* New translations activerecord.en.yml (Scottish Gaelic)

* New translations devise.en.yml (Scottish Gaelic)

* New translations doorkeeper.en.yml (Scottish Gaelic)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Catalan)

* New translations simple_form.en.yml (Latvian)

* New translations en.json (Esperanto)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Vietnamese)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.yml (Romanian)

* New translations en.yml (Frisian)

* New translations en.json (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Esperanto)

* New translations doorkeeper.en.yml (Frisian)

* New translations en.json (Norwegian)

* New translations en.yml (Russian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Norwegian)

* New translations en.json (Swedish)

* New translations en.json (Occitan)

* New translations en.json (Afrikaans)

* New translations en.json (Catalan)

* New translations en.json (Norwegian)

* New translations en.json (Swedish)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.json (Welsh)

* New translations en.yml (Esperanto)

* New translations en.json (Occitan)

* New translations doorkeeper.en.yml (French)

* New translations activerecord.en.yml (Norwegian)

* New translations activerecord.en.yml (Welsh)

* New translations devise.en.yml (Norwegian)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Chinese Simplified)

* New translations en.json (Welsh)

* New translations doorkeeper.en.yml (Norwegian)

* New translations activerecord.en.yml (Norwegian)

* New translations devise.en.yml (Norwegian)

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Norwegian)

* New translations doorkeeper.en.yml (Norwegian)

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Norwegian)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations doorkeeper.en.yml (English, United Kingdom)

* New translations activerecord.en.yml (English, United Kingdom)

* New translations en.json (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Irish)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.json (Bulgarian)

* New translations en.json (Irish)

* New translations en.yml (Irish)

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations en.json (Bulgarian)

* New translations en.yml (Irish)

* New translations en.json (Chinese Traditional)

* New translations en.json (Galician)

* New translations en.json (Bulgarian)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations simple_form.en.yml (Latvian)

* New translations en.json (Igbo)

* New translations en.json (Thai)

* New translations en.json (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.json (Irish)

* New translations en.yml (Chinese Traditional)

* New translations en.yml (Esperanto)

* New translations simple_form.en.yml (Turkish)

* New translations simple_form.en.yml (Esperanto)

* New translations en.yml (Czech)

* New translations en.json (Esperanto)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Breton)

* New translations en.yml (Breton)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations devise.en.yml (Portuguese, Brazilian)

* New translations en.yml (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.json (Afrikaans)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Esperanto)

* New translations en.json (Breton)

* New translations en.yml (Breton)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations doorkeeper.en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Esperanto)

* New translations doorkeeper.en.yml (Esperanto)

* New translations activerecord.en.yml (Esperanto)

* New translations devise.en.yml (Esperanto)

* New translations en.json (Bulgarian)

* New translations en.json (Afrikaans)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

* New translations en.json (Occitan)

* Run `yarn manage:translations`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-10 00:43:48 +09:00
Vyr Cossont 104157bd01
Add Balaibalan, Láadan, Lingua Franca Nova, Lojban, Toki Pona to language list (#20168)
* Add Balaibalan, Láadan, Lojban, Toki Pona to language list

Fixes #8995.

* Correct translated names for Lojban and Toki Pona

* Correct translated name for Balaibalan

* Add Lingua Franca Nova aka Elefen

* Disable unhelpful Rubocop checks

* Re-enable Rubocop checks at end of file
2022-11-09 15:23:52 +01:00
trwnh 029b5cd5b1
Fix GET /api/v1/admin/ip_blocks/:id (#20207) 2022-11-09 15:22:58 +01:00
Claire 5333447be0
Change account deletion requests to spread out over time (#20222) 2022-11-09 14:08:19 +01:00
Eugen Rochko e98833748e
Fix being able to spoof link verification (#20217)
- Change verification to happen in `default` queue
- Change verification worker to only be queued if there's something to do
- Add `link` tags from metadata fields to page header of profiles
2022-11-09 08:24:21 +01:00
keiya 53817294fc
Fix nginx location matching (#20198) 2022-11-09 04:12:57 +01:00
Claire dd7176a4b5
Fix redirects from /web/ discarding everything after a dot (#20148)
Fixes #20145
2022-11-09 01:30:33 +01:00
luzpaz 6ba52306f9
Fix typos (#19849)
Found via `codespell -q 3 -S ./yarn.lock,./CHANGELOG.md,./AUTHORS.md,./config/locales,./app/javascript/mastodon/locales -L ba,followings,keypair,medias,pattens,pixelx,rememberable,ro,te`
2022-11-08 17:32:03 +01:00
Christian Clauss 6f1559ed0f
CHANGELOG.md: Fix typos (#19838) 2022-11-08 17:31:52 +01:00
Sasha Sorokin d055d75172
Remove aria-pressed where it's redundant (#19912)
This commit removes aria-pressed attribute from all elements which
contents or other descriptive attributes change in active state,
effectively replacing the meaning of the button, in which case
aria-pressed, an attribute specified whether the button is currently
pressed, would create a confusion. (Spoiler: it's everywhere).

See https://github.com/mastodon/mastodon/issues/13545#issuecomment-1304886969
2022-11-08 17:31:32 +01:00
Claire d70303bba6
Add server-side route so that legacy /web/statuses/:id URLs keep being supported (#19978) 2022-11-08 17:29:14 +01:00
trwnh b1a48e05b6
Change Report category to "violation" if rule IDs are provided (#20137)
* Change Report category to "violation" if rule IDs are provided

* Fix LiteralAsCondition

* Add parentheses to conditional statement
2022-11-08 17:28:02 +01:00
Claire c476dfc725
Fix nodeinfo metadata attribute being an array instead of an object (#20114)
Fixes #20111
2022-11-08 17:26:11 +01:00
Alex Nordlund 476e74b4c4
Assign unique set of labels to k8s deployments #19703 (#19706) 2022-11-08 17:21:06 +01:00
Sheogorath f4b78028a3
chore(chart): Update appVersion in helm chart (#19653)
This patch updates the helm chart appVersion to the current release and
removes the additional definition in the image tag field, to reduce
duplication.

Since the image will automatically default to the Charts' app version
anyway and this is the more common place to specifiy application
versions for helm charts, this patch switches the prefering this field.

The reason why to use the tag field for the chart itself, seems to be
gone. Since renovatebot is no longer used.
2022-11-08 17:20:34 +01:00
Moritz Hedtke f7613febb3
helm: Fix ingress pathType (#19729) 2022-11-08 17:20:09 +01:00
Alex Nordlund fd3c482104
Roll pods to pick up db migrations even if podAnnotations is empty (#19702) 2022-11-08 17:19:14 +01:00
Alex Nordlund d3afd7a2f1
Fix helm postgresql secret (#19678)
* Revert "Fix helm chart use of Postgres Password (#19537)"

This reverts commit 6094a916b1.

* Revert "Fix PostgreSQL password reference for jobs (#19504)"

This reverts commit dae954ef11.

* Revert "Fix PostgreSQL password reference (#19502)"

This reverts commit 9bf6a8af82.

* Correct default username in postgresql auth
2022-11-08 17:18:57 +01:00
k.bigwheel (kazufumi nishida) 9358fd295d
Add postgresql password settings hint (#19112) 2022-11-08 17:18:22 +01:00
trwnh c374729225
Add `sensitized` to Admin::Account serializer (fix #19148) (#20094)
* Add `sensitized` to Admin::Account serializer (fix #19148)

* remove whitespace, please linter
2022-11-08 17:15:54 +01:00
trwnh 89e1974f30
Make account endorsements idempotent (fix #19045) (#20118)
* Make account endorsements idempotent (fix #19045)

* Accept suggestion to use exists? instead of find_by + nil check

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>

* fix logic (unless, not if)

* switch to using `find_or_create_by!`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-08 16:39:15 +01:00
trwnh 455a754081
Fix missing cast of status and rule IDs to string (fix #19048) (#20122) 2022-11-08 16:37:41 +01:00
trwnh 68d9dcd425
Fix uncaught 500 error on invalid `replies_policy` (Fix #19097) (#20126) 2022-11-08 16:37:28 +01:00
Claire c989faaa62
Change Request connection logic to try both IPv6 and IPv4 when available (#20108)
Fixes #19751
2022-11-08 16:36:26 +01:00
Roni Laukkarinen 36b0ff57b7
Fix grammar (#20106) 2022-11-08 16:35:42 +01:00
Claire 782b6835f7
Fix redrafting a currently-editing post not leaving edit mode (#20023) 2022-11-08 04:06:54 +01:00
James Tucker 833d9c2f1c
Improve performance by avoiding method cache busts (#19957)
Switch to monkey-patching http.rb rather than a runtime extend of each
response, so as to avoid busting the global method cache. A guard is
included that will provide developer feedback in development and test
environments should the monkey patch ever collide.
2022-11-08 04:00:27 +01:00
Claire 9f4930ec11
Add password autocomplete hints (#20071)
Fixes #20067

Our password autocomplete hints were “off” but that does not prevent current
browsers from trying to autocomplete them anyway, so use `current-password` and
`new-password` so they don't put a newly-generated password in a password
confirmation prompt, or the old password for a password renewal prompt.
2022-11-08 03:53:06 +01:00
Claire 608343c135
Fix opening the language picker scrolling the single-column view to the top (#19983)
Fixes #19915
2022-11-08 03:52:52 +01:00
Postmodern ca80beb653
Micro-optimization: use `if`/`else` instead of `Array#compact` and `Array#min` (#19906)
* Technically `if`/`else` is faster than using `[value1, value2].compact.min` to find the lesser of two values, one of which may be `nil`.
2022-11-08 03:50:47 +01:00
Zach Flanders 0beb095a4b
Fix spoiler buttons css not rendering correct color in light theme (#19960)
* Updating status__content__spoiler-link css for mastodon-light theme to ensure correct rendering precedence

* Adding focus css selector to status__content__spoiler-link mastodon-light theme

* reformatting code to match convention of having css selectors on separate lines

* fixing code format for  scss linting issue
2022-11-07 22:37:36 +01:00
Claire bbf74498f5
Fix validation error in SynchronizeFeaturedTagsCollectionWorker (#20018)
* Fix followers count not being updated when migrating follows

Fixes #19900

* Fix validation error in SynchronizeFeaturedTagsCollectionWorker

Also saves remote user's chosen case for hashtags

* Limit remote featured tags before validation
2022-11-07 22:35:53 +01:00
Claire 3114c826a7
Fix filter handling in status cache hydration (#19963) 2022-11-07 19:47:48 +01:00
Postmodern 106648b456
Micro-optimization: only split `acct` into two Strings (#19901)
* Since `acct` is split by `@` and assigned to `username` and `domain`, we only need to split `acct` into two Strings.
2022-11-07 16:17:55 +01:00
Eugen Rochko 86a80acf40
New Crowdin updates (#19771)
* New translations en.yml (Vietnamese)

* New translations en.yml (Galician)

* New translations en.yml (Icelandic)

* New translations en.yml (Japanese)

* New translations en.yml (Armenian)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Chinese Simplified)

* New translations en.yml (Ido)

* New translations en.json (Esperanto)

* New translations en.yml (Turkish)

* New translations en.yml (Albanian)

* New translations en.yml (Ukrainian)

* New translations en.yml (Romanian)

* New translations en.yml (Hungarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Catalan)

* New translations en.yml (Danish)

* New translations en.yml (Greek)

* New translations en.yml (Frisian)

* New translations en.yml (Basque)

* New translations en.json (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Irish)

* New translations en.yml (Hebrew)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Sorani (Kurdish))

* New translations en.yml (Sinhala)

* New translations en.yml (Cornish)

* New translations en.yml (Kannada)

* New translations en.yml (Asturian)

* New translations en.yml (Occitan)

* New translations en.yml (Serbian (Latin))

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.yml (Corsican)

* New translations en.yml (Malayalam)

* New translations en.yml (Sardinian)

* New translations en.yml (Sanskrit)

* New translations en.yml (Kabyle)

* New translations en.yml (Taigi)

* New translations en.yml (Silesian)

* New translations en.yml (Standard Moroccan Tamazight)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Kurmanji (Kurdish))

* New translations en.yml (Burmese)

* New translations en.yml (Breton)

* New translations en.yml (Tatar)

* New translations en.yml (Indonesian)

* New translations en.yml (Kazakh)

* New translations en.yml (Persian)

* New translations en.yml (Tamil)

* New translations en.yml (Spanish, Argentina)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Bengali)

* New translations en.yml (Marathi)

* New translations en.yml (Croatian)

* New translations en.yml (Norwegian Nynorsk)

* New translations en.yml (Estonian)

* New translations en.yml (Chinese Traditional, Hong Kong)

* New translations en.json (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Hindi)

* New translations en.yml (Malay)

* New translations en.yml (Telugu)

* New translations en.yml (English, United Kingdom)

* New translations en.yml (Welsh)

* New translations en.yml (Esperanto)

* New translations en.yml (Uyghur)

* New translations en.yml (Igbo)

* New translations en.json (Czech)

* New translations en.json (Dutch)

* New translations en.json (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Dutch)

* New translations en.yml (Polish)

* New translations en.yml (Swedish)

* New translations en.json (Icelandic)

* New translations en.yml (Icelandic)

* New translations en.json (Dutch)

* New translations en.yml (Ukrainian)

* New translations en.yml (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations simple_form.en.yml (Irish)

* New translations simple_form.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations en.json (Slovenian)

* New translations en.yml (Slovenian)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Vietnamese)

* New translations simple_form.en.yml (Asturian)

* New translations activerecord.en.yml (Asturian)

* New translations devise.en.yml (Asturian)

* New translations en.json (Japanese)

* New translations en.yml (Kurmanji (Kurdish))

* New translations en.json (Japanese)

* New translations en.yml (Japanese)

* New translations en.json (Vietnamese)

* New translations en.yml (Vietnamese)

* New translations simple_form.en.yml (Vietnamese)

* New translations doorkeeper.en.yml (Vietnamese)

* New translations en.json (Afrikaans)

* New translations en.json (Galician)

* New translations en.yml (Turkish)

* New translations en.json (Afrikaans)

* New translations en.yml (Afrikaans)

* New translations en.yml (Galician)

* New translations simple_form.en.yml (Afrikaans)

* New translations en.json (Albanian)

* New translations en.yml (Albanian)

* New translations en.yml (French)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.json (Slovenian)

* New translations simple_form.en.yml (French)

* New translations simple_form.en.yml (Albanian)

* New translations activerecord.en.yml (French)

* New translations activerecord.en.yml (Sorani (Kurdish))

* New translations devise.en.yml (French)

* New translations en.json (Norwegian Nynorsk)

* New translations en.yml (Occitan)

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Occitan)

* New translations doorkeeper.en.yml (Occitan)

* New translations activerecord.en.yml (Occitan)

* New translations en.yml (Spanish)

* New translations en.yml (Japanese)

* New translations en.json (Occitan)

* New translations en.json (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Japanese)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations doorkeeper.en.yml (Occitan)

* New translations en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (Irish)

* New translations en.json (Slovenian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations en.yml (Kurmanji (Kurdish))

* New translations simple_form.en.yml (Irish)

* New translations doorkeeper.en.yml (Irish)

* New translations simple_form.en.yml (Thai)

* New translations en.json (Thai)

* New translations en.json (German)

* New translations en.yml (Spanish)

* New translations en.json (Greek)

* New translations en.json (Slovenian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Thai)

* New translations simple_form.en.yml (Scottish Gaelic)

* New translations devise.en.yml (Asturian)

* New translations en.json (Danish)

* New translations en.json (Korean)

* New translations en.yml (Korean)

* New translations en.yml (Asturian)

* New translations simple_form.en.yml (Korean)

* New translations en.json (French)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.json (Ukrainian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Portuguese, Brazilian)

* New translations simple_form.en.yml (Scottish Gaelic)

* New translations doorkeeper.en.yml (Scottish Gaelic)

* New translations en.json (German)

* New translations en.json (Catalan)

* New translations en.json (Danish)

* New translations en.yml (Danish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Spanish, Mexico)

* New translations en.json (Asturian)

* New translations en.json (Occitan)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.json (Scottish Gaelic)

* New translations en.yml (Scottish Gaelic)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations simple_form.en.yml (Scottish Gaelic)

* New translations en.json (German)

* New translations simple_form.en.yml (Norwegian Nynorsk)

* New translations en.json (Asturian)

* New translations en.yml (Asturian)

* New translations en.json (Sorani (Kurdish))

* New translations en.json (French)

* New translations en.yml (Dutch)

* New translations en.json (Welsh)

* New translations en.json (Sorani (Kurdish))

* New translations doorkeeper.en.yml (Norwegian Nynorsk)

* New translations en.json (Dutch)

* New translations en.json (French)

* New translations en.yml (Dutch)

* New translations simple_form.en.yml (Dutch)

* New translations doorkeeper.en.yml (Dutch)

* New translations en.json (Irish)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (German)

* New translations en.json (Arabic)

* New translations en.yml (Arabic)

* New translations en.yml (Sorani (Kurdish))

* New translations simple_form.en.yml (Arabic)

* New translations en.yml (Ukrainian)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (Ukrainian)

* New translations doorkeeper.en.yml (Ukrainian)

* New translations activerecord.en.yml (Ukrainian)

* New translations en.json (Russian)

* New translations en.json (Bulgarian)

* New translations en.json (Hebrew)

* New translations en.json (Bulgarian)

* New translations en.json (Japanese)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Japanese)

* New translations devise.en.yml (Finnish)

* New translations en.json (Hebrew)

* New translations en.yml (German)

* New translations en.json (Bulgarian)

* New translations en.yml (Polish)

* New translations simple_form.en.yml (Japanese)

* New translations activerecord.en.yml (Arabic)

* New translations activerecord.en.yml (Hebrew)

* New translations en.json (Bulgarian)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations simple_form.en.yml (Portuguese, Brazilian)

* New translations en.json (Bulgarian)

* New translations en.json (Frisian)

* New translations en.json (Russian)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (Russian)

* New translations devise.en.yml (Frisian)

* New translations en.yml (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (Frisian)

* New translations en.json (Italian)

* New translations en.json (Polish)

* Run `yarn manage:translations`

* Run `bundle exec i18n-tasks normalize`

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2022-11-08 00:06:48 +09:00
Claire 622f603ac7
Add aria-expanded to content warning toggle button (#19975)
Fixes #19920
2022-11-07 15:48:46 +01:00
Claire 1e1289b024
Fix crash when external auth provider has no display_name set (#19962)
Fixes #19913
2022-11-07 15:43:24 +01:00
Claire e1227457f1
Fix links to the Web UI in notifications (#19981)
Most of the old routes are broken because of the /web removal.
2022-11-07 15:42:58 +01:00
Sunny Ripert 8515bc7962
Add form element on focal point modal (#19834)
* Add form element on focal point modal

* Add type="button" for detection button
2022-11-07 15:41:42 +01:00
Claire 5925a31b78
Fix followers count not being updated when migrating follows (#19998)
Fixes #19900
2022-11-07 15:38:55 +01:00
Chris Rose a70e2cd649
Tag the OTP field with autocomplete for password managers (#19946)
This is modeled on #19833, and based on the attribute values documented
in https://developer.apple.com/documentation/security/password_autofill/enabling_password_autofill_on_an_html_input_element?language=objc
2022-11-07 03:57:16 +01:00
Sunny Ripert 4b7f32a2a6
Fix double button to clear emoji search input (#19888) 2022-11-07 03:40:54 +01:00
Jeremy Kescher 02a34252ba
Add null check on application in dispute viewer (#19851) 2022-11-07 03:40:17 +01:00
Sunny Ripert ffe735344b
Fix JavaScript console error on Getting Started column (#19891)
* Fix JavaScript console error on Getting Started column

* Update app/javascript/mastodon/components/column_header.js

Co-authored-by: Ilias Tsangaris <iliastsangaris@gmail.com>

Co-authored-by: Ilias Tsangaris <iliastsangaris@gmail.com>
2022-11-07 03:40:04 +01:00
Sunny Ripert 34c269310d
Fix console log error on column settings load (#19886) 2022-11-07 03:39:48 +01:00
Claire 4cb2323458
Fix crash in legacy filter creation controller (#19878) 2022-11-07 03:38:53 +01:00
nightpool 54f0f1b9ef
Skip Webfinger cache during migrations as well (#19883) 2022-11-07 03:31:38 +01:00
Rob Petti 8c81db5a41
allow /api/v1/streaming to be used as per documentation (#19896) 2022-11-07 03:16:44 +01:00
rcombs e53fc34e9a
Set autocomplete attr for email field on signup page (#19833)
The email address will be used as the "username" for sign-in purposes, so it's the value that should be stored in password managers. We can inform the password manager of this by setting `autocomplete="email"`. Without this hint, password managers may instead store the `username` field, which isn't valid for sign-in (this happens with iCloud Keychain in Safari, for instance).
2022-11-07 03:16:10 +01:00
Yamagishi Kazutoshi bd220c32f1
Update SECURITY.md (#19869) 2022-11-06 16:13:53 +01:00
462 changed files with 10709 additions and 5746 deletions

138
.github/workflows/test-chart.yml vendored Normal file
View File

@ -0,0 +1,138 @@
# This is a GitHub workflow defining a set of jobs with a set of steps.
# ref: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
#
name: Test chart
on:
pull_request:
paths:
- "chart/**"
- "!**.md"
- ".github/workflows/test-chart.yml"
push:
paths:
- "chart/**"
- "!**.md"
- ".github/workflows/test-chart.yml"
branches-ignore:
- "dependabot/**"
workflow_dispatch:
permissions:
contents: read
defaults:
run:
working-directory: chart
jobs:
lint-templates:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Install dependencies (yamllint)
run: pip install yamllint
- run: helm dependency update
- name: helm lint
run: |
helm lint . \
--values dev-values.yaml
- name: helm template
run: |
helm template . \
--values dev-values.yaml \
--output-dir rendered-templates
- name: yamllint (only on templates we manage)
run: |
rm -rf rendered-templates/mastodon/charts
yamllint rendered-templates \
--config-data "{rules: {indentation: {spaces: 2}, line-length: disable}}"
# This job helps us validate that rendered templates are valid k8s resources
# against a k8s api-server, via "helm template --validate", but also that a
# basic configuration can be used to successfully startup mastodon.
#
test-install:
runs-on: ubuntu-22.04
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
include:
# k3s-channel reference: https://update.k3s.io/v1-release/channels
- k3s-channel: latest
- k3s-channel: stable
# This represents the oldest configuration we test against.
#
# The k8s version chosen is based on the oldest still supported k8s
# version among two managed k8s services, GKE, EKS.
# - GKE: https://endoflife.date/google-kubernetes-engine
# - EKS: https://endoflife.date/amazon-eks
#
# The helm client's version can influence what helper functions is
# available for use in the templates, currently we need v3.6.0 or
# higher.
#
- k3s-channel: v1.21
helm-version: v3.6.0
steps:
- uses: actions/checkout@v3
# This action starts a k8s cluster with NetworkPolicy enforcement and
# installs both kubectl and helm.
#
# ref: https://github.com/jupyterhub/action-k3s-helm#readme
#
- uses: jupyterhub/action-k3s-helm@v3
with:
k3s-channel: ${{ matrix.k3s-channel }}
helm-version: ${{ matrix.helm-version }}
metrics-enabled: false
traefik-enabled: false
docker-enabled: false
- run: helm dependency update
# Validate rendered helm templates against the k8s api-server
- name: helm template --validate
run: |
helm template --validate mastodon . \
--values dev-values.yaml
- name: helm install
run: |
helm install mastodon . \
--values dev-values.yaml \
--timeout 10m
# This actions provides a report about the state of the k8s cluster,
# providing logs etc on anything that has failed and workloads marked as
# important.
#
# ref: https://github.com/jupyterhub/action-k8s-namespace-report#readme
#
- name: Kubernetes namespace report
uses: jupyterhub/action-k8s-namespace-report@v1
if: always()
with:
important-workloads: >-
deploy/mastodon-sidekiq
deploy/mastodon-streaming
deploy/mastodon-web
job/mastodon-assets-precompile
job/mastodon-chewy-upgrade
job/mastodon-create-admin
job/mastodon-db-migrate

3
.gitignore vendored
View File

@ -44,6 +44,9 @@
/redis /redis
/elasticsearch /elasticsearch
# ignore Helm charts
/chart/*.tgz
# ignore Helm dependency charts # ignore Helm dependency charts
/chart/charts/*.tgz /chart/charts/*.tgz

1121
AUTHORS.md

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,19 @@ Changelog
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [Unreleased] ## [4.0.2] - 2022-11-15
### Fixed
- Fix wrong color on mentions hidden behind content warning in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/20724))
- Fix filters from other users being used in the streaming service ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20719))
- Fix `unsafe-eval` being used when `wasm-unsafe-eval` is enough in Content Security Policy ([Gargron](https://github.com/mastodon/mastodon/pull/20729), [prplecake](https://github.com/mastodon/mastodon/pull/20606))
## [4.0.1] - 2022-11-14
### Fixed
- Fix nodes order being sometimes mangled when rewriting emoji ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20677))
## [4.0.0] - 2022-11-14
Some of the features in this release have been funded through the [NGI0 Discovery](https://nlnet.nl/discovery) Fund, a fund established by [NLnet](https://nlnet.nl/) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu/) programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322. Some of the features in this release have been funded through the [NGI0 Discovery](https://nlnet.nl/discovery) Fund, a fund established by [NLnet](https://nlnet.nl/) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu/) programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.
@ -13,7 +25,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- **Add ability to follow hashtags** ([Gargron](https://github.com/mastodon/mastodon/pull/18809), [Gargron](https://github.com/mastodon/mastodon/pull/18862), [Gargron](https://github.com/mastodon/mastodon/pull/19472), [noellabo](https://github.com/mastodon/mastodon/pull/18924)) - **Add ability to follow hashtags** ([Gargron](https://github.com/mastodon/mastodon/pull/18809), [Gargron](https://github.com/mastodon/mastodon/pull/18862), [Gargron](https://github.com/mastodon/mastodon/pull/19472), [noellabo](https://github.com/mastodon/mastodon/pull/18924))
- Add ability to filter individual posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18945)) - Add ability to filter individual posts ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18945))
- **Add ability to translate posts** ([Gargron](https://github.com/mastodon/mastodon/pull/19218), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19433), [Gargron](https://github.com/mastodon/mastodon/pull/19453), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19434), [Gargron](https://github.com/mastodon/mastodon/pull/19388), [ykzts](https://github.com/mastodon/mastodon/pull/19244), [Gargron](https://github.com/mastodon/mastodon/pull/19245)) - **Add ability to translate posts** ([Gargron](https://github.com/mastodon/mastodon/pull/19218), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19433), [Gargron](https://github.com/mastodon/mastodon/pull/19453), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19434), [Gargron](https://github.com/mastodon/mastodon/pull/19388), [ykzts](https://github.com/mastodon/mastodon/pull/19244), [Gargron](https://github.com/mastodon/mastodon/pull/19245))
- Add featured tags to web UI ([noellabo](https://github.com/mastodon/mastodon/pull/19408), [noellabo](https://github.com/mastodon/mastodon/pull/19380), [noellabo](https://github.com/mastodon/mastodon/pull/19358), [noellabo](https://github.com/mastodon/mastodon/pull/19409), [Gargron](https://github.com/mastodon/mastodon/pull/19382), [ykzts](https://github.com/mastodon/mastodon/pull/19418), [noellabo](https://github.com/mastodon/mastodon/pull/19403), [noellabo](https://github.com/mastodon/mastodon/pull/19404), [Gargron](https://github.com/mastodon/mastodon/pull/19398), [Gargron](https://github.com/mastodon/mastodon/pull/19712)) - Add featured tags to web UI ([noellabo](https://github.com/mastodon/mastodon/pull/19408), [noellabo](https://github.com/mastodon/mastodon/pull/19380), [noellabo](https://github.com/mastodon/mastodon/pull/19358), [noellabo](https://github.com/mastodon/mastodon/pull/19409), [Gargron](https://github.com/mastodon/mastodon/pull/19382), [ykzts](https://github.com/mastodon/mastodon/pull/19418), [noellabo](https://github.com/mastodon/mastodon/pull/19403), [noellabo](https://github.com/mastodon/mastodon/pull/19404), [Gargron](https://github.com/mastodon/mastodon/pull/19398), [Gargron](https://github.com/mastodon/mastodon/pull/19712), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20018))
- **Add support for language preferences for trending statuses and links** ([Gargron](https://github.com/mastodon/mastodon/pull/18288), [Gargron](https://github.com/mastodon/mastodon/pull/19349), [ykzts](https://github.com/mastodon/mastodon/pull/19335)) - **Add support for language preferences for trending statuses and links** ([Gargron](https://github.com/mastodon/mastodon/pull/18288), [Gargron](https://github.com/mastodon/mastodon/pull/19349), [ykzts](https://github.com/mastodon/mastodon/pull/19335))
- Previously, you could only see trends in your current language - Previously, you could only see trends in your current language
- For less popular languages, that meant empty trends - For less popular languages, that meant empty trends
@ -21,6 +33,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Add server rules to sign-up flow ([Gargron](https://github.com/mastodon/mastodon/pull/19296)) - Add server rules to sign-up flow ([Gargron](https://github.com/mastodon/mastodon/pull/19296))
- Add privacy icons to report modal in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19190)) - Add privacy icons to report modal in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19190))
- Add `noopener` to links to remote profiles in web UI ([shleeable](https://github.com/mastodon/mastodon/pull/19014)) - Add `noopener` to links to remote profiles in web UI ([shleeable](https://github.com/mastodon/mastodon/pull/19014))
- Add option to open original page in dropdowns of remote content in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/20299))
- Add warning for sensitive audio posts in web UI ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/17885)) - Add warning for sensitive audio posts in web UI ([rgroothuijsen](https://github.com/mastodon/mastodon/pull/17885))
- Add language attribute to posts in web UI ([tribela](https://github.com/mastodon/mastodon/pull/18544)) - Add language attribute to posts in web UI ([tribela](https://github.com/mastodon/mastodon/pull/18544))
- Add support for uploading WebP files ([Saiv46](https://github.com/mastodon/mastodon/pull/18506)) - Add support for uploading WebP files ([Saiv46](https://github.com/mastodon/mastodon/pull/18506))
@ -43,22 +56,27 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Add admin API for managing domain blocks ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18247)) - Add admin API for managing domain blocks ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18247))
- Add admin API for managing e-mail domain blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19066)) - Add admin API for managing e-mail domain blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19066))
- Add admin API for managing canonical e-mail blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19067)) - Add admin API for managing canonical e-mail blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19067))
- Add admin API for managing IP blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19065)) - Add admin API for managing IP blocks ([Gargron](https://github.com/mastodon/mastodon/pull/19065), [trwnh](https://github.com/mastodon/mastodon/pull/20207))
- Add `sensitized` attribute to accounts in admin REST API ([trwnh](https://github.com/mastodon/mastodon/pull/20094))
- Add `services` and `metadata` to the NodeInfo endpoint ([MFTabriz](https://github.com/mastodon/mastodon/pull/18563)) - Add `services` and `metadata` to the NodeInfo endpoint ([MFTabriz](https://github.com/mastodon/mastodon/pull/18563))
- Add `--remove-role` option to `tootctl accounts modify` ([Gargron](https://github.com/mastodon/mastodon/pull/19477)) - Add `--remove-role` option to `tootctl accounts modify` ([Gargron](https://github.com/mastodon/mastodon/pull/19477))
- Add `--days` option to `tootctl media refresh` ([tribela](https://github.com/mastodon/mastodon/pull/18425)) - Add `--days` option to `tootctl media refresh` ([tribela](https://github.com/mastodon/mastodon/pull/18425))
- Add `EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18642)) - Add `EMAIL_DOMAIN_LISTS_APPLY_AFTER_CONFIRMATION` environment variable ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18642))
- Add `IP_RETENTION_PERIOD` and `SESSION_RETENTION_PERIOD` environment variables ([kescherCode](https://github.com/mastodon/mastodon/pull/18757)) - Add `IP_RETENTION_PERIOD` and `SESSION_RETENTION_PERIOD` environment variables ([kescherCode](https://github.com/mastodon/mastodon/pull/18757))
- Add `http_hidden_proxy` environment variable ([tribela](https://github.com/mastodon/mastodon/pull/18427)) - Add `http_hidden_proxy` environment variable ([tribela](https://github.com/mastodon/mastodon/pull/18427))
- Add caching for payload serialization during fan-out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19637), [Gargron](https://github.com/mastodon/mastodon/pull/19642), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19746), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19747)) - Add `ENABLE_STARTTLS` environment variable ([erbridge](https://github.com/mastodon/mastodon/pull/20321))
- Add caching for payload serialization during fan-out ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19637), [Gargron](https://github.com/mastodon/mastodon/pull/19642), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19746), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19747), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19963))
- Add assets from Twemoji 14.0 ([Gargron](https://github.com/mastodon/mastodon/pull/19733)) - Add assets from Twemoji 14.0 ([Gargron](https://github.com/mastodon/mastodon/pull/19733))
- Add reputation and followers score boost to SQL-only account search ([Gargron](https://github.com/mastodon/mastodon/pull/19251)) - Add reputation and followers score boost to SQL-only account search ([Gargron](https://github.com/mastodon/mastodon/pull/19251))
- Add Scots, Balaibalan, Láadan, Lingua Franca Nova, Lojban, Toki Pona to languages list ([VyrCossont](https://github.com/mastodon/mastodon/pull/20168))
- Set autocomplete hints for e-mail, password and OTP fields ([rcombs](https://github.com/mastodon/mastodon/pull/19833), [offbyone](https://github.com/mastodon/mastodon/pull/19946), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20071))
- Add support for DigitalOcean Spaces in setup wizard ([v-aisac](https://github.com/mastodon/mastodon/pull/20573))
### Changed ### Changed
- **Change brand color and logotypes** ([Gargron](https://github.com/mastodon/mastodon/pull/18592), [Gargron](https://github.com/mastodon/mastodon/pull/18639), [Gargron](https://github.com/mastodon/mastodon/pull/18691), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18634), [Gargron](https://github.com/mastodon/mastodon/pull/19254), [mayaeh](https://github.com/mastodon/mastodon/pull/18710)) - **Change brand color and logotypes** ([Gargron](https://github.com/mastodon/mastodon/pull/18592), [Gargron](https://github.com/mastodon/mastodon/pull/18639), [Gargron](https://github.com/mastodon/mastodon/pull/18691), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18634), [Gargron](https://github.com/mastodon/mastodon/pull/19254), [mayaeh](https://github.com/mastodon/mastodon/pull/18710))
- **Change post editing to be enabled in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/19103)) - **Change post editing to be enabled in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/19103))
- **Change web UI to work for logged-out users** ([Gargron](https://github.com/mastodon/mastodon/pull/18961), [Gargron](https://github.com/mastodon/mastodon/pull/19250), [Gargron](https://github.com/mastodon/mastodon/pull/19294), [Gargron](https://github.com/mastodon/mastodon/pull/19306), [Gargron](https://github.com/mastodon/mastodon/pull/19315), [ykzts](https://github.com/mastodon/mastodon/pull/19322), [Gargron](https://github.com/mastodon/mastodon/pull/19412), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19437), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19415), [Gargron](https://github.com/mastodon/mastodon/pull/19348), [Gargron](https://github.com/mastodon/mastodon/pull/19295), [Gargron](https://github.com/mastodon/mastodon/pull/19422), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19414), [Gargron](https://github.com/mastodon/mastodon/pull/19319), [Gargron](https://github.com/mastodon/mastodon/pull/19345), [Gargron](https://github.com/mastodon/mastodon/pull/19310), [Gargron](https://github.com/mastodon/mastodon/pull/19301), [Gargron](https://github.com/mastodon/mastodon/pull/19423), [ykzts](https://github.com/mastodon/mastodon/pull/19471), [ykzts](https://github.com/mastodon/mastodon/pull/19333), [ykzts](https://github.com/mastodon/mastodon/pull/19337), [ykzts](https://github.com/mastodon/mastodon/pull/19272), [ykzts](https://github.com/mastodon/mastodon/pull/19468), [Gargron](https://github.com/mastodon/mastodon/pull/19466), [Gargron](https://github.com/mastodon/mastodon/pull/19457), [Gargron](https://github.com/mastodon/mastodon/pull/19426), [Gargron](https://github.com/mastodon/mastodon/pull/19427), [Gargron](https://github.com/mastodon/mastodon/pull/19421), [Gargron](https://github.com/mastodon/mastodon/pull/19417), [Gargron](https://github.com/mastodon/mastodon/pull/19413), [Gargron](https://github.com/mastodon/mastodon/pull/19397), [Gargron](https://github.com/mastodon/mastodon/pull/19387), [Gargron](https://github.com/mastodon/mastodon/pull/19396), [Gargron](https://github.com/mastodon/mastodon/pull/19385), [ykzts](https://github.com/mastodon/mastodon/pull/19334), [ykzts](https://github.com/mastodon/mastodon/pull/19329), [Gargron](https://github.com/mastodon/mastodon/pull/19324), [Gargron](https://github.com/mastodon/mastodon/pull/19318), [Gargron](https://github.com/mastodon/mastodon/pull/19316), [Gargron](https://github.com/mastodon/mastodon/pull/19263), [trwnh](https://github.com/mastodon/mastodon/pull/19305), [ykzts](https://github.com/mastodon/mastodon/pull/19273), [Gargron](https://github.com/mastodon/mastodon/pull/19801), [Gargron](https://github.com/mastodon/mastodon/pull/19790), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19773), [Gargron](https://github.com/mastodon/mastodon/pull/19798), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19724), [Gargron](https://github.com/mastodon/mastodon/pull/19709), [Gargron](https://github.com/mastodon/mastodon/pull/19514), [Gargron](https://github.com/mastodon/mastodon/pull/19562)) - **Change web UI to work for logged-out users** ([Gargron](https://github.com/mastodon/mastodon/pull/18961), [Gargron](https://github.com/mastodon/mastodon/pull/19250), [Gargron](https://github.com/mastodon/mastodon/pull/19294), [Gargron](https://github.com/mastodon/mastodon/pull/19306), [Gargron](https://github.com/mastodon/mastodon/pull/19315), [ykzts](https://github.com/mastodon/mastodon/pull/19322), [Gargron](https://github.com/mastodon/mastodon/pull/19412), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19437), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19415), [Gargron](https://github.com/mastodon/mastodon/pull/19348), [Gargron](https://github.com/mastodon/mastodon/pull/19295), [Gargron](https://github.com/mastodon/mastodon/pull/19422), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19414), [Gargron](https://github.com/mastodon/mastodon/pull/19319), [Gargron](https://github.com/mastodon/mastodon/pull/19345), [Gargron](https://github.com/mastodon/mastodon/pull/19310), [Gargron](https://github.com/mastodon/mastodon/pull/19301), [Gargron](https://github.com/mastodon/mastodon/pull/19423), [ykzts](https://github.com/mastodon/mastodon/pull/19471), [ykzts](https://github.com/mastodon/mastodon/pull/19333), [ykzts](https://github.com/mastodon/mastodon/pull/19337), [ykzts](https://github.com/mastodon/mastodon/pull/19272), [ykzts](https://github.com/mastodon/mastodon/pull/19468), [Gargron](https://github.com/mastodon/mastodon/pull/19466), [Gargron](https://github.com/mastodon/mastodon/pull/19457), [Gargron](https://github.com/mastodon/mastodon/pull/19426), [Gargron](https://github.com/mastodon/mastodon/pull/19427), [Gargron](https://github.com/mastodon/mastodon/pull/19421), [Gargron](https://github.com/mastodon/mastodon/pull/19417), [Gargron](https://github.com/mastodon/mastodon/pull/19413), [Gargron](https://github.com/mastodon/mastodon/pull/19397), [Gargron](https://github.com/mastodon/mastodon/pull/19387), [Gargron](https://github.com/mastodon/mastodon/pull/19396), [Gargron](https://github.com/mastodon/mastodon/pull/19385), [ykzts](https://github.com/mastodon/mastodon/pull/19334), [ykzts](https://github.com/mastodon/mastodon/pull/19329), [Gargron](https://github.com/mastodon/mastodon/pull/19324), [Gargron](https://github.com/mastodon/mastodon/pull/19318), [Gargron](https://github.com/mastodon/mastodon/pull/19316), [Gargron](https://github.com/mastodon/mastodon/pull/19263), [trwnh](https://github.com/mastodon/mastodon/pull/19305), [ykzts](https://github.com/mastodon/mastodon/pull/19273), [Gargron](https://github.com/mastodon/mastodon/pull/19801), [Gargron](https://github.com/mastodon/mastodon/pull/19790), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19773), [Gargron](https://github.com/mastodon/mastodon/pull/19798), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19724), [Gargron](https://github.com/mastodon/mastodon/pull/19709), [Gargron](https://github.com/mastodon/mastodon/pull/19514), [Gargron](https://github.com/mastodon/mastodon/pull/19562), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19981), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19978), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20148), [Gargron](https://github.com/mastodon/mastodon/pull/20302), [cutls](https://github.com/mastodon/mastodon/pull/20400))
- The web app can now be accessed without being logged in - The web app can now be accessed without being logged in
- No more `/web` prefix on web app paths - No more `/web` prefix on web app paths
- Profiles, posts, and other public pages now use the same interface for logged in and logged out users - Profiles, posts, and other public pages now use the same interface for logged in and logged out users
@ -74,14 +92,13 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Change label of publish button to be "Publish" again in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18583)) - Change label of publish button to be "Publish" again in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18583))
- Change language to be carried over on reply in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18557)) - Change language to be carried over on reply in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18557))
- Change "Unfollow" to "Cancel follow request" when request still pending in web UI ([prplecake](https://github.com/mastodon/mastodon/pull/19363)) - Change "Unfollow" to "Cancel follow request" when request still pending in web UI ([prplecake](https://github.com/mastodon/mastodon/pull/19363))
- **Change post filtering system** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18058), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19050), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18894), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19051), [noellabo](https://github.com/mastodon/mastodon/pull/18923), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18956), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18744)) - **Change post filtering system** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18058), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19050), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18894), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19051), [noellabo](https://github.com/mastodon/mastodon/pull/18923), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18956), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18744), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19878), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20567))
- Filtered keywords and phrases can now be grouped into named categories - Filtered keywords and phrases can now be grouped into named categories
- Filtered posts show which exact filter was hit - Filtered posts show which exact filter was hit
- Individual posts can be added to a filter - Individual posts can be added to a filter
- You can peek inside filtered posts anyway - You can peek inside filtered posts anyway
- Change path of privacy policy page from `/terms` to `/privacy-policy` ([Gargron](https://github.com/mastodon/mastodon/pull/19249)) - Change path of privacy policy page from `/terms` to `/privacy-policy` ([Gargron](https://github.com/mastodon/mastodon/pull/19249))
- Change how hashtags are normalized ([Gargron](https://github.com/mastodon/mastodon/pull/18795), [Gargron](https://github.com/mastodon/mastodon/pull/18863), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18854)) - Change how hashtags are normalized ([Gargron](https://github.com/mastodon/mastodon/pull/18795), [Gargron](https://github.com/mastodon/mastodon/pull/18863), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18854))
- Change public (but not hashtag) timelines to be filtered by current locale by default ([Gargron](https://github.com/mastodon/mastodon/pull/19291), [Gargron](https://github.com/mastodon/mastodon/pull/19563))
- Change settings area to be separated into categories in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/19407), [Gargron](https://github.com/mastodon/mastodon/pull/19533)) - Change settings area to be separated into categories in admin UI ([Gargron](https://github.com/mastodon/mastodon/pull/19407), [Gargron](https://github.com/mastodon/mastodon/pull/19533))
- Change "No accounts selected" errors to use the appropriate noun in admin UI ([prplecake](https://github.com/mastodon/mastodon/pull/19356)) - Change "No accounts selected" errors to use the appropriate noun in admin UI ([prplecake](https://github.com/mastodon/mastodon/pull/19356))
- Change e-mail domain blocks to match subdomains of blocked domains ([Gargron](https://github.com/mastodon/mastodon/pull/18979)) - Change e-mail domain blocks to match subdomains of blocked domains ([Gargron](https://github.com/mastodon/mastodon/pull/18979))
@ -95,6 +112,14 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Change mentions of blocked users to not be processed ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19725)) - Change mentions of blocked users to not be processed ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19725))
- Change max. thumbnail dimensions to 640x360px (360p) ([Gargron](https://github.com/mastodon/mastodon/pull/19619)) - Change max. thumbnail dimensions to 640x360px (360p) ([Gargron](https://github.com/mastodon/mastodon/pull/19619))
- Change post-processing to be deferred only for large media types ([Gargron](https://github.com/mastodon/mastodon/pull/19617)) - Change post-processing to be deferred only for large media types ([Gargron](https://github.com/mastodon/mastodon/pull/19617))
- Change link verification to only work for https links without unicode ([Gargron](https://github.com/mastodon/mastodon/pull/20304), [Gargron](https://github.com/mastodon/mastodon/pull/20295))
- Change account deletion requests to spread out over time ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20222))
- Change larger reblogs/favourites numbers to be shortened in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/20303))
- Change incoming activity processing to happen in `ingress` queue ([Gargron](https://github.com/mastodon/mastodon/pull/20264))
- Change notifications to not link show preview cards in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20335))
- Change amount of replies returned for logged out users in REST API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20355))
- Change in-app links to keep you in-app in web UI ([trwnh](https://github.com/mastodon/mastodon/pull/20540), [Gargron](https://github.com/mastodon/mastodon/pull/20628))
- Change table header to be sticky in admin UI ([sk22](https://github.com/mastodon/mastodon/pull/20442))
### Removed ### Removed
@ -107,6 +132,28 @@ Some of the features in this release have been funded through the [NGI0 Discover
### Fixed ### Fixed
- Fix rules with same priority being sorted non-deterministically ([Gargron](https://github.com/mastodon/mastodon/pull/20623))
- Fix error when invalid domain name is submitted ([Gargron](https://github.com/mastodon/mastodon/pull/19474))
- Fix icons having an image role ([Gargron](https://github.com/mastodon/mastodon/pull/20600))
- Fix connections to IPv6-only servers ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20108))
- Fix unnecessary service worker registration and preloading when logged out in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20341))
- Fix unnecessary and slow regex construction ([raggi](https://github.com/mastodon/mastodon/pull/20215))
- Fix `mailers` queue not being used for mailers ([Gargron](https://github.com/mastodon/mastodon/pull/20274))
- Fix error in webfinger redirect handling ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20260))
- Fix report category not being set to `violation` if rule IDs are provided ([trwnh](https://github.com/mastodon/mastodon/pull/20137))
- Fix nodeinfo metadata attribute being an array instead of an object ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20114))
- Fix account endorsements not being idempotent ([trwnh](https://github.com/mastodon/mastodon/pull/20118))
- Fix status and rule IDs not being strings in admin reports REST API ([trwnh](https://github.com/mastodon/mastodon/pull/20122))
- Fix error on invalid `replies_policy` in REST API ([trwnh](https://github.com/mastodon/mastodon/pull/20126))
- Fix redrafting a currently-editing post not leaving edit mode in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20023))
- Fix performance by avoiding method cache busts ([raggi](https://github.com/mastodon/mastodon/pull/19957))
- Fix opening the language picker scrolling the single-column view to the top in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19983))
- Fix content warning button missing `aria-expanded` attribute in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19975))
- Fix redundant `aria-pressed` attributes in web UI ([Brawaru](https://github.com/mastodon/mastodon/pull/19912))
- Fix crash when external auth provider has no display name set ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19962))
- Fix followers count not being updated when migrating follows ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19998))
- Fix double button to clear emoji search input in web UI ([sunny](https://github.com/mastodon/mastodon/pull/19888))
- Fix missing null check on applications on strike disputes ([kescherCode](https://github.com/mastodon/mastodon/pull/19851))
- Fix featured tags not saving preferred casing ([Gargron](https://github.com/mastodon/mastodon/pull/19732)) - Fix featured tags not saving preferred casing ([Gargron](https://github.com/mastodon/mastodon/pull/19732))
- Fix language not being saved when editing status ([Gargron](https://github.com/mastodon/mastodon/pull/19543)) - Fix language not being saved when editing status ([Gargron](https://github.com/mastodon/mastodon/pull/19543))
- Fix not being able to input featured tag with hash symbol ([Gargron](https://github.com/mastodon/mastodon/pull/19535)) - Fix not being able to input featured tag with hash symbol ([Gargron](https://github.com/mastodon/mastodon/pull/19535))
@ -118,7 +165,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix account action type validation ([Gargron](https://github.com/mastodon/mastodon/pull/19476)) - Fix account action type validation ([Gargron](https://github.com/mastodon/mastodon/pull/19476))
- Fix upload progress not communicating processing phase in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/19530)) - Fix upload progress not communicating processing phase in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/19530))
- Fix wrong host being used for custom.css when asset host configured ([Gargron](https://github.com/mastodon/mastodon/pull/19521)) - Fix wrong host being used for custom.css when asset host configured ([Gargron](https://github.com/mastodon/mastodon/pull/19521))
- Fix account migration form ever using outdated account data ([Gargron](https://github.com/mastodon/mastodon/pull/18429)) - Fix account migration form ever using outdated account data ([Gargron](https://github.com/mastodon/mastodon/pull/18429), [nightpool](https://github.com/mastodon/mastodon/pull/19883))
- Fix error when uploading malformed CSV import ([Gargron](https://github.com/mastodon/mastodon/pull/19509)) - Fix error when uploading malformed CSV import ([Gargron](https://github.com/mastodon/mastodon/pull/19509))
- Fix avatars not using image tags in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/19488)) - Fix avatars not using image tags in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/19488))
- Fix handling of duplicate and out-of-order notifications in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19693)) - Fix handling of duplicate and out-of-order notifications in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/19693))
@ -156,6 +203,15 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Fix `CDN_HOST` not being used in some asset URLs ([tribela](https://github.com/mastodon/mastodon/pull/18662)) - Fix `CDN_HOST` not being used in some asset URLs ([tribela](https://github.com/mastodon/mastodon/pull/18662))
- Fix `CAS_DISPLAY_NAME`, `SAML_DISPLAY_NAME` and `OIDC_DISPLAY_NAME` being ignored ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18568)) - Fix `CAS_DISPLAY_NAME`, `SAML_DISPLAY_NAME` and `OIDC_DISPLAY_NAME` being ignored ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18568))
- Fix various typos in comments throughout the codebase ([luzpaz](https://github.com/mastodon/mastodon/pull/18604)) - Fix various typos in comments throughout the codebase ([luzpaz](https://github.com/mastodon/mastodon/pull/18604))
- Fix CSV import error when rows include unicode characters ([HamptonMakes](https://github.com/mastodon/mastodon/pull/20592))
### Security
- Fix being able to spoof link verification ([Gargron](https://github.com/mastodon/mastodon/pull/20217))
- Fix emoji substitution not applying only to text nodes in backend code ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20641))
- Fix emoji substitution not applying only to text nodes in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20640))
- Fix rate limiting for paths with formats ([Gargron](https://github.com/mastodon/mastodon/pull/20675))
- Fix out-of-bound reads in blurhash transcoder ([delroth](https://github.com/mastodon/mastodon/pull/20388))
## [3.5.3] - 2022-05-26 ## [3.5.3] - 2022-05-26
### Added ### Added
@ -276,7 +332,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
### Fixed ### Fixed
- Fix error resposes for `from` search prefix ([single-right-quote](https://github.com/mastodon/mastodon/pull/17963)) - Fix error responses for `from` search prefix ([single-right-quote](https://github.com/mastodon/mastodon/pull/17963))
- Fix dangling language-specific trends ([Gargron](https://github.com/mastodon/mastodon/pull/17997)) - Fix dangling language-specific trends ([Gargron](https://github.com/mastodon/mastodon/pull/17997))
- Fix extremely rare race condition when deleting a status or account ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17994)) - Fix extremely rare race condition when deleting a status or account ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17994))
- Fix trends returning less results per page when filtered in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17996)) - Fix trends returning less results per page when filtered in REST API ([Gargron](https://github.com/mastodon/mastodon/pull/17996))
@ -411,7 +467,7 @@ Some of the features in this release have been funded through the [NGI0 Discover
- Remove profile directory link from main navigation panel in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17688)) - Remove profile directory link from main navigation panel in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/17688))
- **Remove language detection through cld3** ([Gargron](https://github.com/mastodon/mastodon/pull/17478), [ykzts](https://github.com/mastodon/mastodon/pull/17539), [Gargron](https://github.com/mastodon/mastodon/pull/17496), [Gargron](https://github.com/mastodon/mastodon/pull/17722)) - **Remove language detection through cld3** ([Gargron](https://github.com/mastodon/mastodon/pull/17478), [ykzts](https://github.com/mastodon/mastodon/pull/17539), [Gargron](https://github.com/mastodon/mastodon/pull/17496), [Gargron](https://github.com/mastodon/mastodon/pull/17722))
- cld3 is very inaccurate on short-form content even with unique alphabets - cld3 is very inaccurate on short-form content even with unique alphabets
- Post language can be overriden individually using `language` param - Post language can be overridden individually using `language` param
- Otherwise, it defaults to the user's interface language - Otherwise, it defaults to the user's interface language
- Remove support for `OAUTH_REDIRECT_AT_SIGN_IN` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17287)) - Remove support for `OAUTH_REDIRECT_AT_SIGN_IN` ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/17287))
- Use `OMNIAUTH_ONLY` instead - Use `OMNIAUTH_ONLY` instead

View File

@ -42,6 +42,8 @@ It is not always possible to phrase every change in such a manner, but it is des
- Code style rules (rubocop, eslint) - Code style rules (rubocop, eslint)
- Normalization of locale files (i18n-tasks) - Normalization of locale files (i18n-tasks)
**Note**: You may need to log in and authorise the GitHub account your fork of this repository belongs to with CircleCI to enable some of the automated checks to run.
## Documentation ## Documentation
The [Mastodon documentation](https://docs.joinmastodon.org) is a statically generated site. You can [submit merge requests to mastodon/documentation](https://github.com/mastodon/documentation). The [Mastodon documentation](https://docs.joinmastodon.org) is a statically generated site. You can [submit merge requests to mastodon/documentation](https://github.com/mastodon/documentation).

View File

@ -92,7 +92,7 @@ gem 'tty-prompt', '~> 0.23', require: false
gem 'twitter-text', '~> 3.1.0' gem 'twitter-text', '~> 3.1.0'
gem 'tzinfo-data', '~> 1.2022' gem 'tzinfo-data', '~> 1.2022'
gem 'webpacker', '~> 5.4' gem 'webpacker', '~> 5.4'
gem 'webpush', git: 'https://github.com/ClearlyClaire/webpush.git', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9' gem 'webpush', github: 'ClearlyClaire/webpush', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9'
gem 'webauthn', '~> 2.5' gem 'webauthn', '~> 2.5'
gem 'json-ld' gem 'json-ld'
@ -122,6 +122,7 @@ group :test do
gem 'simplecov', '~> 0.21', require: false gem 'simplecov', '~> 0.21', require: false
gem 'webmock', '~> 3.18' gem 'webmock', '~> 3.18'
gem 'rspec_junit_formatter', '~> 0.6' gem 'rspec_junit_formatter', '~> 0.6'
gem 'rack-test', '~> 2.0'
end end
group :development do group :development do
@ -152,7 +153,5 @@ end
gem 'concurrent-ruby', require: false gem 'concurrent-ruby', require: false
gem 'connection_pool', require: false gem 'connection_pool', require: false
gem 'xorcist', '~> 1.1' gem 'xorcist', '~> 1.1'
gem 'cocoon', '~> 1.2' gem 'cocoon', '~> 1.2'

View File

@ -412,7 +412,7 @@ GEM
net-ssh (>= 2.6.5, < 8.0.0) net-ssh (>= 2.6.5, < 8.0.0)
net-ssh (7.0.1) net-ssh (7.0.1)
nio4r (2.5.8) nio4r (2.5.8)
nokogiri (1.13.8) nokogiri (1.13.9)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
nsa (0.2.8) nsa (0.2.8)
@ -815,6 +815,7 @@ DEPENDENCIES
rack (~> 2.2.4) rack (~> 2.2.4)
rack-attack (~> 6.6) rack-attack (~> 6.6)
rack-cors (~> 1.1) rack-cors (~> 1.1)
rack-test (~> 2.0)
rails (~> 6.1.7) rails (~> 6.1.7)
rails-controller-testing (~> 1.0) rails-controller-testing (~> 1.0)
rails-i18n (~> 6.0) rails-i18n (~> 6.0)

View File

@ -1,6 +1,6 @@
# Security Policy # Security Policy
If you believe you've identified a security vulnerability in Mastodon (a bug that allows something to happen that shouldn't be possible), you can reach us at <hello@joinmastodon.org>. If you believe you've identified a security vulnerability in Mastodon (a bug that allows something to happen that shouldn't be possible), you can reach us at <security@joinmastodon.org>.
You should *not* report such issues on GitHub or in other public spaces to give us time to publish a fix for the issue without exposing Mastodon's users to increased risk. You should *not* report such issues on GitHub or in other public spaces to give us time to publish a fix for the issue without exposing Mastodon's users to increased risk.
@ -10,9 +10,8 @@ A "vulnerability in Mastodon" is a vulnerability in the code distributed through
## Supported Versions ## Supported Versions
| Version | Supported | | Version | Supported |
| ------- | ------------------ | | ------- | ----------|
| 3.5.x | Yes | | 4.0.x | Yes |
| 3.4.x | Yes | | 3.5.x | Yes |
| 3.3.x | No | | < 3.5 | No |
| < 3.3 | No |

View File

@ -79,8 +79,13 @@
"description": "SMTP server certificate verification mode. Defaults is 'peer'.", "description": "SMTP server certificate verification mode. Defaults is 'peer'.",
"required": false "required": false
}, },
"SMTP_ENABLE_STARTTLS": {
"description": "Enable STARTTLS? Default is 'auto'.",
"value": "auto",
"required": false
},
"SMTP_ENABLE_STARTTLS_AUTO": { "SMTP_ENABLE_STARTTLS_AUTO": {
"description": "Enable STARTTLS if SMTP server supports it? Default is true.", "description": "Enable STARTTLS if SMTP server supports it? Deprecated by SMTP_ENABLE_STARTTLS.",
"required": false "required": false
} }
}, },

View File

@ -57,7 +57,7 @@ class Api::BaseController < ApplicationController
render json: { error: I18n.t('errors.429') }, status: 429 render json: { error: I18n.t('errors.429') }, status: 429
end end
rescue_from ActionController::ParameterMissing do |e| rescue_from ActionController::ParameterMissing, Mastodon::InvalidParameterError do |e|
render json: { error: e.to_s }, status: 400 render json: { error: e.to_s }, status: 400
end end

View File

@ -8,7 +8,7 @@ class Api::V1::Accounts::PinsController < Api::BaseController
before_action :set_account before_action :set_account
def create def create
AccountPin.create!(account: current_account, target_account: @account) AccountPin.find_or_create_by!(account: current_account, target_account: @account)
render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter render json: @account, serializer: REST::RelationshipSerializer, relationships: relationships_presenter
end end

View File

@ -52,7 +52,7 @@ class Api::V1::FiltersController < Api::BaseController
end end
def resource_params def resource_params
params.permit(:phrase, :expires_in, :irreversible, :whole_word, context: []) params.permit(:phrase, :expires_in, :irreversible, context: [])
end end
def filter_params def filter_params

View File

@ -7,6 +7,10 @@ class Api::V1::ListsController < Api::BaseController
before_action :require_user! before_action :require_user!
before_action :set_list, except: [:index, :create] before_action :set_list, except: [:index, :create]
rescue_from ArgumentError do |e|
render json: { error: e.to_s }, status: 422
end
def index def index
@lists = List.where(account: current_account).all @lists = List.where(account: current_account).all
render json: @lists, each_serializer: REST::ListSerializer render json: @lists, each_serializer: REST::ListSerializer

View File

@ -18,14 +18,29 @@ class Api::V1::StatusesController < Api::BaseController
# than this anyway # than this anyway
CONTEXT_LIMIT = 4_096 CONTEXT_LIMIT = 4_096
# This remains expensive and we don't want to show everything to logged-out users
ANCESTORS_LIMIT = 40
DESCENDANTS_LIMIT = 60
DESCENDANTS_DEPTH_LIMIT = 20
def show def show
@status = cache_collection([@status], Status).first @status = cache_collection([@status], Status).first
render json: @status, serializer: REST::StatusSerializer render json: @status, serializer: REST::StatusSerializer
end end
def context def context
ancestors_results = @status.in_reply_to_id.nil? ? [] : @status.ancestors(CONTEXT_LIMIT, current_account) ancestors_limit = CONTEXT_LIMIT
descendants_results = @status.descendants(CONTEXT_LIMIT, current_account) descendants_limit = CONTEXT_LIMIT
descendants_depth_limit = nil
if current_account.nil?
ancestors_limit = ANCESTORS_LIMIT
descendants_limit = DESCENDANTS_LIMIT
descendants_depth_limit = DESCENDANTS_DEPTH_LIMIT
end
ancestors_results = @status.in_reply_to_id.nil? ? [] : @status.ancestors(ancestors_limit, current_account)
descendants_results = @status.descendants(descendants_limit, current_account, descendants_depth_limit)
loaded_ancestors = cache_collection(ancestors_results, Status) loaded_ancestors = cache_collection(ancestors_results, Status)
loaded_descendants = cache_collection(descendants_results, Status) loaded_descendants = cache_collection(descendants_results, Status)

View File

@ -24,7 +24,7 @@ class Api::V1::TagsController < Api::BaseController
private private
def set_or_create_tag def set_or_create_tag
return not_found unless /\A(#{Tag::HASHTAG_NAME_RE})\z/.match?(params[:id]) return not_found unless Tag::HASHTAG_NAME_RE.match?(params[:id])
@tag = Tag.find_normalized(params[:id]) || Tag.new(name: Tag.normalize(params[:id]), display_name: params[:id]) @tag = Tag.find_normalized(params[:id]) || Tag.new(name: Tag.normalize(params[:id]), display_name: params[:id])
end end
end end

View File

@ -35,7 +35,6 @@ class Api::V1::Timelines::PublicController < Api::BaseController
def public_feed def public_feed
PublicFeed.new( PublicFeed.new(
current_account, current_account,
locale: content_locale,
local: truthy_param?(:local), local: truthy_param?(:local),
remote: truthy_param?(:remote), remote: truthy_param?(:remote),
only_media: truthy_param?(:only_media) only_media: truthy_param?(:only_media)

View File

@ -33,7 +33,7 @@ class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController
end end
def filter_params def filter_params
params.permit(*FILTER_PARAMS) params.permit(*FILTER_PARAMS, role_ids: [])
end end
def pagination_params(core_params) def pagination_params(core_params)

View File

@ -1,6 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Filters::KeywordsController < Api::BaseController class Api::V2::Filters::KeywordsController < Api::BaseController
before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show] before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show]
before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show] before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show]
before_action :require_user! before_action :require_user!

View File

@ -1,6 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
class Api::V1::Filters::StatusesController < Api::BaseController class Api::V2::Filters::StatusesController < Api::BaseController
before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show] before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show]
before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show] before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show]
before_action :require_user! before_action :require_user!

View File

@ -18,7 +18,8 @@ class Auth::OmniauthCallbacksController < Devise::OmniauthCallbacksController
) )
sign_in_and_redirect @user, event: :authentication sign_in_and_redirect @user, event: :authentication
set_flash_message(:notice, :success, kind: Devise.omniauth_configs[provider].strategy.display_name.capitalize) if is_navigational_format? label = Devise.omniauth_configs[provider]&.strategy&.display_name.presence || I18n.t("auth.providers.#{provider}", default: provider.to_s.chomp('_oauth2').capitalize)
set_flash_message(:notice, :success, kind: label) if is_navigational_format?
else else
session["devise.#{provider}_data"] = request.env['omniauth.auth'] session["devise.#{provider}_data"] = request.env['omniauth.auth']
redirect_to new_user_registration_url redirect_to new_user_registration_url

View File

@ -1,87 +0,0 @@
# frozen_string_literal: true
module StatusControllerConcern
extend ActiveSupport::Concern
ANCESTORS_LIMIT = 40
DESCENDANTS_LIMIT = 60
DESCENDANTS_DEPTH_LIMIT = 20
def create_descendant_thread(starting_depth, statuses)
depth = starting_depth + statuses.size
if depth < DESCENDANTS_DEPTH_LIMIT
{
statuses: statuses,
starting_depth: starting_depth,
}
else
next_status = statuses.pop
{
statuses: statuses,
starting_depth: starting_depth,
next_status: next_status,
}
end
end
def set_ancestors
@ancestors = @status.reply? ? cache_collection(@status.ancestors(ANCESTORS_LIMIT, current_account), Status) : []
@next_ancestor = @ancestors.size < ANCESTORS_LIMIT ? nil : @ancestors.shift
end
def set_descendants
@max_descendant_thread_id = params[:max_descendant_thread_id]&.to_i
@since_descendant_thread_id = params[:since_descendant_thread_id]&.to_i
descendants = cache_collection(
@status.descendants(
DESCENDANTS_LIMIT,
current_account,
@max_descendant_thread_id,
@since_descendant_thread_id,
DESCENDANTS_DEPTH_LIMIT
),
Status
)
@descendant_threads = []
if descendants.present?
statuses = [descendants.first]
starting_depth = 0
descendants.drop(1).each_with_index do |descendant, index|
if descendants[index].id == descendant.in_reply_to_id
statuses << descendant
else
@descendant_threads << create_descendant_thread(starting_depth, statuses)
# The thread is broken, assume it's a reply to the root status
starting_depth = 0
# ... unless we can find its ancestor in one of the already-processed threads
@descendant_threads.reverse_each do |descendant_thread|
statuses = descendant_thread[:statuses]
index = statuses.find_index do |thread_status|
thread_status.id == descendant.in_reply_to_id
end
if index.present?
starting_depth = descendant_thread[:starting_depth] + index + 1
break
end
end
statuses = [descendant]
end
end
@descendant_threads << create_descendant_thread(starting_depth, statuses)
end
@max_descendant_thread_id = @descendant_threads.pop[:statuses].first.id if descendants.size >= DESCENDANTS_LIMIT
end
end

View File

@ -2,7 +2,6 @@
class StatusesController < ApplicationController class StatusesController < ApplicationController
include WebAppControllerConcern include WebAppControllerConcern
include StatusControllerConcern
include SignatureAuthentication include SignatureAuthentication
include Authorization include Authorization
include AccountOwnedConcern include AccountOwnedConcern

View File

@ -1,4 +1,5 @@
# frozen_string_literal: true # frozen_string_literal: true
# rubocop:disable Metrics/ModuleLength, Style/WordArray
module LanguagesHelper module LanguagesHelper
ISO_639_1 = { ISO_639_1 = {
@ -189,8 +190,14 @@ module LanguagesHelper
ISO_639_3 = { ISO_639_3 = {
ast: ['Asturian', 'Asturianu'].freeze, ast: ['Asturian', 'Asturianu'].freeze,
ckb: ['Sorani (Kurdish)', 'سۆرانی'].freeze, ckb: ['Sorani (Kurdish)', 'سۆرانی'].freeze,
jbo: ['Lojban', 'la .lojban.'].freeze,
kab: ['Kabyle', 'Taqbaylit'].freeze, kab: ['Kabyle', 'Taqbaylit'].freeze,
kmr: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze, kmr: ['Kurmanji (Kurdish)', 'Kurmancî'].freeze,
ldn: ['Láadan', 'Láadan'].freeze,
lfn: ['Lingua Franca Nova', 'lingua franca nova'].freeze,
sco: ['Scots', 'Scots'].freeze,
tok: ['Toki Pona', 'toki pona'].freeze,
zba: ['Balaibalan', 'باليبلن'].freeze,
zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze, zgh: ['Standard Moroccan Tamazight', 'ⵜⴰⵎⴰⵣⵉⵖⵜ'].freeze,
}.freeze }.freeze
@ -259,3 +266,5 @@ module LanguagesHelper
locale_name.to_sym if locale_name.present? && I18n.available_locales.include?(locale_name.to_sym) locale_name.to_sym if locale_name.present? && I18n.available_locales.include?(locale_name.to_sym)
end end
end end
# rubocop:enable Metrics/ModuleLength, Style/WordArray

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg"><symbol id="mastodon-svg-logo" viewBox="0 0 216.4144 232.00976"><path d="M107.86523 0C78.203984.2425 49.672422 3.4535937 33.044922 11.089844c0 0-32.97656262 14.752031-32.97656262 65.082031 0 11.525-.224375 25.306175.140625 39.919925 1.19750002 49.22 9.02375002 97.72843 54.53124962 109.77343 20.9825 5.55375 38.99711 6.71547 53.505856 5.91797 26.31125-1.45875 41.08203-9.38867 41.08203-9.38867l-.86914-19.08984s-18.80171 5.92758-39.91796 5.20508c-20.921254-.7175-43.006879-2.25516-46.390629-27.94141-.3125-2.25625-.46875-4.66938-.46875-7.20313 0 0 20.536953 5.0204 46.564449 6.21289 15.915.73001 30.8393-.93343 45.99805-2.74218 29.07-3.47125 54.38125-21.3818 57.5625-37.74805 5.0125-25.78125 4.59961-62.916015 4.59961-62.916015 0-50.33-32.97461-65.082031-32.97461-65.082031C166.80539 3.4535938 138.255.2425 108.59375 0h-.72852zM74.296875 39.326172c12.355 0 21.710234 4.749297 27.896485 14.248047l6.01367 10.080078 6.01563-10.080078c6.185-9.49875 15.54023-14.248047 27.89648-14.248047 10.6775 0 19.28156 3.753672 25.85156 11.076172 6.36875 7.3225 9.53907 17.218828 9.53907 29.673828v60.941408h-24.14454V81.869141c0-12.46875-5.24453-18.798829-15.73828-18.798829-11.6025 0-17.41797 7.508516-17.41797 22.353516v32.375002H96.207031V85.423828c0-14.845-5.815468-22.353515-17.417969-22.353516-10.49375 0-15.740234 6.330079-15.740234 18.798829v59.148439H38.904297V80.076172c0-12.455 3.171016-22.351328 9.541015-29.673828 6.568751-7.3225 15.172813-11.076172 25.851563-11.076172z" /></symbol></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -43,7 +43,7 @@ export const fetchFilters = () => (dispatch, getState) => {
export const createFilterStatus = (params, onSuccess, onFail) => (dispatch, getState) => { export const createFilterStatus = (params, onSuccess, onFail) => (dispatch, getState) => {
dispatch(createFilterStatusRequest()); dispatch(createFilterStatusRequest());
api(getState).post(`/api/v1/filters/${params.filter_id}/statuses`, params).then(response => { api(getState).post(`/api/v2/filters/${params.filter_id}/statuses`, params).then(response => {
dispatch(createFilterStatusSuccess(response.data)); dispatch(createFilterStatusSuccess(response.data));
if (onSuccess) onSuccess(); if (onSuccess) onSuccess();
}).catch(error => { }).catch(error => {

View File

@ -3,13 +3,13 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Avatar from './avatar'; import Avatar from './avatar';
import DisplayName from './display_name'; import DisplayName from './display_name';
import Permalink from './permalink';
import IconButton from './icon_button'; import IconButton from './icon_button';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { me } from '../initial_state'; import { me } from '../initial_state';
import RelativeTimestamp from './relative_timestamp'; import RelativeTimestamp from './relative_timestamp';
import Skeleton from 'mastodon/components/skeleton'; import Skeleton from 'mastodon/components/skeleton';
import { Link } from 'react-router-dom';
const messages = defineMessages({ const messages = defineMessages({
follow: { id: 'account.follow', defaultMessage: 'Follow' }, follow: { id: 'account.follow', defaultMessage: 'Follow' },
@ -140,11 +140,11 @@ class Account extends ImmutablePureComponent {
return ( return (
<div className='account'> <div className='account'>
<div className='account__wrapper'> <div className='account__wrapper'>
<Permalink key={account.get('id')} className='account__display-name' title={account.get('acct')} href={account.get('url')} to={`/@${account.get('acct')}`}> <Link key={account.get('id')} className='account__display-name' title={account.get('acct')} to={`/@${account.get('acct')}`}>
<div className='account__avatar-wrapper'><Avatar account={account} size={size} /></div> <div className='account__avatar-wrapper'><Avatar account={account} size={size} /></div>
{mute_expires_at} {mute_expires_at}
<DisplayName account={account} /> <DisplayName account={account} />
</Permalink> </Link>
<div className='account__relationship'> <div className='account__relationship'>
{buttons} {buttons}

View File

@ -50,7 +50,7 @@ export default class Trends extends React.PureComponent {
<Hashtag <Hashtag
key={hashtag.name} key={hashtag.name}
name={hashtag.name} name={hashtag.name}
href={`/admin/tags/${hashtag.id}`} to={`/admin/tags/${hashtag.id}`}
people={hashtag.history[0].accounts * 1 + hashtag.history[1].accounts * 1} people={hashtag.history[0].accounts * 1 + hashtag.history[1].accounts * 1}
uses={hashtag.history[0].uses * 1 + hashtag.history[1].uses * 1} uses={hashtag.history[0].uses * 1 + hashtag.history[1].uses * 1}
history={hashtag.history.reverse().map(day => day.uses)} history={hashtag.history.reverse().map(day => day.uses)}

View File

@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { FormattedNumber } from 'react-intl'; import ShortNumber from 'mastodon/components/short_number';
import TransitionMotion from 'react-motion/lib/TransitionMotion'; import TransitionMotion from 'react-motion/lib/TransitionMotion';
import spring from 'react-motion/lib/spring'; import spring from 'react-motion/lib/spring';
import { reduceMotion } from 'mastodon/initial_state'; import { reduceMotion } from 'mastodon/initial_state';
@ -51,7 +51,7 @@ export default class AnimatedNumber extends React.PureComponent {
const { direction } = this.state; const { direction } = this.state;
if (reduceMotion) { if (reduceMotion) {
return obfuscate ? obfuscatedCount(value) : <FormattedNumber value={value} />; return obfuscate ? obfuscatedCount(value) : <ShortNumber value={value} />;
} }
const styles = [{ const styles = [{
@ -65,7 +65,7 @@ export default class AnimatedNumber extends React.PureComponent {
{items => ( {items => (
<span className='animated-number'> <span className='animated-number'>
{items.map(({ key, data, style }) => ( {items.map(({ key, data, style }) => (
<span key={key} style={{ position: (direction * style.y) > 0 ? 'absolute' : 'static', transform: `translateY(${style.y * 100}%)` }}>{obfuscate ? obfuscatedCount(data) : <FormattedNumber value={data} />}</span> <span key={key} style={{ position: (direction * style.y) > 0 ? 'absolute' : 'static', transform: `translateY(${style.y * 100}%)` }}>{obfuscate ? obfuscatedCount(data) : <ShortNumber value={data} />}</span>
))} ))}
</span> </span>
)} )}

View File

@ -57,7 +57,7 @@ class ColumnHeader extends React.PureComponent {
} }
handleTitleClick = () => { handleTitleClick = () => {
this.props.onClick(); this.props.onClick?.();
} }
handleMoveLeft = () => { handleMoveLeft = () => {
@ -152,7 +152,6 @@ class ColumnHeader extends React.PureComponent {
className={collapsibleButtonClassName} className={collapsibleButtonClassName}
title={formatMessage(collapsed ? messages.show : messages.hide)} title={formatMessage(collapsed ? messages.show : messages.hide)}
aria-label={formatMessage(collapsed ? messages.show : messages.hide)} aria-label={formatMessage(collapsed ? messages.show : messages.hide)}
aria-pressed={collapsed ? 'false' : 'true'}
onClick={this.handleToggleClick} onClick={this.handleToggleClick}
> >
<i className='icon-with-badge'> <i className='icon-with-badge'>

View File

@ -4,7 +4,7 @@ import { Sparklines, SparklinesCurve } from 'react-sparklines';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import Permalink from './permalink'; import { Link } from 'react-router-dom';
import ShortNumber from 'mastodon/components/short_number'; import ShortNumber from 'mastodon/components/short_number';
import Skeleton from 'mastodon/components/skeleton'; import Skeleton from 'mastodon/components/skeleton';
import classNames from 'classnames'; import classNames from 'classnames';
@ -53,7 +53,6 @@ export const accountsCountRenderer = (displayNumber, pluralReady) => (
export const ImmutableHashtag = ({ hashtag }) => ( export const ImmutableHashtag = ({ hashtag }) => (
<Hashtag <Hashtag
name={hashtag.get('name')} name={hashtag.get('name')}
href={hashtag.get('url')}
to={`/tags/${hashtag.get('name')}`} to={`/tags/${hashtag.get('name')}`}
people={hashtag.getIn(['history', 0, 'accounts']) * 1 + hashtag.getIn(['history', 1, 'accounts']) * 1} people={hashtag.getIn(['history', 0, 'accounts']) * 1 + hashtag.getIn(['history', 1, 'accounts']) * 1}
history={hashtag.get('history').reverse().map((day) => day.get('uses')).toArray()} history={hashtag.get('history').reverse().map((day) => day.get('uses')).toArray()}
@ -64,12 +63,12 @@ ImmutableHashtag.propTypes = {
hashtag: ImmutablePropTypes.map.isRequired, hashtag: ImmutablePropTypes.map.isRequired,
}; };
const Hashtag = ({ name, href, to, people, uses, history, className, description, withGraph }) => ( const Hashtag = ({ name, to, people, uses, history, className, description, withGraph }) => (
<div className={classNames('trends__item', className)}> <div className={classNames('trends__item', className)}>
<div className='trends__item__name'> <div className='trends__item__name'>
<Permalink href={href} to={to}> <Link to={to}>
{name ? <React.Fragment>#<span>{name}</span></React.Fragment> : <Skeleton width={50} />} {name ? <React.Fragment>#<span>{name}</span></React.Fragment> : <Skeleton width={50} />}
</Permalink> </Link>
{description ? ( {description ? (
<span>{description}</span> <span>{description}</span>
@ -98,7 +97,6 @@ const Hashtag = ({ name, href, to, people, uses, history, className, description
Hashtag.propTypes = { Hashtag.propTypes = {
name: PropTypes.string, name: PropTypes.string,
href: PropTypes.string,
to: PropTypes.string, to: PropTypes.string,
people: PropTypes.number, people: PropTypes.number,
description: PropTypes.node, description: PropTypes.node,

View File

@ -14,7 +14,7 @@ export default class Icon extends React.PureComponent {
const { id, className, fixedWidth, ...other } = this.props; const { id, className, fixedWidth, ...other } = this.props;
return ( return (
<i role='img' className={classNames('fa', `fa-${id}`, className, { 'fa-fw': fixedWidth })} {...other} /> <i className={classNames('fa', `fa-${id}`, className, { 'fa-fw': fixedWidth })} {...other} />
); );
} }

View File

@ -16,7 +16,6 @@ export default class IconButton extends React.PureComponent {
onKeyPress: PropTypes.func, onKeyPress: PropTypes.func,
size: PropTypes.number, size: PropTypes.number,
active: PropTypes.bool, active: PropTypes.bool,
pressed: PropTypes.bool,
expanded: PropTypes.bool, expanded: PropTypes.bool,
style: PropTypes.object, style: PropTypes.object,
activeStyle: PropTypes.object, activeStyle: PropTypes.object,
@ -98,7 +97,6 @@ export default class IconButton extends React.PureComponent {
icon, icon,
inverted, inverted,
overlay, overlay,
pressed,
tabIndex, tabIndex,
title, title,
counter, counter,
@ -143,7 +141,6 @@ export default class IconButton extends React.PureComponent {
<button <button
type='button' type='button'
aria-label={title} aria-label={title}
aria-pressed={pressed}
aria-expanded={expanded} aria-expanded={expanded}
title={title} title={title}
className={classes} className={classes}

View File

@ -1,40 +0,0 @@
import React from 'react';
import PropTypes from 'prop-types';
export default class Permalink extends React.PureComponent {
static contextTypes = {
router: PropTypes.object,
};
static propTypes = {
className: PropTypes.string,
href: PropTypes.string.isRequired,
to: PropTypes.string.isRequired,
children: PropTypes.node,
onInterceptClick: PropTypes.func,
};
handleClick = e => {
if (this.props.onInterceptClick && this.props.onInterceptClick()) {
e.preventDefault();
return;
}
if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) {
e.preventDefault();
this.context.router.history.push(this.props.to);
}
}
render () {
const { href, children, className, onInterceptClick, ...other } = this.props;
return (
<a target='_blank' href={href} onClick={this.handleClick} {...other} className={`permalink${className ? ' ' + className : ''}`}>
{children}
</a>
);
}
}

View File

@ -378,7 +378,7 @@ class Status extends ImmutablePureComponent {
prepend = ( prepend = (
<div className='status__prepend'> <div className='status__prepend'>
<div className='status__prepend-icon-wrapper'><Icon id='retweet' className='status__prepend-icon' fixedWidth /></div> <div className='status__prepend-icon-wrapper'><Icon id='retweet' className='status__prepend-icon' fixedWidth /></div>
<FormattedMessage id='status.reblogged_by' defaultMessage='{name} boosted' values={{ name: <a onClick={this.handlePrependAccountClick} data-id={status.getIn(['account', 'id'])} href={status.getIn(['account', 'url'])} className='status__display-name muted'><bdi><strong dangerouslySetInnerHTML={display_name_html} /></bdi></a> }} /> <FormattedMessage id='status.reblogged_by' defaultMessage='{name} boosted' values={{ name: <a onClick={this.handlePrependAccountClick} data-id={status.getIn(['account', 'id'])} href={`/@${status.getIn(['account', 'acct'])}`} className='status__display-name muted'><bdi><strong dangerouslySetInnerHTML={display_name_html} /></bdi></a> }} />
</div> </div>
); );
@ -392,7 +392,7 @@ class Status extends ImmutablePureComponent {
prepend = ( prepend = (
<div className='status__prepend'> <div className='status__prepend'>
<div className='status__prepend-icon-wrapper'><Icon id='reply' className='status__prepend-icon' fixedWidth /></div> <div className='status__prepend-icon-wrapper'><Icon id='reply' className='status__prepend-icon' fixedWidth /></div>
<FormattedMessage id='status.replied_to' defaultMessage='Replied to {name}' values={{ name: <a onClick={this.handlePrependAccountClick} data-id={status.getIn(['account', 'id'])} href={status.getIn(['account', 'url'])} className='status__display-name muted'><bdi><strong dangerouslySetInnerHTML={display_name_html} /></bdi></a> }} /> <FormattedMessage id='status.replied_to' defaultMessage='Replied to {name}' values={{ name: <a onClick={this.handlePrependAccountClick} data-id={status.getIn(['account', 'id'])} href={`/@${status.getIn(['account', 'acct'])}`} className='status__display-name muted'><bdi><strong dangerouslySetInnerHTML={display_name_html} /></bdi></a> }} />
</div> </div>
); );
} }
@ -476,7 +476,7 @@ class Status extends ImmutablePureComponent {
</Bundle> </Bundle>
); );
} }
} else if (status.get('spoiler_text').length === 0 && status.get('card')) { } else if (status.get('spoiler_text').length === 0 && status.get('card') && !this.props.muted) {
media = ( media = (
<Card <Card
onOpenMedia={this.handleOpenMedia} onOpenMedia={this.handleOpenMedia}
@ -511,12 +511,12 @@ class Status extends ImmutablePureComponent {
<div className={classNames('status', `status-${status.get('visibility')}`, { 'status-reply': !!status.get('in_reply_to_id'), muted: this.props.muted })} data-id={status.get('id')}> <div className={classNames('status', `status-${status.get('visibility')}`, { 'status-reply': !!status.get('in_reply_to_id'), muted: this.props.muted })} data-id={status.get('id')}>
<div className='status__info'> <div className='status__info'>
<a onClick={this.handleClick} href={status.get('url')} className='status__relative-time' target='_blank' rel='noopener noreferrer'> <a onClick={this.handleClick} href={`/@${status.getIn(['account', 'acct'])}\/${status.get('id')}`} className='status__relative-time' target='_blank' rel='noopener noreferrer'>
<span className='status__visibility-icon'><Icon id={visibilityIcon.icon} title={visibilityIcon.text} /></span> <span className='status__visibility-icon'><Icon id={visibilityIcon.icon} title={visibilityIcon.text} /></span>
<RelativeTimestamp timestamp={status.get('created_at')} />{status.get('edited_at') && <abbr title={intl.formatMessage(messages.edited, { date: intl.formatDate(status.get('edited_at'), { hour12: false, year: 'numeric', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }) })}> *</abbr>} <RelativeTimestamp timestamp={status.get('created_at')} />{status.get('edited_at') && <abbr title={intl.formatMessage(messages.edited, { date: intl.formatDate(status.get('edited_at'), { hour12: false, year: 'numeric', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }) })}> *</abbr>}
</a> </a>
<a onClick={this.handleAccountClick} href={status.getIn(['account', 'url'])} title={status.getIn(['account', 'acct'])} className='status__display-name' target='_blank' rel='noopener noreferrer'> <a onClick={this.handleAccountClick} href={`/@${status.getIn(['account', 'acct'])}`} title={status.getIn(['account', 'acct'])} className='status__display-name' target='_blank' rel='noopener noreferrer'>
<div className='status__avatar'> <div className='status__avatar'>
{statusAvatar} {statusAvatar}
</div> </div>

View File

@ -45,6 +45,7 @@ const messages = defineMessages({
unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },
unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },
filter: { id: 'status.filter', defaultMessage: 'Filter this post' }, filter: { id: 'status.filter', defaultMessage: 'Filter this post' },
openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' },
}); });
const mapStateToProps = (state, { status }) => ({ const mapStateToProps = (state, { status }) => ({
@ -221,25 +222,10 @@ class StatusActionBar extends ImmutablePureComponent {
} }
handleCopy = () => { handleCopy = () => {
const url = this.props.status.get('url'); const url = this.props.status.get('url');
const textarea = document.createElement('textarea'); navigator.clipboard.writeText(url);
textarea.textContent = url;
textarea.style.position = 'fixed';
document.body.appendChild(textarea);
try {
textarea.select();
document.execCommand('copy');
} catch (e) {
} finally {
document.body.removeChild(textarea);
}
} }
handleHideClick = () => { handleHideClick = () => {
this.props.onFilter(); this.props.onFilter();
} }
@ -254,12 +240,17 @@ class StatusActionBar extends ImmutablePureComponent {
const mutingConversation = status.get('muted'); const mutingConversation = status.get('muted');
const account = status.get('account'); const account = status.get('account');
const writtenByMe = status.getIn(['account', 'id']) === me; const writtenByMe = status.getIn(['account', 'id']) === me;
const isRemote = status.getIn(['account', 'username']) !== status.getIn(['account', 'acct']);
let menu = []; let menu = [];
menu.push({ text: intl.formatMessage(messages.open), action: this.handleOpen }); menu.push({ text: intl.formatMessage(messages.open), action: this.handleOpen });
if (publicStatus) { if (publicStatus) {
if (isRemote) {
menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: status.get('url') });
}
menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy }); menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy });
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
} }
@ -361,8 +352,8 @@ class StatusActionBar extends ImmutablePureComponent {
return ( return (
<div className='status__action-bar'> <div className='status__action-bar'>
<IconButton className='status__action-bar__button' title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} counter={status.get('replies_count')} obfuscateCount /> <IconButton className='status__action-bar__button' title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} counter={status.get('replies_count')} obfuscateCount />
<IconButton className={classNames('status__action-bar__button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} pressed={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} /> <IconButton className={classNames('status__action-bar__button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} counter={withCounters ? status.get('reblogs_count') : undefined} />
<IconButton className='status__action-bar__button star-icon' animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} /> <IconButton className='status__action-bar__button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={withCounters ? status.get('favourites_count') : undefined} />
<IconButton className='status__action-bar__button bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} /> <IconButton className='status__action-bar__button bookmark-icon' disabled={!signedIn} active={status.get('bookmarked')} title={intl.formatMessage(messages.bookmark)} icon='bookmark' onClick={this.handleBookmarkClick} />
{shareButton} {shareButton}

View File

@ -2,13 +2,13 @@ import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { FormattedMessage, injectIntl } from 'react-intl'; import { FormattedMessage, injectIntl } from 'react-intl';
import Permalink from './permalink'; import { Link } from 'react-router-dom';
import classnames from 'classnames'; import classnames from 'classnames';
import PollContainer from 'mastodon/containers/poll_container'; import PollContainer from 'mastodon/containers/poll_container';
import Icon from 'mastodon/components/icon'; import Icon from 'mastodon/components/icon';
import { autoPlayGif, languages as preloadedLanguages, translationEnabled } from 'mastodon/initial_state'; import { autoPlayGif, languages as preloadedLanguages, translationEnabled } from 'mastodon/initial_state';
const MAX_HEIGHT = 642; // 20px * 32 (+ 2px padding at the top) const MAX_HEIGHT = 706; // 22px * 32 (+ 2px padding at the top)
class TranslateButton extends React.PureComponent { class TranslateButton extends React.PureComponent {
@ -77,38 +77,45 @@ class StatusContent extends React.PureComponent {
return; return;
} }
const { status, onCollapsedToggle } = this.props;
const links = node.querySelectorAll('a'); const links = node.querySelectorAll('a');
let link, mention;
for (var i = 0; i < links.length; ++i) { for (var i = 0; i < links.length; ++i) {
let link = links[i]; link = links[i];
if (link.classList.contains('status-link')) { if (link.classList.contains('status-link')) {
continue; continue;
} }
link.classList.add('status-link'); link.classList.add('status-link');
let mention = this.props.status.get('mentions').find(item => link.href === item.get('url')); mention = this.props.status.get('mentions').find(item => link.href === item.get('url'));
if (mention) { if (mention) {
link.addEventListener('click', this.onMentionClick.bind(this, mention), false); link.addEventListener('click', this.onMentionClick.bind(this, mention), false);
link.setAttribute('title', mention.get('acct')); link.setAttribute('title', mention.get('acct'));
link.setAttribute('href', `/@${mention.get('acct')}`);
} else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) { } else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) {
link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false); link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false);
link.setAttribute('href', `/tags/${link.text.slice(1)}`);
} else { } else {
link.setAttribute('title', link.href); link.setAttribute('title', link.href);
link.classList.add('unhandled-link'); link.classList.add('unhandled-link');
} }
} }
if (this.props.status.get('collapsed', null) === null) { if (status.get('collapsed', null) === null && onCollapsedToggle) {
let collapsed = const { collapsable, onClick } = this.props;
this.props.collapsable
&& this.props.onClick const collapsed =
collapsable
&& onClick
&& node.clientHeight > MAX_HEIGHT && node.clientHeight > MAX_HEIGHT
&& this.props.status.get('spoiler_text').length === 0; && status.get('spoiler_text').length === 0;
if(this.props.onCollapsedToggle) this.props.onCollapsedToggle(collapsed); onCollapsedToggle(collapsed);
this.props.status.set('collapsed', collapsed);
} }
} }
@ -242,9 +249,9 @@ class StatusContent extends React.PureComponent {
let mentionsPlaceholder = ''; let mentionsPlaceholder = '';
const mentionLinks = status.get('mentions').map(item => ( const mentionLinks = status.get('mentions').map(item => (
<Permalink to={`/@${item.get('acct')}`} href={item.get('url')} key={item.get('id')} className='mention'> <Link to={`/@${item.get('acct')}`} key={item.get('id')} className='status-link mention'>
@<span>{item.get('username')}</span> @<span>{item.get('username')}</span>
</Permalink> </Link>
)).reduce((aggregate, item) => [...aggregate, item, ' '], []); )).reduce((aggregate, item) => [...aggregate, item, ' '], []);
const toggleText = hidden ? <FormattedMessage id='status.show_more' defaultMessage='Show more' /> : <FormattedMessage id='status.show_less' defaultMessage='Show less' />; const toggleText = hidden ? <FormattedMessage id='status.show_more' defaultMessage='Show more' /> : <FormattedMessage id='status.show_less' defaultMessage='Show less' />;
@ -258,7 +265,7 @@ class StatusContent extends React.PureComponent {
<p style={{ marginBottom: hidden && status.get('mentions').isEmpty() ? '0px' : null }}> <p style={{ marginBottom: hidden && status.get('mentions').isEmpty() ? '0px' : null }}>
<span dangerouslySetInnerHTML={spoilerContent} className='translate' lang={lang} /> <span dangerouslySetInnerHTML={spoilerContent} className='translate' lang={lang} />
{' '} {' '}
<button tabIndex='0' className={`status__content__spoiler-link ${hidden ? 'status__content__spoiler-link--show-more' : 'status__content__spoiler-link--show-less'}`} onClick={this.handleSpoilerClick}>{toggleText}</button> <button type='button' className={`status__content__spoiler-link ${hidden ? 'status__content__spoiler-link--show-more' : 'status__content__spoiler-link--show-less'}`} onClick={this.handleSpoilerClick} aria-expanded={!hidden}>{toggleText}</button>
</p> </p>
{mentionsPlaceholder} {mentionsPlaceholder}

View File

@ -1,62 +0,0 @@
import React, { Fragment } from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import PropTypes from 'prop-types';
import configureStore from '../store/configureStore';
import { hydrateStore } from '../actions/store';
import { IntlProvider, addLocaleData } from 'react-intl';
import { getLocale } from '../locales';
import PublicTimeline from '../features/standalone/public_timeline';
import HashtagTimeline from '../features/standalone/hashtag_timeline';
import ModalContainer from '../features/ui/containers/modal_container';
import initialState from '../initial_state';
const { localeData, messages } = getLocale();
addLocaleData(localeData);
const store = configureStore();
if (initialState) {
store.dispatch(hydrateStore(initialState));
}
export default class TimelineContainer extends React.PureComponent {
static propTypes = {
locale: PropTypes.string.isRequired,
hashtag: PropTypes.string,
local: PropTypes.bool,
};
static defaultProps = {
local: !initialState.settings.known_fediverse,
};
render () {
const { locale, hashtag, local } = this.props;
let timeline;
if (hashtag) {
timeline = <HashtagTimeline hashtag={hashtag} local={local} />;
} else {
timeline = <PublicTimeline local={local} />;
}
return (
<IntlProvider locale={locale} messages={messages}>
<Provider store={store}>
<Fragment>
{timeline}
{ReactDOM.createPortal(
<ModalContainer />,
document.getElementById('modal-container'),
)}
</Fragment>
</Provider>
</IntlProvider>
);
}
}

View File

@ -183,25 +183,18 @@ class About extends React.PureComponent {
<> <>
<p><FormattedMessage id='about.domain_blocks.preamble' defaultMessage='Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.' /></p> <p><FormattedMessage id='about.domain_blocks.preamble' defaultMessage='Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.' /></p>
<table className='about__domain-blocks'> <div className='about__domain-blocks'>
<thead> {domainBlocks.get('items').map(block => (
<tr> <div className='about__domain-blocks__domain' key={block.get('domain')}>
<th><FormattedMessage id='about.domain_blocks.domain' defaultMessage='Domain' /></th> <div className='about__domain-blocks__domain__header'>
<th><FormattedMessage id='about.domain_blocks.severity' defaultMessage='Severity' /></th> <h6><span title={`SHA-256: ${block.get('digest')}`}>{block.get('domain')}</span></h6>
<th><FormattedMessage id='about.domain_blocks.comment' defaultMessage='Reason' /></th> <span className='about__domain-blocks__domain__type' title={intl.formatMessage(severityMessages[block.get('severity')].explanation)}>{intl.formatMessage(severityMessages[block.get('severity')].title)}</span>
</tr> </div>
</thead>
<tbody> <p>{(block.get('comment') || '').length > 0 ? block.get('comment') : <FormattedMessage id='about.domain_blocks.no_reason_available' defaultMessage='Reason not available' />}</p>
{domainBlocks.get('items').map(block => ( </div>
<tr key={block.get('domain')}> ))}
<td><span title={`SHA-256: ${block.get('digest')}`}>{block.get('domain')}</span></td> </div>
<td><span title={intl.formatMessage(severityMessages[block.get('severity')].explanation)}>{intl.formatMessage(severityMessages[block.get('severity')].title)}</span></td>
<td>{block.get('comment')}</td>
</tr>
))}
</tbody>
</table>
</> </>
) : ( ) : (
<p><FormattedMessage id='about.not_available' defaultMessage='This information has not been made available on this server.' /></p> <p><FormattedMessage id='about.not_available' defaultMessage='This information has not been made available on this server.' /></p>

View File

@ -39,7 +39,6 @@ class FeaturedTags extends ImmutablePureComponent {
<Hashtag <Hashtag
key={featuredTag.get('name')} key={featuredTag.get('name')}
name={featuredTag.get('name')} name={featuredTag.get('name')}
href={featuredTag.get('url')}
to={`/@${account.get('acct')}/tagged/${featuredTag.get('name')}`} to={`/@${account.get('acct')}/tagged/${featuredTag.get('name')}`}
uses={featuredTag.get('statuses_count') * 1} uses={featuredTag.get('statuses_count') * 1}
withGraph={false} withGraph={false}

View File

@ -53,6 +53,7 @@ const messages = defineMessages({
add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' }, add_or_remove_from_list: { id: 'account.add_or_remove_from_list', defaultMessage: 'Add or Remove from lists' },
admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' }, admin_account: { id: 'status.admin_account', defaultMessage: 'Open moderation interface for @{name}' },
languages: { id: 'account.languages', defaultMessage: 'Change subscribed languages' }, languages: { id: 'account.languages', defaultMessage: 'Change subscribed languages' },
openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' },
}); });
const titleFromAccount = account => { const titleFromAccount = account => {
@ -97,6 +98,7 @@ class Header extends ImmutablePureComponent {
onEditAccountNote: PropTypes.func.isRequired, onEditAccountNote: PropTypes.func.isRequired,
onChangeLanguages: PropTypes.func.isRequired, onChangeLanguages: PropTypes.func.isRequired,
onInteractionModal: PropTypes.func.isRequired, onInteractionModal: PropTypes.func.isRequired,
onOpenAvatar: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
domain: PropTypes.string.isRequired, domain: PropTypes.string.isRequired,
hidden: PropTypes.bool, hidden: PropTypes.bool,
@ -140,6 +142,13 @@ class Header extends ImmutablePureComponent {
} }
} }
handleAvatarClick = e => {
if (e.button === 0 && !(e.ctrlKey || e.metaKey)) {
e.preventDefault();
this.props.onOpenAvatar();
}
}
render () { render () {
const { account, hidden, intl, domain } = this.props; const { account, hidden, intl, domain } = this.props;
const { signedIn } = this.context.identity; const { signedIn } = this.context.identity;
@ -148,7 +157,9 @@ class Header extends ImmutablePureComponent {
return null; return null;
} }
const suspended = account.get('suspended'); const suspended = account.get('suspended');
const isRemote = account.get('acct') !== account.get('username');
const remoteDomain = isRemote ? account.get('acct').split('@')[1] : null;
let info = []; let info = [];
let actionBtn = ''; let actionBtn = '';
@ -200,6 +211,11 @@ class Header extends ImmutablePureComponent {
menu.push(null); menu.push(null);
} }
if (isRemote) {
menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: account.get('url') });
menu.push(null);
}
if ('share' in navigator) { if ('share' in navigator) {
menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare }); menu.push({ text: intl.formatMessage(messages.share, { name: account.get('username') }), action: this.handleShare });
menu.push(null); menu.push(null);
@ -250,15 +266,13 @@ class Header extends ImmutablePureComponent {
menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport }); menu.push({ text: intl.formatMessage(messages.report, { name: account.get('username') }), action: this.props.onReport });
} }
if (signedIn && account.get('acct') !== account.get('username')) { if (signedIn && isRemote) {
const domain = account.get('acct').split('@')[1];
menu.push(null); menu.push(null);
if (account.getIn(['relationship', 'domain_blocking'])) { if (account.getIn(['relationship', 'domain_blocking'])) {
menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain }), action: this.props.onUnblockDomain }); menu.push({ text: intl.formatMessage(messages.unblockDomain, { domain: remoteDomain }), action: this.props.onUnblockDomain });
} else { } else {
menu.push({ text: intl.formatMessage(messages.blockDomain, { domain }), action: this.props.onBlockDomain }); menu.push({ text: intl.formatMessage(messages.blockDomain, { domain: remoteDomain }), action: this.props.onBlockDomain });
} }
} }
@ -296,12 +310,10 @@ class Header extends ImmutablePureComponent {
<div className='account__header__bar'> <div className='account__header__bar'>
<div className='account__header__tabs'> <div className='account__header__tabs'>
<a className='avatar' href={account.get('url')} rel='noopener noreferrer' target='_blank'> <a className='avatar' href={account.get('avatar')} rel='noopener noreferrer' target='_blank' onClick={this.handleAvatarClick}>
<Avatar account={suspended || hidden ? undefined : account} size={90} /> <Avatar account={suspended || hidden ? undefined : account} size={90} />
</a> </a>
<div className='spacer' />
{!suspended && ( {!suspended && (
<div className='account__header__tabs__buttons'> <div className='account__header__tabs__buttons'>
{!hidden && ( {!hidden && (

View File

@ -129,7 +129,7 @@ export default class MediaItem extends ImmutablePureComponent {
return ( return (
<div className='account-gallery__item' style={{ width, height }}> <div className='account-gallery__item' style={{ width, height }}>
<a className='media-gallery__item-thumbnail' href={status.get('url')} onClick={this.handleClick} title={title} target='_blank' rel='noopener noreferrer'> <a className='media-gallery__item-thumbnail' href={`/@${status.getIn(['account', 'acct'])}\/${status.get('id')}`} onClick={this.handleClick} title={title} target='_blank' rel='noopener noreferrer'>
<Blurhash <Blurhash
hash={attachment.get('blurhash')} hash={attachment.get('blurhash')}
className={classNames('media-gallery__preview', { 'media-gallery__preview--hidden': visible && loaded })} className={classNames('media-gallery__preview', { 'media-gallery__preview--hidden': visible && loaded })}

View File

@ -24,6 +24,7 @@ export default class Header extends ImmutablePureComponent {
onAddToList: PropTypes.func.isRequired, onAddToList: PropTypes.func.isRequired,
onChangeLanguages: PropTypes.func.isRequired, onChangeLanguages: PropTypes.func.isRequired,
onInteractionModal: PropTypes.func.isRequired, onInteractionModal: PropTypes.func.isRequired,
onOpenAvatar: PropTypes.func.isRequired,
hideTabs: PropTypes.bool, hideTabs: PropTypes.bool,
domain: PropTypes.string.isRequired, domain: PropTypes.string.isRequired,
hidden: PropTypes.bool, hidden: PropTypes.bool,
@ -101,6 +102,10 @@ export default class Header extends ImmutablePureComponent {
this.props.onInteractionModal(this.props.account); this.props.onInteractionModal(this.props.account);
} }
handleOpenAvatar = () => {
this.props.onOpenAvatar(this.props.account);
}
render () { render () {
const { account, hidden, hideTabs } = this.props; const { account, hidden, hideTabs } = this.props;
@ -129,6 +134,7 @@ export default class Header extends ImmutablePureComponent {
onEditAccountNote={this.handleEditAccountNote} onEditAccountNote={this.handleEditAccountNote}
onChangeLanguages={this.handleChangeLanguages} onChangeLanguages={this.handleChangeLanguages}
onInteractionModal={this.handleInteractionModal} onInteractionModal={this.handleInteractionModal}
onOpenAvatar={this.handleOpenAvatar}
domain={this.props.domain} domain={this.props.domain}
hidden={hidden} hidden={hidden}
/> />

View File

@ -4,7 +4,7 @@ import { FormattedMessage } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import AvatarOverlay from '../../../components/avatar_overlay'; import AvatarOverlay from '../../../components/avatar_overlay';
import DisplayName from '../../../components/display_name'; import DisplayName from '../../../components/display_name';
import Permalink from 'mastodon/components/permalink'; import { Link } from 'react-router-dom';
export default class MovedNote extends ImmutablePureComponent { export default class MovedNote extends ImmutablePureComponent {
@ -23,12 +23,12 @@ export default class MovedNote extends ImmutablePureComponent {
</div> </div>
<div className='moved-account-banner__action'> <div className='moved-account-banner__action'>
<Permalink href={to.get('url')} to={`/@${to.get('acct')}`} className='detailed-status__display-name'> <Link to={`/@${to.get('acct')}`} className='detailed-status__display-name'>
<div className='detailed-status__display-avatar'><AvatarOverlay account={to} friend={from} /></div> <div className='detailed-status__display-avatar'><AvatarOverlay account={to} friend={from} /></div>
<DisplayName account={to} /> <DisplayName account={to} />
</Permalink> </Link>
<Permalink href={to.get('url')} to={`/@${to.get('acct')}`} className='button'><FormattedMessage id='account.go_to_profile' defaultMessage='Go to profile' /></Permalink> <Link to={`/@${to.get('acct')}`} className='button'><FormattedMessage id='account.go_to_profile' defaultMessage='Go to profile' /></Link>
</div> </div>
</div> </div>
); );

View File

@ -152,6 +152,13 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
})); }));
}, },
onOpenAvatar (account) {
dispatch(openModal('IMAGE', {
src: account.get('avatar'),
alt: account.get('acct'),
}));
},
}); });
export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header)); export default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Header));

View File

@ -51,6 +51,15 @@ class LanguageDropdownMenu extends React.PureComponent {
document.addEventListener('click', this.handleDocumentClick, false); document.addEventListener('click', this.handleDocumentClick, false);
document.addEventListener('touchend', this.handleDocumentClick, listenerOptions); document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);
this.setState({ mounted: true }); this.setState({ mounted: true });
// Because of https://github.com/react-bootstrap/react-bootstrap/issues/2614 we need
// to wait for a frame before focusing
requestAnimationFrame(() => {
if (this.node) {
const element = this.node.querySelector('input[type="search"]');
if (element) element.focus();
}
});
} }
componentWillUnmount () { componentWillUnmount () {
@ -226,7 +235,7 @@ class LanguageDropdownMenu extends React.PureComponent {
// react-overlays // react-overlays
<div className={`language-dropdown__dropdown ${placement}`} style={{ ...style, opacity: opacity, transform: mounted ? `scale(${scaleX}, ${scaleY})` : null }} ref={this.setRef}> <div className={`language-dropdown__dropdown ${placement}`} style={{ ...style, opacity: opacity, transform: mounted ? `scale(${scaleX}, ${scaleY})` : null }} ref={this.setRef}>
<div className='emoji-mart-search'> <div className='emoji-mart-search'>
<input type='search' value={searchValue} onChange={this.handleSearchChange} onKeyDown={this.handleSearchKeyDown} placeholder={intl.formatMessage(messages.search)} autoFocus /> <input type='search' value={searchValue} onChange={this.handleSearchChange} onKeyDown={this.handleSearchKeyDown} placeholder={intl.formatMessage(messages.search)} />
<button type='button' className='emoji-mart-search-icon' disabled={!isSearching} aria-label={intl.formatMessage(messages.clear)} onClick={this.handleClear}>{!isSearching ? loupeIcon : deleteIcon}</button> <button type='button' className='emoji-mart-search-icon' disabled={!isSearching} aria-label={intl.formatMessage(messages.clear)} onClick={this.handleClear}>{!isSearching ? loupeIcon : deleteIcon}</button>
</div> </div>

View File

@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import ActionBar from './action_bar'; import ActionBar from './action_bar';
import Avatar from '../../../components/avatar'; import Avatar from '../../../components/avatar';
import Permalink from '../../../components/permalink'; import { Link } from 'react-router-dom';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
@ -19,15 +19,15 @@ export default class NavigationBar extends ImmutablePureComponent {
render () { render () {
return ( return (
<div className='navigation-bar'> <div className='navigation-bar'>
<Permalink href={this.props.account.get('url')} to={`/@${this.props.account.get('acct')}`}> <Link to={`/@${this.props.account.get('acct')}`}>
<span style={{ display: 'none' }}>{this.props.account.get('acct')}</span> <span style={{ display: 'none' }}>{this.props.account.get('acct')}</span>
<Avatar account={this.props.account} size={46} /> <Avatar account={this.props.account} size={46} />
</Permalink> </Link>
<div className='navigation-bar__profile'> <div className='navigation-bar__profile'>
<Permalink href={this.props.account.get('url')} to={`/@${this.props.account.get('acct')}`}> <Link to={`/@${this.props.account.get('acct')}`}>
<strong className='navigation-bar__profile-account'>@{this.props.account.get('acct')}</strong> <strong className='navigation-bar__profile-account'>@{this.props.account.get('acct')}</strong>
</Permalink> </Link>
<a href='/settings/profile' className='navigation-bar__profile-edit'><FormattedMessage id='navigation_bar.edit_profile' defaultMessage='Edit profile' /></a> <a href='/settings/profile' className='navigation-bar__profile-edit'><FormattedMessage id='navigation_bar.edit_profile' defaultMessage='Edit profile' /></a>
</div> </div>

View File

@ -50,7 +50,7 @@ class ReplyIndicator extends ImmutablePureComponent {
<div className='reply-indicator__header'> <div className='reply-indicator__header'>
<div className='reply-indicator__cancel'><IconButton title={intl.formatMessage(messages.cancel)} icon='times' onClick={this.handleClick} inverted /></div> <div className='reply-indicator__cancel'><IconButton title={intl.formatMessage(messages.cancel)} icon='times' onClick={this.handleClick} inverted /></div>
<a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='reply-indicator__display-name'> <a href={`/@${status.getIn(['account', 'acct'])}`} onClick={this.handleAccountClick} className='reply-indicator__display-name'>
<div className='reply-indicator__display-avatar'><Avatar account={status.get('account')} size={24} /></div> <div className='reply-indicator__display-avatar'><Avatar account={status.get('account')} size={24} /></div>
<DisplayName account={status.get('account')} /> <DisplayName account={status.get('account')} />
</a> </a>

View File

@ -17,7 +17,6 @@ export default class Upload extends ImmutablePureComponent {
media: ImmutablePropTypes.map.isRequired, media: ImmutablePropTypes.map.isRequired,
onUndo: PropTypes.func.isRequired, onUndo: PropTypes.func.isRequired,
onOpenFocalPoint: PropTypes.func.isRequired, onOpenFocalPoint: PropTypes.func.isRequired,
isEditingStatus: PropTypes.bool.isRequired,
}; };
handleUndoClick = e => { handleUndoClick = e => {
@ -31,7 +30,7 @@ export default class Upload extends ImmutablePureComponent {
} }
render () { render () {
const { media, isEditingStatus } = this.props; const { media } = this.props;
const focusX = media.getIn(['meta', 'focus', 'x']); const focusX = media.getIn(['meta', 'focus', 'x']);
const focusY = media.getIn(['meta', 'focus', 'y']); const focusY = media.getIn(['meta', 'focus', 'y']);
const x = ((focusX / 2) + .5) * 100; const x = ((focusX / 2) + .5) * 100;
@ -44,10 +43,10 @@ export default class Upload extends ImmutablePureComponent {
<div className='compose-form__upload-thumbnail' style={{ transform: `scale(${scale})`, backgroundImage: `url(${media.get('preview_url')})`, backgroundPosition: `${x}% ${y}%` }}> <div className='compose-form__upload-thumbnail' style={{ transform: `scale(${scale})`, backgroundImage: `url(${media.get('preview_url')})`, backgroundPosition: `${x}% ${y}%` }}>
<div className='compose-form__upload__actions'> <div className='compose-form__upload__actions'>
<button type='button' className='icon-button' onClick={this.handleUndoClick}><Icon id='times' /> <FormattedMessage id='upload_form.undo' defaultMessage='Delete' /></button> <button type='button' className='icon-button' onClick={this.handleUndoClick}><Icon id='times' /> <FormattedMessage id='upload_form.undo' defaultMessage='Delete' /></button>
{!isEditingStatus && (<button type='button' className='icon-button' onClick={this.handleFocalPointClick}><Icon id='pencil' /> <FormattedMessage id='upload_form.edit' defaultMessage='Edit' /></button>)} {!!media.get('unattached') && (<button type='button' className='icon-button' onClick={this.handleFocalPointClick}><Icon id='pencil' /> <FormattedMessage id='upload_form.edit' defaultMessage='Edit' /></button>)}
</div> </div>
{(media.get('description') || '').length === 0 && ( {(media.get('description') || '').length === 0 && !!media.get('unattached') && (
<div className='compose-form__upload__warning'> <div className='compose-form__upload__warning'>
<button type='button' className='icon-button' onClick={this.handleFocalPointClick}><Icon id='info-circle' /> <FormattedMessage id='upload_form.description_missing' defaultMessage='No description added' /></button> <button type='button' className='icon-button' onClick={this.handleFocalPointClick}><Icon id='info-circle' /> <FormattedMessage id='upload_form.description_missing' defaultMessage='No description added' /></button>
</div> </div>

View File

@ -5,7 +5,6 @@ import { submitCompose } from '../../../actions/compose';
const mapStateToProps = (state, { id }) => ({ const mapStateToProps = (state, { id }) => ({
media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id), media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),
isEditingStatus: state.getIn(['compose', 'id']) !== null,
}); });
const mapDispatchToProps = dispatch => ({ const mapDispatchToProps = dispatch => ({

View File

@ -7,7 +7,7 @@ import AttachmentList from 'mastodon/components/attachment_list';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container'; import DropdownMenuContainer from 'mastodon/containers/dropdown_menu_container';
import AvatarComposite from 'mastodon/components/avatar_composite'; import AvatarComposite from 'mastodon/components/avatar_composite';
import Permalink from 'mastodon/components/permalink'; import { Link } from 'react-router-dom';
import IconButton from 'mastodon/components/icon_button'; import IconButton from 'mastodon/components/icon_button';
import RelativeTimestamp from 'mastodon/components/relative_timestamp'; import RelativeTimestamp from 'mastodon/components/relative_timestamp';
import { HotKeys } from 'react-hotkeys'; import { HotKeys } from 'react-hotkeys';
@ -133,7 +133,7 @@ class Conversation extends ImmutablePureComponent {
menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDelete }); menu.push({ text: intl.formatMessage(messages.delete), action: this.handleDelete });
const names = accounts.map(a => <Permalink to={`/@${a.get('acct')}`} href={a.get('url')} key={a.get('id')} title={a.get('acct')}><bdi><strong className='display-name__html' dangerouslySetInnerHTML={{ __html: a.get('display_name_html') }} /></bdi></Permalink>).reduce((prev, cur) => [prev, ', ', cur]); const names = accounts.map(a => <Link to={`/@${a.get('acct')}`} key={a.get('id')} title={a.get('acct')}><bdi><strong className='display-name__html' dangerouslySetInnerHTML={{ __html: a.get('display_name_html') }} /></bdi></Link>).reduce((prev, cur) => [prev, ', ', cur]);
const handlers = { const handlers = {
reply: this.handleReply, reply: this.handleReply,

View File

@ -6,7 +6,7 @@ import { connect } from 'react-redux';
import { makeGetAccount } from 'mastodon/selectors'; import { makeGetAccount } from 'mastodon/selectors';
import Avatar from 'mastodon/components/avatar'; import Avatar from 'mastodon/components/avatar';
import DisplayName from 'mastodon/components/display_name'; import DisplayName from 'mastodon/components/display_name';
import Permalink from 'mastodon/components/permalink'; import { Link } from 'react-router-dom';
import Button from 'mastodon/components/button'; import Button from 'mastodon/components/button';
import { FormattedMessage, injectIntl, defineMessages } from 'react-intl'; import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
import { autoPlayGif, me, unfollowModal } from 'mastodon/initial_state'; import { autoPlayGif, me, unfollowModal } from 'mastodon/initial_state';
@ -169,7 +169,7 @@ class AccountCard extends ImmutablePureComponent {
return ( return (
<div className='account-card'> <div className='account-card'>
<Permalink href={account.get('url')} to={`/@${account.get('acct')}`} className='account-card__permalink'> <Link to={`/@${account.get('acct')}`} className='account-card__permalink'>
<div className='account-card__header'> <div className='account-card__header'>
<img <img
src={ src={
@ -183,7 +183,7 @@ class AccountCard extends ImmutablePureComponent {
<div className='account-card__title__avatar'><Avatar account={account} size={56} /></div> <div className='account-card__title__avatar'><Avatar account={account} size={56} /></div>
<DisplayName account={account} /> <DisplayName account={account} />
</div> </div>
</Permalink> </Link>
{account.get('note').length > 0 && ( {account.get('note').length > 0 && (
<div <div

View File

@ -11,8 +11,8 @@ describe('emoji', () => {
}); });
it('works with unclosed tags', () => { it('works with unclosed tags', () => {
expect(emojify('hello>')).toEqual('hello>'); expect(emojify('hello>')).toEqual('hello&gt;');
expect(emojify('<hello')).toEqual('<hello'); expect(emojify('<hello')).toEqual('');
}); });
it('works with unclosed shortcodes', () => { it('works with unclosed shortcodes', () => {
@ -22,23 +22,23 @@ describe('emoji', () => {
it('does unicode', () => { it('does unicode', () => {
expect(emojify('\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66')).toEqual( expect(emojify('\uD83D\uDC69\u200D\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66')).toEqual(
'<img draggable="false" class="emojione" alt="👩‍👩‍👦‍👦" title=":woman-woman-boy-boy:" src="/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg" />'); '<img draggable="false" class="emojione" alt="👩‍👩‍👦‍👦" title=":woman-woman-boy-boy:" src="/emoji/1f469-200d-1f469-200d-1f466-200d-1f466.svg">');
expect(emojify('👨‍👩‍👧‍👧')).toEqual( expect(emojify('👨‍👩‍👧‍👧')).toEqual(
'<img draggable="false" class="emojione" alt="👨‍👩‍👧‍👧" title=":man-woman-girl-girl:" src="/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg" />'); '<img draggable="false" class="emojione" alt="👨‍👩‍👧‍👧" title=":man-woman-girl-girl:" src="/emoji/1f468-200d-1f469-200d-1f467-200d-1f467.svg">');
expect(emojify('👩‍👩‍👦')).toEqual('<img draggable="false" class="emojione" alt="👩‍👩‍👦" title=":woman-woman-boy:" src="/emoji/1f469-200d-1f469-200d-1f466.svg" />'); expect(emojify('👩‍👩‍👦')).toEqual('<img draggable="false" class="emojione" alt="👩‍👩‍👦" title=":woman-woman-boy:" src="/emoji/1f469-200d-1f469-200d-1f466.svg">');
expect(emojify('\u2757')).toEqual( expect(emojify('\u2757')).toEqual(
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg" />'); '<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg">');
}); });
it('does multiple unicode', () => { it('does multiple unicode', () => {
expect(emojify('\u2757 #\uFE0F\u20E3')).toEqual( expect(emojify('\u2757 #\uFE0F\u20E3')).toEqual(
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg" /> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg" />'); '<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg">');
expect(emojify('\u2757#\uFE0F\u20E3')).toEqual( expect(emojify('\u2757#\uFE0F\u20E3')).toEqual(
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg" /><img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg" />'); '<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"><img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg">');
expect(emojify('\u2757 #\uFE0F\u20E3 \u2757')).toEqual( expect(emojify('\u2757 #\uFE0F\u20E3 \u2757')).toEqual(
'<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg" /> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg" /> <img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg" />'); '<img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"> <img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg">');
expect(emojify('foo \u2757 #\uFE0F\u20E3 bar')).toEqual( expect(emojify('foo \u2757 #\uFE0F\u20E3 bar')).toEqual(
'foo <img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg" /> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg" /> bar'); 'foo <img draggable="false" class="emojione" alt="❗" title=":exclamation:" src="/emoji/2757.svg"> <img draggable="false" class="emojione" alt="#️⃣" title=":hash:" src="/emoji/23-20e3.svg"> bar');
}); });
it('ignores unicode inside of tags', () => { it('ignores unicode inside of tags', () => {
@ -46,16 +46,16 @@ describe('emoji', () => {
}); });
it('does multiple emoji properly (issue 5188)', () => { it('does multiple emoji properly (issue 5188)', () => {
expect(emojify('👌🌈💕')).toEqual('<img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg" /><img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg" /><img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg" />'); expect(emojify('👌🌈💕')).toEqual('<img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"><img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"><img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg">');
expect(emojify('👌 🌈 💕')).toEqual('<img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg" /> <img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg" /> <img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg" />'); expect(emojify('👌 🌈 💕')).toEqual('<img draggable="false" class="emojione" alt="👌" title=":ok_hand:" src="/emoji/1f44c.svg"> <img draggable="false" class="emojione" alt="🌈" title=":rainbow:" src="/emoji/1f308.svg"> <img draggable="false" class="emojione" alt="💕" title=":two_hearts:" src="/emoji/1f495.svg">');
}); });
it('does an emoji that has no shortcode', () => { it('does an emoji that has no shortcode', () => {
expect(emojify('👁‍🗨')).toEqual('<img draggable="false" class="emojione" alt="👁‍🗨" title="" src="/emoji/1f441-200d-1f5e8.svg" />'); expect(emojify('👁‍🗨')).toEqual('<img draggable="false" class="emojione" alt="👁‍🗨" title="" src="/emoji/1f441-200d-1f5e8.svg">');
}); });
it('does an emoji whose filename is irregular', () => { it('does an emoji whose filename is irregular', () => {
expect(emojify('↙️')).toEqual('<img draggable="false" class="emojione" alt="↙️" title=":arrow_lower_left:" src="/emoji/2199.svg" />'); expect(emojify('↙️')).toEqual('<img draggable="false" class="emojione" alt="↙️" title=":arrow_lower_left:" src="/emoji/2199.svg">');
}); });
it('avoid emojifying on invisible text', () => { it('avoid emojifying on invisible text', () => {
@ -67,26 +67,26 @@ describe('emoji', () => {
it('avoid emojifying on invisible text with nested tags', () => { it('avoid emojifying on invisible text with nested tags', () => {
expect(emojify('<span class="invisible">😄<span class="foo">bar</span>😴</span>😇')) expect(emojify('<span class="invisible">😄<span class="foo">bar</span>😴</span>😇'))
.toEqual('<span class="invisible">😄<span class="foo">bar</span>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg" />'); .toEqual('<span class="invisible">😄<span class="foo">bar</span>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">');
expect(emojify('<span class="invisible">😄<span class="invisible">😕</span>😴</span>😇')) expect(emojify('<span class="invisible">😄<span class="invisible">😕</span>😴</span>😇'))
.toEqual('<span class="invisible">😄<span class="invisible">😕</span>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg" />'); .toEqual('<span class="invisible">😄<span class="invisible">😕</span>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">');
expect(emojify('<span class="invisible">😄<br/>😴</span>😇')) expect(emojify('<span class="invisible">😄<br>😴</span>😇'))
.toEqual('<span class="invisible">😄<br/>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg" />'); .toEqual('<span class="invisible">😄<br>😴</span><img draggable="false" class="emojione" alt="😇" title=":innocent:" src="/emoji/1f607.svg">');
}); });
it('skips the textual presentation VS15 character', () => { it('skips the textual presentation VS15 character', () => {
expect(emojify('✴︎')) // This is U+2734 EIGHT POINTED BLACK STAR then U+FE0E VARIATION SELECTOR-15 expect(emojify('✴︎')) // This is U+2734 EIGHT POINTED BLACK STAR then U+FE0E VARIATION SELECTOR-15
.toEqual('<img draggable="false" class="emojione" alt="✴" title=":eight_pointed_black_star:" src="/emoji/2734_border.svg" />'); .toEqual('<img draggable="false" class="emojione" alt="✴" title=":eight_pointed_black_star:" src="/emoji/2734_border.svg">');
}); });
it('does an simple emoji properly', () => { it('does an simple emoji properly', () => {
expect(emojify('♀♂')) expect(emojify('♀♂'))
.toEqual('<img draggable="false" class="emojione" alt="♀" title=":female_sign:" src="/emoji/2640.svg" /><img draggable="false" class="emojione" alt="♂" title=":male_sign:" src="/emoji/2642.svg" />'); .toEqual('<img draggable="false" class="emojione" alt="♀" title=":female_sign:" src="/emoji/2640.svg"><img draggable="false" class="emojione" alt="♂" title=":male_sign:" src="/emoji/2642.svg">');
}); });
it('does an emoji containing ZWJ properly', () => { it('does an emoji containing ZWJ properly', () => {
expect(emojify('💂‍♀️💂‍♂️')) expect(emojify('💂‍♀️💂‍♂️'))
.toEqual('<img draggable="false" class="emojione" alt="💂\u200D♀" title=":female-guard:" src="/emoji/1f482-200d-2640-fe0f_border.svg" /><img draggable="false" class="emojione" alt="💂\u200D♂" title=":male-guard:" src="/emoji/1f482-200d-2642-fe0f_border.svg" />'); .toEqual('<img draggable="false" class="emojione" alt="💂\u200D♀" title=":female-guard:" src="/emoji/1f482-200d-2640-fe0f_border.svg"><img draggable="false" class="emojione" alt="💂\u200D♂" title=":male-guard:" src="/emoji/1f482-200d-2642-fe0f_border.svg">');
}); });
}); });
}); });

View File

@ -19,15 +19,26 @@ const emojiFilename = (filename) => {
return borderedEmoji.includes(filename) ? (filename + '_border') : filename; return borderedEmoji.includes(filename) ? (filename + '_border') : filename;
}; };
const emojify = (str, customEmojis = {}) => { const domParser = new DOMParser();
const tagCharsWithoutEmojis = '<&';
const tagCharsWithEmojis = Object.keys(customEmojis).length ? '<&:' : '<&'; const emojifyTextNode = (node, customEmojis) => {
let rtn = '', tagChars = tagCharsWithEmojis, invisible = 0; let str = node.textContent;
const fragment = new DocumentFragment();
for (;;) { for (;;) {
let match, i = 0, tag; let match, i = 0;
while (i < str.length && (tag = tagChars.indexOf(str[i])) === -1 && (invisible || !(match = trie.search(str.slice(i))))) {
i += str.codePointAt(i) < 65536 ? 1 : 2; if (customEmojis === null) {
while (i < str.length && !(match = trie.search(str.slice(i)))) {
i += str.codePointAt(i) < 65536 ? 1 : 2;
}
} else {
while (i < str.length && str[i] !== ':' && !(match = trie.search(str.slice(i)))) {
i += str.codePointAt(i) < 65536 ? 1 : 2;
}
} }
let rend, replacement = ''; let rend, replacement = '';
if (i === str.length) { if (i === str.length) {
break; break;
@ -35,8 +46,6 @@ const emojify = (str, customEmojis = {}) => {
if (!(() => { if (!(() => {
rend = str.indexOf(':', i + 1) + 1; rend = str.indexOf(':', i + 1) + 1;
if (!rend) return false; // no pair of ':' if (!rend) return false; // no pair of ':'
const lt = str.indexOf('<', i + 1);
if (!(lt === -1 || lt >= rend)) return false; // tag appeared before closing ':'
const shortname = str.slice(i, rend); const shortname = str.slice(i, rend);
// now got a replacee as ':shortname:' // now got a replacee as ':shortname:'
// if you want additional emoji handler, add statements below which set replacement and return true. // if you want additional emoji handler, add statements below which set replacement and return true.
@ -47,29 +56,6 @@ const emojify = (str, customEmojis = {}) => {
} }
return false; return false;
})()) rend = ++i; })()) rend = ++i;
} else if (tag >= 0) { // <, &
rend = str.indexOf('>;'[tag], i + 1) + 1;
if (!rend) {
break;
}
if (tag === 0) {
if (invisible) {
if (str[i + 1] === '/') { // closing tag
if (!--invisible) {
tagChars = tagCharsWithEmojis;
}
} else if (str[rend - 2] !== '/') { // opening tag
invisible++;
}
} else {
if (str.startsWith('<span class="invisible">', i)) {
// avoid emojifying on invisible text
invisible = 1;
tagChars = tagCharsWithoutEmojis;
}
}
}
i = rend;
} else { // matched to unicode emoji } else { // matched to unicode emoji
const { filename, shortCode } = unicodeMapping[match]; const { filename, shortCode } = unicodeMapping[match];
const title = shortCode ? `:${shortCode}:` : ''; const title = shortCode ? `:${shortCode}:` : '';
@ -80,10 +66,43 @@ const emojify = (str, customEmojis = {}) => {
rend += 1; rend += 1;
} }
} }
rtn += str.slice(0, i) + replacement;
fragment.append(document.createTextNode(str.slice(0, i)));
if (replacement) {
fragment.append(domParser.parseFromString(replacement, 'text/html').documentElement.getElementsByTagName('img')[0]);
}
node.textContent = str.slice(0, i);
str = str.slice(rend); str = str.slice(rend);
} }
return rtn + str;
fragment.append(document.createTextNode(str));
node.parentElement.replaceChild(fragment, node);
};
const emojifyNode = (node, customEmojis) => {
for (const child of node.childNodes) {
switch(child.nodeType) {
case Node.TEXT_NODE:
emojifyTextNode(child, customEmojis);
break;
case Node.ELEMENT_NODE:
if (!child.classList.contains('invisible'))
emojifyNode(child, customEmojis);
break;
}
}
};
const emojify = (str, customEmojis = {}) => {
const wrapper = document.createElement('div');
wrapper.innerHTML = str;
if (!Object.keys(customEmojis).length)
customEmojis = null;
emojifyNode(wrapper, customEmojis);
return wrapper.innerHTML;
}; };
export default emojify; export default emojify;

View File

@ -6,7 +6,7 @@ import { connect } from 'react-redux';
import { makeGetAccount } from 'mastodon/selectors'; import { makeGetAccount } from 'mastodon/selectors';
import Avatar from 'mastodon/components/avatar'; import Avatar from 'mastodon/components/avatar';
import DisplayName from 'mastodon/components/display_name'; import DisplayName from 'mastodon/components/display_name';
import Permalink from 'mastodon/components/permalink'; import { Link } from 'react-router-dom';
import IconButton from 'mastodon/components/icon_button'; import IconButton from 'mastodon/components/icon_button';
import { injectIntl, defineMessages } from 'react-intl'; import { injectIntl, defineMessages } from 'react-intl';
import { followAccount, unfollowAccount } from 'mastodon/actions/accounts'; import { followAccount, unfollowAccount } from 'mastodon/actions/accounts';
@ -66,13 +66,13 @@ class Account extends ImmutablePureComponent {
return ( return (
<div className='account follow-recommendations-account'> <div className='account follow-recommendations-account'>
<div className='account__wrapper'> <div className='account__wrapper'>
<Permalink className='account__display-name account__display-name--with-note' title={account.get('acct')} href={account.get('url')} to={`/@${account.get('acct')}`}> <Link className='account__display-name account__display-name--with-note' title={account.get('acct')} to={`/@${account.get('acct')}`}>
<div className='account__avatar-wrapper'><Avatar account={account} size={36} /></div> <div className='account__avatar-wrapper'><Avatar account={account} size={36} /></div>
<DisplayName account={account} /> <DisplayName account={account} />
<div className='account__note'>{getFirstSentence(account.get('note_plain'))}</div> <div className='account__note'>{getFirstSentence(account.get('note_plain'))}</div>
</Permalink> </Link>
<div className='account__relationship'> <div className='account__relationship'>
{button} {button}

View File

@ -1,7 +1,7 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePropTypes from 'react-immutable-proptypes';
import Permalink from '../../../components/permalink'; import { Link } from 'react-router-dom';
import Avatar from '../../../components/avatar'; import Avatar from '../../../components/avatar';
import DisplayName from '../../../components/display_name'; import DisplayName from '../../../components/display_name';
import IconButton from '../../../components/icon_button'; import IconButton from '../../../components/icon_button';
@ -30,10 +30,10 @@ class AccountAuthorize extends ImmutablePureComponent {
return ( return (
<div className='account-authorize__wrapper'> <div className='account-authorize__wrapper'>
<div className='account-authorize'> <div className='account-authorize'>
<Permalink href={account.get('url')} to={`/@${account.get('acct')}`} className='detailed-status__display-name'> <Link to={`/@${account.get('acct')}`} className='detailed-status__display-name'>
<div className='account-authorize__avatar'><Avatar account={account} size={48} /></div> <div className='account-authorize__avatar'><Avatar account={account} size={48} /></div>
<DisplayName account={account} /> <DisplayName account={account} />
</Permalink> </Link>
<div className='account__header__content translate' dangerouslySetInnerHTML={content} /> <div className='account__header__content translate' dangerouslySetInnerHTML={content} />
</div> </div>

View File

@ -194,7 +194,7 @@ class HashtagTimeline extends React.PureComponent {
const following = tag.get('following'); const following = tag.get('following');
followButton = ( followButton = (
<button className={classNames('column-header__button')} onClick={this.handleFollow} disabled={!signedIn} title={intl.formatMessage(following ? messages.unfollowHashtag : messages.followHashtag)} aria-label={intl.formatMessage(following ? messages.unfollowHashtag : messages.followHashtag)} aria-pressed={following ? 'true' : 'false'}> <button className={classNames('column-header__button')} onClick={this.handleFollow} disabled={!signedIn} title={intl.formatMessage(following ? messages.unfollowHashtag : messages.followHashtag)} aria-label={intl.formatMessage(following ? messages.unfollowHashtag : messages.followHashtag)}>
<Icon id={following ? 'user-times' : 'user-plus'} fixedWidth className='column-header__icon' /> <Icon id={following ? 'user-times' : 'user-plus'} fixedWidth className='column-header__icon' />
</button> </button>
); );

View File

@ -130,7 +130,6 @@ class HomeTimeline extends React.PureComponent {
className={classNames('column-header__button', { 'active': showAnnouncements })} className={classNames('column-header__button', { 'active': showAnnouncements })}
title={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)} title={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)}
aria-label={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)} aria-label={intl.formatMessage(showAnnouncements ? messages.hide_announcements : messages.show_announcements)}
aria-pressed={showAnnouncements ? 'true' : 'false'}
onClick={this.handleToggleAnnouncementsClick} onClick={this.handleToggleAnnouncementsClick}
> >
<IconWithBadge id='bullhorn' count={unreadAnnouncements} /> <IconWithBadge id='bullhorn' count={unreadAnnouncements} />

View File

@ -150,7 +150,7 @@ class InteractionModal extends React.PureComponent {
<div className='interaction-modal__choices__choice'> <div className='interaction-modal__choices__choice'>
<h3><FormattedMessage id='interaction_modal.on_another_server' defaultMessage='On a different server' /></h3> <h3><FormattedMessage id='interaction_modal.on_another_server' defaultMessage='On a different server' /></h3>
<p><FormattedMessage id='interaction_modal.other_server_instructions' defaultMessage='Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.' /></p> <p><FormattedMessage id='interaction_modal.other_server_instructions' defaultMessage='Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.' /></p>
<Copypaste value={url} /> <Copypaste value={url} />
</div> </div>
</div> </div>

View File

@ -21,7 +21,7 @@ export default class ColumnSettings extends React.PureComponent {
onRequestNotificationPermission: PropTypes.func, onRequestNotificationPermission: PropTypes.func,
alertsEnabled: PropTypes.bool, alertsEnabled: PropTypes.bool,
browserSupport: PropTypes.bool, browserSupport: PropTypes.bool,
browserPermission: PropTypes.bool, browserPermission: PropTypes.string,
}; };
onPushChange = (path, checked) => { onPushChange = (path, checked) => {

View File

@ -3,7 +3,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import Avatar from 'mastodon/components/avatar'; import Avatar from 'mastodon/components/avatar';
import DisplayName from 'mastodon/components/display_name'; import DisplayName from 'mastodon/components/display_name';
import Permalink from 'mastodon/components/permalink'; import { Link } from 'react-router-dom';
import IconButton from 'mastodon/components/icon_button'; import IconButton from 'mastodon/components/icon_button';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
@ -42,10 +42,10 @@ class FollowRequest extends ImmutablePureComponent {
return ( return (
<div className='account'> <div className='account'>
<div className='account__wrapper'> <div className='account__wrapper'>
<Permalink key={account.get('id')} className='account__display-name' title={account.get('acct')} href={account.get('url')} to={`/@${account.get('acct')}`}> <Link key={account.get('id')} className='account__display-name' title={account.get('acct')} to={`/@${account.get('acct')}`}>
<div className='account__avatar-wrapper'><Avatar account={account} size={36} /></div> <div className='account__avatar-wrapper'><Avatar account={account} size={36} /></div>
<DisplayName account={account} /> <DisplayName account={account} />
</Permalink> </Link>
<div className='account__relationship'> <div className='account__relationship'>
<IconButton title={intl.formatMessage(messages.authorize)} icon='check' onClick={onAuthorize} /> <IconButton title={intl.formatMessage(messages.authorize)} icon='check' onClick={onAuthorize} />

View File

@ -10,7 +10,7 @@ import AccountContainer from 'mastodon/containers/account_container';
import Report from './report'; import Report from './report';
import FollowRequestContainer from '../containers/follow_request_container'; import FollowRequestContainer from '../containers/follow_request_container';
import Icon from 'mastodon/components/icon'; import Icon from 'mastodon/components/icon';
import Permalink from 'mastodon/components/permalink'; import { Link } from 'react-router-dom';
import classNames from 'classnames'; import classNames from 'classnames';
const messages = defineMessages({ const messages = defineMessages({
@ -378,7 +378,7 @@ class Notification extends ImmutablePureComponent {
const targetAccount = report.get('target_account'); const targetAccount = report.get('target_account');
const targetDisplayNameHtml = { __html: targetAccount.get('display_name_html') }; const targetDisplayNameHtml = { __html: targetAccount.get('display_name_html') };
const targetLink = <bdi><Permalink className='notification__display-name' href={targetAccount.get('url')} title={targetAccount.get('acct')} to={`/@${targetAccount.get('acct')}`} dangerouslySetInnerHTML={targetDisplayNameHtml} /></bdi>; const targetLink = <bdi><Link className='notification__display-name' title={targetAccount.get('acct')} to={`/@${targetAccount.get('acct')}`} dangerouslySetInnerHTML={targetDisplayNameHtml} /></bdi>;
return ( return (
<HotKeys handlers={this.getHandlers()}> <HotKeys handlers={this.getHandlers()}>
@ -403,7 +403,7 @@ class Notification extends ImmutablePureComponent {
const { notification } = this.props; const { notification } = this.props;
const account = notification.get('account'); const account = notification.get('account');
const displayNameHtml = { __html: account.get('display_name_html') }; const displayNameHtml = { __html: account.get('display_name_html') };
const link = <bdi><Permalink className='notification__display-name' href={account.get('url')} title={account.get('acct')} to={`/@${account.get('acct')}`} dangerouslySetInnerHTML={displayNameHtml} /></bdi>; const link = <bdi><Link className='notification__display-name' href={`/@${account.get('acct')}`} title={account.get('acct')} to={`/@${account.get('acct')}`} dangerouslySetInnerHTML={displayNameHtml} /></bdi>;
switch(notification.get('type')) { switch(notification.get('type')) {
case 'follow': case 'follow':

View File

@ -182,9 +182,9 @@ class Footer extends ImmutablePureComponent {
return ( return (
<div className='picture-in-picture__footer'> <div className='picture-in-picture__footer'>
<IconButton className='status__action-bar-button' title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} counter={status.get('replies_count')} obfuscateCount /> <IconButton className='status__action-bar-button' title={replyTitle} icon={status.get('in_reply_to_account_id') === status.getIn(['account', 'id']) ? 'reply' : replyIcon} onClick={this.handleReplyClick} counter={status.get('replies_count')} obfuscateCount />
<IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} pressed={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} counter={status.get('reblogs_count')} /> <IconButton className={classNames('status__action-bar-button', { reblogPrivate })} disabled={!publicStatus && !reblogPrivate} active={status.get('reblogged')} title={reblogTitle} icon='retweet' onClick={this.handleReblogClick} counter={status.get('reblogs_count')} />
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} pressed={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={status.get('favourites_count')} /> <IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} counter={status.get('favourites_count')} />
{withOpenButton && <IconButton className='status__action-bar-button' title={intl.formatMessage(messages.open)} icon='external-link' onClick={this.handleOpenClick} href={status.get('url')} />} {withOpenButton && <IconButton className='status__action-bar-button' title={intl.formatMessage(messages.open)} icon='external-link' onClick={this.handleOpenClick} href={`/@${status.getIn(['account', 'acct'])}\/${status.get('id')}`} />}
</div> </div>
); );
} }

View File

@ -39,6 +39,7 @@ const messages = defineMessages({
unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unblock domain {domain}' }, unblockDomain: { id: 'account.unblock_domain', defaultMessage: 'Unblock domain {domain}' },
unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' }, unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },
unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' }, unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },
openOriginalPage: { id: 'account.open_original_page', defaultMessage: 'Open original page' },
}); });
const mapStateToProps = (state, { status }) => ({ const mapStateToProps = (state, { status }) => ({
@ -174,22 +175,8 @@ class ActionBar extends React.PureComponent {
} }
handleCopy = () => { handleCopy = () => {
const url = this.props.status.get('url'); const url = this.props.status.get('url');
const textarea = document.createElement('textarea'); navigator.clipboard.writeText(url);
textarea.textContent = url;
textarea.style.position = 'fixed';
document.body.appendChild(textarea);
try {
textarea.select();
document.execCommand('copy');
} catch (e) {
} finally {
document.body.removeChild(textarea);
}
} }
render () { render () {
@ -201,10 +188,15 @@ class ActionBar extends React.PureComponent {
const mutingConversation = status.get('muted'); const mutingConversation = status.get('muted');
const account = status.get('account'); const account = status.get('account');
const writtenByMe = status.getIn(['account', 'id']) === me; const writtenByMe = status.getIn(['account', 'id']) === me;
const isRemote = status.getIn(['account', 'username']) !== status.getIn(['account', 'acct']);
let menu = []; let menu = [];
if (publicStatus) { if (publicStatus) {
if (isRemote) {
menu.push({ text: intl.formatMessage(messages.openOriginalPage), href: status.get('url') });
}
menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy }); menu.push({ text: intl.formatMessage(messages.copy), action: this.handleCopy });
menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
menu.push(null); menu.push(null);

View File

@ -261,7 +261,7 @@ class DetailedStatus extends ImmutablePureComponent {
return ( return (
<div style={outerStyle}> <div style={outerStyle}>
<div ref={this.setRef} className={classNames('detailed-status', `detailed-status-${status.get('visibility')}`, { compact })}> <div ref={this.setRef} className={classNames('detailed-status', `detailed-status-${status.get('visibility')}`, { compact })}>
<a href={status.getIn(['account', 'url'])} onClick={this.handleAccountClick} className='detailed-status__display-name'> <a href={`/@${status.getIn(['account', 'acct'])}`} onClick={this.handleAccountClick} className='detailed-status__display-name'>
<div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={46} /></div> <div className='detailed-status__display-avatar'><Avatar account={status.get('account')} size={46} /></div>
<DisplayName account={status.get('account')} localDomain={this.props.domain} /> <DisplayName account={status.get('account')} localDomain={this.props.domain} />
</a> </a>
@ -276,7 +276,7 @@ class DetailedStatus extends ImmutablePureComponent {
{media} {media}
<div className='detailed-status__meta'> <div className='detailed-status__meta'>
<a className='detailed-status__datetime' href={status.get('url')} target='_blank' rel='noopener noreferrer'> <a className='detailed-status__datetime' href={`/@${status.getIn(['account', 'acct'])}\/${status.get('id')}`} target='_blank' rel='noopener noreferrer'>
<FormattedDate value={new Date(status.get('created_at'))} hour12={false} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' /> <FormattedDate value={new Date(status.get('created_at'))} hour12={false} year='numeric' month='short' day='2-digit' hour='2-digit' minute='2-digit' />
</a>{edited}{visibilityLink}{applicationLink}{reblogLink} · {favouriteLink} </a>{edited}{visibilityLink}{applicationLink}{reblogLink} · {favouriteLink}
</div> </div>

View File

@ -619,7 +619,7 @@ class Status extends ImmutablePureComponent {
showBackButton showBackButton
multiColumn={multiColumn} multiColumn={multiColumn}
extraButton={( extraButton={(
<button type='button' className='column-header__button' title={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} aria-label={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} onClick={this.handleToggleAll} aria-pressed={status.get('hidden') ? 'false' : 'true'}><Icon id={status.get('hidden') ? 'eye-slash' : 'eye'} /></button> <button type='button' className='column-header__button' title={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} aria-label={intl.formatMessage(status.get('hidden') ? messages.revealAll : messages.hideAll)} onClick={this.handleToggleAll}><Icon id={status.get('hidden') ? 'eye-slash' : 'eye'} /></button>
)} )}
/> />

View File

@ -98,12 +98,12 @@ class BoostModal extends ImmutablePureComponent {
<div className='boost-modal__container'> <div className='boost-modal__container'>
<div className={classNames('status', `status-${status.get('visibility')}`, 'light')}> <div className={classNames('status', `status-${status.get('visibility')}`, 'light')}>
<div className='status__info'> <div className='status__info'>
<a href={status.get('url')} className='status__relative-time' target='_blank' rel='noopener noreferrer'> <a href={`/@${status.getIn(['account', 'acct'])}\/${status.get('id')}`} className='status__relative-time' target='_blank' rel='noopener noreferrer'>
<span className='status__visibility-icon'><Icon id={visibilityIcon.icon} title={visibilityIcon.text} /></span> <span className='status__visibility-icon'><Icon id={visibilityIcon.icon} title={visibilityIcon.text} /></span>
<RelativeTimestamp timestamp={status.get('created_at')} /> <RelativeTimestamp timestamp={status.get('created_at')} />
</a> </a>
<a onClick={this.handleAccountClick} href={status.getIn(['account', 'url'])} className='status__display-name'> <a onClick={this.handleAccountClick} href={`/@${status.getIn(['account', 'acct'])}`} className='status__display-name'>
<div className='status__avatar'> <div className='status__avatar'>
<Avatar account={status.get('account')} size={48} /> <Avatar account={status.get('account')} size={48} />
</div> </div>

View File

@ -176,14 +176,14 @@ class FocalPointModal extends ImmutablePureComponent {
handleKeyDown = (e) => { handleKeyDown = (e) => {
if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) { if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {
e.preventDefault();
e.stopPropagation();
this.props.onChangeDescription(e.target.value); this.props.onChangeDescription(e.target.value);
this.handleSubmit(); this.handleSubmit(e);
} }
} }
handleSubmit = () => { handleSubmit = (e) => {
e.preventDefault();
e.stopPropagation();
this.props.onSave(this.props.description, this.props.focusX, this.props.focusY); this.props.onSave(this.props.description, this.props.focusX, this.props.focusY);
} }
@ -313,7 +313,7 @@ class FocalPointModal extends ImmutablePureComponent {
</div> </div>
<div className='report-modal__container'> <div className='report-modal__container'>
<div className='report-modal__comment'> <form className='report-modal__comment' onSubmit={this.handleSubmit} >
{focals && <p><FormattedMessage id='upload_modal.hint' defaultMessage='Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.' /></p>} {focals && <p><FormattedMessage id='upload_modal.hint' defaultMessage='Click or drag the circle on the preview to choose the focal point which will always be in view on all thumbnails.' /></p>}
{thumbnailable && ( {thumbnailable && (
@ -361,12 +361,23 @@ class FocalPointModal extends ImmutablePureComponent {
</div> </div>
<div className='setting-text__toolbar'> <div className='setting-text__toolbar'>
<button disabled={detecting || media.get('type') !== 'image' || is_changing_upload} className='link-button' onClick={this.handleTextDetection}><FormattedMessage id='upload_modal.detect_text' defaultMessage='Detect text from picture' /></button> <button
type='button'
disabled={detecting || media.get('type') !== 'image' || is_changing_upload}
className='link-button'
onClick={this.handleTextDetection}
>
<FormattedMessage id='upload_modal.detect_text' defaultMessage='Detect text from picture' />
</button>
<CharacterCounter max={1500} text={detecting ? '' : description} /> <CharacterCounter max={1500} text={detecting ? '' : description} />
</div> </div>
<Button disabled={!dirty || detecting || isUploadingThumbnail || length(description) > 1500 || is_changing_upload} text={intl.formatMessage(is_changing_upload ? messages.applying : messages.apply)} onClick={this.handleSubmit} /> <Button
</div> type='submit'
disabled={!dirty || detecting || isUploadingThumbnail || length(description) > 1500 || is_changing_upload}
text={intl.formatMessage(is_changing_upload ? messages.applying : messages.apply)}
/>
</form>
<div className='focal-point-modal__content'> <div className='focal-point-modal__content'>
{focals && ( {focals && (

View File

@ -4,16 +4,15 @@ import { Link, withRouter } from 'react-router-dom';
import { FormattedMessage } from 'react-intl'; import { FormattedMessage } from 'react-intl';
import { registrationsOpen, me } from 'mastodon/initial_state'; import { registrationsOpen, me } from 'mastodon/initial_state';
import Avatar from 'mastodon/components/avatar'; import Avatar from 'mastodon/components/avatar';
import Permalink from 'mastodon/components/permalink';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
const Account = connect(state => ({ const Account = connect(state => ({
account: state.getIn(['accounts', me]), account: state.getIn(['accounts', me]),
}))(({ account }) => ( }))(({ account }) => (
<Permalink href={account.get('url')} to={`/@${account.get('acct')}`} title={account.get('acct')}> <Link to={`/@${account.get('acct')}`} title={account.get('acct')}>
<Avatar account={account} size={35} /> <Avatar account={account} size={35} />
</Permalink> </Link>
)); ));
export default @withRouter export default @withRouter

View File

@ -0,0 +1,59 @@
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
import { defineMessages, injectIntl } from 'react-intl';
import IconButton from 'mastodon/components/icon_button';
import ImageLoader from './image_loader';
const messages = defineMessages({
close: { id: 'lightbox.close', defaultMessage: 'Close' },
});
export default @injectIntl
class ImageModal extends React.PureComponent {
static propTypes = {
src: PropTypes.string.isRequired,
alt: PropTypes.string.isRequired,
onClose: PropTypes.func.isRequired,
intl: PropTypes.object.isRequired,
};
state = {
navigationHidden: false,
};
toggleNavigation = () => {
this.setState(prevState => ({
navigationHidden: !prevState.navigationHidden,
}));
};
render () {
const { intl, src, alt, onClose } = this.props;
const { navigationHidden } = this.state;
const navigationClassName = classNames('media-modal__navigation', {
'media-modal__navigation--hidden': navigationHidden,
});
return (
<div className='modal-root__modal media-modal'>
<div className='media-modal__closer' role='presentation' onClick={onClose} >
<ImageLoader
src={src}
width={400}
height={400}
alt={alt}
onClick={this.toggleNavigation}
/>
</div>
<div className={navigationClassName}>
<IconButton className='media-modal__close' title={intl.formatMessage(messages.close)} icon='times' onClick={onClose} size={40} />
</div>
</div>
);
}
}

View File

@ -12,6 +12,7 @@ import BoostModal from './boost_modal';
import AudioModal from './audio_modal'; import AudioModal from './audio_modal';
import ConfirmationModal from './confirmation_modal'; import ConfirmationModal from './confirmation_modal';
import FocalPointModal from './focal_point_modal'; import FocalPointModal from './focal_point_modal';
import ImageModal from './image_modal';
import { import {
MuteModal, MuteModal,
BlockModal, BlockModal,
@ -31,6 +32,7 @@ const MODAL_COMPONENTS = {
'MEDIA': () => Promise.resolve({ default: MediaModal }), 'MEDIA': () => Promise.resolve({ default: MediaModal }),
'VIDEO': () => Promise.resolve({ default: VideoModal }), 'VIDEO': () => Promise.resolve({ default: VideoModal }),
'AUDIO': () => Promise.resolve({ default: AudioModal }), 'AUDIO': () => Promise.resolve({ default: AudioModal }),
'IMAGE': () => Promise.resolve({ default: ImageModal }),
'BOOST': () => Promise.resolve({ default: BoostModal }), 'BOOST': () => Promise.resolve({ default: BoostModal }),
'CONFIRM': () => Promise.resolve({ default: ConfirmationModal }), 'CONFIRM': () => Promise.resolve({ default: ConfirmationModal }),
'MUTE': MuteModal, 'MUTE': MuteModal,

View File

@ -290,7 +290,7 @@ class UI extends React.PureComponent {
this.dragTargets.push(e.target); this.dragTargets.push(e.target);
} }
if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore) { if (e.dataTransfer && Array.from(e.dataTransfer.types).includes('Files') && this.props.canUploadMore && this.context.identity.signedIn) {
this.setState({ draggingOver: true }); this.setState({ draggingOver: true });
} }
} }
@ -318,7 +318,7 @@ class UI extends React.PureComponent {
this.setState({ draggingOver: false }); this.setState({ draggingOver: false });
this.dragTargets = []; this.dragTargets = [];
if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore) { if (e.dataTransfer && e.dataTransfer.files.length >= 1 && this.props.canUploadMore && this.context.identity.signedIn) {
this.props.dispatch(uploadCompose(e.dataTransfer.files)); this.props.dispatch(uploadCompose(e.dataTransfer.files));
} }
} }

View File

@ -1,17 +1,15 @@
{ {
"about.blocks": "Gehodereerde bedieners", "about.blocks": "Gemodereerde bedieners",
"about.contact": "Kontak:", "about.contact": "Kontak:",
"about.disclaimer": "Mastodon is gratis, oop-bron sagteware, en 'n handelsmerk van Mastodon gGmbH.", "about.disclaimer": "Mastodon is gratis, oop-bron sagteware, en 'n handelsmerk van Mastodon gGmbH.",
"about.domain_blocks.comment": "Rede", "about.domain_blocks.no_reason_available": "Rede nie beskikbaar nie",
"about.domain_blocks.domain": "Domein",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Ernstigheid",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Beperk",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
"about.domain_blocks.suspended.title": "Opgeskort", "about.domain_blocks.suspended.title": "Opgeskort",
"about.not_available": "Hierdie informasie is nie beskikbaar gemaak op hierdie bediener nie.", "about.not_available": "Hierdie informasie is nie beskikbaar gemaak op hierdie bediener nie.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Gedesentraliseerde sosiale media bekragtig deur {mastodon}",
"about.rules": "Bediener reëls", "about.rules": "Bediener reëls",
"account.account_note_header": "Nota", "account.account_note_header": "Nota",
"account.add_or_remove_from_list": "Voeg by of verwyder van lyste", "account.add_or_remove_from_list": "Voeg by of verwyder van lyste",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.follows.empty": "Die gebruiker volg nie tans iemand nie.", "account.follows.empty": "Die gebruiker volg nie tans iemand nie.",
"account.follows_you": "Volg jou", "account.follows_you": "Volg jou",
"account.go_to_profile": "Gaan na profiel",
"account.hide_reblogs": "Versteek hupstoot vanaf @{name}", "account.hide_reblogs": "Versteek hupstoot vanaf @{name}",
"account.joined_short": "Aangesluit", "account.joined_short": "Aangesluit",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
@ -46,10 +45,11 @@
"account.locked_info": "Die rekening se privaatheidstatus is gesluit. Die eienaar hersien handmatig wie hom/haar kan volg.", "account.locked_info": "Die rekening se privaatheidstatus is gesluit. Die eienaar hersien handmatig wie hom/haar kan volg.",
"account.media": "Media", "account.media": "Media",
"account.mention": "Noem @{name}", "account.mention": "Noem @{name}",
"account.moved_to": "{name} is geskuif na:", "account.moved_to": "{name} het aangedui dat hul nuwe rekening die volgende is:",
"account.mute": "Demp @{name}", "account.mute": "Demp @{name}",
"account.mute_notifications": "Demp kennisgewings van @{name}", "account.mute_notifications": "Demp kennisgewings van @{name}",
"account.muted": "Gedemp", "account.muted": "Gedemp",
"account.open_original_page": "Maak oorspronklike blad oop",
"account.posts": "Toots", "account.posts": "Toots",
"account.posts_with_replies": "Toots and replies", "account.posts_with_replies": "Toots and replies",
"account.report": "Rapporteer @{name}", "account.report": "Rapporteer @{name}",
@ -69,11 +69,11 @@
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "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.monthly_retention": "User retention rate by month after sign-up",
"admin.dashboard.retention.average": "Gemiddeld", "admin.dashboard.retention.average": "Gemiddeld",
"admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort": "Registrasie-maand",
"admin.dashboard.retention.cohort_size": "Nuwe gebruikers", "admin.dashboard.retention.cohort_size": "Nuwe gebruikers",
"alert.rate_limited.message": "Probeer asb. weer na {retry_time, time, medium}.", "alert.rate_limited.message": "Probeer asb. weer na {retry_time, time, medium}.",
"alert.rate_limited.title": "Rate limited", "alert.rate_limited.title": "Tempo-beperk",
"alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.message": "'n Onverwagte fout het voorgekom.",
"alert.unexpected.title": "Oeps!", "alert.unexpected.title": "Oeps!",
"announcement.announcement": "Aankondiging", "announcement.announcement": "Aankondiging",
"attachments_list.unprocessed": "(unprocessed)", "attachments_list.unprocessed": "(unprocessed)",
@ -89,14 +89,14 @@
"bundle_column_error.return": "Gaan terug huistoe", "bundle_column_error.return": "Gaan terug huistoe",
"bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
"bundle_column_error.routing.title": "404", "bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Close", "bundle_modal_error.close": "Maak toe",
"bundle_modal_error.message": "Iets het verkeerd gegaan terwyl hierdie komponent besig was om te laai.", "bundle_modal_error.message": "Iets het verkeerd gegaan terwyl hierdie komponent besig was om te laai.",
"bundle_modal_error.retry": "Probeer weer", "bundle_modal_error.retry": "Probeer weer",
"closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
"closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
"closed_registrations_modal.find_another_server": "Find another server", "closed_registrations_modal.find_another_server": "Vind 'n ander bediener",
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.preamble": "Mastodon is gedesentraliseerd, so ongeag van waar jou rekening geskep word, jy sal in staat wees enige iemand op hierdie bediener te volg en interaksie te he. Jy kan dit ook self 'n bediener bestuur!",
"closed_registrations_modal.title": "Signing up on Mastodon", "closed_registrations_modal.title": "Aanteken by Mastodon",
"column.about": "Aangaande", "column.about": "Aangaande",
"column.blocks": "Geblokkeerde gebruikers", "column.blocks": "Geblokkeerde gebruikers",
"column.bookmarks": "Boekmerke", "column.bookmarks": "Boekmerke",
@ -128,7 +128,7 @@
"compose_form.direct_message_warning_learn_more": "Leer meer", "compose_form.direct_message_warning_learn_more": "Leer meer",
"compose_form.encryption_warning": "Plasings op Mastodon het nie end-tot-end enkripsie nie. Moet nie enige sensitiewe inligting oor Mastodon deel nie.", "compose_form.encryption_warning": "Plasings op Mastodon het nie end-tot-end enkripsie nie. Moet nie enige sensitiewe inligting oor Mastodon deel nie.",
"compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.", "compose_form.hashtag_warning": "This toot won't be listed under any hashtag as it is unlisted. Only public toots can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Jou rekening is nie {locked}. Enigeeen kan jou volg om jou slegs-volgeling plasings te sien.",
"compose_form.lock_disclaimer.lock": "gesluit", "compose_form.lock_disclaimer.lock": "gesluit",
"compose_form.placeholder": "What is on your mind?", "compose_form.placeholder": "What is on your mind?",
"compose_form.poll.add_option": "Voeg 'n keuse by", "compose_form.poll.add_option": "Voeg 'n keuse by",
@ -145,42 +145,44 @@
"compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
"compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.marked": "Text is hidden behind warning",
"compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler.unmarked": "Text is not hidden",
"compose_form.spoiler_placeholder": "Write your warning here", "compose_form.spoiler_placeholder": "Skryf jou waarskuwing hier",
"confirmation_modal.cancel": "Cancel", "confirmation_modal.cancel": "Kanselleer",
"confirmations.block.block_and_report": "Block & Report", "confirmations.block.block_and_report": "Block & Rapporteer",
"confirmations.block.confirm": "Block", "confirmations.block.confirm": "Blokeer",
"confirmations.block.message": "Are you sure you want to block {name}?", "confirmations.block.message": "Is jy seker dat jy {name} wil blok?",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Trek aanvaag terug",
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.cancel_follow_request.message": "Is jy seker dat jy jou aanvraag om {name} te volg, terug wil trek?",
"confirmations.delete.confirm": "Delete", "confirmations.delete.confirm": "Wis uit",
"confirmations.delete.message": "Are you sure you want to delete this status?", "confirmations.delete.message": "Are you sure you want to delete this status?",
"confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.confirm": "Wis uit",
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", "confirmations.delete_list.message": "Is jy seker dat jy hierdie lys permanent wil uitwis?",
"confirmations.discard_edit_media.confirm": "Discard", "confirmations.discard_edit_media.confirm": "Verwerp",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
"confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.confirm": "Hide entire domain",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.", "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
"confirmations.logout.confirm": "Log out", "confirmations.logout.confirm": "Teken Uit",
"confirmations.logout.message": "Are you sure you want to log out?", "confirmations.logout.message": "Is jy seker jy wil uit teken?",
"confirmations.mute.confirm": "Mute", "confirmations.mute.confirm": "Mute",
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.", "confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
"confirmations.mute.message": "Are you sure you want to mute {name}?", "confirmations.mute.message": "Are you sure you want to mute {name}?",
"confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.confirm": "Delete & redraft",
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.", "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? Favourites and boosts will be lost, and replies to the original post will be orphaned.",
"confirmations.reply.confirm": "Reply", "confirmations.reply.confirm": "Reageer",
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Unfollow", "confirmations.unfollow.confirm": "Unfollow",
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", "confirmations.unfollow.message": "Are you sure you want to unfollow {name}?",
"conversation.delete": "Delete conversation", "conversation.delete": "Delete conversation",
"conversation.mark_as_read": "Mark as read", "conversation.mark_as_read": "Merk as gelees",
"conversation.open": "View conversation", "conversation.open": "Besigtig gesprek",
"conversation.with": "With {names}", "conversation.with": "Met {names}",
"copypaste.copied": "Copied", "copypaste.copied": "Copied",
"copypaste.copy": "Copy", "copypaste.copy": "Copy",
"directory.federated": "From known fediverse", "directory.federated": "Vanaf bekende fediverse",
"directory.local": "From {domain} only", "directory.local": "Slegs vanaf {domain}",
"directory.new_arrivals": "New arrivals", "directory.new_arrivals": "New arrivals",
"directory.recently_active": "Recently active", "directory.recently_active": "Recently active",
"disabled_account_banner.account_settings": "Rekening instellings",
"disabled_account_banner.text": "Jou rekening {disabledAccount} is tans onaktief.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -200,8 +202,8 @@
"emoji_button.objects": "Objects", "emoji_button.objects": "Objects",
"emoji_button.people": "People", "emoji_button.people": "People",
"emoji_button.recent": "Frequently used", "emoji_button.recent": "Frequently used",
"emoji_button.search": "Search...", "emoji_button.search": "Soek...",
"emoji_button.search_results": "Search results", "emoji_button.search_results": "Soek resultate",
"emoji_button.symbols": "Symbols", "emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "Travel & Places",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "Account suspended",
@ -209,21 +211,21 @@
"empty_column.account_unavailable": "Profile unavailable", "empty_column.account_unavailable": "Profile unavailable",
"empty_column.blocks": "You haven't blocked any users yet.", "empty_column.blocks": "You haven't blocked any users yet.",
"empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.", "empty_column.bookmarked_statuses": "You don't have any bookmarked toots yet. When you bookmark one, it will show up here.",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "Die plaaslike tydlyn is leeg. Skryf iets vir die publiek om die bal aan die rol te kry!",
"empty_column.direct": "Jy het nog nie direkte boodskappe nie. Wanneer jy een stuur of ontvang, sal dit hier verskyn.", "empty_column.direct": "Jy het nog nie direkte boodskappe nie. Wanneer jy een stuur of ontvang, sal dit hier verskyn.",
"empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.domain_blocks": "There are no blocked domains yet.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
"empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.", "empty_column.favourited_statuses": "You don't have any favourite toots yet. When you favourite one, it will show up here.",
"empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.", "empty_column.favourites": "No one has favourited this toot yet. When someone does, they will show up here.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", "empty_column.follow_requests": "Jy het nog geen volg versoeke nie. Wanneer jy een ontvang, sal dit hier vertoon.",
"empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.hashtag": "There is nothing in this hashtag yet.",
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}", "empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}",
"empty_column.home.suggestions": "See some suggestions", "empty_column.home.suggestions": "See some suggestions",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", "empty_column.lists": "Jy het nog geen lyste nie. Wanneer jy een skep, sal dit hier vertoon.",
"empty_column.mutes": "You haven't muted any users yet.", "empty_column.mutes": "You haven't muted any users yet.",
"empty_column.notifications": "You don't have any notifications yet. When other people interact with you, you will see it here.", "empty_column.notifications": "Jy het nog geen kennisgewings nie. Wanneer ander mense interaksie het met jou, sal dit hier vertoon.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up", "empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other servers to fill it up",
"error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.", "error.unexpected_crash.explanation": "Due to a bug in our code or a browser compatibility issue, this page could not be displayed correctly.",
"error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.", "error.unexpected_crash.explanation_addons": "This page could not be displayed correctly. This error is likely caused by a browser add-on or automatic translation tools.",
@ -231,7 +233,7 @@
"error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
"errors.unexpected_crash.report_issue": "Report issue", "errors.unexpected_crash.report_issue": "Report issue",
"explore.search_results": "Search results", "explore.search_results": "Soek resultate",
"explore.suggested_follows": "For you", "explore.suggested_follows": "For you",
"explore.title": "Explore", "explore.title": "Explore",
"explore.trending_links": "News", "explore.trending_links": "News",
@ -249,22 +251,22 @@
"filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.context_mismatch": "does not apply to this context",
"filter_modal.select_filter.expired": "expired", "filter_modal.select_filter.expired": "expired",
"filter_modal.select_filter.prompt_new": "New category: {name}", "filter_modal.select_filter.prompt_new": "New category: {name}",
"filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.search": "Soek of skep",
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
"filter_modal.select_filter.title": "Filter this post", "filter_modal.select_filter.title": "Filter this post",
"filter_modal.title.status": "Filter a post", "filter_modal.title.status": "Filter a post",
"follow_recommendations.done": "Done", "follow_recommendations.done": "Done",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", "follow_recommendations.lead": "Plasings van persone wie jy volg sal in chronologiese volgorde op jou tuis voer vertoon. Jy kan enige tyd ophou om persone te volg en sal dan nie plasings ontvang nie!",
"follow_request.authorize": "Authorize", "follow_request.authorize": "Authorize",
"follow_request.reject": "Reject", "follow_request.reject": "Reject",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"footer.about": "About", "footer.about": "Aangaande",
"footer.directory": "Profiles directory", "footer.directory": "Profielgids",
"footer.get_app": "Get the app", "footer.get_app": "Kry die Toep",
"footer.invite": "Invite people", "footer.invite": "Invite people",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "Sleutelbord kortpaaie",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "Privaatheidsbeleid",
"footer.source_code": "View source code", "footer.source_code": "View source code",
"generic.saved": "Saved", "generic.saved": "Saved",
"getting_started.heading": "Getting started", "getting_started.heading": "Getting started",
@ -287,15 +289,15 @@
"interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "Met 'n rekening op Mastodon kan jy reageer op hierdie plasing.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "On this server",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Omdat Mastodon gedesentraliseerd is, kan jy jou bestaande rekening wat by 'n ander Mastodon bediener of versoenbare platform gehuisves is gebruik indien jy nie 'n rekening hier het nie.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "Boost {name}'s post",
"interaction_modal.title.reply": "Reply to {name}'s post", "interaction_modal.title.reply": "Reageer op {name} se plasing",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
@ -304,7 +306,7 @@
"keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.boost": "to boost",
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "to focus a status in one of the columns",
"keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.compose": "to focus the compose textarea",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "Beskrywing",
"keyboard_shortcuts.direct": "om direkte boodskappe kolom oop te maak", "keyboard_shortcuts.direct": "om direkte boodskappe kolom oop te maak",
"keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "to open status",
@ -323,12 +325,12 @@
"keyboard_shortcuts.open_media": "to open media", "keyboard_shortcuts.open_media": "to open media",
"keyboard_shortcuts.pinned": "to open pinned toots list", "keyboard_shortcuts.pinned": "to open pinned toots list",
"keyboard_shortcuts.profile": "to open author's profile", "keyboard_shortcuts.profile": "to open author's profile",
"keyboard_shortcuts.reply": "to reply", "keyboard_shortcuts.reply": "Reageer op plasing",
"keyboard_shortcuts.requests": "to open follow requests list", "keyboard_shortcuts.requests": "to open follow requests list",
"keyboard_shortcuts.search": "to focus search", "keyboard_shortcuts.search": "to focus search",
"keyboard_shortcuts.spoilers": "to show/hide CW field", "keyboard_shortcuts.spoilers": "Wys/versteek IW veld",
"keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.start": "to open \"get started\" column",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "Wys/versteek teks agter IW",
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media", "keyboard_shortcuts.toggle_sensitivity": "to show/hide media",
"keyboard_shortcuts.toot": "to start a brand new toot", "keyboard_shortcuts.toot": "to start a brand new toot",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
@ -339,7 +341,7 @@
"lightbox.next": "Next", "lightbox.next": "Next",
"lightbox.previous": "Previous", "lightbox.previous": "Previous",
"limited_account_hint.action": "Vertoon profiel in elkgeval", "limited_account_hint.action": "Vertoon profiel in elkgeval",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "Hierdie profiel is deur moderators van {domain} versteek.",
"lists.account.add": "Add to list", "lists.account.add": "Add to list",
"lists.account.remove": "Remove from list", "lists.account.remove": "Remove from list",
"lists.delete": "Delete list", "lists.delete": "Delete list",
@ -351,38 +353,39 @@
"lists.replies_policy.list": "Members of the list", "lists.replies_policy.list": "Members of the list",
"lists.replies_policy.none": "No one", "lists.replies_policy.none": "No one",
"lists.replies_policy.title": "Show replies to:", "lists.replies_policy.title": "Show replies to:",
"lists.search": "Search among people you follow", "lists.search": "Soek tussen mense wat jy volg",
"lists.subheading": "Your lists", "lists.subheading": "Jou lyste",
"load_pending": "{count, plural, one {# new item} other {# new items}}", "load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "Loading...", "loading_indicator.label": "Loading...",
"media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
"missing_indicator.label": "Not found", "missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found", "missing_indicator.sublabel": "This resource could not be found",
"moved_to_account_banner.text": "Jou rekening {disabledAccount} is tans onaktief omdat jy na {movedToAccount} verhuis het.",
"mute_modal.duration": "Duration", "mute_modal.duration": "Duration",
"mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.hide_notifications": "Hide notifications from this user?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Indefinite",
"navigation_bar.about": "About", "navigation_bar.about": "Aangaande",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Blocked users",
"navigation_bar.bookmarks": "Bookmarks", "navigation_bar.bookmarks": "Boekmerke",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Plaaslike tydlyn",
"navigation_bar.compose": "Compose new toot", "navigation_bar.compose": "Compose new toot",
"navigation_bar.direct": "Direkte boodskappe", "navigation_bar.direct": "Direkte boodskappe",
"navigation_bar.discover": "Discover", "navigation_bar.discover": "Discover",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Hidden domains",
"navigation_bar.edit_profile": "Edit profile", "navigation_bar.edit_profile": "Redigeer profiel",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favourites", "navigation_bar.favourites": "Gunstelinge",
"navigation_bar.filters": "Muted words", "navigation_bar.filters": "Muted words",
"navigation_bar.follow_requests": "Follow requests", "navigation_bar.follow_requests": "Follow requests",
"navigation_bar.follows_and_followers": "Follows and followers", "navigation_bar.follows_and_followers": "Follows and followers",
"navigation_bar.lists": "Lists", "navigation_bar.lists": "Lists",
"navigation_bar.logout": "Logout", "navigation_bar.logout": "Teken Uit",
"navigation_bar.mutes": "Muted users", "navigation_bar.mutes": "Muted users",
"navigation_bar.personal": "Personal", "navigation_bar.personal": "Personal",
"navigation_bar.pins": "Pinned toots", "navigation_bar.pins": "Pinned toots",
"navigation_bar.preferences": "Preferences", "navigation_bar.preferences": "Voorkeure",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Gefedereerde tydlyn",
"navigation_bar.search": "Search", "navigation_bar.search": "Soek",
"navigation_bar.security": "Security", "navigation_bar.security": "Security",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
"notification.admin.report": "{name} reported {target}", "notification.admin.report": "{name} reported {target}",
@ -401,7 +404,7 @@
"notifications.column_settings.admin.report": "New reports:", "notifications.column_settings.admin.report": "New reports:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
"notifications.column_settings.alert": "Desktop notifications", "notifications.column_settings.alert": "Desktop notifications",
"notifications.column_settings.favourite": "Favourites:", "notifications.column_settings.favourite": "Gunstelinge:",
"notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.advanced": "Display all categories",
"notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.filter_bar.category": "Quick filter bar",
"notifications.column_settings.filter_bar.show_bar": "Show filter bar", "notifications.column_settings.filter_bar.show_bar": "Show filter bar",
@ -409,23 +412,23 @@
"notifications.column_settings.follow_request": "New follow requests:", "notifications.column_settings.follow_request": "New follow requests:",
"notifications.column_settings.mention": "Mentions:", "notifications.column_settings.mention": "Mentions:",
"notifications.column_settings.poll": "Poll results:", "notifications.column_settings.poll": "Poll results:",
"notifications.column_settings.push": "Push notifications", "notifications.column_settings.push": "Stoot kennisgewings",
"notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "Show in column", "notifications.column_settings.show": "Show in column",
"notifications.column_settings.sound": "Play sound", "notifications.column_settings.sound": "Play sound",
"notifications.column_settings.status": "New toots:", "notifications.column_settings.status": "New toots:",
"notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.category": "Unread notifications",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.unread_notifications.highlight": "Beklemtoon ongeleesde kennisgewings",
"notifications.column_settings.update": "Edits:", "notifications.column_settings.update": "Edits:",
"notifications.filter.all": "All", "notifications.filter.all": "All",
"notifications.filter.boosts": "Boosts", "notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favourites", "notifications.filter.favourites": "Gunstelinge",
"notifications.filter.follows": "Follows", "notifications.filter.follows": "Follows",
"notifications.filter.mentions": "Mentions", "notifications.filter.mentions": "Mentions",
"notifications.filter.polls": "Poll results", "notifications.filter.polls": "Poll results",
"notifications.filter.statuses": "Updates from people you follow", "notifications.filter.statuses": "Updates from people you follow",
"notifications.grant_permission": "Grant permission.", "notifications.grant_permission": "Grant permission.",
"notifications.group": "{count} notifications", "notifications.group": "{count} kennisgewings",
"notifications.mark_as_read": "Mark every notification as read", "notifications.mark_as_read": "Mark every notification as read",
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
@ -452,8 +455,8 @@
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Unlisted", "privacy.unlisted.short": "Unlisted",
"privacy_policy.last_updated": "Last updated {date}", "privacy_policy.last_updated": "Laas opdateer om {date}",
"privacy_policy.title": "Privacy Policy", "privacy_policy.title": "Privaatheidsbeleid",
"refresh": "Refresh", "refresh": "Refresh",
"regeneration_indicator.label": "Loading…", "regeneration_indicator.label": "Loading…",
"regeneration_indicator.sublabel": "Your home feed is being prepared!", "regeneration_indicator.sublabel": "Your home feed is being prepared!",
@ -468,7 +471,7 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "today", "relative_time.today": "today",
"reply_indicator.cancel": "Cancel", "reply_indicator.cancel": "Kanselleer",
"report.block": "Block", "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_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": "Other",
@ -511,25 +514,25 @@
"report_notification.categories.spam": "Spam", "report_notification.categories.spam": "Spam",
"report_notification.categories.violation": "Rule violation", "report_notification.categories.violation": "Rule violation",
"report_notification.open": "Open report", "report_notification.open": "Open report",
"search.placeholder": "Search", "search.placeholder": "Soek",
"search.search_or_paste": "Search or paste URL", "search.search_or_paste": "Soek of plak URL",
"search_popout.search_format": "Advanced search format", "search_popout.search_format": "Gevorderde soek formaat",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
"search_popout.tips.hashtag": "hashtag", "search_popout.tips.hashtag": "hits-etiket",
"search_popout.tips.status": "status", "search_popout.tips.status": "status",
"search_popout.tips.text": "Simple text returns matching display names, usernames and hashtags", "search_popout.tips.text": "Eenvoudige teks bring name, gebruiker name en hits-etikette wat ooreenstem, terug",
"search_popout.tips.user": "user", "search_popout.tips.user": "gebruiker",
"search_results.accounts": "People", "search_results.accounts": "Mense",
"search_results.all": "All", "search_results.all": "Alles",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hits-etiket",
"search_results.nothing_found": "Could not find anything for these search terms", "search_results.nothing_found": "Kon niks vind vir hierdie soek terme nie",
"search_results.statuses": "Toots", "search_results.statuses": "Toots",
"search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.", "search_results.statuses_fts_disabled": "Searching toots by their content is not enabled on this Mastodon server.",
"search_results.title": "Search for {q}", "search_results.title": "Soek vir {q}",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {resultaat} other {resultate}}",
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
"server_banner.active_users": "active users", "server_banner.active_users": "active users",
"server_banner.administered_by": "Administered by:", "server_banner.administered_by": "Administrasie deur:",
"server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
"server_banner.learn_more": "Learn more", "server_banner.learn_more": "Learn more",
"server_banner.server_stats": "Server stats:", "server_banner.server_stats": "Server stats:",
@ -573,10 +576,10 @@
"status.redraft": "Delete & re-draft", "status.redraft": "Delete & re-draft",
"status.remove_bookmark": "Remove bookmark", "status.remove_bookmark": "Remove bookmark",
"status.replied_to": "Replied to {name}", "status.replied_to": "Replied to {name}",
"status.reply": "Reply", "status.reply": "Reageer",
"status.replyAll": "Reply to thread", "status.replyAll": "Reageer in garing",
"status.report": "Report @{name}", "status.report": "Report @{name}",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Sensitiewe inhoud",
"status.share": "Share", "status.share": "Share",
"status.show_filter_reason": "Show anyway", "status.show_filter_reason": "Show anyway",
"status.show_less": "Show less", "status.show_less": "Show less",
@ -594,10 +597,10 @@
"subscribed_languages.target": "Change subscribed languages for {target}", "subscribed_languages.target": "Change subscribed languages for {target}",
"suggestions.dismiss": "Dismiss suggestion", "suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…", "suggestions.header": "You might be interested in…",
"tabs_bar.federated_timeline": "Federated", "tabs_bar.federated_timeline": "Gefedereerde",
"tabs_bar.home": "Home", "tabs_bar.home": "Home",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Plaaslik",
"tabs_bar.notifications": "Notifications", "tabs_bar.notifications": "Kennisgewings",
"time_remaining.days": "{number, plural, one {# day} other {# days}} left", "time_remaining.days": "{number, plural, one {# day} other {# days}} left",
"time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left", "time_remaining.hours": "{number, plural, one {# hour} other {# hours}} left",
"time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left", "time_remaining.minutes": "{number, plural, one {# minute} other {# minutes}} left",

View File

@ -1,27 +1,25 @@
{ {
"about.blocks": "خوادم تحت الإشراف", "about.blocks": "خوادم تحت الإشراف",
"about.contact": "اتصل بـ:", "about.contact": "للاتصال:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "ماستدون برنامج حر ومفتوح المصدر وعلامة تجارية لـ Mastodon GmbH.",
"about.domain_blocks.comment": "السبب", "about.domain_blocks.no_reason_available": "السبب غير متوفر",
"about.domain_blocks.domain": "النطاق", "about.domain_blocks.preamble": "يسمح لك ماستدون عموماً بعرض المحتوى من المستخدمين من أي خادم آخر في الفدرالية والتفاعل معهم. وهذه هي الاستثناءات التي وضعت على هذا الخادوم بالذات.",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.silenced.explanation": "عموماً، لن ترى ملفات التعريف والمحتوى من هذا الخادم، إلا إذا كنت تبحث عنه بشكل صريح أو تختار أن تتابعه.",
"about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.title": "تم كتمه",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.suspended.explanation": "لن يتم معالجة أي بيانات من هذا الخادم أو تخزينها أو تبادلها، مما يجعل أي تفاعل أو اتصال مع المستخدمين من هذا الخادم مستحيلا.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.title": "مُعلّق",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.not_available": "لم يتم توفير هذه المعلومات على هذا الخادم.",
"about.domain_blocks.suspended.title": "Suspended",
"about.not_available": "This information has not been made available on this server.",
"about.powered_by": "شبكة اجتماعية لامركزية مدعومة من {mastodon}", "about.powered_by": "شبكة اجتماعية لامركزية مدعومة من {mastodon}",
"about.rules": "قواعد الخادم", "about.rules": "قواعد الخادم",
"account.account_note_header": "مُلاحظة", "account.account_note_header": "مُلاحظة",
"account.add_or_remove_from_list": "الإضافة أو الإزالة من القائمة", "account.add_or_remove_from_list": "الإضافة أو الإزالة من القائمة",
"account.badges.bot": "روبوت", "account.badges.bot": "بوت",
"account.badges.group": "فريق", "account.badges.group": "فريق",
"account.block": "احجب @{name}", "account.block": "احجب @{name}",
"account.block_domain": "حظر اسم النِّطاق {domain}", "account.block_domain": "حظر اسم النِّطاق {domain}",
"account.blocked": "محظور", "account.blocked": "محظور",
"account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي", "account.browse_more_on_origin_server": "تصفح المزيد في الملف الشخصي الأصلي",
"account.cancel_follow_request": "Withdraw follow request", "account.cancel_follow_request": "إلغاء طلب المتابعة",
"account.direct": "مراسلة @{name} بشكل مباشر", "account.direct": "مراسلة @{name} بشكل مباشر",
"account.disable_notifications": "توقف عن إشعاري عندما ينشر @{name}", "account.disable_notifications": "توقف عن إشعاري عندما ينشر @{name}",
"account.domain_blocked": "اسم النِّطاق محظور", "account.domain_blocked": "اسم النِّطاق محظور",
@ -39,22 +37,24 @@
"account.following_counter": "{count, plural, zero{لا يُتابِع} one {يُتابِعُ واحد} two{يُتابِعُ اِثنان} few{يُتابِعُ {counter}} many{يُتابِعُ {counter}} other {يُتابِعُ {counter}}}", "account.following_counter": "{count, plural, zero{لا يُتابِع} one {يُتابِعُ واحد} two{يُتابِعُ اِثنان} few{يُتابِعُ {counter}} many{يُتابِعُ {counter}} other {يُتابِعُ {counter}}}",
"account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.", "account.follows.empty": "لا يُتابع هذا المُستخدمُ أيَّ أحدٍ حتى الآن.",
"account.follows_you": "يُتابِعُك", "account.follows_you": "يُتابِعُك",
"account.go_to_profile": "اذهب إلى الملف الشخصي",
"account.hide_reblogs": "إخفاء مشاركات @{name}", "account.hide_reblogs": "إخفاء مشاركات @{name}",
"account.joined_short": "انضم في", "account.joined_short": "انضم في",
"account.languages": "تغيير اللغات المشترَك فيها", "account.languages": "تغيير اللغات المشترَك فيها",
"account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}", "account.link_verified_on": "تمَّ التَّحقق مِن مِلْكيّة هذا الرابط بتاريخ {date}",
"account.locked_info": "تمَّ تعيين حالة خصوصية هذا الحساب إلى مُقفَل. يُراجع المالك يدويًا من يمكنه متابعته.", "account.locked_info": "تمَّ تعيين حالة خصوصية هذا الحساب إلى مُقفَل. يُراجع المالك يدويًا من يمكنه متابعته.",
"account.media": "وسائط", "account.media": "وسائط",
"account.mention": "ذِكر @{name}", "account.mention": "أذكُر @{name}",
"account.moved_to": "لقد انتقل {name} إلى:", "account.moved_to": "أشار {name} إلى أن حسابه الجديد الآن:",
"account.mute": "كَتم @{name}", "account.mute": "أكتم @{name}",
"account.mute_notifications": "كَتم الإشعارات من @{name}", "account.mute_notifications": "كَتم الإشعارات من @{name}",
"account.muted": "مَكتوم", "account.muted": "مَكتوم",
"account.open_original_page": "افتح الصفحة الأصلية",
"account.posts": "منشورات", "account.posts": "منشورات",
"account.posts_with_replies": "المنشورات والرُدود", "account.posts_with_replies": "المنشورات والرُدود",
"account.report": "الإبلاغ عن @{name}", "account.report": "الإبلاغ عن @{name}",
"account.requested": "في انتظار القبول. اضغط لإلغاء طلب المُتابعة", "account.requested": "في انتظار القبول. اضغط لإلغاء طلب المُتابعة",
"account.share": "مُشاركة الملف الشخصي لـ @{name}", "account.share": "شارِك الملف التعريفي لـ @{name}",
"account.show_reblogs": "عرض مشاركات @{name}", "account.show_reblogs": "عرض مشاركات @{name}",
"account.statuses_counter": "{count, plural, zero {لَا منشورات} one {منشور واحد} two {منشوران إثنان} few {{counter} منشورات} many {{counter} منشورًا} other {{counter} منشور}}", "account.statuses_counter": "{count, plural, zero {لَا منشورات} one {منشور واحد} two {منشوران إثنان} few {{counter} منشورات} many {{counter} منشورًا} other {{counter} منشور}}",
"account.unblock": "إلغاء الحَظر عن @{name}", "account.unblock": "إلغاء الحَظر عن @{name}",
@ -66,8 +66,8 @@
"account.unmute_notifications": "إلغاء كَتم الإشعارات عن @{name}", "account.unmute_notifications": "إلغاء كَتم الإشعارات عن @{name}",
"account.unmute_short": "إلغاء الكتم", "account.unmute_short": "إلغاء الكتم",
"account_note.placeholder": "اضغط لإضافة مُلاحظة", "account_note.placeholder": "اضغط لإضافة مُلاحظة",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.daily_retention": "معدل الاحتفاظ بالمستخدم بعد التسجيل بيوم",
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.monthly_retention": "معدل الاحتفاظ بالمستخدم بعد التسجيل بالشهور",
"admin.dashboard.retention.average": "المعدل", "admin.dashboard.retention.average": "المعدل",
"admin.dashboard.retention.cohort": "شهر التسجيل", "admin.dashboard.retention.cohort": "شهر التسجيل",
"admin.dashboard.retention.cohort_size": "المستخدمون الجدد", "admin.dashboard.retention.cohort_size": "المستخدمون الجدد",
@ -80,10 +80,10 @@
"audio.hide": "إخفاء المقطع الصوتي", "audio.hide": "إخفاء المقطع الصوتي",
"autosuggest_hashtag.per_week": "{count} في الأسبوع", "autosuggest_hashtag.per_week": "{count} في الأسبوع",
"boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة", "boost_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة",
"bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.copy_stacktrace": "انسخ تقرير الخطأ",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "لا يمكن تقديم الصفحة المطلوبة. قد يكون بسبب خطأ في التعليمات البرمجية، أو مشكلة توافق المتصفح.",
"bundle_column_error.error.title": "أوه لا!", "bundle_column_error.error.title": "أوه لا!",
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.body": "حدث خطأ أثناء محاولة تحميل هذه الصفحة. قد يكون هذا بسبب مشكلة مؤقتة في اتصالك بالإنترنت أو هذا الخادم.",
"bundle_column_error.network.title": "خطأ في الشبكة", "bundle_column_error.network.title": "خطأ في الشبكة",
"bundle_column_error.retry": "إعادة المُحاولة", "bundle_column_error.retry": "إعادة المُحاولة",
"bundle_column_error.return": "العودة إلى الرئيسية", "bundle_column_error.return": "العودة إلى الرئيسية",
@ -96,7 +96,7 @@
"closed_registrations_modal.description": "لا يمكن إنشاء حساب على {domain} حاليا، ولكن على فكرة لست بحاجة إلى حساب على {domain} بذاته لاستخدام ماستدون.", "closed_registrations_modal.description": "لا يمكن إنشاء حساب على {domain} حاليا، ولكن على فكرة لست بحاجة إلى حساب على {domain} بذاته لاستخدام ماستدون.",
"closed_registrations_modal.find_another_server": "ابحث على خادم آخر", "closed_registrations_modal.find_another_server": "ابحث على خادم آخر",
"closed_registrations_modal.preamble": "ماستدون لامركزي، لذلك بغض النظر عن مكان إنشاء حسابك، سيكون بإمكانك المتابعة والتفاعل مع أي شخص على هذا الخادم. يمكنك حتى أن تستضيفه ذاتياً!", "closed_registrations_modal.preamble": "ماستدون لامركزي، لذلك بغض النظر عن مكان إنشاء حسابك، سيكون بإمكانك المتابعة والتفاعل مع أي شخص على هذا الخادم. يمكنك حتى أن تستضيفه ذاتياً!",
"closed_registrations_modal.title": "Signing up on Mastodon", "closed_registrations_modal.title": "تسجيل حساب في ماستدون",
"column.about": "عن", "column.about": "عن",
"column.blocks": "المُستَخدِمون المَحظورون", "column.blocks": "المُستَخدِمون المَحظورون",
"column.bookmarks": "الفواصل المرجعية", "column.bookmarks": "الفواصل المرجعية",
@ -150,12 +150,12 @@
"confirmations.block.block_and_report": "حظره والإبلاغ عنه", "confirmations.block.block_and_report": "حظره والإبلاغ عنه",
"confirmations.block.confirm": "حظر", "confirmations.block.confirm": "حظر",
"confirmations.block.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَظرَ {name}؟", "confirmations.block.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَظرَ {name}؟",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "إلغاء الطلب",
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.cancel_follow_request.message": "متأكد من إلغاء طلب متابعة {name}؟",
"confirmations.delete.confirm": "حذف", "confirmations.delete.confirm": "حذف",
"confirmations.delete.message": "هل أنتَ مُتأكدٌ أنك تُريدُ حَذفَ هذا المنشور؟", "confirmations.delete.message": "هل أنتَ مُتأكدٌ أنك تُريدُ حَذفَ هذا المنشور؟",
"confirmations.delete_list.confirm": "حذف", "confirmations.delete_list.confirm": "حذف",
"confirmations.delete_list.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَذفَ هذِهِ القائمةَ بشكلٍ دائم؟", "confirmations.delete_list.message": "هل أنتَ مُتأكدٌ أنكَ تُريدُ حَذفَ هذِهِ القائمة بشكلٍ دائم؟",
"confirmations.discard_edit_media.confirm": "تجاهل", "confirmations.discard_edit_media.confirm": "تجاهل",
"confirmations.discard_edit_media.message": "لديك تغييرات غير محفوظة لوصف الوسائط أو معاينتها، تجاهلها على أي حال؟", "confirmations.discard_edit_media.message": "لديك تغييرات غير محفوظة لوصف الوسائط أو معاينتها، تجاهلها على أي حال؟",
"confirmations.domain_block.confirm": "حظر اِسم النِّطاق بشكلٍ كامل", "confirmations.domain_block.confirm": "حظر اِسم النِّطاق بشكلٍ كامل",
@ -181,12 +181,14 @@
"directory.local": "مِن {domain} فقط", "directory.local": "مِن {domain} فقط",
"directory.new_arrivals": "الوافدون الجُدد", "directory.new_arrivals": "الوافدون الجُدد",
"directory.recently_active": "نشط مؤخرا", "directory.recently_active": "نشط مؤخرا",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "disabled_account_banner.account_settings": "إعدادات الحساب",
"dismissable_banner.dismiss": "Dismiss", "disabled_account_banner.text": "حسابك {disabledAccount} معطل حاليا.",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.community_timeline": "هذه هي أحدث المشاركات العامة من الأشخاص الذين تُستضاف حساباتهم على {domain}.",
"dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.dismiss": "إغلاق",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "هذه القصص الإخبارية يتحدث عنها أشخاص على هذا الخوادم الأخرى للشبكة اللامركزية في الوقت الحالي.",
"dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "dismissable_banner.explore_statuses": "هذه المنشورات مِن هذا الخادم ومِن الخوادم الأخرى في الشبكة اللامركزية تجذب انتباه المستخدمين على هذا الخادم الآن.",
"dismissable_banner.explore_tags": "هذه العلامات تكتسب جذب بين الناس على هذا الخوادم الأخرى للشبكة اللامركزية في الوقت الحالي.",
"dismissable_banner.public_timeline": "هذه هي أحدث المنشورات العامة من الناس على هذا الخادم والخوادم الأخرى للشبكة اللامركزية التي يعرفها هذا الخادم.",
"embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.", "embed.instructions": "يمكنكم إدماج هذا المنشور على موقعكم الإلكتروني عن طريق نسخ الشفرة أدناه.",
"embed.preview": "هكذا ما سوف يبدو عليه:", "embed.preview": "هكذا ما سوف يبدو عليه:",
"emoji_button.activity": "الأنشطة", "emoji_button.activity": "الأنشطة",
@ -237,35 +239,35 @@
"explore.trending_links": "الأخبار", "explore.trending_links": "الأخبار",
"explore.trending_statuses": "المنشورات", "explore.trending_statuses": "المنشورات",
"explore.trending_tags": "الوسوم", "explore.trending_tags": "الوسوم",
"filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_explanation": "فئة عامل التصفية هذه لا تنطبق على السياق الذي وصلت فيه إلى هذه المشاركة. إذا كنت ترغب في تصفية المنشور في هذا السياق أيضا، فسيتعين عليك تعديل عامل التصفية.",
"filter_modal.added.context_mismatch_title": "Context mismatch!", "filter_modal.added.context_mismatch_title": "عدم تطابق السياق!",
"filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", "filter_modal.added.expired_explanation": "انتهت صلاحية فئة عامل التصفية هذه، سوف تحتاج إلى تغيير تاريخ انتهاء الصلاحية لتطبيقها.",
"filter_modal.added.expired_title": "Expired filter!", "filter_modal.added.expired_title": "تصفية منتهية الصلاحية!",
"filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure": "لمراجعة وزيادة تكوين فئة عوامل التصفية هذه، انتقل إلى {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filter settings", "filter_modal.added.review_and_configure_title": "إعدادات التصفية",
"filter_modal.added.settings_link": "صفحة الإعدادات", "filter_modal.added.settings_link": "صفحة الإعدادات",
"filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.short_explanation": "تمت إضافة هذه المشاركة إلى فئة الفلاتر التالية: {title}.",
"filter_modal.added.title": "Filter added!", "filter_modal.added.title": "تمت إضافة عامل التصفية!",
"filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.context_mismatch": "لا ينطبق على هذا السياق",
"filter_modal.select_filter.expired": "expired", "filter_modal.select_filter.expired": "منتهية الصلاحيّة",
"filter_modal.select_filter.prompt_new": "فئة جديدة: {name}", "filter_modal.select_filter.prompt_new": "فئة جديدة: {name}",
"filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.search": "البحث أو الإنشاء",
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.subtitle": "استخدام فئة موجودة أو إنشاء فئة جديدة",
"filter_modal.select_filter.title": "Filter this post", "filter_modal.select_filter.title": "تصفية هذا المنشور",
"filter_modal.title.status": "Filter a post", "filter_modal.title.status": "تصفية منشور",
"follow_recommendations.done": "تم", "follow_recommendations.done": "تم",
"follow_recommendations.heading": "تابع الأشخاص الذين ترغب في رؤية منشوراتهم! إليك بعض الاقتراحات.", "follow_recommendations.heading": "تابع الأشخاص الذين ترغب في رؤية منشوراتهم! إليك بعض الاقتراحات.",
"follow_recommendations.lead": "ستظهر منشورات الأشخاص الذين تُتابعتهم بترتيب تسلسلي زمني على صفحتك الرئيسية. لا تخف إذا ارتكبت أي أخطاء، تستطيع إلغاء متابعة أي شخص في أي وقت تريد!", "follow_recommendations.lead": "ستظهر منشورات الأشخاص الذين تُتابعتهم بترتيب تسلسلي زمني على صفحتك الرئيسية. لا تخف إذا ارتكبت أي أخطاء، تستطيع إلغاء متابعة أي شخص في أي وقت تريد!",
"follow_request.authorize": "ترخيص", "follow_request.authorize": "ترخيص",
"follow_request.reject": "رفض", "follow_request.reject": "رفض",
"follow_requests.unlocked_explanation": "على الرغم من أن حسابك غير مقفل، فإن موظفين الـ{domain} ظنوا أنك قد ترغب في مراجعة طلبات المتابعة من هذه الحسابات يدوياً.", "follow_requests.unlocked_explanation": "على الرغم من أن حسابك غير مقفل، فإن موظفين الـ{domain} ظنوا أنك قد ترغب في مراجعة طلبات المتابعة من هذه الحسابات يدوياً.",
"footer.about": "About", "footer.about": "حَول",
"footer.directory": "Profiles directory", "footer.directory": "دليل الصفحات التعريفية",
"footer.get_app": "Get the app", "footer.get_app": "احصل على التطبيق",
"footer.invite": "Invite people", "footer.invite": "دعوة أشخاص",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "اختصارات لوحة المفاتيح",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "سياسة الخصوصية",
"footer.source_code": "View source code", "footer.source_code": "الاطلاع على الشفرة المصدرية",
"generic.saved": "تم الحفظ", "generic.saved": "تم الحفظ",
"getting_started.heading": "استعدّ للبدء", "getting_started.heading": "استعدّ للبدء",
"hashtag.column_header.tag_mode.all": "و {additional}", "hashtag.column_header.tag_mode.all": "و {additional}",
@ -284,18 +286,18 @@
"home.column_settings.show_replies": "اعرض الردود", "home.column_settings.show_replies": "اعرض الردود",
"home.hide_announcements": "إخفاء الإعلانات", "home.hide_announcements": "إخفاء الإعلانات",
"home.show_announcements": "إظهار الإعلانات", "home.show_announcements": "إظهار الإعلانات",
"interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.favourite": "مع حساب في ماستدون، يمكنك تفضيل هذا المقال لإبلاغ الناشر بتقديرك وحفظه لاحقا.",
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "مع حساب في ماستدون، يمكنك متابعة {name} لتلقي مشاركاتهم في الصفحه الرئيسيه.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "مع حساب في ماستدون، يمكنك تعزيز هذا المنشور لمشاركته مع متابعينك.",
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "مع حساب في ماستدون، يمكنك الرد على هذه المشاركة.",
"interaction_modal.on_another_server": "على خادم مختلف", "interaction_modal.on_another_server": "على خادم مختلف",
"interaction_modal.on_this_server": "على هذا الخادم", "interaction_modal.on_this_server": "على هذا الخادم",
"interaction_modal.other_server_instructions": "ببساطة قم بنسخ ولصق هذا الرابط في شريط البحث في تطبيقك المفضل أو على واجهة الويب أين ولجت بحسابك.", "interaction_modal.other_server_instructions": "انسخ و الصق هذا الرابط في حقل البحث الخاص بك لتطبيق ماستدون المفضل لديك أو واجهة الويب لخادم ماستدون الخاص بك.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "بما إن ماستدون لامركزي، يمكنك استخدام حسابك الحالي المستضاف بواسطة خادم ماستدون آخر أو منصة متوافقة إذا لم يكن لديك حساب هنا.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "الإعجاب بمنشور {name}",
"interaction_modal.title.follow": "اتبع {name}", "interaction_modal.title.follow": "اتبع {name}",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "مشاركة منشور {name}",
"interaction_modal.title.reply": "Reply to {name}'s post", "interaction_modal.title.reply": "الرد على منشور {name}",
"intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}", "intervals.full.days": "{number, plural, one {# يوم} other {# أيام}}",
"intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}", "intervals.full.hours": "{number, plural, one {# ساعة} other {# ساعات}}",
"intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}", "intervals.full.minutes": "{number, plural, one {# دقيقة} other {# دقائق}}",
@ -339,7 +341,7 @@
"lightbox.next": "التالي", "lightbox.next": "التالي",
"lightbox.previous": "العودة", "lightbox.previous": "العودة",
"limited_account_hint.action": "إظهار الملف التعريفي على أي حال", "limited_account_hint.action": "إظهار الملف التعريفي على أي حال",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "تم إخفاء هذا الملف الشخصي من قبل مشرفي {domain}.",
"lists.account.add": "أضف إلى القائمة", "lists.account.add": "أضف إلى القائمة",
"lists.account.remove": "احذف من القائمة", "lists.account.remove": "احذف من القائمة",
"lists.delete": "احذف القائمة", "lists.delete": "احذف القائمة",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} other {اخف الصور}}", "media_gallery.toggle_visible": "{number, plural, zero {} one {اخف الصورة} two {اخف الصورتين} few {اخف الصور} many {اخف الصور} other {اخف الصور}}",
"missing_indicator.label": "غير موجود", "missing_indicator.label": "غير موجود",
"missing_indicator.sublabel": "تعذر العثور على هذا المورد", "missing_indicator.sublabel": "تعذر العثور على هذا المورد",
"moved_to_account_banner.text": "حسابك {disabledAccount} معطل حاليًا لأنك انتقلت إلى {movedToAccount}.",
"mute_modal.duration": "المدة", "mute_modal.duration": "المدة",
"mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟", "mute_modal.hide_notifications": "هل تود إخفاء الإخطارات القادمة من هذا المستخدم ؟",
"mute_modal.indefinite": "إلى أجل غير مسمى", "mute_modal.indefinite": "إلى أجل غير مسمى",
@ -384,8 +387,8 @@
"navigation_bar.public_timeline": "الخيط العام الموحد", "navigation_bar.public_timeline": "الخيط العام الموحد",
"navigation_bar.search": "البحث", "navigation_bar.search": "البحث",
"navigation_bar.security": "الأمان", "navigation_bar.security": "الأمان",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "not_signed_in_indicator.not_signed_in": "تحتاج إلى تسجيل الدخول للوصول إلى هذا المصدر.",
"notification.admin.report": "{name} reported {target}", "notification.admin.report": "{name} أبلغ عن {target}",
"notification.admin.sign_up": "أنشأ {name} حسابًا", "notification.admin.sign_up": "أنشأ {name} حسابًا",
"notification.favourite": "أُعجِب {name} بمنشورك", "notification.favourite": "أُعجِب {name} بمنشورك",
"notification.follow": "{name} يتابعك", "notification.follow": "{name} يتابعك",
@ -452,17 +455,17 @@
"privacy.public.short": "للعامة", "privacy.public.short": "للعامة",
"privacy.unlisted.long": "مرئي للجميع، ولكن مِن دون ميزات الاكتشاف", "privacy.unlisted.long": "مرئي للجميع، ولكن مِن دون ميزات الاكتشاف",
"privacy.unlisted.short": "غير مدرج", "privacy.unlisted.short": "غير مدرج",
"privacy_policy.last_updated": "Last updated {date}", "privacy_policy.last_updated": "آخر تحديث {date}",
"privacy_policy.title": "سياسة الخصوصية", "privacy_policy.title": "سياسة الخصوصية",
"refresh": "أنعِش", "refresh": "أنعِش",
"regeneration_indicator.label": "جارٍ التحميل…", "regeneration_indicator.label": "جارٍ التحميل…",
"regeneration_indicator.sublabel": "جارٍ تجهيز تغذية صفحتك الرئيسية!", "regeneration_indicator.sublabel": "جارٍ تجهيز تغذية صفحتك الرئيسية!",
"relative_time.days": "{number}ي", "relative_time.days": "{number}ي",
"relative_time.full.days": "منذ {number, plural, zero {} one {# يوم} two {# يومين} few {# أيام} many {# أيام} other {# يوم}}", "relative_time.full.days": "منذ {number, plural, zero {} one {# يوم} two {# يومين} few {# أيام} many {# أيام} other {# يوم}}",
"relative_time.full.hours": "منذ {number, plural, zero {} one {# ساعة واحدة} two {# ساعتين} few {# ساعات} many {# ساعات} other {# ساعة}}", "relative_time.full.hours": "منذ {number, plural, zero {} one {ساعة واحدة} two {ساعتَيْن} few {# ساعات} many {# ساعة} other {# ساعة}}",
"relative_time.full.just_now": "الآن", "relative_time.full.just_now": "الآن",
"relative_time.full.minutes": "منذ {number, plural, zero {} one {# دقيقة واحدة} two {# دقيقتين} few {# دقائق} many {# دقيقة} other {# دقائق}}", "relative_time.full.minutes": "منذ {number, plural, zero {} one {دقيقة} two {دقيقتَيْن} few {# دقائق} many {# دقيقة} other {# دقائق}}",
"relative_time.full.seconds": "منذ {number, plural, zero {} one {# ثانية واحدة} two {# ثانيتين} few {# ثوانٍ} many {# ثوانٍ} other {# ثانية}}", "relative_time.full.seconds": "منذ {number, plural, zero {} one {ثانية} two {ثانيتَيْن} few {# ثوانٍ} many {# ثانية} other {# ثانية}}",
"relative_time.hours": "{number}سا", "relative_time.hours": "{number}سا",
"relative_time.just_now": "الآن", "relative_time.just_now": "الآن",
"relative_time.minutes": "{number}د", "relative_time.minutes": "{number}د",
@ -509,10 +512,10 @@
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached", "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "آخر", "report_notification.categories.other": "آخر",
"report_notification.categories.spam": "مزعج", "report_notification.categories.spam": "مزعج",
"report_notification.categories.violation": "Rule violation", "report_notification.categories.violation": "القاعدة المنتهَكة",
"report_notification.open": "Open report", "report_notification.open": "فتح التقرير",
"search.placeholder": "ابحث", "search.placeholder": "ابحث",
"search.search_or_paste": "Search or paste URL", "search.search_or_paste": "ابحث أو أدخل رابطا تشعبيا URL",
"search_popout.search_format": "نمط البحث المتقدم", "search_popout.search_format": "نمط البحث المتقدم",
"search_popout.tips.full_text": "النص البسيط يقوم بعرض المنشورات التي كتبتها أو قمت بإرسالها أو ترقيتها أو تمت الإشارة إليك فيها من طرف آخرين ، بالإضافة إلى مطابقة أسماء المستخدمين وأسماء العرض وعلامات التصنيف.", "search_popout.tips.full_text": "النص البسيط يقوم بعرض المنشورات التي كتبتها أو قمت بإرسالها أو ترقيتها أو تمت الإشارة إليك فيها من طرف آخرين ، بالإضافة إلى مطابقة أسماء المستخدمين وأسماء العرض وعلامات التصنيف.",
"search_popout.tips.hashtag": "وسم", "search_popout.tips.hashtag": "وسم",
@ -525,33 +528,33 @@
"search_results.nothing_found": "تعذر العثور على نتائج تتضمن هذه المصطلحات", "search_results.nothing_found": "تعذر العثور على نتائج تتضمن هذه المصطلحات",
"search_results.statuses": "المنشورات", "search_results.statuses": "المنشورات",
"search_results.statuses_fts_disabled": "البحث عن المنشورات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.", "search_results.statuses_fts_disabled": "البحث عن المنشورات عن طريق المحتوى ليس مفعل في خادم ماستدون هذا.",
"search_results.title": "Search for {q}", "search_results.title": "البحث عن {q}",
"search_results.total": "{count, number} {count, plural, zero {} one {نتيجة} two {نتيجتين} few {نتائج} many {نتائج} other {نتائج}}", "search_results.total": "{count, number} {count, plural, zero {} one {نتيجة} two {نتيجتين} few {نتائج} many {نتائج} other {نتائج}}",
"server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)", "server_banner.about_active_users": "الأشخاص الذين يستخدمون هذا الخادم خلال الأيام الثلاثين الأخيرة (المستخدمون النشطون شهريًا)",
"server_banner.active_users": "مستخدم نشط", "server_banner.active_users": "مستخدم نشط",
"server_banner.administered_by": "يُديره:", "server_banner.administered_by": "يُديره:",
"server_banner.introduction": "{domain} هو جزء من الشبكة الاجتماعية اللامركزية المدعومة من {mastodon}.", "server_banner.introduction": "{domain} هو جزء من الشبكة الاجتماعية اللامركزية التي تعمل بواسطة {mastodon}.",
"server_banner.learn_more": "تعلم المزيد", "server_banner.learn_more": "تعلم المزيد",
"server_banner.server_stats": "إحصائيات الخادم:", "server_banner.server_stats": "إحصائيات الخادم:",
"sign_in_banner.create_account": "أنشئ حسابًا", "sign_in_banner.create_account": "أنشئ حسابًا",
"sign_in_banner.sign_in": "لِج", "sign_in_banner.sign_in": "لِج",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", "sign_in_banner.text": "قم بالولوج بحسابك لمتابعة الصفحات الشخصية أو الوسوم، أو لإضافة الرسائل إلى المفضلة ومشاركتها والرد عليها أو التفاعل بواسطة حسابك المتواجد على خادم مختلف.",
"status.admin_account": "افتح الواجهة الإدارية لـ @{name}", "status.admin_account": "افتح الواجهة الإدارية لـ @{name}",
"status.admin_status": "افتح هذا المنشور على واجهة الإشراف", "status.admin_status": "افتح هذا المنشور على واجهة الإشراف",
"status.block": "احجب @{name}", "status.block": "احجب @{name}",
"status.bookmark": "أضفه إلى الفواصل المرجعية", "status.bookmark": "أضفه إلى الفواصل المرجعية",
"status.cancel_reblog_private": "إلغاء الترقية", "status.cancel_reblog_private": "إلغاء الترقية",
"status.cannot_reblog": "تعذرت ترقية هذا المنشور", "status.cannot_reblog": "تعذرت ترقية هذا المنشور",
"status.copy": "نسخ رابط المنشور", "status.copy": "انسخ رابط الرسالة",
"status.delete": "احذف", "status.delete": "احذف",
"status.detailed_status": "تفاصيل المحادثة", "status.detailed_status": "تفاصيل المحادثة",
"status.direct": "رسالة خاصة إلى @{name}", "status.direct": "رسالة خاصة إلى @{name}",
"status.edit": "تعديل", "status.edit": "تعديل",
"status.edited": "عُدّل في {date}", "status.edited": "عُدّل في {date}",
"status.edited_x_times": "عُدّل {count, plural, zero {} one {{count} مرة} two {{count} مرتين} few {{count} مرات} many {{count} مرات} other {{count} مرة}}", "status.edited_x_times": "عُدّل {count, plural, zero {} one {مرةً واحدة} two {مرّتان} few {{count} مرات} many {{count} مرة} other {{count} مرة}}",
"status.embed": "إدماج", "status.embed": "إدماج",
"status.favourite": "أضف إلى المفضلة", "status.favourite": "أضف إلى المفضلة",
"status.filter": "Filter this post", "status.filter": "تصفية هذه الرسالة",
"status.filtered": "مُصفّى", "status.filtered": "مُصفّى",
"status.hide": "اخف التبويق", "status.hide": "اخف التبويق",
"status.history.created": "أنشأه {name} {date}", "status.history.created": "أنشأه {name} {date}",
@ -589,9 +592,9 @@
"status.uncached_media_warning": "غير متوفر", "status.uncached_media_warning": "غير متوفر",
"status.unmute_conversation": "فك الكتم عن المحادثة", "status.unmute_conversation": "فك الكتم عن المحادثة",
"status.unpin": "فك التدبيس من الصفحة التعريفية", "status.unpin": "فك التدبيس من الصفحة التعريفية",
"subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", "subscribed_languages.lead": "فقط المشاركات في اللغات المحددة ستظهر في الرئيسيه وتسرد الجداول الزمنية بعد التغيير. حدد لا شيء لتلقي المشاركات بجميع اللغات.",
"subscribed_languages.save": "حفظ التغييرات", "subscribed_languages.save": "حفظ التغييرات",
"subscribed_languages.target": "Change subscribed languages for {target}", "subscribed_languages.target": "تغيير اللغات المشتركة لـ {target}",
"suggestions.dismiss": "إلغاء الاقتراح", "suggestions.dismiss": "إلغاء الاقتراح",
"suggestions.header": "يمكن أن يهمك…", "suggestions.header": "يمكن أن يهمك…",
"tabs_bar.federated_timeline": "الموحَّد", "tabs_bar.federated_timeline": "الموحَّد",
@ -635,7 +638,7 @@
"upload_modal.preparing_ocr": "جار إعداد OCR (تعرف ضوئي على الرموز)…", "upload_modal.preparing_ocr": "جار إعداد OCR (تعرف ضوئي على الرموز)…",
"upload_modal.preview_label": "معاينة ({ratio})", "upload_modal.preview_label": "معاينة ({ratio})",
"upload_progress.label": "يرفع...", "upload_progress.label": "يرفع...",
"upload_progress.processing": "Processing…", "upload_progress.processing": "تتم المعالجة…",
"video.close": "إغلاق الفيديو", "video.close": "إغلاق الفيديو",
"video.download": "تنزيل الملف", "video.download": "تنزيل الملف",
"video.exit_fullscreen": "الخروج من وضع الشاشة المليئة", "video.exit_fullscreen": "الخروج من وضع الشاشة المليئة",

View File

@ -2,10 +2,8 @@
"about.blocks": "Moderated servers", "about.blocks": "Moderated servers",
"about.contact": "Contact:", "about.contact": "Contact:",
"about.disclaimer": "Mastodon ye software gratuito y de códigu llibre, y una marca rexistrada de Mastodon gGmbH.", "about.disclaimer": "Mastodon ye software gratuito y de códigu llibre, y una marca rexistrada de Mastodon gGmbH.",
"about.domain_blocks.comment": "Motivu", "about.domain_blocks.no_reason_available": "El motivu nun ta disponible",
"about.domain_blocks.domain": "Dominiu",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Gravedá",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@ -13,7 +11,7 @@
"about.not_available": "This information has not been made available on this server.", "about.not_available": "This information has not been made available on this server.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Decentralized social media powered by {mastodon}",
"about.rules": "Server rules", "about.rules": "Server rules",
"account.account_note_header": "Note", "account.account_note_header": "Nota",
"account.add_or_remove_from_list": "Add or Remove from lists", "account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Robó", "account.badges.bot": "Robó",
"account.badges.group": "Grupu", "account.badges.group": "Grupu",
@ -39,17 +37,19 @@
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.follows.empty": "Esti usuariu entá nun sigue a naide.", "account.follows.empty": "Esti usuariu entá nun sigue a naide.",
"account.follows_you": "Síguete", "account.follows_you": "Síguete",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "Anubrir les comparticiones de @{name}", "account.hide_reblogs": "Anubrir les comparticiones de @{name}",
"account.joined_short": "Joined", "account.joined_short": "Data de xunión",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
"account.link_verified_on": "La propiedá d'esti enllaz foi comprobada'l {date}", "account.link_verified_on": "La propiedá d'esti enllaz foi comprobada'l {date}",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mentar a @{name}", "account.mention": "Mentar a @{name}",
"account.moved_to": "{name} mudóse a:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "Silenciar a @{name}", "account.mute": "Desactivación de los avisos de @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted", "account.muted": "Muted",
"account.open_original_page": "Abrir la páxina orixinal",
"account.posts": "Artículos", "account.posts": "Artículos",
"account.posts_with_replies": "Artículos y rempuestes", "account.posts_with_replies": "Artículos y rempuestes",
"account.report": "Report @{name}", "account.report": "Report @{name}",
@ -65,10 +65,10 @@
"account.unmute": "Unmute @{name}", "account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "Unmute notifications from @{name}",
"account.unmute_short": "Unmute", "account.unmute_short": "Unmute",
"account_note.placeholder": "Click to add a note", "account_note.placeholder": "Calca equí p'amestar una nota",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "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.monthly_retention": "User retention rate by month after sign-up",
"admin.dashboard.retention.average": "Average", "admin.dashboard.retention.average": "Promediu",
"admin.dashboard.retention.cohort": "Sign-up month", "admin.dashboard.retention.cohort": "Sign-up month",
"admin.dashboard.retention.cohort_size": "Usuarios nuevos", "admin.dashboard.retention.cohort_size": "Usuarios nuevos",
"alert.rate_limited.message": "Volvi tentalo dempués de la hora: {retry_time, time, medium}.", "alert.rate_limited.message": "Volvi tentalo dempués de la hora: {retry_time, time, medium}.",
@ -82,7 +82,7 @@
"boost_modal.combo": "Pues primir {combo} pa saltar esto la próxima vegada", "boost_modal.combo": "Pues primir {combo} pa saltar esto la próxima vegada",
"bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.copy_stacktrace": "Copy error report",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
"bundle_column_error.error.title": "Oh, no!", "bundle_column_error.error.title": "¡Meca!",
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
"bundle_column_error.network.title": "Network error", "bundle_column_error.network.title": "Network error",
"bundle_column_error.retry": "Try again", "bundle_column_error.retry": "Try again",
@ -118,7 +118,7 @@
"column_header.moveRight_settings": "Mover la columna a la drecha", "column_header.moveRight_settings": "Mover la columna a la drecha",
"column_header.pin": "Fixar", "column_header.pin": "Fixar",
"column_header.show_settings": "Amosar axustes", "column_header.show_settings": "Amosar axustes",
"column_header.unpin": "Desfixar", "column_header.unpin": "Lliberar",
"column_subheading.settings": "Axustes", "column_subheading.settings": "Axustes",
"community.column_settings.local_only": "Local only", "community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Namái multimedia", "community.column_settings.media_only": "Namái multimedia",
@ -164,7 +164,7 @@
"confirmations.logout.message": "¿De xuru que quies zarrar la sesión?", "confirmations.logout.message": "¿De xuru que quies zarrar la sesión?",
"confirmations.mute.confirm": "Silenciar", "confirmations.mute.confirm": "Silenciar",
"confirmations.mute.explanation": "Esto va anubrir los espublizamientos y les sos menciones pero entá va permiti-yos ver los tos espublizamientos y siguite.", "confirmations.mute.explanation": "Esto va anubrir los espublizamientos y les sos menciones pero entá va permiti-yos ver los tos espublizamientos y siguite.",
"confirmations.mute.message": "¿De xuru que quies silenciar a {name}?", "confirmations.mute.message": "¿De xuru que quies desactivar los avisos de {name}?",
"confirmations.redraft.confirm": "Desaniciar y reeditar", "confirmations.redraft.confirm": "Desaniciar y reeditar",
"confirmations.redraft.message": "¿De xuru que quies desaniciar esti estáu y reeditalu? Van perdese los favoritos y comparticiones, y les rempuestes al toot orixinal van quedar güérfanes.", "confirmations.redraft.message": "¿De xuru que quies desaniciar esti estáu y reeditalu? Van perdese los favoritos y comparticiones, y les rempuestes al toot orixinal van quedar güérfanes.",
"confirmations.reply.confirm": "Responder", "confirmations.reply.confirm": "Responder",
@ -181,6 +181,8 @@
"directory.local": "Dende {domain} namái", "directory.local": "Dende {domain} namái",
"directory.new_arrivals": "Cuentes nueves", "directory.new_arrivals": "Cuentes nueves",
"directory.recently_active": "Actividá recién", "directory.recently_active": "Actividá recién",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "Con una cuenta de Mastodon, pues responder a esti artículu.", "interaction_modal.description.reply": "Con una cuenta de Mastodon, pues responder a esti artículu.",
"interaction_modal.on_another_server": "N'otru sirvidor", "interaction_modal.on_another_server": "N'otru sirvidor",
"interaction_modal.on_this_server": "Nesti sirvidor", "interaction_modal.on_this_server": "Nesti sirvidor",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copia y apiega esta URL nel campu de busca de la to aplicación favorita de Mastodon o na interfaz web de dalgún sirvidor de Mastodon.",
"interaction_modal.preamble": "Darréu que Mastodon ye descentralizáu, pues usar una cuenta agospiada n'otru sirvidor de Mastodon o n'otra plataforma compatible si nun tienes cuenta nesti sirvidor.", "interaction_modal.preamble": "Darréu que Mastodon ye descentralizáu, pues usar una cuenta agospiada n'otru sirvidor de Mastodon o n'otra plataforma compatible si nun tienes cuenta nesti sirvidor.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "Alternar la visibilidá", "media_gallery.toggle_visible": "Alternar la visibilidá",
"missing_indicator.label": "Nun s'atopó", "missing_indicator.label": "Nun s'atopó",
"missing_indicator.sublabel": "Nun se pudo atopar esti recursu", "missing_indicator.sublabel": "Nun se pudo atopar esti recursu",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Duración", "mute_modal.duration": "Duración",
"mute_modal.hide_notifications": "¿Anubrir los avisos d'esti usuariu?", "mute_modal.hide_notifications": "¿Anubrir los avisos d'esti usuariu?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Indefinite",
@ -372,7 +375,7 @@
"navigation_bar.edit_profile": "Editar el perfil", "navigation_bar.edit_profile": "Editar el perfil",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Explore",
"navigation_bar.favourites": "Favoritos", "navigation_bar.favourites": "Favoritos",
"navigation_bar.filters": "Pallabres silenciaes", "navigation_bar.filters": "Pallabres desactivaes",
"navigation_bar.follow_requests": "Solicitúes de siguimientu", "navigation_bar.follow_requests": "Solicitúes de siguimientu",
"navigation_bar.follows_and_followers": "Follows and followers", "navigation_bar.follows_and_followers": "Follows and followers",
"navigation_bar.lists": "Llistes", "navigation_bar.lists": "Llistes",
@ -542,7 +545,7 @@
"status.bookmark": "Amestar a Marcadores", "status.bookmark": "Amestar a Marcadores",
"status.cancel_reblog_private": "Dexar de compartir", "status.cancel_reblog_private": "Dexar de compartir",
"status.cannot_reblog": "Esti artículu nun se pue compartir", "status.cannot_reblog": "Esti artículu nun se pue compartir",
"status.copy": "Copiar l'enllaz al estáu", "status.copy": "Copiar l'enllaz al artículu",
"status.delete": "Desaniciar", "status.delete": "Desaniciar",
"status.detailed_status": "Detailed conversation view", "status.detailed_status": "Detailed conversation view",
"status.direct": "Unviar un mensaxe direutu a @{name}", "status.direct": "Unviar un mensaxe direutu a @{name}",
@ -554,17 +557,17 @@
"status.filter": "Filter this post", "status.filter": "Filter this post",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot", "status.hide": "Hide toot",
"status.history.created": "{name} created {date}", "status.history.created": "{name} creó {date}",
"status.history.edited": "{name} edited {date}", "status.history.edited": "{name} editó {date}",
"status.load_more": "Cargar más", "status.load_more": "Cargar más",
"status.media_hidden": "Multimedia anubrida", "status.media_hidden": "Multimedia anubrida",
"status.mention": "Mentar a @{name}", "status.mention": "Mentar a @{name}",
"status.more": "Más", "status.more": "Más",
"status.mute": "Silenciar a @{name}", "status.mute": "Silenciar a @{name}",
"status.mute_conversation": "Silenciar la conversación", "status.mute_conversation": "Mute conversation",
"status.open": "Espander esti estáu", "status.open": "Espander esti artículu",
"status.pin": "Fixar nel perfil", "status.pin": "Fixar nel perfil",
"status.pinned": "Barritu fixáu", "status.pinned": "Artículu fixáu",
"status.read_more": "Lleer más", "status.read_more": "Lleer más",
"status.reblog": "Compartir", "status.reblog": "Compartir",
"status.reblog_private": "Compartir cola audiencia orixinal", "status.reblog_private": "Compartir cola audiencia orixinal",

View File

@ -1,123 +1,123 @@
{ {
"about.blocks": "Модерирани сървъри", "about.blocks": "Модерирани сървъри",
"about.contact": "За контакти:", "about.contact": "За контакти:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon е безплатен софтуер с отворен изходен код и търговска марка Mastodon gGmbH.",
"about.domain_blocks.comment": "Причина", "about.domain_blocks.no_reason_available": "Няма налична причина",
"about.domain_blocks.domain": "Домейн",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Severity",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Ограничено",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "Никакви данни от този сървър няма да се обработват, съхранявани или обменяни, правещи невъзможно всяко взаимодействие или комуникация с потребители от тези сървъри.",
"about.domain_blocks.suspended.title": "Suspended", "about.domain_blocks.suspended.title": "Спряно",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "Тази информация не е била направена налична на този сървър.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Децентрализирана социална мрежа, захранвана от {mastodon}",
"about.rules": "Server rules", "about.rules": "Правила на сървъра",
"account.account_note_header": "Бележка", "account.account_note_header": "Бележка",
"account.add_or_remove_from_list": "Добави или премахни от списъците", "account.add_or_remove_from_list": "Добави или премахни от списъците",
"account.badges.bot": "Бот", "account.badges.bot": "Бот",
"account.badges.group": "Група", "account.badges.group": "Група",
"account.block": "Блокирай", "account.block": "Блокиране на @{name}",
"account.block_domain": "скрий всичко от (домейн)", "account.block_domain": "Блокиране на домейн {domain}",
"account.blocked": "Блокирани", "account.blocked": "Блокирани",
"account.browse_more_on_origin_server": "Разгледайте повече в оригиналния профил", "account.browse_more_on_origin_server": "Разглеждане на още в първообразния профил",
"account.cancel_follow_request": "Withdraw follow request", "account.cancel_follow_request": "Withdraw follow request",
"account.direct": "Direct Message @{name}", "account.direct": "Директно съобщение до @{name}",
"account.disable_notifications": "Спрете да ме уведомявате, когато @{name} публикува", "account.disable_notifications": "Сприране на известия при публикуване от @{name}",
"account.domain_blocked": "Скрит домейн", "account.domain_blocked": "Блокиран домейн",
"account.edit_profile": "Редактирай профила", "account.edit_profile": "Редактиране на профила",
"account.enable_notifications": "Уведомявайте ме, когато @{name} публикува", "account.enable_notifications": "Уведомявайте ме, когато @{name} публикува",
"account.endorse": "Характеристика на профила", "account.endorse": "Характеристика на профила",
"account.featured_tags.last_status_at": "Last post on {date}", "account.featured_tags.last_status_at": "Последна публикация на {date}",
"account.featured_tags.last_status_never": "No posts", "account.featured_tags.last_status_never": "Няма публикации",
"account.featured_tags.title": "{name}'s featured hashtags", "account.featured_tags.title": "{name}'s featured hashtags",
"account.follow": "Последвай", "account.follow": "Последване",
"account.followers": "Последователи", "account.followers": "Последователи",
"account.followers.empty": "Все още никой не следва този потребител.", "account.followers.empty": "Още никой не следва потребителя.",
"account.followers_counter": "{count, plural, one {{counter} Последовател} other {{counter} Последователи}}", "account.followers_counter": "{count, plural, one {{counter} последовател} other {{counter} последователи}}",
"account.following": "Последвани", "account.following": "Последвани",
"account.following_counter": "{count, plural, one {{counter} Последван} other {{counter} Последвани}}", "account.following_counter": "{count, plural, one {{counter} последван} other {{counter} последвани}}",
"account.follows.empty": "Този потребител все още не следва никого.", "account.follows.empty": "Потребителят още никого не следва.",
"account.follows_you": "Твой последовател", "account.follows_you": "Ваш последовател",
"account.go_to_profile": "Към профила",
"account.hide_reblogs": "Скриване на споделяния от @{name}", "account.hide_reblogs": "Скриване на споделяния от @{name}",
"account.joined_short": "Joined", "account.joined_short": "Присъединени",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
"account.link_verified_on": "Собствеността върху тази връзка е проверена на {date}", "account.link_verified_on": "Собствеността върху тази връзка е проверена на {date}",
"account.locked_info": "Този акаунт е поверително заключен. Собственикът преглежда ръчно кой може да го следва.", "account.locked_info": "Състоянието за поверителността на акаунта е зададено заключено. Собственикът преглежда ръчно от кого може да се следва.",
"account.media": "Мултимедия", "account.media": "Мултимедия",
"account.mention": "Споменаване", "account.mention": "Споменаване на @{name}",
"account.moved_to": "{name} се премести в:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "Заглушаване на @{name}", "account.mute": "Заглушаване на @{name}",
"account.mute_notifications": "Заглушаване на известия от @{name}", "account.mute_notifications": "Заглушаване на известия от @{name}",
"account.muted": "Заглушено", "account.muted": "Заглушено",
"account.open_original_page": "Отваряне на оригиналната страница",
"account.posts": "Публикации", "account.posts": "Публикации",
"account.posts_with_replies": "Toots with replies", "account.posts_with_replies": "Публикации и отговори",
"account.report": "Докладване на @{name}", "account.report": "Докладване на @{name}",
"account.requested": "В очакване на одобрение", "account.requested": "Чака се одобрение. Щракнете за отмяна на заявката за последване",
"account.share": "Споделяне на @{name} профила", "account.share": "Споделяне на профила на @{name}",
"account.show_reblogs": "Показване на споделяния от @{name}", "account.show_reblogs": "Показване на споделяния от @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Публикация} other {{counter} Публикации}}", "account.statuses_counter": "{count, plural, one {{counter} публикация} other {{counter} публикации}}",
"account.unblock": "Не блокирай", "account.unblock": "Отблокиране на @{name}",
"account.unblock_domain": "Unhide {domain}", "account.unblock_domain": "Отблокиране на домейн {domain}",
"account.unblock_short": "Отблокирай", "account.unblock_short": "Отблокирване",
"account.unendorse": "Не включвайте в профила", "account.unendorse": "Не включвайте в профила",
"account.unfollow": "Не следвай", "account.unfollow": "Стоп на следването",
"account.unmute": "Раззаглушаване на @{name}", "account.unmute": "Без заглушаването на @{name}",
"account.unmute_notifications": "Раззаглушаване на известия от @{name}", "account.unmute_notifications": "Без заглушаване на известия от @{name}",
"account.unmute_short": "Unmute", "account.unmute_short": "Без заглушаването",
"account_note.placeholder": "Click to add a note", "account_note.placeholder": "Щракнете, за да добавите бележка",
"admin.dashboard.daily_retention": "Ниво на задържани на потребители след регистрация, в дни", "admin.dashboard.daily_retention": "Ниво на задържани на потребители след регистрация, в дни",
"admin.dashboard.monthly_retention": "Ниво на задържани на потребители след регистрация, в месеци", "admin.dashboard.monthly_retention": "Ниво на задържани на потребители след регистрация, в месеци",
"admin.dashboard.retention.average": "Средно", "admin.dashboard.retention.average": "Средно",
"admin.dashboard.retention.cohort": "Месец на регистрацията", "admin.dashboard.retention.cohort": "Регистрации за месец",
"admin.dashboard.retention.cohort_size": "Нови потребители", "admin.dashboard.retention.cohort_size": "Нови потребители",
"alert.rate_limited.message": "Моля, опитайте отново след {retry_time, time, medium}.", "alert.rate_limited.message": "Опитайте пак след {retry_time, time, medium}.",
"alert.rate_limited.title": "Скоростта е ограничена", "alert.rate_limited.title": "Скоростта е ограничена",
"alert.unexpected.message": "Възникна неочаквана грешка.", "alert.unexpected.message": "Възникна неочаквана грешка.",
"alert.unexpected.title": "Опаа!", "alert.unexpected.title": "Опаа!",
"announcement.announcement": "Оповестяване", "announcement.announcement": "Оповестяване",
"attachments_list.unprocessed": "(необработен)", "attachments_list.unprocessed": "(необработено)",
"audio.hide": "Скриване на видеото", "audio.hide": "Скриване на звука",
"autosuggest_hashtag.per_week": "{count} на седмица", "autosuggest_hashtag.per_week": "{count} на седмица",
"boost_modal.combo": "Можете да натиснете {combo}, за да пропуснете това следващия път", "boost_modal.combo": "Можете да натиснете {combo}, за да пропуснете това следващия път",
"bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.copy_stacktrace": "Копиране на доклада за грешката",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "Заявената страница не може да се изобрази. Това може да е заради грешка в кода ни или проблем със съвместимостта на браузъра.",
"bundle_column_error.error.title": "Oh, no!", "bundle_column_error.error.title": "О, не!",
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.body": "Възникна грешка, опитвайки зареждане на страницата. Това може да е заради временен проблем с интернет връзката ви или този сървър.",
"bundle_column_error.network.title": "Network error", "bundle_column_error.network.title": "Мрежова грешка",
"bundle_column_error.retry": "Опитай отново", "bundle_column_error.retry": "Нов опит",
"bundle_column_error.return": "Go back home", "bundle_column_error.return": "Обратно към началото",
"bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", "bundle_column_error.routing.body": "Заявената страница не може да се намери. Сигурни ли сте, че URL адресът в адресната лента е правилен?",
"bundle_column_error.routing.title": "404", "bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Затваряне", "bundle_modal_error.close": "Затваряне",
"bundle_modal_error.message": "Нещо се обърка при зареждането на този компонент.", "bundle_modal_error.message": "Нещо се обърка, зареждайки компонента.",
"bundle_modal_error.retry": "Опитайте отново", "bundle_modal_error.retry": "Нов опит",
"closed_registrations.other_server_instructions": "Поради това че Mastodon е децентрализиран, можеш да създадеш акаунт на друг сървър, от който можеш да комуникираш с този.", "closed_registrations.other_server_instructions": "Поради това че Mastodon е децентрализиран, можеш да създадеш акаунт на друг сървър, от който можеш да комуникираш с този.",
"closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.description": "Създаването на акаунт в {domain} сега не е възможно, но обърнете внимание, че нямате нужда от акаунт конкретно на {domain}, за да ползвате Mastodon.",
"closed_registrations_modal.find_another_server": "Find another server", "closed_registrations_modal.find_another_server": "Намиране на друг сървър",
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.preamble": "Mastodon е децентрализиран, така че няма значение къде създавате акаунта си, ще може да последвате и взаимодействате с всеки на този сървър. Може дори да стартирате свой собствен сървър!",
"closed_registrations_modal.title": "Signing up on Mastodon", "closed_registrations_modal.title": "Регистриране в Mastodon",
"column.about": "About", "column.about": "Относно",
"column.blocks": "Блокирани потребители", "column.blocks": "Блокирани потребители",
"column.bookmarks": "Отметки", "column.bookmarks": "Отметки",
"column.community": "Локална емисия", "column.community": "Местна часова ос",
"column.direct": "Лични съобщения", "column.direct": "Директни съобщения",
"column.directory": "Преглед на профили", "column.directory": "Разглеждане на профили",
"column.domain_blocks": "Hidden domains", "column.domain_blocks": "Блокирани домейни",
"column.favourites": "Любими", "column.favourites": "Любими",
"column.follow_requests": "Заявки за последване", "column.follow_requests": "Заявки за последване",
"column.home": "Начало", "column.home": "Начало",
"column.lists": "Списъци", "column.lists": "Списъци",
"column.mutes": "Заглушени потребители", "column.mutes": "Заглушени потребители",
"column.notifications": "Известия", "column.notifications": "Известия",
"column.pins": "Pinned toot", "column.pins": "Закачени публикации",
"column.public": "Публичен канал", "column.public": "Федеративна часова ос",
"column_back_button.label": "Назад", "column_back_button.label": "Назад",
"column_header.hide_settings": "Скриване на настройки", "column_header.hide_settings": "Скриване на настройките",
"column_header.moveLeft_settings": "Преместване на колона вляво", "column_header.moveLeft_settings": "Преместване на колона вляво",
"column_header.moveRight_settings": "Преместване на колона вдясно", "column_header.moveRight_settings": "Преместване на колона вдясно",
"column_header.pin": "Закачане", "column_header.pin": "Закачане",
"column_header.show_settings": "Показване на настройки", "column_header.show_settings": "Показване на настройките",
"column_header.unpin": "Разкачане", "column_header.unpin": "Разкачане",
"column_subheading.settings": "Настройки", "column_subheading.settings": "Настройки",
"community.column_settings.local_only": "Само локално", "community.column_settings.local_only": "Само локално",
@ -126,71 +126,73 @@
"compose.language.change": "Смяна на езика", "compose.language.change": "Смяна на езика",
"compose.language.search": "Търсене на езици...", "compose.language.search": "Търсене на езици...",
"compose_form.direct_message_warning_learn_more": "Още информация", "compose_form.direct_message_warning_learn_more": "Още информация",
"compose_form.encryption_warning": оставете в Мастодон не са криптирани от край до край. Не споделяйте никаква чувствителна информация.", "compose_form.encryption_warning": убликациите в Mastodon не са криптирани от край до край. Не споделяйте никаква чувствителна информация там.",
"compose_form.hashtag_warning": "Тази публикация няма да бъде изброена под нито един хаштаг, тъй като е скрита. Само публични публикации могат да се търсят по хаштаг.", "compose_form.hashtag_warning": "Тази публикация няма да бъде изброена под нито един хаштаг, тъй като е скрита. Само публични публикации могат да се търсят по хаштаг.",
"compose_form.lock_disclaimer": "Вашият акаунт не е {locked}. Всеки може да ви последва, за да прегледа вашите публикации само за последователи.", "compose_form.lock_disclaimer": "Вашият акаунт не е {locked}. Всеки може да ви последва, за да прегледа вашите публикации само за последователи.",
"compose_form.lock_disclaimer.lock": "заключено", "compose_form.lock_disclaimer.lock": "заключено",
"compose_form.placeholder": "Какво си мислиш?", "compose_form.placeholder": "Какво мислите?",
"compose_form.poll.add_option": "Добавяне на избор", "compose_form.poll.add_option": "Добавяне на избор",
"compose_form.poll.duration": "Продължителност на анкета", "compose_form.poll.duration": "Времетраене на анкетата",
"compose_form.poll.option_placeholder": "Избор {number}", "compose_form.poll.option_placeholder": "Избор {number}",
"compose_form.poll.remove_option": "Премахване на този избор", "compose_form.poll.remove_option": "Премахване на избора",
"compose_form.poll.switch_to_multiple": "Промяна на анкетата, за да се позволят множество възможни избора", "compose_form.poll.switch_to_multiple": "Промяна на анкетата, за да се позволят множество възможни избора",
"compose_form.poll.switch_to_single": "Промяна на анкетата, за да се позволи един възможен избор", "compose_form.poll.switch_to_single": "Промяна на анкетата, за да се позволи един възможен избор",
"compose_form.publish": "Публикувай", "compose_form.publish": "Публикуване",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Запази промените", "compose_form.save_changes": "Запазване на промените",
"compose_form.sensitive.hide": "{count, plural, one {Маркиране на мултимедията като деликатна} other {Маркиране на мултимедиите като деликатни}}", "compose_form.sensitive.hide": "{count, plural, one {Маркиране на мултимедията като деликатна} other {Маркиране на мултимедиите като деликатни}}",
"compose_form.sensitive.marked": "{count, plural, one {Мултимедията е маркирана като деликатна} other {Мултимедиите са маркирани като деликатни}}", "compose_form.sensitive.marked": "{count, plural, one {Мултимедията е маркирана като деликатна} other {Мултимедиите са маркирани като деликатни}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Мултимедията не е маркирана като деликатна} other {Мултимедиите не са маркирани като деликатни}}", "compose_form.sensitive.unmarked": "{count, plural, one {Мултимедията не е маркирана като деликатна} other {Мултимедиите не са маркирани като деликатни}}",
"compose_form.spoiler.marked": "Текстът е скрит зад предупреждение", "compose_form.spoiler.marked": "Текстът е скрит зад предупреждение",
"compose_form.spoiler.unmarked": "Текстът не е скрит", "compose_form.spoiler.unmarked": "Текстът не е скрит",
"compose_form.spoiler_placeholder": "Content warning", "compose_form.spoiler_placeholder": "Тук напишете предупреждението си",
"confirmation_modal.cancel": "Отказ", "confirmation_modal.cancel": "Отказ",
"confirmations.block.block_and_report": "Блокиране и докладване", "confirmations.block.block_and_report": "Блокиране и докладване",
"confirmations.block.confirm": "Блокиране", "confirmations.block.confirm": "Блокиране",
"confirmations.block.message": "Сигурни ли сте, че искате да блокирате {name}?", "confirmations.block.message": "Наистина ли искате да блокирате {name}?",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Оттегляне на заявката",
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.cancel_follow_request.message": "Наистина ли искате да оттеглите заявката си да последвате {name}?",
"confirmations.delete.confirm": "Изтриване", "confirmations.delete.confirm": "Изтриване",
"confirmations.delete.message": "Are you sure you want to delete this status?", "confirmations.delete.message": "Наистина ли искате да изтриете публикацията?",
"confirmations.delete_list.confirm": "Изтриване", "confirmations.delete_list.confirm": "Изтриване",
"confirmations.delete_list.message": "Сигурни ли сте, че искате да изтриете окончателно този списък?", "confirmations.delete_list.message": "Наистина ли искате да изтриете завинаги този списък?",
"confirmations.discard_edit_media.confirm": "Отмени", "confirmations.discard_edit_media.confirm": "Отхвърляне",
"confirmations.discard_edit_media.message": "Имате незапазени промени на описанието или прегледа на медията, отмяна въпреки това?", "confirmations.discard_edit_media.message": "Не сте запазили промени на описанието или огледа на мултимедията, отхвърляте ли ги?",
"confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.confirm": "Блокиране на целия домейн",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable.", "confirmations.domain_block.message": "Наистина ли искате да блокирате целия {domain}? В повечето случаи няколко блокирания или заглушавания са достатъчно и за предпочитане. Няма да виждате съдържание от домейна из публични часови оси или известията си. Вашите последователи от този домейн ще се премахнат.",
"confirmations.logout.confirm": "Излизане", "confirmations.logout.confirm": "Излизане",
"confirmations.logout.message": "Сигурни ли сте, че искате да излезете?", "confirmations.logout.message": "Наистина ли искате да излезете?",
"confirmations.mute.confirm": "Заглушаване", "confirmations.mute.confirm": "Заглушаване",
"confirmations.mute.explanation": "Това ще скрие публикации от тях и публикации, които ги споменават, но все пак ще им позволи да виждат вашите публикации и да ви следват.", "confirmations.mute.explanation": "Това ще скрие публикации от тях и публикации, които ги споменават, но все пак ще им позволи да виждат вашите публикации и да ви следват.",
"confirmations.mute.message": "Сигурни ли сте, че искате да заглушите {name}?", "confirmations.mute.message": "Наистина ли искате да заглушите {name}?",
"confirmations.redraft.confirm": "Изтриване и преработване", "confirmations.redraft.confirm": "Изтриване и преработване",
"confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.", "confirmations.redraft.message": "Are you sure you want to delete this status and re-draft it? You will lose all replies, boosts and favourites to it.",
"confirmations.reply.confirm": "Отговор", "confirmations.reply.confirm": "Отговор",
"confirmations.reply.message": "Отговарянето сега ще замени съобщението, което в момента съставяте. Сигурни ли сте, че искате да продължите?", "confirmations.reply.message": "Отговарянето сега ще замени съобщението, което в момента съставяте. Сигурни ли сте, че искате да продължите?",
"confirmations.unfollow.confirm": "Отследване", "confirmations.unfollow.confirm": "Без следване",
"confirmations.unfollow.message": "Сигурни ли сте, че искате да отследвате {name}?", "confirmations.unfollow.message": "Наистина ли искате да не следвате {name}?",
"conversation.delete": "Изтриване на разговор", "conversation.delete": "Изтриване на разговора",
"conversation.mark_as_read": "Маркиране като прочетено", "conversation.mark_as_read": "Маркиране като прочетено",
"conversation.open": "Преглед на разговор", "conversation.open": "Преглед на разговора",
"conversation.with": "С {names}", "conversation.with": "С {names}",
"copypaste.copied": "Copied", "copypaste.copied": "Копирано",
"copypaste.copy": "Copy", "copypaste.copy": "Копиране",
"directory.federated": "От познат федивърс", "directory.federated": "От познат федивърс",
"directory.local": "Само от {domain}", "directory.local": "Само от {domain}",
"directory.new_arrivals": "Новодошли", "directory.new_arrivals": "Новодошли",
"directory.recently_active": "Наскоро активни", "directory.recently_active": "Наскоро активни",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "disabled_account_banner.account_settings": "Настройки на акаунта",
"dismissable_banner.dismiss": "Dismiss", "disabled_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен.",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.community_timeline": "Ето най-скорошните публични публикации от хора, чиито акаунти са разположени в {domain}.",
"dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.dismiss": "Отхвърляне",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "Тези новини се разказват от хората в този и други сървъри на децентрализираната мрежа точно сега.",
"dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "dismissable_banner.explore_statuses": "Тези публикации от този и други сървъри в децентрализираната мрежа набират популярност сега на този сървър.",
"embed.instructions": "Embed this status on your website by copying the code below.", "dismissable_banner.explore_tags": "Тези хаштагове сега набират популярност сред хората в този и други сървъри на децентрализирата мрежа.",
"dismissable_banner.public_timeline": "Ето най-скорошните публични публикации от хора в този и други сървъри на децентрализираната мрежа, за които този сървър познава.",
"embed.instructions": "Вградете публикацията в уебсайта си, копирайки кода долу.",
"embed.preview": "Ето как ще изглежда:", "embed.preview": "Ето как ще изглежда:",
"emoji_button.activity": "Дейност", "emoji_button.activity": "Дейност",
"emoji_button.clear": "Изчисти", "emoji_button.clear": "Изчистване",
"emoji_button.custom": "Персонализирано", "emoji_button.custom": "Персонализирано",
"emoji_button.flags": "Знамена", "emoji_button.flags": "Знамена",
"emoji_button.food": "Храна и напитки", "emoji_button.food": "Храна и напитки",
@ -199,36 +201,36 @@
"emoji_button.not_found": "Без емоджита!! (╯°□°)╯︵ ┻━┻", "emoji_button.not_found": "Без емоджита!! (╯°□°)╯︵ ┻━┻",
"emoji_button.objects": "Предмети", "emoji_button.objects": "Предмети",
"emoji_button.people": "Хора", "emoji_button.people": "Хора",
"emoji_button.recent": "Често използвани", "emoji_button.recent": "Често използвано",
"emoji_button.search": "Търсене...", "emoji_button.search": "Търсене...",
"emoji_button.search_results": "Резултати от търсене", "emoji_button.search_results": "Резултати от търсене",
"emoji_button.symbols": "Символи", "emoji_button.symbols": "Символи",
"emoji_button.travel": "Пътуване и забележителности", "emoji_button.travel": "Пътуване и места",
"empty_column.account_suspended": "Профилът е спрян", "empty_column.account_suspended": "Профилът е спрян",
"empty_column.account_timeline": "Тук няма публикации!", "empty_column.account_timeline": "Тук няма публикации!",
"empty_column.account_unavailable": "Няма достъп до профила", "empty_column.account_unavailable": "Няма достъп до профила",
"empty_column.blocks": "Не сте блокирали потребители все още.", "empty_column.blocks": "Още не сте блокирали никакви потребители.",
"empty_column.bookmarked_statuses": "Все още нямате отметнати публикации. Когато отметнете някоя, тя ще се покаже тук.", "empty_column.bookmarked_statuses": "Все още нямате отметнати публикации. Когато отметнете някоя, тя ще се покаже тук.",
"empty_column.community": "Локалната емисия е празна. Напишете нещо публично, за да започнете!", "empty_column.community": "Местна часова ос е празна. Напишете нещо публично, за да завъртите нещата!",
"empty_column.direct": "Все още нямате лични съобщения. Когато изпратите или получите ще се покаже тук.", "empty_column.direct": "Все още нямате лични съобщения. Когато изпратите или получите ще се покаже тук.",
"empty_column.domain_blocks": "There are no hidden domains yet.", "empty_column.domain_blocks": "Още няма блокирани домейни.",
"empty_column.explore_statuses": "Няма нищо популярно в момента. Проверете пак по-късно!", "empty_column.explore_statuses": "Няма нищо популярно в момента. Проверете пак по-късно!",
"empty_column.favourited_statuses": "Все още нямате любими публикации. Когато поставите някоя в любими, тя ще се покаже тук.", "empty_column.favourited_statuses": "Все още нямате любими публикации. Когато поставите някоя в любими, тя ще се покаже тук.",
"empty_column.favourites": "Все още никой не е поставил тази публикация в любими. Когато някой го направи, ще се покаже тук.", "empty_column.favourites": "Все още никой не е поставил тази публикация в любими. Когато някой го направи, ще се покаже тук.",
"empty_column.follow_recommendations": "Изглежда, че няма генерирани предложения за вас. Можете да опитате да търсите за хора, които знаете или да разгледате популярните тагове.", "empty_column.follow_recommendations": "Изглежда, че няма генерирани предложения за вас. Можете да опитате да търсите за хора, които знаете или да разгледате популярните тагове.",
"empty_column.follow_requests": "Все още нямате заявки за последване. Когато получите такава, тя ще се покаже тук.", "empty_column.follow_requests": "Все още нямате заявки за последване. Когато получите такава, тя ще се покаже тук.",
"empty_column.hashtag": "В този хаштаг няма нищо все още.", "empty_column.hashtag": "Още няма нищо в този хаштаг.",
"empty_column.home": "Вашата начална емисия е празна! Посетете {public} или използвайте търсене, за да започнете и да се запознаете с други потребители.", "empty_column.home": "Вашата начална часова ос е празна! Последвайте повече хора, за да я запълните. {suggestions}",
"empty_column.home.suggestions": "Виж някои предложения", "empty_column.home.suggestions": "Преглед на някои предложения",
"empty_column.list": "There is nothing in this list yet.", "empty_column.list": "Още няма нищо в този списък. Когато членовете на списъка публикуват нови публикации, то те ще се появят тук.",
"empty_column.lists": "Все още нямате списъци. Когато създадете такъв, той ще се покаже тук.", "empty_column.lists": "Все още нямате списъци. Когато създадете такъв, той ще се покаже тук.",
"empty_column.mutes": "Не сте заглушавали потребители все още.", "empty_column.mutes": "Още не сте заглушавали потребители.",
"empty_column.notifications": "Все още нямате известия. Взаимодействайте с другите, за да започнете разговора.", "empty_column.notifications": "Все още нямате известия. Взаимодействайте с другите, за да започнете разговора.",
"empty_column.public": "There is nothing here! Write something publicly, or manually follow users from other instances to fill it up", "empty_column.public": "Тук няма нищо! Напишете нещо публично или ръчно последвайте потребители от други сървъри, за да го напълните",
"error.unexpected_crash.explanation": "Поради грешка в нашия код или проблем със съвместимостта на браузъра, тази страница не може да се покаже правилно.", "error.unexpected_crash.explanation": "Поради грешка в нашия код или проблем със съвместимостта на браузъра, тази страница не може да се покаже правилно.",
"error.unexpected_crash.explanation_addons": "Тази страница не може да се покаже правилно. Тази грешка вероятно е причинена от добавка на браузъра или инструменти за автоматичен превод.", "error.unexpected_crash.explanation_addons": "Тази страница не може да се покаже правилно. Тази грешка вероятно е причинена от добавка на браузъра или инструменти за автоматичен превод.",
"error.unexpected_crash.next_steps": "Опитайте да опресните страницата. Ако това не помогне, все още можете да използвате Mastodon чрез различен браузър или приложение.", "error.unexpected_crash.next_steps": "Опитайте да опресните страницата. Ако това не помогне, все още можете да използвате Mastodon чрез различен браузър или приложение.",
"error.unexpected_crash.next_steps_addons": "Опитайте да ги деактивирате и да опресните страницата. Ако това не помогне, може все още да използвате Mastodon чрез различен браузър или приложение.", "error.unexpected_crash.next_steps_addons": "Опитайте се да ги изключите и да опресните страницата. Ако това не помогне, то още може да използвате Mastodon чрез различен браузър или приложение.",
"errors.unexpected_crash.copy_stacktrace": "Копиране на stacktrace-а в клипборда", "errors.unexpected_crash.copy_stacktrace": "Копиране на stacktrace-а в клипборда",
"errors.unexpected_crash.report_issue": "Сигнал за проблем", "errors.unexpected_crash.report_issue": "Сигнал за проблем",
"explore.search_results": "Резултати от търсенето", "explore.search_results": "Резултати от търсенето",
@ -236,36 +238,36 @@
"explore.title": "Разглеждане", "explore.title": "Разглеждане",
"explore.trending_links": "Новини", "explore.trending_links": "Новини",
"explore.trending_statuses": "Публикации", "explore.trending_statuses": "Публикации",
"explore.trending_tags": "Тагове", "explore.trending_tags": "Хаштагове",
"filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
"filter_modal.added.context_mismatch_title": "Несъвпадение на контекста!", "filter_modal.added.context_mismatch_title": "Несъвпадение на контекста!",
"filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
"filter_modal.added.expired_title": "Изтекал филтър!", "filter_modal.added.expired_title": "Изтекъл филтър!",
"filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
"filter_modal.added.review_and_configure_title": "Настройки на филтър", "filter_modal.added.review_and_configure_title": "Настройки на филтъра",
"filter_modal.added.settings_link": "страница с настройки", "filter_modal.added.settings_link": "страница с настройки",
"filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
"filter_modal.added.title": "Филтърът е добавен!", "filter_modal.added.title": "Филтърът е добавен!",
"filter_modal.select_filter.context_mismatch": "не е приложимо за този контекст", "filter_modal.select_filter.context_mismatch": "не е приложимо за този контекст",
"filter_modal.select_filter.expired": "изтекло", "filter_modal.select_filter.expired": "изтекло",
"filter_modal.select_filter.prompt_new": "Нова категория: {name}", "filter_modal.select_filter.prompt_new": "Нова категория: {name}",
"filter_modal.select_filter.search": "Търси или създай", "filter_modal.select_filter.search": "Търсене или създаване",
"filter_modal.select_filter.subtitle": "Изберете съществуваща категория или създайте нова", "filter_modal.select_filter.subtitle": "Изберете съществуваща категория или създайте нова",
"filter_modal.select_filter.title": "Филтриране на поста", "filter_modal.select_filter.title": "Филтриране на публ.",
"filter_modal.title.status": "Филтрирай пост", "filter_modal.title.status": "Филтриране на публ.",
"follow_recommendations.done": "Готово", "follow_recommendations.done": "Готово",
"follow_recommendations.heading": "Следвайте хора, които харесвате, за да виждате техните съобщения! Ето някои предложения.", "follow_recommendations.heading": "Следвайте хора, от които харесвате да виждате публикации! Ето някои предложения.",
"follow_recommendations.lead": "Съобщения от хора, които следвате, ще се показват в хронологичен ред на вашата главна страница. Не се страхувайте, че ще сгрешите, по всяко време много лесно можете да спрете да ги следвате!", "follow_recommendations.lead": "Публикациите от хората, които следвате, ще се показват в хронологично в началния ви инфопоток. Не се страхувайте, че ще сгрешите, по всяко време много лесно може да спрете да ги следвате!",
"follow_request.authorize": "Упълномощаване", "follow_request.authorize": "Упълномощаване",
"follow_request.reject": "Отхвърляне", "follow_request.reject": "Отхвърляне",
"follow_requests.unlocked_explanation": "Въпреки че акаунтът ви не е заключен, служителите на {domain} помислиха, че може да искате да преглеждате ръчно заявките за последване на тези профили.", "follow_requests.unlocked_explanation": "Въпреки че акаунтът ви не е заключен, служителите на {domain} помислиха, че може да искате да преглеждате ръчно заявките за последване на тези профили.",
"footer.about": "About", "footer.about": "Относно",
"footer.directory": "Profiles directory", "footer.directory": "Директория на профилите",
"footer.get_app": "Get the app", "footer.get_app": "Вземане на приложението",
"footer.invite": "Invite people", "footer.invite": "Поканване на хора",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "Клавишни съчетания",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "Политика за поверителност",
"footer.source_code": "View source code", "footer.source_code": "Преглед на изходния код",
"generic.saved": "Запазено", "generic.saved": "Запазено",
"getting_started.heading": "Първи стъпки", "getting_started.heading": "Първи стъпки",
"hashtag.column_header.tag_mode.all": "и {additional}", "hashtag.column_header.tag_mode.all": "и {additional}",
@ -276,7 +278,7 @@
"hashtag.column_settings.tag_mode.all": "Всичко това", "hashtag.column_settings.tag_mode.all": "Всичко това",
"hashtag.column_settings.tag_mode.any": "Някое от тези", "hashtag.column_settings.tag_mode.any": "Някое от тези",
"hashtag.column_settings.tag_mode.none": "Никое от тези", "hashtag.column_settings.tag_mode.none": "Никое от тези",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column", "hashtag.column_settings.tag_toggle": "Включва допълнителни хаштагове за тази колона",
"hashtag.follow": "Следване на хаштаг", "hashtag.follow": "Следване на хаштаг",
"hashtag.unfollow": "Спиране на следване на хаштаг", "hashtag.unfollow": "Спиране на следване на хаштаг",
"home.column_settings.basic": "Основно", "home.column_settings.basic": "Основно",
@ -288,89 +290,90 @@
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "На различен сървър",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "На този сървър",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Копипейстнете този URL адрес в полето за търсене на любимото си приложение Mastodon или мрежови интерфейс на своя Mastodon сървър.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Откак Mastodon е децентрализиран, може да употребявате съществуващ акаунт, разположен на друг сървър на Mastodon или съвместима платформа, ако нямате акаунт на този сървър.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Любими публикации на {name}",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Последване на {name}",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "Boost {name}'s post",
"interaction_modal.title.reply": "Reply to {name}'s post", "interaction_modal.title.reply": "Отговаряне на публикацията на {name}",
"intervals.full.days": "{number, plural, one {# ден} other {# дни}}", "intervals.full.days": "{number, plural, one {# ден} other {# дни}}",
"intervals.full.hours": "{number, plural, one {# час} other {# часа}}", "intervals.full.hours": "{number, plural, one {# час} other {# часа}}",
"intervals.full.minutes": "{number, plural, one {# минута} other {# минути}}", "intervals.full.minutes": "{number, plural, one {# минута} other {# минути}}",
"keyboard_shortcuts.back": "за придвижване назад", "keyboard_shortcuts.back": "Навигиране назад",
"keyboard_shortcuts.blocked": "за отваряне на списъка с блокирани потребители", "keyboard_shortcuts.blocked": "Отваряне на списъка с блокирани потребители",
"keyboard_shortcuts.boost": "за споделяне", "keyboard_shortcuts.boost": "за споделяне",
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "Съсредоточение на колона",
"keyboard_shortcuts.compose": "за фокусиране на текстовото пространство за композиране", "keyboard_shortcuts.compose": "за фокусиране на текстовото пространство за композиране",
"keyboard_shortcuts.description": "Описание", "keyboard_shortcuts.description": "Описание",
"keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.direct": "за отваряне на колоната с директни съобщения",
"keyboard_shortcuts.down": "за придвижване надолу в списъка", "keyboard_shortcuts.down": "Преместване надолу в списъка",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "Отваряне на публикация",
"keyboard_shortcuts.favourite": "за поставяне в любими", "keyboard_shortcuts.favourite": "Любима публикация",
"keyboard_shortcuts.favourites": "за отваряне на списъка с любими", "keyboard_shortcuts.favourites": "Отваряне на списъка с любими",
"keyboard_shortcuts.federated": "да отвори обединена хронология", "keyboard_shortcuts.federated": "Отваряне на федерална часова ос",
"keyboard_shortcuts.heading": "Keyboard Shortcuts", "keyboard_shortcuts.heading": "Клавишни съчетания",
"keyboard_shortcuts.home": "за отваряне на началната емисия", "keyboard_shortcuts.home": "Отваряне на началната часова ос",
"keyboard_shortcuts.hotkey": "Бърз клавиш", "keyboard_shortcuts.hotkey": "Бърз клавиш",
"keyboard_shortcuts.legend": "за показване на тази легенда", "keyboard_shortcuts.legend": "Показване на тази легенда",
"keyboard_shortcuts.local": "за отваряне на локалната емисия", "keyboard_shortcuts.local": "Отваряне на местна часова ос",
"keyboard_shortcuts.mention": "за споменаване на автор", "keyboard_shortcuts.mention": "Споменаване на автор",
"keyboard_shortcuts.muted": "за отваряне на списъка със заглушени потребители", "keyboard_shortcuts.muted": "Отваряне на списъка със заглушени потребители",
"keyboard_shortcuts.my_profile": "за отваряне на вашия профил", "keyboard_shortcuts.my_profile": "Отваряне на профила ви",
"keyboard_shortcuts.notifications": "за отваряне на колоната с известия", "keyboard_shortcuts.notifications": "Отваряне на колоната с известия",
"keyboard_shortcuts.open_media": "за отваряне на мултимедия", "keyboard_shortcuts.open_media": "Отваряне на мултимедия",
"keyboard_shortcuts.pinned": "за отваряне на списъка със закачени публикации", "keyboard_shortcuts.pinned": "Отваряне на списъка със закачени публикации",
"keyboard_shortcuts.profile": "за отваряне на авторския профил", "keyboard_shortcuts.profile": "Отваряне на профила на автора",
"keyboard_shortcuts.reply": "за отговаряне", "keyboard_shortcuts.reply": "Отговаряне на публикация",
"keyboard_shortcuts.requests": "за отваряне на списъка със заявки за последване", "keyboard_shortcuts.requests": "Отваряне на списъка със заявки за последване",
"keyboard_shortcuts.search": "за фокусиране на търсенето", "keyboard_shortcuts.search": "за фокусиране на търсенето",
"keyboard_shortcuts.spoilers": "за показване/скриване на ПС полето", "keyboard_shortcuts.spoilers": "за показване/скриване на ПС полето",
"keyboard_shortcuts.start": "за отваряне на колоната \"първи стъпки\"", "keyboard_shortcuts.start": "за отваряне на колоната \"първи стъпки\"",
"keyboard_shortcuts.toggle_hidden": "за показване/скриване на текст зад ПС", "keyboard_shortcuts.toggle_hidden": "за показване/скриване на текст зад ПС",
"keyboard_shortcuts.toggle_sensitivity": "за показване/скриване на мултимедия", "keyboard_shortcuts.toggle_sensitivity": "Показване/скриване на мултимедията",
"keyboard_shortcuts.toot": "за започване на чисто нова публикация", "keyboard_shortcuts.toot": "Начало на нова публикация",
"keyboard_shortcuts.unfocus": "за дефокусиране на текстовото поле за композиране/търсене", "keyboard_shortcuts.unfocus": "за дефокусиране на текстовото поле за композиране/търсене",
"keyboard_shortcuts.up": "за придвижване нагоре в списъка", "keyboard_shortcuts.up": "Преместване нагоре в списъка",
"lightbox.close": "Затвори", "lightbox.close": "Затваряне",
"lightbox.compress": "Компресиране на полето за преглед на изображение", "lightbox.compress": "Свиване на полето за преглед на образи",
"lightbox.expand": "Разгъване на полето за преглед на изображение", "lightbox.expand": "Разгъване на полето за преглед на образи",
"lightbox.next": "Напред", "lightbox.next": "Напред",
"lightbox.previous": "Назад", "lightbox.previous": "Назад",
"limited_account_hint.action": "Покажи профила въпреки това", "limited_account_hint.action": "Покажи профила въпреки това",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "Този профил е бил скрит от модераторита на {domain}.",
"lists.account.add": "Добавяне към списък", "lists.account.add": "Добавяне към списък",
"lists.account.remove": "Премахване от списък", "lists.account.remove": "Премахване от списък",
"lists.delete": "Изтриване на списък", "lists.delete": "Изтриване на списък",
"lists.edit": "Редакция на списък", "lists.edit": "Промяна на списъка",
"lists.edit.submit": "Промяна на заглавие", "lists.edit.submit": "Промяна на заглавие",
"lists.new.create": "Добавяне на списък", "lists.new.create": "Добавяне на списък",
"lists.new.title_placeholder": "Име на нов списък", "lists.new.title_placeholder": "Име на нов списък",
"lists.replies_policy.followed": "Някой последван потребител", "lists.replies_policy.followed": "Някой последван потребител",
"lists.replies_policy.list": "Членове на списъка", "lists.replies_policy.list": "Членове на списъка",
"lists.replies_policy.none": "Никой", "lists.replies_policy.none": "Никого",
"lists.replies_policy.title": "Показване на отговори на:", "lists.replies_policy.title": "Показване на отговори на:",
"lists.search": "Търсене сред хора, които следвате", "lists.search": "Търсене измежду последваните",
"lists.subheading": "Вашите списъци", "lists.subheading": "Вашите списъци",
"load_pending": "{count, plural, one {# нов обект} other {# нови обекти}}", "load_pending": "{count, plural, one {# нов обект} other {# нови обекти}}",
"loading_indicator.label": "Зареждане...", "loading_indicator.label": "Зареждане...",
"media_gallery.toggle_visible": "Скриване на {number, plural, one {изображение} other {изображения}}", "media_gallery.toggle_visible": "Скриване на {number, plural, one {изображение} other {изображения}}",
"missing_indicator.label": "Не е намерено", "missing_indicator.label": "Не е намерено",
"missing_indicator.sublabel": "Този ресурс не може да бъде намерен", "missing_indicator.sublabel": "Ресурсът не може да се намери",
"mute_modal.duration": "Продължителност", "moved_to_account_banner.text": "Вашият акаунт {disabledAccount} сега е изключен, защото се преместихте в {movedToAccount}.",
"mute_modal.hide_notifications": "Скриване на известия от този потребител?", "mute_modal.duration": "Времетраене",
"mute_modal.hide_notifications": "Скривате ли известията от този потребител?",
"mute_modal.indefinite": "Неопределено", "mute_modal.indefinite": "Неопределено",
"navigation_bar.about": "About", "navigation_bar.about": "За тази инстанция",
"navigation_bar.blocks": "Блокирани потребители", "navigation_bar.blocks": "Блокирани потребители",
"navigation_bar.bookmarks": "Отметки", "navigation_bar.bookmarks": "Отметки",
"navigation_bar.community_timeline": "Локална емисия", "navigation_bar.community_timeline": "Местна часова ос",
"navigation_bar.compose": "Композиране на нова публикация", "navigation_bar.compose": "Съставяне на нова публикация",
"navigation_bar.direct": "Директни съобщения", "navigation_bar.direct": "Директни съобщения",
"navigation_bar.discover": "Откриване", "navigation_bar.discover": "Откриване",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Блокирани домейни",
"navigation_bar.edit_profile": "Редактирай профил", "navigation_bar.edit_profile": "Редактиране на профила",
"navigation_bar.explore": "Разглеждане", "navigation_bar.explore": "Изследване",
"navigation_bar.favourites": "Любими", "navigation_bar.favourites": "Любими",
"navigation_bar.filters": "Заглушени думи", "navigation_bar.filters": "Заглушени думи",
"navigation_bar.follow_requests": "Заявки за последване", "navigation_bar.follow_requests": "Заявки за последване",
@ -381,222 +384,222 @@
"navigation_bar.personal": "Лично", "navigation_bar.personal": "Лично",
"navigation_bar.pins": "Закачени публикации", "navigation_bar.pins": "Закачени публикации",
"navigation_bar.preferences": "Предпочитания", "navigation_bar.preferences": "Предпочитания",
"navigation_bar.public_timeline": "Публичен канал", "navigation_bar.public_timeline": "Федеративна часова ос",
"navigation_bar.search": "Search", "navigation_bar.search": "Търсене",
"navigation_bar.security": "Сигурност", "navigation_bar.security": "Сигурност",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "not_signed_in_indicator.not_signed_in": "Трябва да се регистрирате за достъп до този ресурс.",
"notification.admin.report": "{name} докладва {target}", "notification.admin.report": "{name} докладва {target}",
"notification.admin.sign_up": "{name} се регистрира", "notification.admin.sign_up": "{name} се регистрира",
"notification.favourite": "{name} хареса твоята публикация", "notification.favourite": "{name} направи любима ваша публикация",
"notification.follow": "{name} те последва", "notification.follow": "{name} ви последва",
"notification.follow_request": "{name} поиска да ви последва", "notification.follow_request": "{name} поиска да ви последва",
"notification.mention": "{name} те спомена", "notification.mention": "{name} ви спомена",
"notification.own_poll": "Анкетата ви приключи", "notification.own_poll": "Анкетата ви приключи",
"notification.poll": "Анкета, в която сте гласували, приключи", "notification.poll": "Анкета, в която гласувахте, приключи",
"notification.reblog": "{name} сподели твоята публикация", "notification.reblog": "{name} сподели твоята публикация",
"notification.status": "{name} току-що публикува", "notification.status": "{name} току-що публикува",
"notification.update": "{name} промени публикация", "notification.update": "{name} промени публикация",
"notifications.clear": "Изчистване на известия", "notifications.clear": "Изчистване на известията",
"notifications.clear_confirmation": "Сигурни ли сте, че искате да изчистите окончателно всичките си известия?", "notifications.clear_confirmation": "Наистина ли искате да изчистите завинаги всичките си известия?",
"notifications.column_settings.admin.report": "Нови доклади:", "notifications.column_settings.admin.report": "Нови доклади:",
"notifications.column_settings.admin.sign_up": "Нови регистрации:", "notifications.column_settings.admin.sign_up": "Нови регистрации:",
"notifications.column_settings.alert": "Десктоп известия", "notifications.column_settings.alert": "Известия на работния плот",
"notifications.column_settings.favourite": "Предпочитани:", "notifications.column_settings.favourite": "Любими:",
"notifications.column_settings.filter_bar.advanced": "Показване на всички категории", "notifications.column_settings.filter_bar.advanced": "Показване на всички категории",
"notifications.column_settings.filter_bar.category": "Лента за бърз филтър", "notifications.column_settings.filter_bar.category": "Лента за бърз филтър",
"notifications.column_settings.filter_bar.show_bar": "Покажи лентата с филтри", "notifications.column_settings.filter_bar.show_bar": "Показване на лентата с филтри",
"notifications.column_settings.follow": "Нови последователи:", "notifications.column_settings.follow": "Нови последователи:",
"notifications.column_settings.follow_request": "Нови заявки за последване:", "notifications.column_settings.follow_request": "Нови заявки за последване:",
"notifications.column_settings.mention": "Споменавания:", "notifications.column_settings.mention": "Споменавания:",
"notifications.column_settings.poll": "Резултати от анкета:", "notifications.column_settings.poll": "Резултати от анкета:",
"notifications.column_settings.push": "Изскачащи известия", "notifications.column_settings.push": "Изскачащи известия",
"notifications.column_settings.reblog": "Споделяния:", "notifications.column_settings.reblog": "Споделяния:",
"notifications.column_settings.show": "Покажи в колона", "notifications.column_settings.show": "Показване в колоната",
"notifications.column_settings.sound": "Пускане на звук", "notifications.column_settings.sound": "Пускане на звук",
"notifications.column_settings.status": "Нови публикации:", "notifications.column_settings.status": "Нови публикации:",
"notifications.column_settings.unread_notifications.category": "Непрочетени известия", "notifications.column_settings.unread_notifications.category": "Непрочетени известия",
"notifications.column_settings.unread_notifications.highlight": "Отбележи непрочетените уведомления", "notifications.column_settings.unread_notifications.highlight": "Изтъкване на непрочетените известия",
"notifications.column_settings.update": "Редакции:", "notifications.column_settings.update": "Редакции:",
"notifications.filter.all": "Всичко", "notifications.filter.all": "Всичко",
"notifications.filter.boosts": "Споделяния", "notifications.filter.boosts": "Споделяния",
"notifications.filter.favourites": "Любими", "notifications.filter.favourites": "Любими",
"notifications.filter.follows": "Последвания", "notifications.filter.follows": "Последвания",
"notifications.filter.mentions": "Споменавания", "notifications.filter.mentions": "Споменавания",
"notifications.filter.polls": "Резултати от анкета", "notifications.filter.polls": "Резултати от анкетата",
"notifications.filter.statuses": "Актуализации от хора, които следите", "notifications.filter.statuses": "Новости от последваните",
"notifications.grant_permission": "Даване на разрешение.", "notifications.grant_permission": "Даване на разрешение.",
"notifications.group": "{count} известия", "notifications.group": "{count} известия",
"notifications.mark_as_read": "Маркиране на всички известия като прочетени", "notifications.mark_as_read": "Отбелязване на всички известия като прочетени",
"notifications.permission_denied": "Известията на работния плот не са налични поради предварително отказана заявка за разрешение в браузъра", "notifications.permission_denied": "Известията на работния плот не са налични поради предварително отказана заявка за разрешение в браузъра",
"notifications.permission_denied_alert": "Известията на работния плот не могат да бъдат активирани, тъй като разрешението на браузъра е отказвано преди", "notifications.permission_denied_alert": "Известията на работния плот не могат да бъдат активирани, тъй като разрешението на браузъра е отказвано преди",
"notifications.permission_required": "Известията на работния плот не са налични, тъй като необходимото разрешение не е предоставено.", "notifications.permission_required": "Известията на работния плот ги няма, щото няма дадено нужното позволение.",
"notifications_permission_banner.enable": "Активиране на известията на работния плот", "notifications_permission_banner.enable": "Включване на известията на работния плот",
"notifications_permission_banner.how_to_control": "За да получавате известия, когато Mastodon не е отворен, активирайте известията на работния плот. Можете да контролирате точно кои типове взаимодействия генерират известия на работния плот чрез бутона {icon} по-горе, след като бъдат активирани.", "notifications_permission_banner.how_to_control": "За да получавате известия, когато Mastodon не е отворен, включете известията на работния плот. Може да управлявате точно кои видове взаимодействия пораждат известия на работния плот чрез бутона {icon} по-горе, след като бъдат включени.",
"notifications_permission_banner.title": "Никога не пропускайте нищо", "notifications_permission_banner.title": "Никога не пропускате нещо",
"picture_in_picture.restore": "Връщане обратно", "picture_in_picture.restore": "Връщане обратно",
"poll.closed": "Затворено", "poll.closed": "Затворено",
"poll.refresh": "Опресняване", "poll.refresh": "Опресняване",
"poll.total_people": "{count, plural, one {# човек} other {# човека}}", "poll.total_people": "{count, plural, one {# човек} other {# човека}}",
"poll.total_votes": "{count, plural, one {# глас} other {# гласа}}", "poll.total_votes": "{count, plural, one {# глас} other {# гласа}}",
"poll.vote": "Гласуване", "poll.vote": "Гласуване",
"poll.voted": "Вие гласувахте за този отговор", "poll.voted": "Гласувахте за този отговор",
"poll.votes": "{votes, plural, one {# глас} other {# гласа}}", "poll.votes": "{votes, plural, one {# глас} other {# гласа}}",
"poll_button.add_poll": "Добавяне на анкета", "poll_button.add_poll": "Добавяне на анкета",
"poll_button.remove_poll": "Премахване на анкета", "poll_button.remove_poll": "Премахване на анкета",
"privacy.change": "Adjust status privacy", "privacy.change": "Промяна на поверителността на публикация",
"privacy.direct.long": "Post to mentioned users only", "privacy.direct.long": "Видимо само за споменатите потребители",
"privacy.direct.short": "Само споменатите хора", "privacy.direct.short": "Само споменатите хора",
"privacy.private.long": "Post to followers only", "privacy.private.long": "Видимо само за последователите",
"privacy.private.short": "Само последователи", "privacy.private.short": "Само последователи",
"privacy.public.long": "Видимо за всички", "privacy.public.long": "Видимо за всички",
"privacy.public.short": "Публично", "privacy.public.short": "Публично",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Скрито", "privacy.unlisted.short": "Скрито",
"privacy_policy.last_updated": "Last updated {date}", "privacy_policy.last_updated": "Последно осъвременяване на {date}",
"privacy_policy.title": "Privacy Policy", "privacy_policy.title": "Политика за поверителност",
"refresh": "Опресняване", "refresh": "Опресняване",
"regeneration_indicator.label": "Зареждане…", "regeneration_indicator.label": "Зареждане…",
"regeneration_indicator.sublabel": "Вашата начална емисия се подготвя!", "regeneration_indicator.sublabel": "Вашата начална емисия се подготвя!",
"relative_time.days": "{number}д", "relative_time.days": "{number}д.",
"relative_time.full.days": "{number, plural, one {# day} other {# days}} ago", "relative_time.full.days": "преди {number, plural, one {# ден} other {# дни}}",
"relative_time.full.hours": "{number, plural, one {# hour} other {# hours}} ago", "relative_time.full.hours": "преди {number, plural, one {# час} other {# часа}}",
"relative_time.full.just_now": "just now", "relative_time.full.just_now": "току-що",
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.minutes": "преди {number, plural, one {# минута} other {# минути}}",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.full.seconds": "преди {number, plural, one {# секунда} other {# секунди}}",
"relative_time.hours": "{number}ч", "relative_time.hours": "{number}ч.",
"relative_time.just_now": "сега", "relative_time.just_now": "сега",
"relative_time.minutes": "{number}м", "relative_time.minutes": "{number}м.",
"relative_time.seconds": "{number}с", "relative_time.seconds": "{number}с.",
"relative_time.today": "днес", "relative_time.today": "днес",
"reply_indicator.cancel": "Отказ", "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.block_explanation": "Няма да им виждате публикациите. Те няма да могат да виждат публикациите ви или да ви последват. Те ще могат да казват, че са били блокирани.",
"report.categories.other": "Other", "report.categories.other": "Друго",
"report.categories.spam": "Spam", "report.categories.spam": "Спам",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "Съдържание, нарушаващо едно или повече правила на сървъра",
"report.category.subtitle": "Choose the best match", "report.category.subtitle": "Изберете най-доброто съвпадение",
"report.category.title": "Tell us what's going on with this {type}", "report.category.title": "Разкажете ни какво се случва с това: {type}",
"report.category.title_account": "profile", "report.category.title_account": "профил",
"report.category.title_status": "post", "report.category.title_status": "публикация",
"report.close": "Done", "report.close": "Готово",
"report.comment.title": "Is there anything else you think we should know?", "report.comment.title": "Има ли нещо друго, което смятате, че трябва да знаем?",
"report.forward": "Препращане към {target}", "report.forward": "Препращане до {target}",
"report.forward_hint": "Акаунтът е от друг сървър. Изпращане на анонимно копие на доклада и там?", "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.mute_explanation": "Няма да виждате публикациите на това лице. То още може да ви следва и да вижда публикациите ви и няма да знае, че е заглушено.",
"report.next": "Next", "report.next": "Напред",
"report.placeholder": "Допълнителни коментари", "report.placeholder": "Допълнителни коментари",
"report.reasons.dislike": "I don't like it", "report.reasons.dislike": "Не ми харесва",
"report.reasons.dislike_description": "It is not something you want to see", "report.reasons.dislike_description": "Не е нещо, които искам да виждам",
"report.reasons.other": "It's something else", "report.reasons.other": "Нещо друго е",
"report.reasons.other_description": "The issue does not fit into other categories", "report.reasons.other_description": "Проблемът не попада в нито една от другите категории",
"report.reasons.spam": "It's spam", "report.reasons.spam": "Спам е",
"report.reasons.spam_description": "Malicious links, fake engagement, or repetitive replies", "report.reasons.spam_description": "Зловредни връзки, фалшиви взаимодействия, или повтарящи се отговори",
"report.reasons.violation": "It violates server rules", "report.reasons.violation": "Нарушава правилата на сървъра",
"report.reasons.violation_description": "You are aware that it breaks specific rules", "report.reasons.violation_description": "Знаете, че нарушава особени правила",
"report.rules.subtitle": "Select all that apply", "report.rules.subtitle": "Изберете всичко, което да се прилага",
"report.rules.title": "Which rules are being violated?", "report.rules.title": "Кои правила са нарушени?",
"report.statuses.subtitle": "Select all that apply", "report.statuses.subtitle": "Изберете всичко, което да се прилага",
"report.statuses.title": "Are there any posts that back up this report?", "report.statuses.title": "Има ли някакви публикации, подкрепящи този доклад?",
"report.submit": "Подаване", "report.submit": "Подаване",
"report.target": "Reporting", "report.target": "Докладване на {target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "report.thanks.take_action": "Ето възможностите ви за управление какво виждате в Mastodon:",
"report.thanks.take_action_actionable": "While we review this, you can take action against @{name}:", "report.thanks.take_action_actionable": "Докато преглеждаме това, може да предприемете действие срещу @{name}:",
"report.thanks.title": "Don't want to see this?", "report.thanks.title": "Не искате ли да виждате това?",
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Благодарности за докладването, ще го прегледаме.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Стоп на следването на @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "Последвали сте този акаунт. За да не виждате повече публикациите му в началния си инфоканал, то спрете да го следвате.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached", "report_notification.attached_statuses": "прикачено {count, plural, one {{count} публикация} other {{count} публикации}}",
"report_notification.categories.other": "Other", "report_notification.categories.other": "Друго",
"report_notification.categories.spam": "Spam", "report_notification.categories.spam": "Спам",
"report_notification.categories.violation": "Rule violation", "report_notification.categories.violation": "Нарушение на правилото",
"report_notification.open": "Open report", "report_notification.open": "Отваряне на доклада",
"search.placeholder": "Търсене", "search.placeholder": "Търсене",
"search.search_or_paste": "Search or paste URL", "search.search_or_paste": "Търсене или поставяне на URL адрес",
"search_popout.search_format": "Формат за разширено търсене", "search_popout.search_format": "Формат за разширено търсене",
"search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.", "search_popout.tips.full_text": "Simple text returns statuses you have written, favourited, boosted, or have been mentioned in, as well as matching usernames, display names, and hashtags.",
"search_popout.tips.hashtag": "хаштаг", "search_popout.tips.hashtag": "хаштаг",
"search_popout.tips.status": "status", "search_popout.tips.status": "публикация",
"search_popout.tips.text": "Обикновеният текст връща съответстващи показвани имена, потребителски имена и хаштагове", "search_popout.tips.text": "Обикновеният текст връща съответстващи показвани имена, потребителски имена и хаштагове",
"search_popout.tips.user": "потребител", "search_popout.tips.user": "потребител",
"search_results.accounts": "Хора", "search_results.accounts": "Хора",
"search_results.all": "All", "search_results.all": "Всичко",
"search_results.hashtags": "Хаштагове", "search_results.hashtags": "Хаштагове",
"search_results.nothing_found": "Не е намерено нищо за това търсене", "search_results.nothing_found": "Не може да се намери каквото и да било за тези термини при търсене",
"search_results.statuses": "Публикации", "search_results.statuses": "Публикации",
"search_results.statuses_fts_disabled": "Търсенето на публикации по тяхното съдържание не е активирано за този Mastodon сървър.", "search_results.statuses_fts_disabled": "Търсенето на публикации по тяхното съдържание не е активирано за този Mastodon сървър.",
"search_results.title": "Search for {q}", "search_results.title": "Търсене за {q}",
"search_results.total": "{count, number} {count, plural, one {резултат} other {резултата}}", "search_results.total": "{count, number} {count, plural, one {резултат} other {резултата}}",
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.about_active_users": "Ползващите сървъра през последните 30 дни (дейните месечно потребители)",
"server_banner.active_users": "active users", "server_banner.active_users": "дейни потребители",
"server_banner.administered_by": "Administered by:", "server_banner.administered_by": "Администрира се от:",
"server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", "server_banner.introduction": "{domain} е част от децентрализираната социална мрежа, поддържана от {mastodon}.",
"server_banner.learn_more": "Learn more", "server_banner.learn_more": "Научете повече",
"server_banner.server_stats": "Server stats:", "server_banner.server_stats": "Статистика на сървъра:",
"sign_in_banner.create_account": "Create account", "sign_in_banner.create_account": "Създаване на акаунт",
"sign_in_banner.sign_in": "Sign in", "sign_in_banner.sign_in": "Вход",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", "sign_in_banner.text": "Влезте, за да последвате профили или хаштагове, любимо, споделяне и отговаряне на публикации или взаимодействие от акаунта ви на друг сървър.",
"status.admin_account": "Отваряне на интерфейс за модериране за @{name}", "status.admin_account": "Отваряне на интерфейс за модериране за @{name}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",
"status.block": "Блокиране на @{name}", "status.block": "Блокиране на @{name}",
"status.bookmark": "Отмятане", "status.bookmark": "Отмятане",
"status.cancel_reblog_private": "Отсподеляне", "status.cancel_reblog_private": "Отсподеляне",
"status.cannot_reblog": "Тази публикация не може да бъде споделена", "status.cannot_reblog": "Тази публикация не може да бъде споделена",
"status.copy": "Copy link to status", "status.copy": "Копиране на връзката към публикация",
"status.delete": "Изтриване", "status.delete": "Изтриване",
"status.detailed_status": "Подробен изглед на разговор", "status.detailed_status": "Подробен изглед на разговора",
"status.direct": "Директно съобщение към @{name}", "status.direct": "Директно съобщение до @{name}",
"status.edit": "Редакция", "status.edit": "Редактиране",
"status.edited": "Редактирано на {date}", "status.edited": "Редактирано на {date}",
"status.edited_x_times": "Редактирано {count, plural,one {{count} път} other {{count} пъти}}", "status.edited_x_times": "Редактирано {count, plural,one {{count} път} other {{count} пъти}}",
"status.embed": "Вграждане", "status.embed": "Вграждане",
"status.favourite": "Предпочитани", "status.favourite": "Любимо",
"status.filter": "Филтриране на поста", "status.filter": "Филтриране на публ.",
"status.filtered": "Филтрирано", "status.filtered": "Филтрирано",
"status.hide": "Скриване на поста", "status.hide": "Скриване на публ.",
"status.history.created": "{name} създаде {date}", "status.history.created": "{name} създаде {date}",
"status.history.edited": "{name} редактира {date}", "status.history.edited": "{name} редактира {date}",
"status.load_more": "Зареждане на още", "status.load_more": "Зареждане на още",
"status.media_hidden": "Мултимедията е скрита", "status.media_hidden": "Мултимедията е скрита",
"status.mention": "Споменаване", "status.mention": "Споменаване на @{name}",
"status.more": "Още", "status.more": "Още",
"status.mute": "Заглушаване на @{name}", "status.mute": "Заглушаване на @{name}",
"status.mute_conversation": "Заглушаване на разговор", "status.mute_conversation": "Заглушаване на разговора",
"status.open": "Expand this status", "status.open": "Разширяване на публикацията",
"status.pin": "Закачане на профил", "status.pin": "Закачане в профила",
"status.pinned": "Закачена публикация", "status.pinned": "Закачена публикация",
"status.read_more": "Още информация", "status.read_more": "Още за четене",
"status.reblog": "Споделяне", "status.reblog": "Споделяне",
"status.reblog_private": "Споделяне с оригинална видимост", "status.reblog_private": "Споделяне с оригинална видимост",
"status.reblogged_by": "{name} сподели", "status.reblogged_by": "{name} сподели",
"status.reblogs.empty": "Все още никой не е споделил тази публикация. Когато някой го направи, ще се покаже тук.", "status.reblogs.empty": "Все още никой не е споделил тази публикация. Когато някой го направи, ще се покаже тук.",
"status.redraft": "Изтриване и преработване", "status.redraft": "Изтриване и преработване",
"status.remove_bookmark": "Премахване на отметка", "status.remove_bookmark": "Премахване на отметката",
"status.replied_to": "Replied to {name}", "status.replied_to": "Отговори на {name}",
"status.reply": "Отговор", "status.reply": "Отговор",
"status.replyAll": "Отговор на тема", "status.replyAll": "Отговор на тема",
"status.report": "Докладване на @{name}", "status.report": "Докладване на @{name}",
"status.sensitive_warning": "Деликатно съдържание", "status.sensitive_warning": "Чувствително съдържание",
"status.share": "Споделяне", "status.share": "Споделяне",
"status.show_filter_reason": "Покажи въпреки това", "status.show_filter_reason": "Покажи въпреки това",
"status.show_less": "Покажи по-малко", "status.show_less": "Показване на по-малко",
"status.show_less_all": "Покажи по-малко за всички", "status.show_less_all": "Покажи по-малко за всички",
"status.show_more": "Покажи повече", "status.show_more": "Показване на повече",
"status.show_more_all": "Покажи повече за всички", "status.show_more_all": "Показване на повече за всички",
"status.show_original": "Show original", "status.show_original": "Показване на първообраза",
"status.translate": "Translate", "status.translate": "Превод",
"status.translated_from_with": "Translated from {lang} using {provider}", "status.translated_from_with": "Преведено от {lang}, използвайки {provider}",
"status.uncached_media_warning": "Не е налично", "status.uncached_media_warning": "Не е налично",
"status.unmute_conversation": "Раззаглушаване на разговор", "status.unmute_conversation": "Раззаглушаване на разговор",
"status.unpin": "Разкачане от профил", "status.unpin": "Разкачане от профила",
"subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
"subscribed_languages.save": "Save changes", "subscribed_languages.save": "Запазване на промените",
"subscribed_languages.target": "Change subscribed languages for {target}", "subscribed_languages.target": "Смяна на езика за {target}",
"suggestions.dismiss": "Отхвърляне на предложение", "suggestions.dismiss": "Отхвърляне на предложение",
"suggestions.header": "Може да се интересувате от…", "suggestions.header": "Може да се интересувате от…",
"tabs_bar.federated_timeline": "Обединен", "tabs_bar.federated_timeline": "Федерална",
"tabs_bar.home": "Начало", "tabs_bar.home": "Начало",
"tabs_bar.local_timeline": "Локално", "tabs_bar.local_timeline": "Местни",
"tabs_bar.notifications": "Известия", "tabs_bar.notifications": "Известия",
"time_remaining.days": "{number, plural, one {# ден} other {# дни}} остава", "time_remaining.days": "{number, plural, one {# ден} other {# дни}} остава",
"time_remaining.hours": "{number, plural, one {# час} other {# часа}} остава", "time_remaining.hours": "{number, plural, one {# час} other {# часа}} остава",
@ -607,41 +610,41 @@
"timeline_hint.resources.followers": "Последователи", "timeline_hint.resources.followers": "Последователи",
"timeline_hint.resources.follows": "Последвани", "timeline_hint.resources.follows": "Последвани",
"timeline_hint.resources.statuses": "По-стари публикации", "timeline_hint.resources.statuses": "По-стари публикации",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.counter_by_accounts": "{count, plural, one {{counter} човек} other {{counter} души}} {days, plural, one {за последния {days} ден} other {за последните {days} дни}}",
"trends.trending_now": "Налагащи се сега", "trends.trending_now": "Налагащи се сега",
"ui.beforeunload": "Черновата ви ще бъде загубена, ако излезете от Mastodon.", "ui.beforeunload": "Черновата ви ще се загуби, ако излезете от Mastodon.",
"units.short.billion": "{count}млрд", "units.short.billion": "{count}млрд",
"units.short.million": "{count}млн", "units.short.million": "{count}млн",
"units.short.thousand": "{count}хил", "units.short.thousand": "{count}хил",
"upload_area.title": "Влачене и пускане за качване", "upload_area.title": "Влачене и пускане за качване",
"upload_button.label": "Добави медия", "upload_button.label": "Добавете файл с образ, видео или звук",
"upload_error.limit": "Превишен лимит за качване на файлове.", "upload_error.limit": "Превишено ограничение за качване на файлове.",
"upload_error.poll": "Качването на файлове не е позволено с анкети.", "upload_error.poll": "Качването на файлове не е позволено с анкети.",
"upload_form.audio_description": "Опишете за хора със загуба на слуха", "upload_form.audio_description": "Опишете за хора със загубен слух",
"upload_form.description": "Опишете за хора със зрителни увреждания", "upload_form.description": "Опишете за хора със зрително увреждане",
"upload_form.description_missing": "Без добавено описание", "upload_form.description_missing": "Няма добавено описание",
"upload_form.edit": "Редакция", "upload_form.edit": "Редактиране",
"upload_form.thumbnail": "Промяна на миниизображението", "upload_form.thumbnail": "Промяна на миниизображението",
"upload_form.undo": "Отмяна", "upload_form.undo": "Изтриване",
"upload_form.video_description": "Опишете за хора със загуба на слуха или зрително увреждане", "upload_form.video_description": "Опишете за хора със загубен слух или зрително увреждане",
"upload_modal.analyzing_picture": "Анализ на снимка…", "upload_modal.analyzing_picture": "Анализ на снимка…",
"upload_modal.apply": "Прилагане", "upload_modal.apply": "Прилагане",
"upload_modal.applying": "Прилагане…", "upload_modal.applying": "Прилагане…",
"upload_modal.choose_image": "Избор на изображение", "upload_modal.choose_image": "Избор на образ",
"upload_modal.description_placeholder": "Ах, чудна българска земьо, полюшвай цъфтящи жита", "upload_modal.description_placeholder": "Ах, чудна българска земьо, полюшвай цъфтящи жита",
"upload_modal.detect_text": "Откриване на текст от картина", "upload_modal.detect_text": "Откриване на текст от картина",
"upload_modal.edit_media": "Редакция на мултимедия", "upload_modal.edit_media": "Редакция на мултимедия",
"upload_modal.hint": "Щракнете или плъзнете кръга на визуализацията, за да изберете фокусна точка, която винаги ще бъде видима на всички миниатюри.", "upload_modal.hint": "Щракнете или плъзнете кръга на визуализацията, за да изберете фокусна точка, която винаги ще бъде видима на всички миниатюри.",
"upload_modal.preparing_ocr": "Подготване на ОРС…", "upload_modal.preparing_ocr": "Подготовка за оптично разпознаване на знаци…",
"upload_modal.preview_label": "Визуализация ({ratio})", "upload_modal.preview_label": "Нагледно ({ratio})",
"upload_progress.label": "Uploading…", "upload_progress.label": "Качване...",
"upload_progress.processing": "Processing…", "upload_progress.processing": "Обработка…",
"video.close": "Затваряне на видео", "video.close": "Затваряне на видеото",
"video.download": "Изтегляне на файл", "video.download": "Изтегляне на файла",
"video.exit_fullscreen": "Изход от цял екран", "video.exit_fullscreen": "Изход от цял екран",
"video.expand": "Разгъване на видео", "video.expand": "Разгъване на видеото",
"video.fullscreen": "Цял екран", "video.fullscreen": "Цял екран",
"video.hide": "Скриване на видео", "video.hide": "Скриване на видеото",
"video.mute": "Обеззвучаване", "video.mute": "Обеззвучаване",
"video.pause": "Пауза", "video.pause": "Пауза",
"video.play": "Пускане", "video.play": "Пускане",

View File

@ -2,10 +2,8 @@
"about.blocks": "Moderated servers", "about.blocks": "Moderated servers",
"about.contact": "Contact:", "about.contact": "Contact:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Domain",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Severity",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural,one {{counter} জনকে অনুসরণ} other {{counter} জনকে অনুসরণ}}", "account.following_counter": "{count, plural,one {{counter} জনকে অনুসরণ} other {{counter} জনকে অনুসরণ}}",
"account.follows.empty": "এই সদস্য কাওকে এখনো অনুসরণ করেন না.", "account.follows.empty": "এই সদস্য কাওকে এখনো অনুসরণ করেন না.",
"account.follows_you": "তোমাকে অনুসরণ করে", "account.follows_you": "তোমাকে অনুসরণ করে",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "@{name}'র সমর্থনগুলি লুকিয়ে ফেলুন", "account.hide_reblogs": "@{name}'র সমর্থনগুলি লুকিয়ে ফেলুন",
"account.joined_short": "Joined", "account.joined_short": "Joined",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
@ -46,10 +45,11 @@
"account.locked_info": "এই নিবন্ধনের গোপনীয়তার ক্ষেত্র তালা দেওয়া আছে। নিবন্ধনকারী অনুসরণ করার অনুমতি যাদেরকে দেবেন, শুধু তারাই অনুসরণ করতে পারবেন।", "account.locked_info": "এই নিবন্ধনের গোপনীয়তার ক্ষেত্র তালা দেওয়া আছে। নিবন্ধনকারী অনুসরণ করার অনুমতি যাদেরকে দেবেন, শুধু তারাই অনুসরণ করতে পারবেন।",
"account.media": "মিডিয়া", "account.media": "মিডিয়া",
"account.mention": "@{name} কে উল্লেখ করুন", "account.mention": "@{name} কে উল্লেখ করুন",
"account.moved_to": "{name} কে এখানে সরানো হয়েছে:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "@{name} কে নিঃশব্দ করুন", "account.mute": "@{name} কে নিঃশব্দ করুন",
"account.mute_notifications": "@{name} র প্রজ্ঞাপন আপনার কাছে নিঃশব্দ করুন", "account.mute_notifications": "@{name} র প্রজ্ঞাপন আপনার কাছে নিঃশব্দ করুন",
"account.muted": "নিঃশব্দ", "account.muted": "নিঃশব্দ",
"account.open_original_page": "Open original page",
"account.posts": "টুট", "account.posts": "টুট",
"account.posts_with_replies": "টুট এবং মতামত", "account.posts_with_replies": "টুট এবং মতামত",
"account.report": "@{name} কে রিপোর্ট করুন", "account.report": "@{name} কে রিপোর্ট করুন",
@ -181,6 +181,8 @@
"directory.local": "শুধু {domain} থেকে", "directory.local": "শুধু {domain} থেকে",
"directory.new_arrivals": "নতুন আগত", "directory.new_arrivals": "নতুন আগত",
"directory.recently_active": "সম্প্রতি সক্রিয়", "directory.recently_active": "সম্প্রতি সক্রিয়",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "On this server",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "দৃশ্যতার অবস্থা বদলান", "media_gallery.toggle_visible": "দৃশ্যতার অবস্থা বদলান",
"missing_indicator.label": "খুঁজে পাওয়া যায়নি", "missing_indicator.label": "খুঁজে পাওয়া যায়নি",
"missing_indicator.sublabel": "জিনিসটা খুঁজে পাওয়া যায়নি", "missing_indicator.sublabel": "জিনিসটা খুঁজে পাওয়া যায়নি",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "সময়কাল", "mute_modal.duration": "সময়কাল",
"mute_modal.hide_notifications": "এই ব্যবহারকারীর প্রজ্ঞাপন বন্ধ করবেন ?", "mute_modal.hide_notifications": "এই ব্যবহারকারীর প্রজ্ঞাপন বন্ধ করবেন ?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Indefinite",

View File

@ -1,17 +1,15 @@
{ {
"about.blocks": "Servijerioù habaskaet", "about.blocks": "Servijerioù habaskaet",
"about.contact": "Darempred :", "about.contact": "Darempred :",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon zo ur meziant frank, open-source hag ur merk marilhet eus Mastodon gGmbH.",
"about.domain_blocks.comment": "Abeg", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Domani", "about.domain_blocks.preamble": "Gant Mastodon e c'hellit gwelet danvez hag eskemm gant implijerien·ezed eus forzh peseurt servijer er fedibed peurliesañ. Setu an nemedennoù a zo bet graet evit ar servijer-mañ e-unan.",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Strizhder",
"about.domain_blocks.silenced.explanation": "Ne vo ket gwelet profiloù eus ar servijer-mañ ganeoc'h peurliesañ, nemet ma vefec'h o klask war o lec'h pe choazfec'h o heuliañ.", "about.domain_blocks.silenced.explanation": "Ne vo ket gwelet profiloù eus ar servijer-mañ ganeoc'h peurliesañ, nemet ma vefec'h o klask war o lec'h pe choazfec'h o heuliañ.",
"about.domain_blocks.silenced.title": "Bevennet", "about.domain_blocks.silenced.title": "Bevennet",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
"about.domain_blocks.suspended.title": "Astalet", "about.domain_blocks.suspended.title": "Astalet",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "An titour-mañ ne c'heller ket gwelet war ar servijer-mañ.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Rouedad sokial digreizenned kaset gant {mastodon}",
"about.rules": "Reolennoù ar servijer", "about.rules": "Reolennoù ar servijer",
"account.account_note_header": "Notenn", "account.account_note_header": "Notenn",
"account.add_or_remove_from_list": "Ouzhpenn pe dilemel eus al listennadoù", "account.add_or_remove_from_list": "Ouzhpenn pe dilemel eus al listennadoù",
@ -21,16 +19,16 @@
"account.block_domain": "Stankañ an domani {domain}", "account.block_domain": "Stankañ an domani {domain}",
"account.blocked": "Stanket", "account.blocked": "Stanket",
"account.browse_more_on_origin_server": "Furchal pelloc'h war ar profil orin", "account.browse_more_on_origin_server": "Furchal pelloc'h war ar profil orin",
"account.cancel_follow_request": "Withdraw follow request", "account.cancel_follow_request": "Nullañ ar reked heuliañ",
"account.direct": "Kas ur c'hemennad eeun da @{name}", "account.direct": "Kas ur c'hemennad eeun da @{name}",
"account.disable_notifications": "Paouez d'am c'hemenn pa vez embannet traoù gant @{name}", "account.disable_notifications": "Paouez d'am c'hemenn pa vez embannet traoù gant @{name}",
"account.domain_blocked": "Domani stanket", "account.domain_blocked": "Domani stanket",
"account.edit_profile": "Kemmañ ar profil", "account.edit_profile": "Kemmañ ar profil",
"account.enable_notifications": "Ma c'hemenn pa vez embannet traoù gant @{name}", "account.enable_notifications": "Ma c'hemenn pa vez embannet traoù gant @{name}",
"account.endorse": "Lakaat war-wel war ar profil", "account.endorse": "Lakaat war-wel war ar profil",
"account.featured_tags.last_status_at": "Kemennad diwezhañ : {date}", "account.featured_tags.last_status_at": "Kannad diwezhañ : {date}",
"account.featured_tags.last_status_never": "Kemennad ebet", "account.featured_tags.last_status_never": "Kannad ebet",
"account.featured_tags.title": "{name}'s featured hashtags", "account.featured_tags.title": "Penngerioù-klik {name}",
"account.follow": "Heuliañ", "account.follow": "Heuliañ",
"account.followers": "Tud koumanantet", "account.followers": "Tud koumanantet",
"account.followers.empty": "Den na heul an implijer·ez-mañ c'hoazh.", "account.followers.empty": "Den na heul an implijer·ez-mañ c'hoazh.",
@ -39,24 +37,26 @@
"account.following_counter": "{count, plural, one{{counter} C'houmanant} two{{counter} Goumanant} other {{counter} a Goumanant}}", "account.following_counter": "{count, plural, one{{counter} C'houmanant} two{{counter} Goumanant} other {{counter} a Goumanant}}",
"account.follows.empty": "An implijer·ez-mañ na heul den ebet.", "account.follows.empty": "An implijer·ez-mañ na heul den ebet.",
"account.follows_you": "Ho heuilh", "account.follows_you": "Ho heuilh",
"account.go_to_profile": "Gwelet ar profil",
"account.hide_reblogs": "Kuzh skignadennoù gant @{name}", "account.hide_reblogs": "Kuzh skignadennoù gant @{name}",
"account.joined_short": "Joined", "account.joined_short": "Amañ abaoe",
"account.languages": "Change subscribed languages", "account.languages": "Cheñch ar yezhoù koumanantet",
"account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}", "account.link_verified_on": "Gwiriet eo bet perc'hennidigezh al liamm d'an deiziad-mañ : {date}",
"account.locked_info": "Prennet eo ar gont-mañ. Gant ar perc'henn e vez dibabet piv a c'hall heuliañ anezhi pe anezhañ.", "account.locked_info": "Prennet eo ar gont-mañ. Gant ar perc'henn e vez dibabet piv a c'hall heuliañ anezhi pe anezhañ.",
"account.media": "Media", "account.media": "Media",
"account.mention": "Menegiñ @{name}", "account.mention": "Menegiñ @{name}",
"account.moved_to": "Dilojet en·he deus {name} da :", "account.moved_to": "Gant {name} eo bet merket e oa bremañ h·e gont nevez :",
"account.mute": "Kuzhat @{name}", "account.mute": "Kuzhat @{name}",
"account.mute_notifications": "Kuzh kemennoù a-berzh @{name}", "account.mute_notifications": "Kuzh kemennoù a-berzh @{name}",
"account.muted": "Kuzhet", "account.muted": "Kuzhet",
"account.open_original_page": "Open original page",
"account.posts": "Kannadoù", "account.posts": "Kannadoù",
"account.posts_with_replies": "Kannadoù ha respontoù", "account.posts_with_replies": "Kannadoù ha respontoù",
"account.report": "Disklêriañ @{name}", "account.report": "Disklêriañ @{name}",
"account.requested": "O c'hortoz an asant. Klikit evit nullañ ar goulenn heuliañ", "account.requested": "O c'hortoz an asant. Klikit evit nullañ ar goulenn heuliañ",
"account.share": "Skignañ profil @{name}", "account.share": "Skignañ profil @{name}",
"account.show_reblogs": "Diskouez skignadennoù @{name}", "account.show_reblogs": "Diskouez skignadennoù @{name}",
"account.statuses_counter": "{count, plural, one {{counter} C'hemennad} two {{counter} Gemennad} other {{counter} a Gemennad}}", "account.statuses_counter": "{count, plural, one {{counter} C'hannad} two {{counter} Gannad} other {{counter} a Gannadoù}}",
"account.unblock": "Diverzañ @{name}", "account.unblock": "Diverzañ @{name}",
"account.unblock_domain": "Diverzañ an domani {domain}", "account.unblock_domain": "Diverzañ an domani {domain}",
"account.unblock_short": "Distankañ", "account.unblock_short": "Distankañ",
@ -92,16 +92,16 @@
"bundle_modal_error.close": "Serriñ", "bundle_modal_error.close": "Serriñ",
"bundle_modal_error.message": "Degouezhet ez eus bet ur fazi en ur gargañ an elfenn-mañ.", "bundle_modal_error.message": "Degouezhet ez eus bet ur fazi en ur gargañ an elfenn-mañ.",
"bundle_modal_error.retry": "Klask en-dro", "bundle_modal_error.retry": "Klask en-dro",
"closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", "closed_registrations.other_server_instructions": "Peogwir ez eo Mastodon digreizennet e c'heller krouiñ ur gont war ur servijer all ha kenderc'hel da zaremprediñ gant hemañ.",
"closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
"closed_registrations_modal.find_another_server": "Find another server", "closed_registrations_modal.find_another_server": "Kavout ur servijer all",
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
"closed_registrations_modal.title": "Signing up on Mastodon", "closed_registrations_modal.title": "Signing up on Mastodon",
"column.about": "About", "column.about": "Diwar-benn",
"column.blocks": "Implijer·ezed·ien berzet", "column.blocks": "Implijer·ezed·ien berzet",
"column.bookmarks": "Sinedoù", "column.bookmarks": "Sinedoù",
"column.community": "Red-amzer lec'hel", "column.community": "Red-amzer lec'hel",
"column.direct": "Direct messages", "column.direct": "Kemennad eeun",
"column.directory": "Mont a-dreuz ar profiloù", "column.directory": "Mont a-dreuz ar profiloù",
"column.domain_blocks": "Domani berzet", "column.domain_blocks": "Domani berzet",
"column.favourites": "Muiañ-karet", "column.favourites": "Muiañ-karet",
@ -110,7 +110,7 @@
"column.lists": "Listennoù", "column.lists": "Listennoù",
"column.mutes": "Implijer·ion·ezed kuzhet", "column.mutes": "Implijer·ion·ezed kuzhet",
"column.notifications": "Kemennoù", "column.notifications": "Kemennoù",
"column.pins": "Kemennadoù spilhennet", "column.pins": "Kannadoù spilhennet",
"column.public": "Red-amzer kevreet", "column.public": "Red-amzer kevreet",
"column_back_button.label": "Distro", "column_back_button.label": "Distro",
"column_header.hide_settings": "Kuzhat an arventennoù", "column_header.hide_settings": "Kuzhat an arventennoù",
@ -124,11 +124,11 @@
"community.column_settings.media_only": "Nemet Mediaoù", "community.column_settings.media_only": "Nemet Mediaoù",
"community.column_settings.remote_only": "Nemet a-bell", "community.column_settings.remote_only": "Nemet a-bell",
"compose.language.change": "Cheñch yezh", "compose.language.change": "Cheñch yezh",
"compose.language.search": "Search languages...", "compose.language.search": "Klask yezhoù...",
"compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h", "compose_form.direct_message_warning_learn_more": "Gouzout hiroc'h",
"compose_form.encryption_warning": "Kemennadoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.", "compose_form.encryption_warning": "Kannadoù war Mastodon na vezont ket sifret penn-da-benn. Na rannit ket titouroù kizidik dre Mastodon.",
"compose_form.hashtag_warning": "Ne vo ket listennet ar c'hemennad-mañ dindan gerioù-klik ebet dre m'eo anlistennet. N'eus nemet ar c'hemennadoù foran a c'hall bezañ klasket dre c'her-klik.", "compose_form.hashtag_warning": "Ne vo ket listennet ar c'hannad-mañ dindan gerioù-klik ebet dre m'eo anlistennet. N'eus nemet ar c'hannadoù foran a c'hall bezañ klasket dre c'her-klik.",
"compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal ho heuliañ evit gwelet ho kemennadoù prevez.", "compose_form.lock_disclaimer": "N'eo ket {locked} ho kont. An holl a c'hal ho heuliañ evit gwelet ho kannadoù prevez.",
"compose_form.lock_disclaimer.lock": "prennet", "compose_form.lock_disclaimer.lock": "prennet",
"compose_form.placeholder": "Petra emaoc'h o soñjal e-barzh ?", "compose_form.placeholder": "Petra emaoc'h o soñjal e-barzh ?",
"compose_form.poll.add_option": "Ouzhpenniñ un dibab", "compose_form.poll.add_option": "Ouzhpenniñ un dibab",
@ -150,10 +150,10 @@
"confirmations.block.block_and_report": "Berzañ ha Disklêriañ", "confirmations.block.block_and_report": "Berzañ ha Disklêriañ",
"confirmations.block.confirm": "Stankañ", "confirmations.block.confirm": "Stankañ",
"confirmations.block.message": "Ha sur oc'h e fell deoc'h stankañ {name} ?", "confirmations.block.message": "Ha sur oc'h e fell deoc'h stankañ {name} ?",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Nullañ ar reked",
"confirmations.cancel_follow_request.message": "Ha sur oc'h e fell deoc'h nullañ ho reked evit heuliañ {name} ?", "confirmations.cancel_follow_request.message": "Ha sur oc'h e fell deoc'h nullañ ho reked evit heuliañ {name} ?",
"confirmations.delete.confirm": "Dilemel", "confirmations.delete.confirm": "Dilemel",
"confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hemennad-mañ ?", "confirmations.delete.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hannad-mañ ?",
"confirmations.delete_list.confirm": "Dilemel", "confirmations.delete_list.confirm": "Dilemel",
"confirmations.delete_list.message": "Ha sur eo hoc'h eus c'hoant da zilemel ar roll-mañ da vat ?", "confirmations.delete_list.message": "Ha sur eo hoc'h eus c'hoant da zilemel ar roll-mañ da vat ?",
"confirmations.discard_edit_media.confirm": "Nac'hañ", "confirmations.discard_edit_media.confirm": "Nac'hañ",
@ -163,10 +163,10 @@
"confirmations.logout.confirm": "Digevreañ", "confirmations.logout.confirm": "Digevreañ",
"confirmations.logout.message": "Ha sur oc'h e fell deoc'h digevreañ ?", "confirmations.logout.message": "Ha sur oc'h e fell deoc'h digevreañ ?",
"confirmations.mute.confirm": "Kuzhat", "confirmations.mute.confirm": "Kuzhat",
"confirmations.mute.explanation": "Kement-se a guzho ar c'hemennadoù skrivet gantañ·i hag ar re a veneg anezhañ·i, met ne viro ket outañ·i a welet ho kemennadoù nag a heuliañ ac'hanoc'h.", "confirmations.mute.explanation": "Kement-se a guzho ar c'hannadoù skrivet gantañ·i hag ar re a veneg anezhañ·i, met ne viro ket outañ·i a welet ho kannadoù nag a heuliañ ac'hanoc'h.",
"confirmations.mute.message": "Ha sur oc'h e fell deoc'h kuzhaat {name} ?", "confirmations.mute.message": "Ha sur oc'h e fell deoc'h kuzhaat {name} ?",
"confirmations.redraft.confirm": "Diverkañ ha skrivañ en-dro", "confirmations.redraft.confirm": "Diverkañ ha skrivañ en-dro",
"confirmations.redraft.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hemennad-mañ hag e adskrivañ ? Kollet e vo ar merkoù « muiañ-karet » hag ar skignadennoù, hag emzivat e vo ar respontoù d'ar c'hemennad orin.", "confirmations.redraft.message": "Ha sur oc'h e fell deoc'h dilemel ar c'hannad-mañ hag e adskrivañ ? Kollet e vo ar merkoù « muiañ-karet » hag ar skignadennoù, hag emzivat e vo ar respontoù d'ar c'hannad orin.",
"confirmations.reply.confirm": "Respont", "confirmations.reply.confirm": "Respont",
"confirmations.reply.message": "Respont bremañ a zilamo ar gemennadenn emaoc'h o skrivañ. Sur e oc'h e fell deoc'h kenderc'hel ganti?", "confirmations.reply.message": "Respont bremañ a zilamo ar gemennadenn emaoc'h o skrivañ. Sur e oc'h e fell deoc'h kenderc'hel ganti?",
"confirmations.unfollow.confirm": "Diheuliañ", "confirmations.unfollow.confirm": "Diheuliañ",
@ -181,13 +181,15 @@
"directory.local": "Eus {domain} hepken", "directory.local": "Eus {domain} hepken",
"directory.new_arrivals": "Degouezhet a-nevez", "directory.new_arrivals": "Degouezhet a-nevez",
"directory.recently_active": "Oberiant nevez zo", "directory.recently_active": "Oberiant nevez zo",
"dismissable_banner.community_timeline": "Setu kemennadoù foran nevesañ an dud a zo herberchiet o c'hontoù gant {domain}.", "disabled_account_banner.account_settings": "Arventennoù ar gont",
"dismissable_banner.dismiss": "Dismiss", "disabled_account_banner.text": "Ho kont {disabledAccount} zo divev evit bremañ.",
"dismissable_banner.community_timeline": "Setu kannadoù foran nevesañ an dud a zo herberchiet o c'hontoù gant {domain}.",
"dismissable_banner.dismiss": "Diverkañ",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
"dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
"dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
"embed.instructions": "Enframmit ar c'hemennad-mañ en ho lec'hienn en ur eilañ ar c'hod amañ-dindan.", "embed.instructions": "Enframmit ar c'hannad-mañ en ho lec'hienn en ur eilañ ar c'hod amañ-dindan.",
"embed.preview": "Setu penaos e teuio war wel :", "embed.preview": "Setu penaos e teuio war wel :",
"emoji_button.activity": "Obererezh", "emoji_button.activity": "Obererezh",
"emoji_button.clear": "Diverkañ", "emoji_button.clear": "Diverkañ",
@ -205,22 +207,22 @@
"emoji_button.symbols": "Arouezioù", "emoji_button.symbols": "Arouezioù",
"emoji_button.travel": "Lec'hioù ha Beajoù", "emoji_button.travel": "Lec'hioù ha Beajoù",
"empty_column.account_suspended": "Kont ehanet", "empty_column.account_suspended": "Kont ehanet",
"empty_column.account_timeline": "Kemennad ebet amañ !", "empty_column.account_timeline": "Kannad ebet amañ !",
"empty_column.account_unavailable": "Profil dihegerz", "empty_column.account_unavailable": "Profil dihegerz",
"empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.", "empty_column.blocks": "N'eus ket bet berzet implijer·ez ganeoc'h c'hoazh.",
"empty_column.bookmarked_statuses": "N'ho peus kemennad ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.", "empty_column.bookmarked_statuses": "N'ho peus kannad ebet enrollet en ho sinedoù c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.",
"empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !", "empty_column.community": "Goulo eo ar red-amzer lec'hel. Skrivit'ta un dra evit lakaat tan dezhi !",
"empty_column.direct": "N'ho peus kemennad prevez ebet c'hoazh. Pa vo resevet pe kaset unan ganeoc'h e teuio war wel amañ.", "empty_column.direct": "N'ho peus kemennad prevez ebet c'hoazh. Pa vo resevet pe kaset unan ganeoc'h e teuio war wel amañ.",
"empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.", "empty_column.domain_blocks": "N'eus domani kuzh ebet c'hoazh.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "Nothing is trending right now. Check back later!",
"empty_column.favourited_statuses": "N'ho peus kemennad muiañ-karet ebet c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.", "empty_column.favourited_statuses": "N'ho peus kannad muiañ-karet ebet c'hoazh. Pa vo ouzhpennet unan e teuio war wel amañ.",
"empty_column.favourites": "Den ebet n'eus lakaet ar c'hemennad-mañ en e reoù muiañ-karet c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.", "empty_column.favourites": "Den ebet n'eus ouzhpennet ar c'hannad-mañ en e reoù muiañ-karet c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.",
"empty_column.follow_recommendations": "Seblant a ra ne vez ket genelet damvenegoù evidoc'h. Gallout a rit implijout un enklask evit klask tud hag a vefe anavezet ganeoc'h pe ergerzhout gerioù-klik diouzh ar c'hiz.", "empty_column.follow_recommendations": "Seblant a ra ne vez ket genelet damvenegoù evidoc'h. Gallout a rit implijout un enklask evit klask tud hag a vefe anavezet ganeoc'h pe ergerzhout gerioù-klik diouzh ar c'hiz.",
"empty_column.follow_requests": "N'ho peus reked heuliañ ebet c'hoazh. Pa vo resevet unan e teuio war wel amañ.", "empty_column.follow_requests": "N'ho peus reked heuliañ ebet c'hoazh. Pa vo resevet unan e teuio war wel amañ.",
"empty_column.hashtag": "N'eus netra er ger-klik-mañ c'hoazh.", "empty_column.hashtag": "N'eus netra er ger-klik-mañ c'hoazh.",
"empty_column.home": "Goullo eo ho red-amzer degemer! Kit da weladenniñ {public} pe implijit ar c'hlask evit kregiñ ganti ha kejañ gant implijer·ien·ezed all.", "empty_column.home": "Goullo eo ho red-amzer degemer! Kit da weladenniñ {public} pe implijit ar c'hlask evit kregiñ ganti ha kejañ gant implijer·ien·ezed all.",
"empty_column.home.suggestions": "Gwellout damvenegoù", "empty_column.home.suggestions": "Gwellout damvenegoù",
"empty_column.list": "Goullo eo ar roll-mañ evit c'hoazh. Pa vo embannet kemennadoù nevez gant e izili e teuint war wel amañ.", "empty_column.list": "Goullo eo ar roll-mañ evit c'hoazh. Pa vo embannet kannadoù nevez gant e izili e teuint war wel amañ.",
"empty_column.lists": "N'ho peus roll ebet c'hoazh. Pa vo krouet unan ganeoc'h e vo diskouezet amañ.", "empty_column.lists": "N'ho peus roll ebet c'hoazh. Pa vo krouet unan ganeoc'h e vo diskouezet amañ.",
"empty_column.mutes": "N'ho peus kuzhet implijer ebet c'hoazh.", "empty_column.mutes": "N'ho peus kuzhet implijer ebet c'hoazh.",
"empty_column.notifications": "N'ho peus kemenn ebet c'hoazh. Grit gant implijer·ezed·ien all evit loc'hañ ar gomz.", "empty_column.notifications": "N'ho peus kemenn ebet c'hoazh. Grit gant implijer·ezed·ien all evit loc'hañ ar gomz.",
@ -235,7 +237,7 @@
"explore.suggested_follows": "Evidoc'h", "explore.suggested_follows": "Evidoc'h",
"explore.title": "Ergerzhit", "explore.title": "Ergerzhit",
"explore.trending_links": "Keleier", "explore.trending_links": "Keleier",
"explore.trending_statuses": "Kemennadoù", "explore.trending_statuses": "Kannadoù",
"explore.trending_tags": "Gerioù-klik", "explore.trending_tags": "Gerioù-klik",
"filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
"filter_modal.added.context_mismatch_title": "Context mismatch!", "filter_modal.added.context_mismatch_title": "Context mismatch!",
@ -244,18 +246,18 @@
"filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filter settings", "filter_modal.added.review_and_configure_title": "Filter settings",
"filter_modal.added.settings_link": "settings page", "filter_modal.added.settings_link": "settings page",
"filter_modal.added.short_explanation": "Ar c'hemennad-mañ zo bet ouzhpennet d'ar rummad sil-mañ : {title}.", "filter_modal.added.short_explanation": "Ar c'hannad-mañ zo bet ouzhpennet d'ar rummad sil-mañ : {title}.",
"filter_modal.added.title": "Filter added!", "filter_modal.added.title": "Filter added!",
"filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.context_mismatch": "does not apply to this context",
"filter_modal.select_filter.expired": "expired", "filter_modal.select_filter.expired": "expired",
"filter_modal.select_filter.prompt_new": "New category: {name}", "filter_modal.select_filter.prompt_new": "New category: {name}",
"filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.search": "Search or create",
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
"filter_modal.select_filter.title": "Silañ ar c'hemennad-mañ", "filter_modal.select_filter.title": "Silañ ar c'hannad-mañ",
"filter_modal.title.status": "Silañ ur c'hemennad", "filter_modal.title.status": "Silañ ur c'hannad",
"follow_recommendations.done": "Graet", "follow_recommendations.done": "Graet",
"follow_recommendations.heading": "Heuilhit tud a blijfe deoc'h lenn o c'hemennadoù ! Setu un nebeud erbedadennoù.", "follow_recommendations.heading": "Heuilhit tud a blijfe deoc'h lenn o c'hannadoù ! Setu un nebeud erbedadennoù.",
"follow_recommendations.lead": "Kemennadoù gant tud a vez heuliet ganeoc'h a zeuio war wel en urzh kronologel war ho red degemer. Arabat kaout aon ober fazioù, diheuliañ tud a c'hellit ober aes ha forzh pegoulz !", "follow_recommendations.lead": "Kannadoù gant tud a vez heuliet ganeoc'h a zeuio war wel en urzh kronologel war ho red degemer. Arabat kaout aon ober fazioù, diheuliañ tud a c'hellit ober aes ha forzh pegoulz !",
"follow_request.authorize": "Aotren", "follow_request.authorize": "Aotren",
"follow_request.reject": "Nac'hañ", "follow_request.reject": "Nac'hañ",
"follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.", "follow_requests.unlocked_explanation": "Daoust ma n'eo ket ho kont prennet, skipailh {domain} a soñj e fellfe deoc'h gwiriekaat pedadennoù heuliañ deus ar c'hontoù-se diwar-zorn.",
@ -284,31 +286,31 @@
"home.column_settings.show_replies": "Diskouez ar respontoù", "home.column_settings.show_replies": "Diskouez ar respontoù",
"home.hide_announcements": "Kuzhat ar c'hemennoù", "home.hide_announcements": "Kuzhat ar c'hemennoù",
"home.show_announcements": "Diskouez ar c'hemennoù", "home.show_announcements": "Diskouez ar c'hemennoù",
"interaction_modal.description.favourite": "Gant ur gont Mastodon e c'hellit ouzhpennañ ar c'hemennad-mañ d'ho re vuiañ-karet evit lakaat an den en deus eñ skrivet da c'houzout e plij deoc'h hag e enrollañ evit diwezhatoc'h.", "interaction_modal.description.favourite": "Gant ur gont Mastodon e c'hellit ouzhpennañ ar c'hannad-mañ d'ho re vuiañ-karet evit lakaat an den en deus eñ skrivet da c'houzout e plij deoc'h hag en enrollañ evit diwezhatoc'h.",
"interaction_modal.description.follow": "Gant ur gont Mastodon e c'hellit heuliañ {name} evit resev h·e gemennadoù war ho red degemer.", "interaction_modal.description.follow": "Gant ur gont Mastodon e c'hellit heuliañ {name} evit resev h·e c'h·gannadoù war ho red degemer.",
"interaction_modal.description.reblog": "Gant ur gont Mastodon e c'hellit skignañ ar c'hemennad-mañ evit rannañ anezhañ gant ho heulierien·ezed.", "interaction_modal.description.reblog": "Gant ur gont Mastodon e c'hellit skignañ ar c'hannad-mañ evit rannañ anezhañ gant ho heulierien·ezed.",
"interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'ar c'hemennad-mañ.", "interaction_modal.description.reply": "Gant ur gont Mastodon e c'hellit respont d'ar c'hannad-mañ.",
"interaction_modal.on_another_server": "War ur servijer all", "interaction_modal.on_another_server": "War ur servijer all",
"interaction_modal.on_this_server": "War ar servijer-mañ", "interaction_modal.on_this_server": "War ar servijer-mañ",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Ouzhpennañ kemennad {name} d'ar re vuiañ-karet", "interaction_modal.title.favourite": "Ouzhpennañ kannad {name} d'ar re vuiañ-karet",
"interaction_modal.title.follow": "Heuliañ {name}", "interaction_modal.title.follow": "Heuliañ {name}",
"interaction_modal.title.reblog": "Skignañ kemennad {name}", "interaction_modal.title.reblog": "Skignañ kannad {name}",
"interaction_modal.title.reply": "Respont da gemennad {name}", "interaction_modal.title.reply": "Respont da gannad {name}",
"intervals.full.days": "{number, plural, one {# devezh} other{# a zevezhioù}}", "intervals.full.days": "{number, plural, one {# devezh} other{# a zevezhioù}}",
"intervals.full.hours": "{number, plural, one {# eurvezh} other{# eurvezh}}", "intervals.full.hours": "{number, plural, one {# eurvezh} other{# eurvezh}}",
"intervals.full.minutes": "{number, plural, one {# munut} other{# a vunutoù}}", "intervals.full.minutes": "{number, plural, one {# munut} other{# a vunutoù}}",
"keyboard_shortcuts.back": "Distreiñ", "keyboard_shortcuts.back": "Distreiñ",
"keyboard_shortcuts.blocked": "Digeriñ roll an implijer.ezed.rien stanket", "keyboard_shortcuts.blocked": "Digeriñ roll an implijer.ezed.rien stanket",
"keyboard_shortcuts.boost": "Skignañ ar c'hemennad", "keyboard_shortcuts.boost": "Skignañ ar c'hannad",
"keyboard_shortcuts.column": "Fokus ar bann", "keyboard_shortcuts.column": "Fokus ar bann",
"keyboard_shortcuts.compose": "Fokus an takad testenn", "keyboard_shortcuts.compose": "Fokus an takad testenn",
"keyboard_shortcuts.description": "Deskrivadur", "keyboard_shortcuts.description": "Deskrivadur",
"keyboard_shortcuts.direct": "evit digeriñ bann ar c'hemennadoù eeun", "keyboard_shortcuts.direct": "evit digeriñ bann ar c'hemennadoù eeun",
"keyboard_shortcuts.down": "Diskennañ er roll", "keyboard_shortcuts.down": "Diskennañ er roll",
"keyboard_shortcuts.enter": "Digeriñ ar c'hemennad", "keyboard_shortcuts.enter": "Digeriñ ar c'hannad",
"keyboard_shortcuts.favourite": "Ouzhpennañ ar c'hemennad d'ar re vuiañ-karet", "keyboard_shortcuts.favourite": "Ouzhpennañ ar c'hannad d'ar re vuiañ-karet",
"keyboard_shortcuts.favourites": "Digeriñ roll an toudoù muiañ-karet", "keyboard_shortcuts.favourites": "Digeriñ roll an toudoù muiañ-karet",
"keyboard_shortcuts.federated": "Digeriñ ar red-amzer kevreet", "keyboard_shortcuts.federated": "Digeriñ ar red-amzer kevreet",
"keyboard_shortcuts.heading": "Berradennoù klavier", "keyboard_shortcuts.heading": "Berradennoù klavier",
@ -321,16 +323,16 @@
"keyboard_shortcuts.my_profile": "Digeriñ ho profil", "keyboard_shortcuts.my_profile": "Digeriñ ho profil",
"keyboard_shortcuts.notifications": "Digeriñ bann kemennoù", "keyboard_shortcuts.notifications": "Digeriñ bann kemennoù",
"keyboard_shortcuts.open_media": "Digeriñ ar media", "keyboard_shortcuts.open_media": "Digeriñ ar media",
"keyboard_shortcuts.pinned": "Digeriñ roll ar c'hemennadoù spilhennet", "keyboard_shortcuts.pinned": "Digeriñ roll ar c'hannadoù spilhennet",
"keyboard_shortcuts.profile": "Digeriñ profil an aozer.ez", "keyboard_shortcuts.profile": "Digeriñ profil an aozer.ez",
"keyboard_shortcuts.reply": "Respont d'ar c'hemennad", "keyboard_shortcuts.reply": "Respont d'ar c'hannad",
"keyboard_shortcuts.requests": "Digeriñ roll goulennoù heuliañ", "keyboard_shortcuts.requests": "Digeriñ roll goulennoù heuliañ",
"keyboard_shortcuts.search": "Fokus barenn klask", "keyboard_shortcuts.search": "Fokus barenn klask",
"keyboard_shortcuts.spoilers": "da guzhat/ziguzhat tachenn CW", "keyboard_shortcuts.spoilers": "da guzhat/ziguzhat tachenn CW",
"keyboard_shortcuts.start": "Digeriñ bann \"Kregiñ\"", "keyboard_shortcuts.start": "Digeriñ bann \"Kregiñ\"",
"keyboard_shortcuts.toggle_hidden": "da guzhat/ziguzhat an desten a-dreñv CW", "keyboard_shortcuts.toggle_hidden": "da guzhat/ziguzhat an desten a-dreñv CW",
"keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media", "keyboard_shortcuts.toggle_sensitivity": "da guzhat/ziguzhat ur media",
"keyboard_shortcuts.toot": "Kregiñ gant ur c'hemennad nevez", "keyboard_shortcuts.toot": "Kregiñ gant ur c'hannad nevez",
"keyboard_shortcuts.unfocus": "Difokus an dachenn testenn/klask", "keyboard_shortcuts.unfocus": "Difokus an dachenn testenn/klask",
"keyboard_shortcuts.up": "Pignat er roll", "keyboard_shortcuts.up": "Pignat er roll",
"lightbox.close": "Serriñ", "lightbox.close": "Serriñ",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Kuzhat ar skeudenn} other {Kuzhat ar skeudenn}}", "media_gallery.toggle_visible": "{number, plural, one {Kuzhat ar skeudenn} other {Kuzhat ar skeudenn}}",
"missing_indicator.label": "Digavet", "missing_indicator.label": "Digavet",
"missing_indicator.sublabel": "An danvez-se ne vez ket kavet", "missing_indicator.sublabel": "An danvez-se ne vez ket kavet",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Padelezh", "mute_modal.duration": "Padelezh",
"mute_modal.hide_notifications": "Kuzhat kemenadennoù eus an implijer-se ?", "mute_modal.hide_notifications": "Kuzhat kemenadennoù eus an implijer-se ?",
"mute_modal.indefinite": "Amstrizh", "mute_modal.indefinite": "Amstrizh",
@ -365,7 +368,7 @@
"navigation_bar.blocks": "Implijer·ezed·ien berzet", "navigation_bar.blocks": "Implijer·ezed·ien berzet",
"navigation_bar.bookmarks": "Sinedoù", "navigation_bar.bookmarks": "Sinedoù",
"navigation_bar.community_timeline": "Red-amzer lec'hel", "navigation_bar.community_timeline": "Red-amzer lec'hel",
"navigation_bar.compose": "Skrivañ ur c'hemennad nevez", "navigation_bar.compose": "Skrivañ ur c'hannad nevez",
"navigation_bar.direct": "Kemennadoù prevez", "navigation_bar.direct": "Kemennadoù prevez",
"navigation_bar.discover": "Dizoleiñ", "navigation_bar.discover": "Dizoleiñ",
"navigation_bar.domain_blocks": "Domanioù kuzhet", "navigation_bar.domain_blocks": "Domanioù kuzhet",
@ -379,7 +382,7 @@
"navigation_bar.logout": "Digennaskañ", "navigation_bar.logout": "Digennaskañ",
"navigation_bar.mutes": "Implijer·ion·ezed kuzhet", "navigation_bar.mutes": "Implijer·ion·ezed kuzhet",
"navigation_bar.personal": "Personel", "navigation_bar.personal": "Personel",
"navigation_bar.pins": "Kemennadoù spilhennet", "navigation_bar.pins": "Kannadoù spilhennet",
"navigation_bar.preferences": "Gwellvezioù", "navigation_bar.preferences": "Gwellvezioù",
"navigation_bar.public_timeline": "Red-amzer kevreet", "navigation_bar.public_timeline": "Red-amzer kevreet",
"navigation_bar.search": "Klask", "navigation_bar.search": "Klask",
@ -387,15 +390,15 @@
"not_signed_in_indicator.not_signed_in": "Ret eo deoc'h kevreañ evit tizhout an danvez-se.", "not_signed_in_indicator.not_signed_in": "Ret eo deoc'h kevreañ evit tizhout an danvez-se.",
"notification.admin.report": "Disklêriet eo bet {target} gant {name}", "notification.admin.report": "Disklêriet eo bet {target} gant {name}",
"notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv", "notification.admin.sign_up": "{name} en·he deus lakaet e·hec'h anv",
"notification.favourite": "{name} en·he deus ouzhpennet ho kemennad d'h·e re vuiañ-karet", "notification.favourite": "Gant {name} eo bet ouzhpennet ho kannad d'h·e re vuiañ-karet",
"notification.follow": "heuliañ a ra {name} ac'hanoc'h", "notification.follow": "heuliañ a ra {name} ac'hanoc'h",
"notification.follow_request": "{name} en/he deus goulennet da heuliañ ac'hanoc'h", "notification.follow_request": "Gant {name} eo bet goulennet ho heuliañ",
"notification.mention": "{name} en/he deus meneget ac'hanoc'h", "notification.mention": "Gant {name} oc'h bet meneget",
"notification.own_poll": "Echu eo ho sontadeg", "notification.own_poll": "Echu eo ho sontadeg",
"notification.poll": "Ur sontadeg ho deus mouezhet warnañ a zo echuet", "notification.poll": "Ur sontadeg ho deus mouezhet warnañ a zo echuet",
"notification.reblog": "{name} en·he deus skignet ho kemennad", "notification.reblog": "Skignet eo bet ho kannad gant {name}",
"notification.status": "{name} en·he deus embannet", "notification.status": "Emañ {name} o paouez embann",
"notification.update": "{name} en·he deus kemmet ur c'hemennad", "notification.update": "Kemmet ez eus bet ur c'hannad gant {name}",
"notifications.clear": "Skarzhañ ar c'hemennoù", "notifications.clear": "Skarzhañ ar c'hemennoù",
"notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?", "notifications.clear_confirmation": "Ha sur oc'h e fell deoc'h skarzhañ ho kemennoù penn-da-benn?",
"notifications.column_settings.admin.report": "Disklêriadurioù nevez :", "notifications.column_settings.admin.report": "Disklêriadurioù nevez :",
@ -413,7 +416,7 @@
"notifications.column_settings.reblog": "Skignadennoù:", "notifications.column_settings.reblog": "Skignadennoù:",
"notifications.column_settings.show": "Diskouez er bann", "notifications.column_settings.show": "Diskouez er bann",
"notifications.column_settings.sound": "Seniñ", "notifications.column_settings.sound": "Seniñ",
"notifications.column_settings.status": "Kemennadoù nevez :", "notifications.column_settings.status": "Kannadoù nevez :",
"notifications.column_settings.unread_notifications.category": "Kemennoù n'int ket lennet", "notifications.column_settings.unread_notifications.category": "Kemennoù n'int ket lennet",
"notifications.column_settings.unread_notifications.highlight": "Usskediñ kemennoù nevez", "notifications.column_settings.unread_notifications.highlight": "Usskediñ kemennoù nevez",
"notifications.column_settings.update": "Kemmoù :", "notifications.column_settings.update": "Kemmoù :",
@ -443,7 +446,7 @@
"poll.votes": "{votes, plural,one {#votadenn} other {# votadenn}}", "poll.votes": "{votes, plural,one {#votadenn} other {# votadenn}}",
"poll_button.add_poll": "Ouzhpennañ ur sontadeg", "poll_button.add_poll": "Ouzhpennañ ur sontadeg",
"poll_button.remove_poll": "Dilemel ar sontadeg", "poll_button.remove_poll": "Dilemel ar sontadeg",
"privacy.change": "Cheñch prevezded ar c'hemennad", "privacy.change": "Cheñch prevezded ar c'hannad",
"privacy.direct.long": "Embann evit an implijer·ezed·ien meneget hepken", "privacy.direct.long": "Embann evit an implijer·ezed·ien meneget hepken",
"privacy.direct.short": "Tud meneget hepken", "privacy.direct.short": "Tud meneget hepken",
"privacy.private.long": "Embann evit ar re a heuilh ac'hanon hepken", "privacy.private.long": "Embann evit ar re a heuilh ac'hanon hepken",
@ -470,20 +473,20 @@
"relative_time.today": "hiziv", "relative_time.today": "hiziv",
"reply_indicator.cancel": "Nullañ", "reply_indicator.cancel": "Nullañ",
"report.block": "Stankañ", "report.block": "Stankañ",
"report.block_explanation": "Ne vo ket gwelet h·e gemennadoù ken. Ne welo ket ho kemennadoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.", "report.block_explanation": "Ne vo ket gwelet kannadoù ar gont-se ken. Ne welo ket ho kemennadoù ha ne c'hello ket ho heuliañ ken. Gouzout a raio eo bet stanket ganeoc'h.",
"report.categories.other": "All", "report.categories.other": "All",
"report.categories.spam": "Spam", "report.categories.spam": "Spam",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "Content violates one or more server rules",
"report.category.subtitle": "Choazit ar pezh a glot ar gwellañ", "report.category.subtitle": "Choazit ar pezh a glot ar gwellañ",
"report.category.title": "Lârit deomp petra c'hoarvez gant {type}", "report.category.title": "Lârit deomp petra c'hoarvez gant {type}",
"report.category.title_account": "profil", "report.category.title_account": "profil",
"report.category.title_status": "ar c'hemennad-mañ", "report.category.title_status": "ar c'hannad-mañ",
"report.close": "Graet", "report.close": "Graet",
"report.comment.title": "Is there anything else you think we should know?", "report.comment.title": "Is there anything else you think we should know?",
"report.forward": "Treuzkas da: {target}", "report.forward": "Treuzkas da: {target}",
"report.forward_hint": "War ur servijer all emañ ar c'hont-se. Kas dezhañ un adskrid disanv eus an danevell ivez?", "report.forward_hint": "War ur servijer all emañ ar c'hont-se. Kas dezhañ un adskrid disanv eus an danevell ivez?",
"report.mute": "Kuzhat", "report.mute": "Kuzhat",
"report.mute_explanation": "Ne vo ket gwelet h·e gemennadoù ken. Gwelet ho kemennadoù ha ho heuliañ a c'hello ha ne ouezo ket eo bet kuzhet ganeoc'h.", "report.mute_explanation": "Ne vo ket gwelet kannadoù ar gont-se ken. Gwelet ho kemennadoù ha ho heuliañ a c'hello ha ne ouezo ket eo bet kuzhet ganeoc'h.",
"report.next": "War-raok", "report.next": "War-raok",
"report.placeholder": "Askelennoù ouzhpenn", "report.placeholder": "Askelennoù ouzhpenn",
"report.reasons.dislike": "Ne blij ket din", "report.reasons.dislike": "Ne blij ket din",
@ -516,15 +519,15 @@
"search_popout.search_format": "Framm klask araokaet", "search_popout.search_format": "Framm klask araokaet",
"search_popout.tips.full_text": "Testenn simpl a adkas toudoù skrivet ganeoc'h, merket ganeoc'h evel miuañ-karet, toudoù skignet, pe e-lec'h oc'h bet meneget, met ivez anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot.", "search_popout.tips.full_text": "Testenn simpl a adkas toudoù skrivet ganeoc'h, merket ganeoc'h evel miuañ-karet, toudoù skignet, pe e-lec'h oc'h bet meneget, met ivez anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot.",
"search_popout.tips.hashtag": "ger-klik", "search_popout.tips.hashtag": "ger-klik",
"search_popout.tips.status": "toud", "search_popout.tips.status": "kannad",
"search_popout.tips.text": "Testenn simpl a adkas anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot", "search_popout.tips.text": "Testenn simpl a adkas anvioù skrammañ, anvioù implijer ha gêrioù-klik hag a glot",
"search_popout.tips.user": "implijer·ez", "search_popout.tips.user": "implijer·ez",
"search_results.accounts": "Tud", "search_results.accounts": "Tud",
"search_results.all": "All", "search_results.all": "All",
"search_results.hashtags": "Gerioù-klik", "search_results.hashtags": "Gerioù-klik",
"search_results.nothing_found": "Could not find anything for these search terms", "search_results.nothing_found": "Could not find anything for these search terms",
"search_results.statuses": "a doudoù", "search_results.statuses": "Kannadoù",
"search_results.statuses_fts_disabled": "Klask toudoù dre oc'h endalc'h n'eo ket aotreet war ar servijer-mañ.", "search_results.statuses_fts_disabled": "Klask kannadoù dre oc'h endalc'h n'eo ket aotreet war ar servijer-mañ.",
"search_results.title": "Search for {q}", "search_results.title": "Search for {q}",
"search_results.total": "{count, number} {count, plural, one {disoc'h} other {a zisoc'h}}", "search_results.total": "{count, number} {count, plural, one {disoc'h} other {a zisoc'h}}",
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
@ -541,8 +544,8 @@
"status.block": "Berzañ @{name}", "status.block": "Berzañ @{name}",
"status.bookmark": "Ouzhpennañ d'ar sinedoù", "status.bookmark": "Ouzhpennañ d'ar sinedoù",
"status.cancel_reblog_private": "Nac'hañ ar skignadenn", "status.cancel_reblog_private": "Nac'hañ ar skignadenn",
"status.cannot_reblog": "An toud-se ne c'hall ket bezañ skignet", "status.cannot_reblog": "Ar c'hannad-se na c'hall ket bezañ skignet",
"status.copy": "Eilañ liamm an toud", "status.copy": "Eilañ liamm ar c'hannad",
"status.delete": "Dilemel", "status.delete": "Dilemel",
"status.detailed_status": "Gwel kaozeadenn munudek", "status.detailed_status": "Gwel kaozeadenn munudek",
"status.direct": "Kas ur c'hemennad prevez da @{name}", "status.direct": "Kas ur c'hemennad prevez da @{name}",
@ -551,7 +554,7 @@
"status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}", "status.edited_x_times": "Edited {count, plural, one {{count} time} other {{count} times}}",
"status.embed": "Enframmañ", "status.embed": "Enframmañ",
"status.favourite": "Muiañ-karet", "status.favourite": "Muiañ-karet",
"status.filter": "Filter this post", "status.filter": "Silañ ar c'hannad-mañ",
"status.filtered": "Silet", "status.filtered": "Silet",
"status.hide": "Hide toot", "status.hide": "Hide toot",
"status.history.created": "Krouet gant {name} {date}", "status.history.created": "Krouet gant {name} {date}",
@ -562,14 +565,14 @@
"status.more": "Muioc'h", "status.more": "Muioc'h",
"status.mute": "Kuzhat @{name}", "status.mute": "Kuzhat @{name}",
"status.mute_conversation": "Kuzhat ar gaozeadenn", "status.mute_conversation": "Kuzhat ar gaozeadenn",
"status.open": "Kreskaat an toud-mañ", "status.open": "Digeriñ ar c'hannad-mañ",
"status.pin": "Spilhennañ d'ar profil", "status.pin": "Spilhennañ d'ar profil",
"status.pinned": "Toud spilhennet", "status.pinned": "Kannad spilhennet",
"status.read_more": "Lenn muioc'h", "status.read_more": "Lenn muioc'h",
"status.reblog": "Skignañ", "status.reblog": "Skignañ",
"status.reblog_private": "Skignañ gant ar weledenn gentañ", "status.reblog_private": "Skignañ gant ar weledenn gentañ",
"status.reblogged_by": "{name} en/he deus skignet", "status.reblogged_by": "Skignet gant {name}",
"status.reblogs.empty": "Den ebet n'eus skignet an toud-mañ c'hoazh. Pa vo graet gant unan bennak e vo diskouezet amañ.", "status.reblogs.empty": "Den ebet n'eus skignet ar c'hannad-mañ c'hoazh. Pa vo graet gant unan bennak e teuio war wel amañ.",
"status.redraft": "Diverkañ ha skrivañ en-dro", "status.redraft": "Diverkañ ha skrivañ en-dro",
"status.remove_bookmark": "Dilemel ar sined", "status.remove_bookmark": "Dilemel ar sined",
"status.replied_to": "Replied to {name}", "status.replied_to": "Replied to {name}",
@ -606,7 +609,7 @@
"timeline_hint.remote_resource_not_displayed": "{resource} eus servijerien all n'int ket skrammet.", "timeline_hint.remote_resource_not_displayed": "{resource} eus servijerien all n'int ket skrammet.",
"timeline_hint.resources.followers": "Heulier·ezed·ien", "timeline_hint.resources.followers": "Heulier·ezed·ien",
"timeline_hint.resources.follows": "Heuliañ", "timeline_hint.resources.follows": "Heuliañ",
"timeline_hint.resources.statuses": "Toudoù koshoc'h", "timeline_hint.resources.statuses": "Kannadoù koshoc'h",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}",
"trends.trending_now": "Luskad ar mare", "trends.trending_now": "Luskad ar mare",
"ui.beforeunload": "Kollet e vo ho prell ma kuitit Mastodon.", "ui.beforeunload": "Kollet e vo ho prell ma kuitit Mastodon.",

View File

@ -1,16 +1,14 @@
{ {
"about.blocks": "Servidors moderats", "about.blocks": "Servidors moderats",
"about.contact": "Contacte:", "about.contact": "Contacte:",
"about.disclaimer": "Mastodon és un programari lliure de codi obert i una marca comercial de Mastodon gGmbH.", "about.disclaimer": "Mastodon és programari lliure de codi obert i una marca comercial de Mastodon gGmbH.",
"about.domain_blocks.comment": "Motiu", "about.domain_blocks.no_reason_available": "No és disponible el motiu",
"about.domain_blocks.domain": "Domini",
"about.domain_blocks.preamble": "En general, Mastodon et permet veure el contingut i interaccionar amb els usuaris de qualsevol altre servidor del fedivers. Aquestes són les excepcions que s'han fet en aquest servidor particular.", "about.domain_blocks.preamble": "En general, Mastodon et permet veure el contingut i interaccionar amb els usuaris de qualsevol altre servidor del fedivers. Aquestes són les excepcions que s'han fet en aquest servidor particular.",
"about.domain_blocks.severity": "Severitat", "about.domain_blocks.silenced.explanation": "Generalment no veuràs perfils ni contingut d'aquest servidor, a menys que el cerquis explícitament o optis per seguir-lo.",
"about.domain_blocks.silenced.explanation": "Generalment no veuràs perfils ni contingut d'aquest servidor, a menys que el cerquis explícitament o optis per ell seguint-lo.",
"about.domain_blocks.silenced.title": "Limitat", "about.domain_blocks.silenced.title": "Limitat",
"about.domain_blocks.suspended.explanation": "No es processaran, emmagatzemaran ni s'intercanviaran dades d'aquest servidor, fent impossible qualsevol interacció o comunicació amb els usuaris d'aquest servidor.", "about.domain_blocks.suspended.explanation": "No es processaran, emmagatzemaran ni intercanviaran dades d'aquest servidor, fent impossible qualsevol interacció o comunicació amb els seus usuaris.",
"about.domain_blocks.suspended.title": "Suspès", "about.domain_blocks.suspended.title": "Suspès",
"about.not_available": "Aquesta informació no s'ha fet disponible en aquest servidor.", "about.not_available": "Aquesta informació no és disponible en aquest servidor.",
"about.powered_by": "Xarxa social descentralitzada impulsada per {mastodon}", "about.powered_by": "Xarxa social descentralitzada impulsada per {mastodon}",
"about.rules": "Normes del servidor", "about.rules": "Normes del servidor",
"account.account_note_header": "Nota", "account.account_note_header": "Nota",
@ -21,24 +19,25 @@
"account.block_domain": "Bloqueja el domini {domain}", "account.block_domain": "Bloqueja el domini {domain}",
"account.blocked": "Bloquejat", "account.blocked": "Bloquejat",
"account.browse_more_on_origin_server": "Navega més en el perfil original", "account.browse_more_on_origin_server": "Navega més en el perfil original",
"account.cancel_follow_request": "Retirar la sol·licitud de seguiment", "account.cancel_follow_request": "Retira la sol·licitud de seguiment",
"account.direct": "Envia missatge directe a @{name}", "account.direct": "Envia missatge directe a @{name}",
"account.disable_notifications": "No em notifiquis les publicacions de @{name}", "account.disable_notifications": "No em notifiquis les publicacions de @{name}",
"account.domain_blocked": "Domini bloquejat", "account.domain_blocked": "Domini blocat",
"account.edit_profile": "Edita el perfil", "account.edit_profile": "Edita el perfil",
"account.enable_notifications": "Notificam les publicacions de @{name}", "account.enable_notifications": "Notifica'm les publicacions de @{name}",
"account.endorse": "Recomana en el teu perfil", "account.endorse": "Recomana en el perfil",
"account.featured_tags.last_status_at": "Darrer apunt el {date}", "account.featured_tags.last_status_at": "Última publicació el {date}",
"account.featured_tags.last_status_never": "Sense apunts", "account.featured_tags.last_status_never": "No hi ha publicacions",
"account.featured_tags.title": "etiquetes destacades de {name}", "account.featured_tags.title": "Etiquetes destacades de: {name}",
"account.follow": "Segueix", "account.follow": "Segueix",
"account.followers": "Seguidors", "account.followers": "Seguidors",
"account.followers.empty": "Ningú segueix aquest usuari encara.", "account.followers.empty": "Encara ningú no segueix aquest usuari.",
"account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}", "account.followers_counter": "{count, plural, one {{counter} Seguidor} other {{counter} Seguidors}}",
"account.following": "Seguint", "account.following": "Seguint",
"account.following_counter": "{count, plural, other {{counter} Seguint}}", "account.following_counter": "{count, plural, other {{counter} Seguint}}",
"account.follows.empty": "Aquest usuari encara no segueix ningú.", "account.follows.empty": "Aquest usuari encara no segueix ningú.",
"account.follows_you": "Et segueix", "account.follows_you": "Et segueix",
"account.go_to_profile": "Anar al perfil",
"account.hide_reblogs": "Amaga els impulsos de @{name}", "account.hide_reblogs": "Amaga els impulsos de @{name}",
"account.joined_short": "S'ha unit", "account.joined_short": "S'ha unit",
"account.languages": "Canviar les llengües subscrits", "account.languages": "Canviar les llengües subscrits",
@ -46,31 +45,32 @@
"account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.", "account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.",
"account.media": "Multimèdia", "account.media": "Multimèdia",
"account.mention": "Menciona @{name}", "account.mention": "Menciona @{name}",
"account.moved_to": "{name} s'ha traslladat a:", "account.moved_to": "{name} ha indicat que el seu nou compte ara és:",
"account.mute": "Silencia @{name}", "account.mute": "Silencia @{name}",
"account.mute_notifications": "Silencia les notificacions de @{name}", "account.mute_notifications": "Silencia les notificacions de @{name}",
"account.muted": "Silenciat", "account.muted": "Silenciat",
"account.open_original_page": "Obre la pàgina original",
"account.posts": "Publicacions", "account.posts": "Publicacions",
"account.posts_with_replies": "Publicacions i respostes", "account.posts_with_replies": "Publicacions i respostes",
"account.report": "Informa sobre @{name}", "account.report": "Informa quant a @{name}",
"account.requested": "Esperant aprovació. Fes clic per cancel·lar la petició de seguiment", "account.requested": "S'està esperant l'aprovació. Feu clic per a cancel·lar la petició de seguiment",
"account.share": "Comparteix el perfil de @{name}", "account.share": "Comparteix el perfil de @{name}",
"account.show_reblogs": "Mostra els impulsos de @{name}", "account.show_reblogs": "Mostra els impulsos de @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Publicació} other {{counter} Publicacions}}", "account.statuses_counter": "{count, plural, one {{counter} Publicació} other {{counter} Publicacions}}",
"account.unblock": "Desbloqueja @{name}", "account.unblock": "Desbloqueja @{name}",
"account.unblock_domain": "Desbloqueja el domini {domain}", "account.unblock_domain": "Desbloqueja el domini {domain}",
"account.unblock_short": "Desbloquejar", "account.unblock_short": "Desbloqueja",
"account.unendorse": "No recomanar en el perfil", "account.unendorse": "No recomanis en el perfil",
"account.unfollow": "Deixar de seguir", "account.unfollow": "Deixa de seguir",
"account.unmute": "Deixar de silenciar @{name}", "account.unmute": "Deixar de silenciar @{name}",
"account.unmute_notifications": "Activar notificacions de @{name}", "account.unmute_notifications": "Activa les notificacions de @{name}",
"account.unmute_short": "Deixa de silenciar", "account.unmute_short": "Deixa de silenciar",
"account_note.placeholder": "Clica per afegir-hi una nota", "account_note.placeholder": "Clica per afegir-hi una nota",
"admin.dashboard.daily_retention": "Ràtio de retenció d'usuaris nous, per dia, després del registre", "admin.dashboard.daily_retention": "Ràtio de retenció d'usuaris nous per dia, després del registre",
"admin.dashboard.monthly_retention": "Ràtio de retenció d'usuaris nous, per mes, després del registre", "admin.dashboard.monthly_retention": "Ràtio de retenció d'usuaris nous per mes, després del registre",
"admin.dashboard.retention.average": "Mitjana", "admin.dashboard.retention.average": "Mitjana",
"admin.dashboard.retention.cohort": "Mes del registre", "admin.dashboard.retention.cohort": "Mes de registre",
"admin.dashboard.retention.cohort_size": "Nous usuaris", "admin.dashboard.retention.cohort_size": "Usuaris nous",
"alert.rate_limited.message": "Si us plau, torna-ho a provar després de {retry_time, time, medium}.", "alert.rate_limited.message": "Si us plau, torna-ho a provar després de {retry_time, time, medium}.",
"alert.rate_limited.title": "Límit de freqüència", "alert.rate_limited.title": "Límit de freqüència",
"alert.unexpected.message": "S'ha produït un error inesperat.", "alert.unexpected.message": "S'ha produït un error inesperat.",
@ -79,21 +79,21 @@
"attachments_list.unprocessed": "(sense processar)", "attachments_list.unprocessed": "(sense processar)",
"audio.hide": "Amaga l'àudio", "audio.hide": "Amaga l'àudio",
"autosuggest_hashtag.per_week": "{count} per setmana", "autosuggest_hashtag.per_week": "{count} per setmana",
"boost_modal.combo": "Pots prémer {combo} per evitar-ho el pròxim cop", "boost_modal.combo": "Podeu prémer {combo} per a evitar-ho el pròxim cop",
"bundle_column_error.copy_stacktrace": "Copiar l'informe d'error", "bundle_column_error.copy_stacktrace": "Copia l'informe d'error",
"bundle_column_error.error.body": "No s'ha pogut renderitzar la pàgina sol·licitada. Podría ser degut a un error en el nostre codi o un problema de compatibilitat del navegador.", "bundle_column_error.error.body": "No s'ha pogut renderitzar la pàgina sol·licitada. Podria ser per un error en el nostre codi o per un problema de compatibilitat del navegador.",
"bundle_column_error.error.title": "Oh, no!", "bundle_column_error.error.title": "Oh, no!",
"bundle_column_error.network.body": "Hi ha hagut un error al intentar carregar aquesta pàgina. Això podria ser degut a un problem temporal amb la teva connexió a internet o amb aquest servidor.", "bundle_column_error.network.body": "Hi ha hagut un error en intentar carregar aquesta pàgina. Això podria ser per un problema temporal amb la teva connexió a internet o amb aquest servidor.",
"bundle_column_error.network.title": "Error de xarxa", "bundle_column_error.network.title": "Error de connexió",
"bundle_column_error.retry": "Tornar-ho a provar", "bundle_column_error.retry": "Torna-ho a provar",
"bundle_column_error.return": "Torna a Inici", "bundle_column_error.return": "Torna a Inici",
"bundle_column_error.routing.body": "No es pot trobar la pàgina sol·licitada. Estàs segur que la URL de la barra d'adreces és correcte?", "bundle_column_error.routing.body": "No es pot trobar la pàgina sol·licitada. Segur que la URL de la barra d'adreces és correcta?",
"bundle_column_error.routing.title": "404", "bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Tanca", "bundle_modal_error.close": "Tanca",
"bundle_modal_error.message": "S'ha produït un error en carregar aquest component.", "bundle_modal_error.message": "S'ha produït un error en carregar aquest component.",
"bundle_modal_error.retry": "Tornar-ho a provar", "bundle_modal_error.retry": "Torna-ho a provar",
"closed_registrations.other_server_instructions": "Donat que Mastodon és descentralitzat, pots crear un compte en un altre servidor i encara interactuar amb aquest.", "closed_registrations.other_server_instructions": "Com que Mastodon és descentralitzat, pots crear un compte en un altre servidor i seguir interactuant amb aquest.",
"closed_registrations_modal.description": "Crear un compte a {domain} no és possible ara mateix però, si us plau, tingues en compte que no necessites específicament un compte a {domain} per a usar Mastodon.", "closed_registrations_modal.description": "No es pot crear un compte a {domain} ara mateix, però tingueu en compte que no necessiteu específicament un compte a {domain} per a usar Mastodon.",
"closed_registrations_modal.find_another_server": "Troba un altre servidor", "closed_registrations_modal.find_another_server": "Troba un altre servidor",
"closed_registrations_modal.preamble": "Mastodon és descentralitzat per tant no importa on tinguis el teu compte, seràs capaç de seguir i interactuar amb tothom des d'aquest servidor. Fins i tot pots tenir el compte en el teu propi servidor!", "closed_registrations_modal.preamble": "Mastodon és descentralitzat per tant no importa on tinguis el teu compte, seràs capaç de seguir i interactuar amb tothom des d'aquest servidor. Fins i tot pots tenir el compte en el teu propi servidor!",
"closed_registrations_modal.title": "Registrant-se a Mastodon", "closed_registrations_modal.title": "Registrant-se a Mastodon",
@ -104,7 +104,7 @@
"column.direct": "Missatges directes", "column.direct": "Missatges directes",
"column.directory": "Navegar pels perfils", "column.directory": "Navegar pels perfils",
"column.domain_blocks": "Dominis bloquejats", "column.domain_blocks": "Dominis bloquejats",
"column.favourites": "Favorits", "column.favourites": "Preferits",
"column.follow_requests": "Peticions per a seguir-te", "column.follow_requests": "Peticions per a seguir-te",
"column.home": "Inici", "column.home": "Inici",
"column.lists": "Llistes", "column.lists": "Llistes",
@ -130,7 +130,7 @@
"compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta, ja que no està llistada. Només les publicacions públiques es poden cercar per etiqueta.", "compose_form.hashtag_warning": "Aquesta publicació no es mostrarà en cap etiqueta, ja que no està llistada. Només les publicacions públiques es poden cercar per etiqueta.",
"compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure les publicacions de només per a seguidors.", "compose_form.lock_disclaimer": "El teu compte no està {locked}. Tothom pot seguir-te i veure les publicacions de només per a seguidors.",
"compose_form.lock_disclaimer.lock": "bloquejat", "compose_form.lock_disclaimer.lock": "bloquejat",
"compose_form.placeholder": "Què et passa pel cap?", "compose_form.placeholder": "Què tens en ment?",
"compose_form.poll.add_option": "Afegir una opció", "compose_form.poll.add_option": "Afegir una opció",
"compose_form.poll.duration": "Durada de l'enquesta", "compose_form.poll.duration": "Durada de l'enquesta",
"compose_form.poll.option_placeholder": "Opció {number}", "compose_form.poll.option_placeholder": "Opció {number}",
@ -166,7 +166,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.explanation": "Això amagarà les seves publicacions i les que els mencionen, però encara els permetrà veure les teves i seguir-te.",
"confirmations.mute.message": "Segur que vols silenciar {name}?", "confirmations.mute.message": "Segur que vols silenciar {name}?",
"confirmations.redraft.confirm": "Esborra'l i reescriure-lo", "confirmations.redraft.confirm": "Esborra'l i reescriure-lo",
"confirmations.redraft.message": "Segur que vols esborrar aquesta publicació i tornar-la a escriure? Perdràs tots els impulsos i els favorits, i les respostes a la publicació original es quedaran orfes.", "confirmations.redraft.message": "Segur que vols esborrar aquesta publicació i tornar-la a escriure? Perdràs tots els impulsos i els preferits, i les respostes a la publicació original es quedaran orfes.",
"confirmations.reply.confirm": "Respon", "confirmations.reply.confirm": "Respon",
"confirmations.reply.message": "Si respons ara, sobreescriuràs el missatge que estàs editant. Segur que vols continuar?", "confirmations.reply.message": "Si respons ara, sobreescriuràs el missatge que estàs editant. Segur que vols continuar?",
"confirmations.unfollow.confirm": "Deixa de seguir", "confirmations.unfollow.confirm": "Deixa de seguir",
@ -181,12 +181,14 @@
"directory.local": "Només de {domain}", "directory.local": "Només de {domain}",
"directory.new_arrivals": "Arribades noves", "directory.new_arrivals": "Arribades noves",
"directory.recently_active": "Recentment actius", "directory.recently_active": "Recentment actius",
"dismissable_banner.community_timeline": "Aquests son els apunts més recents d'usuaris amb els seus comptes a {domain}.", "disabled_account_banner.account_settings": "Paràmetres del compte",
"disabled_account_banner.text": "El teu compte {disabledAccount} està actualment desactivat.",
"dismissable_banner.community_timeline": "Aquestes són les publicacions més recents d'usuaris amb els seus comptes a {domain}.",
"dismissable_banner.dismiss": "Ometre", "dismissable_banner.dismiss": "Ometre",
"dismissable_banner.explore_links": "Aquests son els enllaços que els usuaris estan comentant ara mateix en aquest i altres servidors de la xarxa descentralitzada.", "dismissable_banner.explore_links": "Aquests son els enllaços que els usuaris estan comentant ara mateix en aquest i altres servidors de la xarxa descentralitzada.",
"dismissable_banner.explore_statuses": "Aquests apunts d'aquest i altres servidors de la xarxa descentralitzada estan guanyant l'atenció ara mateix en aquest servidor.", "dismissable_banner.explore_statuses": "Aquestes publicacions d'aquest i altres servidors de la xarxa descentralitzada estan guanyant l'atenció ara mateix en aquest servidor.",
"dismissable_banner.explore_tags": "Aquestes etiquetes estan guanyant l'atenció ara mateix dels usuaris d'aquest i altres servidors de la xarxa descentralitzada.", "dismissable_banner.explore_tags": "Aquestes etiquetes estan guanyant l'atenció ara mateix dels usuaris d'aquest i altres servidors de la xarxa descentralitzada.",
"dismissable_banner.public_timeline": "Aquests son els apunts més recents dels usuaris d'aquest i d'altres servidors de la xarxa descentralitzada que aquest servidor en té coneixement.", "dismissable_banner.public_timeline": "Aquestes són les publicacions públiques més recents de persones en aquest i altres servidors de la xarxa descentralitzada que aquest servidor coneix.",
"embed.instructions": "Incrusta aquesta publicació a la teva pàgina web copiant el codi següent.", "embed.instructions": "Incrusta aquesta publicació a la teva pàgina web copiant el codi següent.",
"embed.preview": "Aquí està quin aspecte tindrà:", "embed.preview": "Aquí està quin aspecte tindrà:",
"emoji_button.activity": "Activitat", "emoji_button.activity": "Activitat",
@ -208,7 +210,7 @@
"empty_column.account_timeline": "No hi ha publicacions aquí!", "empty_column.account_timeline": "No hi ha publicacions aquí!",
"empty_column.account_unavailable": "Perfil no disponible", "empty_column.account_unavailable": "Perfil no disponible",
"empty_column.blocks": "Encara no has bloquejat cap usuari.", "empty_column.blocks": "Encara no has bloquejat cap usuari.",
"empty_column.bookmarked_statuses": "Encara no has marcat com publicació com a preferida. Quan en marquis una apareixerà aquí.", "empty_column.bookmarked_statuses": "Encara no has marcat cap publicació com a preferida. Quan en marquis una, apareixerà aquí.",
"empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per posar-ho tot en marxa!", "empty_column.community": "La línia de temps local és buida. Escriu alguna cosa públicament per posar-ho tot en marxa!",
"empty_column.direct": "Encara no tens missatges directes. Quan n'enviïs o en rebis, es mostraran aquí.", "empty_column.direct": "Encara no tens missatges directes. Quan n'enviïs o en rebis, es mostraran aquí.",
"empty_column.domain_blocks": "Encara no hi ha dominis bloquejats.", "empty_column.domain_blocks": "Encara no hi ha dominis bloquejats.",
@ -237,25 +239,25 @@
"explore.trending_links": "Notícies", "explore.trending_links": "Notícies",
"explore.trending_statuses": "Publicacions", "explore.trending_statuses": "Publicacions",
"explore.trending_tags": "Etiquetes", "explore.trending_tags": "Etiquetes",
"filter_modal.added.context_mismatch_explanation": "Aquesta categoria del filtr no aplica al context en el que has accedit a aquest apunt. Si vols que l'apunt sigui filtrat també en aquest context, hauràs d'editar el filtre.", "filter_modal.added.context_mismatch_explanation": "Aquesta categoria de filtre no s'aplica al context en què has accedit a aquesta publicació. Si també vols que la publicació es filtri en aquest context, hauràs d'editar el filtre.",
"filter_modal.added.context_mismatch_title": "El context no coincideix!", "filter_modal.added.context_mismatch_title": "El context no coincideix!",
"filter_modal.added.expired_explanation": "La categoria d'aquest filtre ha caducat, necesitaràs canviar la seva data de caducitat per a aplicar-la.", "filter_modal.added.expired_explanation": "La categoria d'aquest filtre ha caducat, necesitaràs canviar la seva data de caducitat per a aplicar-la.",
"filter_modal.added.expired_title": "Filtre caducat!", "filter_modal.added.expired_title": "Filtre caducat!",
"filter_modal.added.review_and_configure": "Per a revisar i configurar aquesta categoria de filtre, ves a {settings_link}.", "filter_modal.added.review_and_configure": "Per a revisar i configurar aquesta categoria de filtre, ves a {settings_link}.",
"filter_modal.added.review_and_configure_title": "Configuració del filtre", "filter_modal.added.review_and_configure_title": "Configuració del filtre",
"filter_modal.added.settings_link": "pàgina de configuració", "filter_modal.added.settings_link": "pàgina de configuració",
"filter_modal.added.short_explanation": "Aquest apunt s'ha afegit a la següent categoria de filtre: {title}.", "filter_modal.added.short_explanation": "Aquesta publicació s'ha afegit a la següent categoria de filtre: {title}.",
"filter_modal.added.title": "Filtre afegit!", "filter_modal.added.title": "Filtre afegit!",
"filter_modal.select_filter.context_mismatch": "no aplica en aquest context", "filter_modal.select_filter.context_mismatch": "no aplica en aquest context",
"filter_modal.select_filter.expired": "caducat", "filter_modal.select_filter.expired": "caducat",
"filter_modal.select_filter.prompt_new": "Nova categoria: {name}", "filter_modal.select_filter.prompt_new": "Nova categoria: {name}",
"filter_modal.select_filter.search": "Cerca o crea", "filter_modal.select_filter.search": "Cerca o crea",
"filter_modal.select_filter.subtitle": "Usa una categoria existent o crea una nova", "filter_modal.select_filter.subtitle": "Usa una categoria existent o crea una nova",
"filter_modal.select_filter.title": "Filtra aquest apunt", "filter_modal.select_filter.title": "Filtra aquesta publicació",
"filter_modal.title.status": "Filtre un apunt", "filter_modal.title.status": "Filtra una publicació",
"follow_recommendations.done": "Fet", "follow_recommendations.done": "Fet",
"follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure les seves publicacions! Aquí hi ha algunes recomanacions.", "follow_recommendations.heading": "Segueix a la gent de la que t'agradaria veure les seves publicacions! Aquí hi ha algunes recomanacions.",
"follow_recommendations.lead": "Les publicacions del usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!", "follow_recommendations.lead": "Les publicacions dels usuaris que segueixes es mostraran en ordre cronològic en la teva línia de temps Inici. No tinguis por en cometre errors, pots fàcilment deixar de seguir-los en qualsevol moment!",
"follow_request.authorize": "Autoritza", "follow_request.authorize": "Autoritza",
"follow_request.reject": "Rebutja", "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 daquests comptes manualment.", "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 daquests comptes manualment.",
@ -284,18 +286,18 @@
"home.column_settings.show_replies": "Mostra les respostes", "home.column_settings.show_replies": "Mostra les respostes",
"home.hide_announcements": "Amaga els anuncis", "home.hide_announcements": "Amaga els anuncis",
"home.show_announcements": "Mostra els anuncis", "home.show_announcements": "Mostra els anuncis",
"interaction_modal.description.favourite": "Amb un compte a Mastodon, pots afavorir aquest apunt per a deixar que l'autor sàpiga que t'ha agradat i desar-lo per més tard.", "interaction_modal.description.favourite": "Amb un compte a Mastodon, pots afavorir aquesta publicació perquè l'autor sàpiga que t'ha agradat i desar-la per a més endavant.",
"interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre els seus apunts en la teva línia de temps Inici.", "interaction_modal.description.follow": "Amb un compte a Mastodon, pots seguir a {name} per a rebre les seves publicacions en la teva línia de temps d'Inici.",
"interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquest apunt per a compartir-lo amb els teus seguidors.", "interaction_modal.description.reblog": "Amb un compte a Mastodon, pots impulsar aquesta publicació per a compartir-la amb els teus seguidors.",
"interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquest apunt.", "interaction_modal.description.reply": "Amb un compte a Mastodon, pots respondre aquesta publicació.",
"interaction_modal.on_another_server": "En un servidor diferent", "interaction_modal.on_another_server": "En un servidor diferent",
"interaction_modal.on_this_server": "En aquest servidor", "interaction_modal.on_this_server": "En aquest servidor",
"interaction_modal.other_server_instructions": "Simplement còpia i enganxa aquesta URL en la barra de cerca de la teva aplicació preferida o en l'interfície web on tens sessió iniciada.", "interaction_modal.other_server_instructions": "Copia i enganxa aquest enllaç en el camp de cerca de la teva aplicació Mastodon preferida o en l'interfície web del teu servidor Mastodon.",
"interaction_modal.preamble": "Donat que Mastodon és descentralitzat, pots fer servir el teu compte existent a un altre servidor Mastodon o plataforma compatible si és que no tens compte en aquest.", "interaction_modal.preamble": "Donat que Mastodon és descentralitzat, pots fer servir el teu compte existent a un altre servidor Mastodon o plataforma compatible si és que no tens compte en aquest.",
"interaction_modal.title.favourite": "Afavoreix l'apunt de {name}", "interaction_modal.title.favourite": "Marca la publicació de {name}",
"interaction_modal.title.follow": "Segueix {name}", "interaction_modal.title.follow": "Segueix {name}",
"interaction_modal.title.reblog": "Impulsa l'apunt de {name}", "interaction_modal.title.reblog": "Impulsa la publicació de {name}",
"interaction_modal.title.reply": "Respon l'apunt de {name}", "interaction_modal.title.reply": "Respon a la publicació de {name}",
"intervals.full.days": "{number, plural, one {# dia} other {# dies}}", "intervals.full.days": "{number, plural, one {# dia} other {# dies}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}", "intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
"intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}", "intervals.full.minutes": "{number, plural, one {# minut} other {# minuts}}",
@ -308,7 +310,7 @@
"keyboard_shortcuts.direct": "per obrir la columna de missatges directes", "keyboard_shortcuts.direct": "per obrir la columna de missatges directes",
"keyboard_shortcuts.down": "Mou-lo avall en la llista", "keyboard_shortcuts.down": "Mou-lo avall en la llista",
"keyboard_shortcuts.enter": "Obrir publicació", "keyboard_shortcuts.enter": "Obrir publicació",
"keyboard_shortcuts.favourite": "Afavoreix la publicació", "keyboard_shortcuts.favourite": "Marca la publicació",
"keyboard_shortcuts.favourites": "Obre la llista de preferits", "keyboard_shortcuts.favourites": "Obre la llista de preferits",
"keyboard_shortcuts.federated": "Obre la línia de temps federada", "keyboard_shortcuts.federated": "Obre la línia de temps federada",
"keyboard_shortcuts.heading": "Dreceres de teclat", "keyboard_shortcuts.heading": "Dreceres de teclat",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Amaga imatge} other {Amaga imatges}}", "media_gallery.toggle_visible": "{number, plural, one {Amaga imatge} other {Amaga imatges}}",
"missing_indicator.label": "No s'ha trobat", "missing_indicator.label": "No s'ha trobat",
"missing_indicator.sublabel": "Aquest recurs no s'ha trobat", "missing_indicator.sublabel": "Aquest recurs no s'ha trobat",
"moved_to_account_banner.text": "El teu compte {disabledAccount} està actualment desactivat perquè l'has traslladat a {movedToAccount}.",
"mute_modal.duration": "Durada", "mute_modal.duration": "Durada",
"mute_modal.hide_notifications": "Amagar les notificacions d'aquest usuari?", "mute_modal.hide_notifications": "Amagar les notificacions d'aquest usuari?",
"mute_modal.indefinite": "Indefinit", "mute_modal.indefinite": "Indefinit",
@ -387,7 +390,7 @@
"not_signed_in_indicator.not_signed_in": "Necessites registrar-te per a accedir aquest recurs.", "not_signed_in_indicator.not_signed_in": "Necessites registrar-te per a accedir aquest recurs.",
"notification.admin.report": "{name} ha reportat {target}", "notification.admin.report": "{name} ha reportat {target}",
"notification.admin.sign_up": "{name} s'ha registrat", "notification.admin.sign_up": "{name} s'ha registrat",
"notification.favourite": "{name} ha afavorit la teva publicació", "notification.favourite": "a {name} li ha agradat la teva publicació",
"notification.follow": "{name} et segueix", "notification.follow": "{name} et segueix",
"notification.follow_request": "{name} ha sol·licitat seguir-te", "notification.follow_request": "{name} ha sol·licitat seguir-te",
"notification.mention": "{name} t'ha mencionat", "notification.mention": "{name} t'ha mencionat",
@ -535,11 +538,11 @@
"server_banner.server_stats": "Estadístiques del servidor:", "server_banner.server_stats": "Estadístiques del servidor:",
"sign_in_banner.create_account": "Crea un compte", "sign_in_banner.create_account": "Crea un compte",
"sign_in_banner.sign_in": "Inicia sessió", "sign_in_banner.sign_in": "Inicia sessió",
"sign_in_banner.text": "Inicia sessió per a seguir perfils o etiquetes, afavorir, compartir o respondre apunts, o interactuar des d'el teu compte amb un servidor diferent.", "sign_in_banner.text": "Inicia la sessió per seguir perfils o etiquetes, afavorir, compartir i respondre a publicacions o interactuar des del teu compte en un servidor diferent.",
"status.admin_account": "Obre l'interfície de moderació per a @{name}", "status.admin_account": "Obre l'interfície de moderació per a @{name}",
"status.admin_status": "Obrir aquesta publicació a la interfície de moderació", "status.admin_status": "Obrir aquesta publicació a la interfície de moderació",
"status.block": "Bloqueja @{name}", "status.block": "Bloqueja @{name}",
"status.bookmark": "Afavoreix", "status.bookmark": "Marca",
"status.cancel_reblog_private": "Desfés l'impuls", "status.cancel_reblog_private": "Desfés l'impuls",
"status.cannot_reblog": "Aquesta publicació no es pot impulsar", "status.cannot_reblog": "Aquesta publicació no es pot impulsar",
"status.copy": "Copia l'enllaç a la publicació", "status.copy": "Copia l'enllaç a la publicació",
@ -550,8 +553,8 @@
"status.edited": "Editat {date}", "status.edited": "Editat {date}",
"status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}", "status.edited_x_times": "Editat {count, plural, one {{count} vegada} other {{count} vegades}}",
"status.embed": "Incrusta", "status.embed": "Incrusta",
"status.favourite": "Favorit", "status.favourite": "Preferir",
"status.filter": "Filtre aquest apunt", "status.filter": "Filtra aquesta publicació",
"status.filtered": "Filtrat", "status.filtered": "Filtrat",
"status.hide": "Amaga publicació", "status.hide": "Amaga publicació",
"status.history.created": "{name} ha creat {date}", "status.history.created": "{name} ha creat {date}",
@ -589,7 +592,7 @@
"status.uncached_media_warning": "No està disponible", "status.uncached_media_warning": "No està disponible",
"status.unmute_conversation": "No silenciïs la conversa", "status.unmute_conversation": "No silenciïs la conversa",
"status.unpin": "No fixis al perfil", "status.unpin": "No fixis al perfil",
"subscribed_languages.lead": "Només els apunts en les llengües seleccionades apareixeran en le teves línies de temps Inici i llista després del canvi. No en seleccionis cap per a rebre apunts en totes les llengües.", "subscribed_languages.lead": "Només les publicacions en les llengües seleccionades apareixeran en les teves línies de temps \"Inici\" i \"Llistes\" després del canvi. No en seleccionis cap per a rebre publicacions en totes les llengües.",
"subscribed_languages.save": "Desa els canvis", "subscribed_languages.save": "Desa els canvis",
"subscribed_languages.target": "Canvia les llengües subscrites per a {target}", "subscribed_languages.target": "Canvia les llengües subscrites per a {target}",
"suggestions.dismiss": "Ignora el suggeriment", "suggestions.dismiss": "Ignora el suggeriment",
@ -603,7 +606,7 @@
"time_remaining.minutes": "{number, plural, one {# minut} other {# minuts}} restants", "time_remaining.minutes": "{number, plural, one {# minut} other {# minuts}} restants",
"time_remaining.moments": "Moments restants", "time_remaining.moments": "Moments restants",
"time_remaining.seconds": "{number, plural, one {# segon} other {# segons}} restants", "time_remaining.seconds": "{number, plural, one {# segon} other {# segons}} restants",
"timeline_hint.remote_resource_not_displayed": "{resource} dels altres servidors no son mostrats.", "timeline_hint.remote_resource_not_displayed": "No es mostren {resource} d'altres servidors.",
"timeline_hint.resources.followers": "Seguidors", "timeline_hint.resources.followers": "Seguidors",
"timeline_hint.resources.follows": "Seguiments", "timeline_hint.resources.follows": "Seguiments",
"timeline_hint.resources.statuses": "Publicacions més antigues", "timeline_hint.resources.statuses": "Publicacions més antigues",

View File

@ -1,13 +1,11 @@
{ {
"about.blocks": "Moderated servers", "about.blocks": "ڕاژە سەرپەرشتیکراو",
"about.contact": "Contact:", "about.contact": "پەیوەندی کردن:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "ماستودۆن بە خۆڕایە، پرۆگرامێکی سەرچاوە کراوەیە، وە نیشانە بازرگانیەکەی ماستودۆن (gGmbH)ە",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Domain", "about.domain_blocks.preamble": "ماستۆدۆن بە گشتی ڕێگەت پێدەدات بە پیشاندانی ناوەڕۆکەکان و کارلێک کردن لەگەڵ بەکارهێنەران لە هەر ڕاژەیەکی تر بە گشتی. ئەمانە ئەو بەدەرکردنانەن کە کراون لەسەر ئەم ڕاژە تایبەتە.",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.silenced.explanation": "بە گشتی ناتوانی زانیاریە تایبەتەکان و ناوەڕۆکی ئەم ڕاژەیە ببینی، مەگەر بە ڕوونی بەدوایدا بگەڕێیت یان هەڵیبژێریت بۆ شوێنکەوتنی.",
"about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.title": "سنووردار",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
"about.domain_blocks.suspended.title": "Suspended", "about.domain_blocks.suspended.title": "Suspended",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "This information has not been made available on this server.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}", "account.following_counter": "{count, plural, one {{counter} شوێنکەوتوو} other {{counter} شوێنکەوتوو}}",
"account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.", "account.follows.empty": "ئەم بەکارهێنەرە تا ئێستا شوێن کەس نەکەوتووە.",
"account.follows_you": "شوێنکەوتووەکانت", "account.follows_you": "شوێنکەوتووەکانت",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "داشاردنی بووستەکان لە @{name}", "account.hide_reblogs": "داشاردنی بووستەکان لە @{name}",
"account.joined_short": "Joined", "account.joined_short": "Joined",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
@ -46,10 +45,11 @@
"account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.", "account.locked_info": "تایبەتمەندی ئەم هەژمارەیە ڕیکخراوە بۆ قوفڵدراوە. خاوەنەکە بە دەستی پێداچوونەوە دەکات کە کێ دەتوانێت شوێنیان بکەوێت.",
"account.media": "میدیا", "account.media": "میدیا",
"account.mention": "ئاماژە @{name}", "account.mention": "ئاماژە @{name}",
"account.moved_to": "{name} گواسترایەوە بۆ:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "بێدەنگکردن @{name}", "account.mute": "بێدەنگکردن @{name}",
"account.mute_notifications": "هۆشیارکەرەوەکان لاببە لە @{name}", "account.mute_notifications": "هۆشیارکەرەوەکان لاببە لە @{name}",
"account.muted": "بێ دەنگ", "account.muted": "بێ دەنگ",
"account.open_original_page": "Open original page",
"account.posts": "توتس", "account.posts": "توتس",
"account.posts_with_replies": "توتس و وەڵامەکان", "account.posts_with_replies": "توتس و وەڵامەکان",
"account.report": "گوزارشت @{name}", "account.report": "گوزارشت @{name}",
@ -181,6 +181,8 @@
"directory.local": "تەنها لە {domain}", "directory.local": "تەنها لە {domain}",
"directory.new_arrivals": "تازە گەیشتنەکان", "directory.new_arrivals": "تازە گەیشتنەکان",
"directory.recently_active": "بەم دواییانە چالاکە", "directory.recently_active": "بەم دواییانە چالاکە",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "On this server",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "شاردنەوەی {number, plural, one {image} other {images}}", "media_gallery.toggle_visible": "شاردنەوەی {number, plural, one {image} other {images}}",
"missing_indicator.label": "نەدۆزرایەوە", "missing_indicator.label": "نەدۆزرایەوە",
"missing_indicator.sublabel": "ئەو سەرچاوەیە نادۆزرێتەوە", "missing_indicator.sublabel": "ئەو سەرچاوەیە نادۆزرێتەوە",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "ماوە", "mute_modal.duration": "ماوە",
"mute_modal.hide_notifications": "شاردنەوەی ئاگانامەکان لەم بەکارهێنەرە؟ ", "mute_modal.hide_notifications": "شاردنەوەی ئاگانامەکان لەم بەکارهێنەرە؟ ",
"mute_modal.indefinite": "نادیار", "mute_modal.indefinite": "نادیار",

View File

@ -2,10 +2,8 @@
"about.blocks": "Moderated servers", "about.blocks": "Moderated servers",
"about.contact": "Contact:", "about.contact": "Contact:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Domain",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Severity",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} Abbunamentu} other {{counter} Abbunamenti}}", "account.following_counter": "{count, plural, one {{counter} Abbunamentu} other {{counter} Abbunamenti}}",
"account.follows.empty": "St'utilizatore ùn seguita nisunu.", "account.follows.empty": "St'utilizatore ùn seguita nisunu.",
"account.follows_you": "Vi seguita", "account.follows_you": "Vi seguita",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "Piattà spartere da @{name}", "account.hide_reblogs": "Piattà spartere da @{name}",
"account.joined_short": "Joined", "account.joined_short": "Joined",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
@ -46,10 +45,11 @@
"account.locked_info": "U statutu di vita privata di u contu hè chjosu. U pruprietariu esamina manualmente e dumande d'abbunamentu.", "account.locked_info": "U statutu di vita privata di u contu hè chjosu. U pruprietariu esamina manualmente e dumande d'abbunamentu.",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mintuvà @{name}", "account.mention": "Mintuvà @{name}",
"account.moved_to": "{name} hè partutu nant'à:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "Piattà @{name}", "account.mute": "Piattà @{name}",
"account.mute_notifications": "Piattà nutificazione da @{name}", "account.mute_notifications": "Piattà nutificazione da @{name}",
"account.muted": "Piattatu", "account.muted": "Piattatu",
"account.open_original_page": "Open original page",
"account.posts": "Statuti", "account.posts": "Statuti",
"account.posts_with_replies": "Statuti è risposte", "account.posts_with_replies": "Statuti è risposte",
"account.report": "Palisà @{name}", "account.report": "Palisà @{name}",
@ -181,6 +181,8 @@
"directory.local": "Solu da {domain}", "directory.local": "Solu da {domain}",
"directory.new_arrivals": "Ultimi arrivi", "directory.new_arrivals": "Ultimi arrivi",
"directory.recently_active": "Attività ricente", "directory.recently_active": "Attività ricente",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "On this server",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "Piattà {number, plural, one {ritrattu} other {ritratti}}", "media_gallery.toggle_visible": "Piattà {number, plural, one {ritrattu} other {ritratti}}",
"missing_indicator.label": "Micca trovu", "missing_indicator.label": "Micca trovu",
"missing_indicator.sublabel": "Ùn era micca pussivule di truvà sta risorsa", "missing_indicator.sublabel": "Ùn era micca pussivule di truvà sta risorsa",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Durata", "mute_modal.duration": "Durata",
"mute_modal.hide_notifications": "Piattà nutificazione da st'utilizatore?", "mute_modal.hide_notifications": "Piattà nutificazione da st'utilizatore?",
"mute_modal.indefinite": "Indifinita", "mute_modal.indefinite": "Indifinita",

View File

@ -1,11 +1,9 @@
{ {
"about.blocks": "Moderované servery", "about.blocks": "Moderované servery",
"about.contact": "Kontakt:", "about.contact": "Kontakt:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon je svobodný software s otevřeným zdrojovým kódem a ochranná známka společnosti Mastodon gGmbH.",
"about.domain_blocks.comment": "Důvod", "about.domain_blocks.no_reason_available": "Důvod není k dispozici",
"about.domain_blocks.domain": "Doména",
"about.domain_blocks.preamble": "Mastodon umožňuje prohlížet obsah a komunikovat s uživateli jakéhokoliv serveru ve fediversu. Pro tento konkrétní server se vztahují následující výjimky.", "about.domain_blocks.preamble": "Mastodon umožňuje prohlížet obsah a komunikovat s uživateli jakéhokoliv serveru ve fediversu. Pro tento konkrétní server se vztahují následující výjimky.",
"about.domain_blocks.severity": "Závažnost",
"about.domain_blocks.silenced.explanation": "Uživatele a obsah tohoto serveru neuvidíte, pokud je nebudete výslovně hledat nebo je nezačnete sledovat.", "about.domain_blocks.silenced.explanation": "Uživatele a obsah tohoto serveru neuvidíte, pokud je nebudete výslovně hledat nebo je nezačnete sledovat.",
"about.domain_blocks.silenced.title": "Omezeno", "about.domain_blocks.silenced.title": "Omezeno",
"about.domain_blocks.suspended.explanation": "Žádná data z tohoto serveru nebudou zpracovávána, uložena ani vyměňována, což znemožňuje jakoukoli interakci nebo komunikaci s uživateli z tohoto serveru.", "about.domain_blocks.suspended.explanation": "Žádná data z tohoto serveru nebudou zpracovávána, uložena ani vyměňována, což znemožňuje jakoukoli interakci nebo komunikaci s uživateli z tohoto serveru.",
@ -21,7 +19,7 @@
"account.block_domain": "Blokovat doménu {domain}", "account.block_domain": "Blokovat doménu {domain}",
"account.blocked": "Blokován", "account.blocked": "Blokován",
"account.browse_more_on_origin_server": "Více na původním profilu", "account.browse_more_on_origin_server": "Více na původním profilu",
"account.cancel_follow_request": "Zrušit žádost o následování", "account.cancel_follow_request": "Odvolat žádost o sledování",
"account.direct": "Poslat @{name} přímou zprávu", "account.direct": "Poslat @{name} přímou zprávu",
"account.disable_notifications": "Zrušit upozorňování na příspěvky @{name}", "account.disable_notifications": "Zrušit upozorňování na příspěvky @{name}",
"account.domain_blocked": "Doména blokována", "account.domain_blocked": "Doména blokována",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} Sledovaný} few {{counter} Sledovaní} many {{counter} Sledovaných} other {{counter} Sledovaných}}", "account.following_counter": "{count, plural, one {{counter} Sledovaný} few {{counter} Sledovaní} many {{counter} Sledovaných} other {{counter} Sledovaných}}",
"account.follows.empty": "Tento uživatel ještě nikoho nesleduje.", "account.follows.empty": "Tento uživatel ještě nikoho nesleduje.",
"account.follows_you": "Sleduje vás", "account.follows_you": "Sleduje vás",
"account.go_to_profile": "Přejít na profil",
"account.hide_reblogs": "Skrýt boosty od @{name}", "account.hide_reblogs": "Skrýt boosty od @{name}",
"account.joined_short": "Připojen/a", "account.joined_short": "Připojen/a",
"account.languages": "Změnit odebírané jazyky", "account.languages": "Změnit odebírané jazyky",
@ -46,10 +45,11 @@
"account.locked_info": "Stav soukromí tohoto účtu je nastaven na zamčeno. Jeho vlastník ručně posuzuje, kdo ho může sledovat.", "account.locked_info": "Stav soukromí tohoto účtu je nastaven na zamčeno. Jeho vlastník ručně posuzuje, kdo ho může sledovat.",
"account.media": "Média", "account.media": "Média",
"account.mention": "Zmínit @{name}", "account.mention": "Zmínit @{name}",
"account.moved_to": "Uživatel {name} se přesunul na:", "account.moved_to": "{name} uvedl/a, že jeho/její nový účet je nyní:",
"account.mute": "Skrýt @{name}", "account.mute": "Skrýt @{name}",
"account.mute_notifications": "Skrýt oznámení od @{name}", "account.mute_notifications": "Skrýt oznámení od @{name}",
"account.muted": "Skryt", "account.muted": "Skryt",
"account.open_original_page": "Otevřít původní stránku",
"account.posts": "Příspěvky", "account.posts": "Příspěvky",
"account.posts_with_replies": "Příspěvky a odpovědi", "account.posts_with_replies": "Příspěvky a odpovědi",
"account.report": "Nahlásit @{name}", "account.report": "Nahlásit @{name}",
@ -71,7 +71,7 @@
"admin.dashboard.retention.average": "Průměr", "admin.dashboard.retention.average": "Průměr",
"admin.dashboard.retention.cohort": "Měsíc registrace", "admin.dashboard.retention.cohort": "Měsíc registrace",
"admin.dashboard.retention.cohort_size": "Noví uživatelé", "admin.dashboard.retention.cohort_size": "Noví uživatelé",
"alert.rate_limited.message": "Zkuste to prosím znovu za {retry_time, time, medium}.", "alert.rate_limited.message": "Zkuste to prosím znovu po {retry_time, time, medium}.",
"alert.rate_limited.title": "Spojení omezena", "alert.rate_limited.title": "Spojení omezena",
"alert.unexpected.message": "Objevila se neočekávaná chyba.", "alert.unexpected.message": "Objevila se neočekávaná chyba.",
"alert.unexpected.title": "Jejda!", "alert.unexpected.title": "Jejda!",
@ -150,8 +150,8 @@
"confirmations.block.block_and_report": "Blokovat a nahlásit", "confirmations.block.block_and_report": "Blokovat a nahlásit",
"confirmations.block.confirm": "Blokovat", "confirmations.block.confirm": "Blokovat",
"confirmations.block.message": "Opravdu chcete zablokovat {name}?", "confirmations.block.message": "Opravdu chcete zablokovat {name}?",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Odvolat žádost",
"confirmations.cancel_follow_request.message": "Opravdu chcete zrušit svou žádost o sledování {name}?", "confirmations.cancel_follow_request.message": "Opravdu chcete odvolat svou žádost o sledování {name}?",
"confirmations.delete.confirm": "Smazat", "confirmations.delete.confirm": "Smazat",
"confirmations.delete.message": "Opravdu chcete smazat tento příspěvek?", "confirmations.delete.message": "Opravdu chcete smazat tento příspěvek?",
"confirmations.delete_list.confirm": "Smazat", "confirmations.delete_list.confirm": "Smazat",
@ -181,6 +181,8 @@
"directory.local": "Pouze z domény {domain}", "directory.local": "Pouze z domény {domain}",
"directory.new_arrivals": "Nově příchozí", "directory.new_arrivals": "Nově příchozí",
"directory.recently_active": "Nedávno aktivní", "directory.recently_active": "Nedávno aktivní",
"disabled_account_banner.account_settings": "Nastavení účtu",
"disabled_account_banner.text": "Váš účet {disabledAccount} je momentálně zakázán.",
"dismissable_banner.community_timeline": "Toto jsou nejnovější veřejné příspěvky od lidí, jejichž účty hostuje {domain}.", "dismissable_banner.community_timeline": "Toto jsou nejnovější veřejné příspěvky od lidí, jejichž účty hostuje {domain}.",
"dismissable_banner.dismiss": "Odmítnout", "dismissable_banner.dismiss": "Odmítnout",
"dismissable_banner.explore_links": "O těchto novinkách hovoří lidé na tomto a dalších serverech decentralizované sítě.", "dismissable_banner.explore_links": "O těchto novinkách hovoří lidé na tomto a dalších serverech decentralizované sítě.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "S účtem na Mastodonu můžete reagovat na tento příspěvek.", "interaction_modal.description.reply": "S účtem na Mastodonu můžete reagovat na tento příspěvek.",
"interaction_modal.on_another_server": "Na jiném serveru", "interaction_modal.on_another_server": "Na jiném serveru",
"interaction_modal.on_this_server": "Na tomto serveru", "interaction_modal.on_this_server": "Na tomto serveru",
"interaction_modal.other_server_instructions": "Jednoduše zkopírujte a vložte tuto adresu do vyhledávacího panelu vaší oblíbené aplikace nebo webového rozhraní, kde jste přihlášeni.", "interaction_modal.other_server_instructions": "Zkopírujte a vložte tuto URL do vyhledávacího pole vaší oblíbené Mastodon aplikace nebo webového rozhraní vašeho Mastodon serveru.",
"interaction_modal.preamble": "Protože je Mastodon decentralizovaný, pokud nemáte účet na tomto serveru, můžete použít svůj existující účet hostovaný jiným Mastodon serverem nebo kompatibilní platformou.", "interaction_modal.preamble": "Protože je Mastodon decentralizovaný, pokud nemáte účet na tomto serveru, můžete použít svůj existující účet hostovaný jiným Mastodon serverem nebo kompatibilní platformou.",
"interaction_modal.title.favourite": "Oblíbený příspěvek {name}", "interaction_modal.title.favourite": "Oblíbený příspěvek {name}",
"interaction_modal.title.follow": "Sledovat {name}", "interaction_modal.title.follow": "Sledovat {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Skrýt obrázek} few {Skrýt obrázky} many {Skrýt obrázky} other {Skrýt obrázky}}", "media_gallery.toggle_visible": "{number, plural, one {Skrýt obrázek} few {Skrýt obrázky} many {Skrýt obrázky} other {Skrýt obrázky}}",
"missing_indicator.label": "Nenalezeno", "missing_indicator.label": "Nenalezeno",
"missing_indicator.sublabel": "Tento zdroj se nepodařilo najít", "missing_indicator.sublabel": "Tento zdroj se nepodařilo najít",
"moved_to_account_banner.text": "Váš účet {disabledAccount} je momentálně zakázán, protože jste se přesunul/a na {movedToAccount}.",
"mute_modal.duration": "Trvání", "mute_modal.duration": "Trvání",
"mute_modal.hide_notifications": "Skrýt oznámení od tohoto uživatele?", "mute_modal.hide_notifications": "Skrýt oznámení od tohoto uživatele?",
"mute_modal.indefinite": "Neomezeně", "mute_modal.indefinite": "Neomezeně",
@ -607,7 +610,7 @@
"timeline_hint.resources.followers": "Sledující", "timeline_hint.resources.followers": "Sledující",
"timeline_hint.resources.follows": "Sledovaní", "timeline_hint.resources.follows": "Sledovaní",
"timeline_hint.resources.statuses": "Starší příspěvky", "timeline_hint.resources.statuses": "Starší příspěvky",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.counter_by_accounts": "{count, plural, one {{counter} člověk} few {{counter} lidé} many {{counter} lidí} other {{counter} lidí}} za poslední {days, plural, one {den} few {{days} dny} many {{days} dnů} other {{days} dnů}}",
"trends.trending_now": "Právě populární", "trends.trending_now": "Právě populární",
"ui.beforeunload": "Pokud Mastodon opustíte, váš koncept se ztratí.", "ui.beforeunload": "Pokud Mastodon opustíte, váš koncept se ztratí.",
"units.short.billion": "{count} mld.", "units.short.billion": "{count} mld.",

View File

@ -1,18 +1,16 @@
{ {
"about.blocks": "Moderated servers", "about.blocks": "Gweinyddion sy'n cael eu cymedroli",
"about.contact": "Contact:", "about.contact": "Cyswllt:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mae Mastodon yn feddalwedd rhydd, cod agored ac o dan hawlfraint Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Rheswm ddim ar gael",
"about.domain_blocks.domain": "Domain", "about.domain_blocks.preamble": "Yn gyffredinol, mae Mastodon yn caniatáu i chi weld cynnwys gan unrhyw weinyddwr arall yn y ffederasiwn a rhyngweithio â hi. Dyma'r eithriadau a wnaed ar y gweinydd penodol hwn.",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.silenced.explanation": "Yn gyffredinol, fyddwch chi ddim yn gweld proffiliau a chynnwys o'r gweinydd hwn, oni bai eich bod yn chwilio'n benodol amdano neu yn ymuno drwy ei ddilyn.",
"about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.title": "Tawelwyd",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.suspended.explanation": "Ni fydd data o'r gweinydd hwn yn cael ei brosesu, ei storio na'i gyfnewid, gan wneud unrhyw ryngweithio neu gyfathrebu gyda defnyddwyr o'r gweinydd hwn yn amhosibl.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.title": "Ataliwyd",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.not_available": "Nid yw'r wybodaeth hwn wedi ei wneud ar gael ar y gweinydd hwn.",
"about.domain_blocks.suspended.title": "Suspended", "about.powered_by": "Cyfrwng cymdeithasol datganoledig wedi ei yrru gan {mastodon}",
"about.not_available": "This information has not been made available on this server.", "about.rules": "Rheolau'r gweinydd",
"about.powered_by": "Decentralized social media powered by {mastodon}",
"about.rules": "Server rules",
"account.account_note_header": "Nodyn", "account.account_note_header": "Nodyn",
"account.add_or_remove_from_list": "Ychwanegu neu Dileu o'r rhestrau", "account.add_or_remove_from_list": "Ychwanegu neu Dileu o'r rhestrau",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
@ -21,16 +19,16 @@
"account.block_domain": "Blocio parth {domain}", "account.block_domain": "Blocio parth {domain}",
"account.blocked": "Blociwyd", "account.blocked": "Blociwyd",
"account.browse_more_on_origin_server": "Pori mwy ar y proffil gwreiddiol", "account.browse_more_on_origin_server": "Pori mwy ar y proffil gwreiddiol",
"account.cancel_follow_request": "Withdraw follow request", "account.cancel_follow_request": "Tynnu nôl cais i ddilyn",
"account.direct": "Neges breifat @{name}", "account.direct": "Neges breifat @{name}",
"account.disable_notifications": "Stopiwch fy hysbysu pan fydd @{name} yn postio", "account.disable_notifications": "Stopiwch fy hysbysu pan fydd @{name} yn postio",
"account.domain_blocked": "Parth wedi ei flocio", "account.domain_blocked": "Parth wedi ei flocio",
"account.edit_profile": "Golygu proffil", "account.edit_profile": "Golygu proffil",
"account.enable_notifications": "Rhowch wybod i fi pan fydd @{name} yn postio", "account.enable_notifications": "Rhowch wybod i fi pan fydd @{name} yn postio",
"account.endorse": "Arddangos ar fy mhroffil", "account.endorse": "Arddangos ar fy mhroffil",
"account.featured_tags.last_status_at": "Last post on {date}", "account.featured_tags.last_status_at": "Y cofnod diwethaf ar {date}",
"account.featured_tags.last_status_never": "No posts", "account.featured_tags.last_status_never": "Dim postiadau",
"account.featured_tags.title": "{name}'s featured hashtags", "account.featured_tags.title": "hashnodau dan sylw {name}",
"account.follow": "Dilyn", "account.follow": "Dilyn",
"account.followers": "Dilynwyr", "account.followers": "Dilynwyr",
"account.followers.empty": "Does neb yn dilyn y defnyddiwr hwn eto.", "account.followers.empty": "Does neb yn dilyn y defnyddiwr hwn eto.",
@ -39,17 +37,19 @@
"account.following_counter": "{count, plural, one {{counter} yn Dilyn} other {{counter} yn Dilyn}}", "account.following_counter": "{count, plural, one {{counter} yn Dilyn} other {{counter} yn Dilyn}}",
"account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.", "account.follows.empty": "Nid yw'r defnyddiwr hwn yn dilyn unrhyw un eto.",
"account.follows_you": "Yn eich dilyn chi", "account.follows_you": "Yn eich dilyn chi",
"account.go_to_profile": "Mynd i'r proffil",
"account.hide_reblogs": "Cuddio bwstiau o @{name}", "account.hide_reblogs": "Cuddio bwstiau o @{name}",
"account.joined_short": "Joined", "account.joined_short": "Ymunodd",
"account.languages": "Change subscribed languages", "account.languages": "Newid ieithoedd wedi tanysgrifio iddynt nhw",
"account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}", "account.link_verified_on": "Gwiriwyd perchnogaeth y ddolen yma ar {date}",
"account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.", "account.locked_info": "Mae'r statws preifatrwydd cyfrif hwn wedi'i osod i gloi. Mae'r perchennog yn adolygu'r sawl sy'n gallu eu dilyn.",
"account.media": "Cyfryngau", "account.media": "Cyfryngau",
"account.mention": "Crybwyll @{name}", "account.mention": "Crybwyll @{name}",
"account.moved_to": "Mae @{name} wedi symud i:", "account.moved_to": "Mae {name} wedi nodi fod eu cyfrif newydd yn:",
"account.mute": "Tawelu @{name}", "account.mute": "Tawelu @{name}",
"account.mute_notifications": "Cuddio hysbysiadau o @{name}", "account.mute_notifications": "Cuddio hysbysiadau o @{name}",
"account.muted": "Distewyd", "account.muted": "Distewyd",
"account.open_original_page": "Agor y dudalen wreiddiol",
"account.posts": "Postiadau", "account.posts": "Postiadau",
"account.posts_with_replies": "Postiadau ac atebion", "account.posts_with_replies": "Postiadau ac atebion",
"account.report": "Adrodd @{name}", "account.report": "Adrodd @{name}",
@ -77,27 +77,27 @@
"alert.unexpected.title": "Wps!", "alert.unexpected.title": "Wps!",
"announcement.announcement": "Cyhoeddiad", "announcement.announcement": "Cyhoeddiad",
"attachments_list.unprocessed": "(heb eu prosesu)", "attachments_list.unprocessed": "(heb eu prosesu)",
"audio.hide": "Hide audio", "audio.hide": "Cuddio sain",
"autosuggest_hashtag.per_week": "{count} yr wythnos", "autosuggest_hashtag.per_week": "{count} yr wythnos",
"boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa", "boost_modal.combo": "Mae modd gwasgu {combo} er mwyn sgipio hyn tro nesa",
"bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.copy_stacktrace": "Copïo'r adroddiad gwall",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "Nid oedd modd cynhyrchu'r dudalen honno. Gall fod oherwydd gwall yn ein côd neu fater cydnawsedd porwr.",
"bundle_column_error.error.title": "Oh, no!", "bundle_column_error.error.title": "O na!",
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.body": "Bu gwall wrth geisio llwytho'r dudalen hon. Gall hyn fod oherwydd anhawster dros-dro gyda'ch cysylltiad gwe neu'r gweinydd hwn.",
"bundle_column_error.network.title": "Network error", "bundle_column_error.network.title": "Gwall rhwydwaith",
"bundle_column_error.retry": "Ceisiwch eto", "bundle_column_error.retry": "Ceisiwch eto",
"bundle_column_error.return": "Go back home", "bundle_column_error.return": "Mynd nôl adref",
"bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", "bundle_column_error.routing.body": "Nid oedd modd canfod y dudalen honno. Ydych chi'n siŵr fod yr URL yn y bar cyfeiriad yn gywir?",
"bundle_column_error.routing.title": "404", "bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Cau", "bundle_modal_error.close": "Cau",
"bundle_modal_error.message": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.", "bundle_modal_error.message": "Aeth rhywbeth o'i le tra'n llwytho'r elfen hon.",
"bundle_modal_error.retry": "Ceiswich eto", "bundle_modal_error.retry": "Ceiswich eto",
"closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", "closed_registrations.other_server_instructions": "Gan fod Mastodon yn ddatganoledig, gallwch greu cyfrif ar weinydd arall a dal i ryngweithio gyda hwn.",
"closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.description": "Ar hyn o bryd nid yw'n bosib creu cyfrif ar {domain}, ond cadwch mewn cof nad oes raid i chi gael cyfrif yn benodol ar {domain} i ddefnyddio Mastodon.",
"closed_registrations_modal.find_another_server": "Find another server", "closed_registrations_modal.find_another_server": "Dod o hyd i weinydd arall",
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.preamble": "Mae Mastodon wedi'i ddatganoli, felly does dim gwahaniaeth ble rydych chi'n creu eich cyfrif, byddwch chi'n gallu dilyn a rhyngweithio ag unrhyw un ar y gweinydd hwn. Gallwch hyd yn oed ei gynnal ef eich hun!",
"closed_registrations_modal.title": "Signing up on Mastodon", "closed_registrations_modal.title": "Cofrestru ar Mastodon",
"column.about": "About", "column.about": "Ynghylch",
"column.blocks": "Defnyddwyr a flociwyd", "column.blocks": "Defnyddwyr a flociwyd",
"column.bookmarks": "Tudalnodau", "column.bookmarks": "Tudalnodau",
"column.community": "Ffrwd lleol", "column.community": "Ffrwd lleol",
@ -150,8 +150,8 @@
"confirmations.block.block_and_report": "Rhwystro ac Adrodd", "confirmations.block.block_and_report": "Rhwystro ac Adrodd",
"confirmations.block.confirm": "Blocio", "confirmations.block.confirm": "Blocio",
"confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?", "confirmations.block.message": "Ydych chi'n sicr eich bod eisiau blocio {name}?",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Tynnu'r cais yn ôl",
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.cancel_follow_request.message": "Ydych chi'n sicr eich bod chi eisiau tynnu'ch cais i ddilyn {name} yn ôl?",
"confirmations.delete.confirm": "Dileu", "confirmations.delete.confirm": "Dileu",
"confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?", "confirmations.delete.message": "Ydych chi'n sicr eich bod eisiau dileu y post hwn?",
"confirmations.delete_list.confirm": "Dileu", "confirmations.delete_list.confirm": "Dileu",
@ -175,22 +175,24 @@
"conversation.mark_as_read": "Nodi fel wedi'i ddarllen", "conversation.mark_as_read": "Nodi fel wedi'i ddarllen",
"conversation.open": "Gweld sgwrs", "conversation.open": "Gweld sgwrs",
"conversation.with": "Gyda {names}", "conversation.with": "Gyda {names}",
"copypaste.copied": "Copied", "copypaste.copied": "Wedi ei gopïo",
"copypaste.copy": "Copy", "copypaste.copy": "Copïo",
"directory.federated": "O'r ffedysawd cyfan", "directory.federated": "O'r ffedysawd cyfan",
"directory.local": "O {domain} yn unig", "directory.local": "O {domain} yn unig",
"directory.new_arrivals": "Newydd-ddyfodiaid", "directory.new_arrivals": "Newydd-ddyfodiaid",
"directory.recently_active": "Yn weithredol yn ddiweddar", "directory.recently_active": "Yn weithredol yn ddiweddar",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "disabled_account_banner.account_settings": "Gosodiadau'r cyfrif",
"dismissable_banner.dismiss": "Dismiss", "disabled_account_banner.text": "Mae eich cyfrif {disabledAccount} wedi ei analluogi ar hyn o bryd.",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.community_timeline": "Dyma'r postiadau cyhoeddus diweddaraf gan bobl y caiff eu cyfrifon eu cynnal ar {domain}.",
"dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.dismiss": "Diystyru",
"dismissable_banner.explore_links": "Mae'r straeon newyddion hyn yn cael eu trafod gan bobl ar y gweinydd hwn a rhai eraill ar y rhwydwaith datganoledig hwn, ar hyn o bryd.",
"dismissable_banner.explore_statuses": "Mae'r cofnodion hyn o'r gweinydd hwn a gweinyddion eraill yn y rhwydwaith datganoledig hwn yn denu sylw ar y gweinydd hwn ar hyn o bryd.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
"dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
"embed.instructions": "Gosodwch y post hwn ar eich gwefan drwy gopïo'r côd isod.", "embed.instructions": "Gosodwch y post hwn ar eich gwefan drwy gopïo'r côd isod.",
"embed.preview": "Dyma sut olwg fydd arno:", "embed.preview": "Dyma sut olwg fydd arno:",
"emoji_button.activity": "Gweithgarwch", "emoji_button.activity": "Gweithgarwch",
"emoji_button.clear": "Clir", "emoji_button.clear": "Clirio",
"emoji_button.custom": "Unigryw", "emoji_button.custom": "Unigryw",
"emoji_button.flags": "Baneri", "emoji_button.flags": "Baneri",
"emoji_button.food": "Bwyd a Diod", "emoji_button.food": "Bwyd a Diod",
@ -245,27 +247,27 @@
"filter_modal.added.review_and_configure_title": "Filter settings", "filter_modal.added.review_and_configure_title": "Filter settings",
"filter_modal.added.settings_link": "settings page", "filter_modal.added.settings_link": "settings page",
"filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
"filter_modal.added.title": "Filter added!", "filter_modal.added.title": "Hidlydd wedi'i ychwanegu!",
"filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.context_mismatch": "does not apply to this context",
"filter_modal.select_filter.expired": "expired", "filter_modal.select_filter.expired": "expired",
"filter_modal.select_filter.prompt_new": "New category: {name}", "filter_modal.select_filter.prompt_new": "Categori newydd: {name}",
"filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.search": "Chwilio neu greu",
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
"filter_modal.select_filter.title": "Filter this post", "filter_modal.select_filter.title": "Hidlo'r post hwn",
"filter_modal.title.status": "Filter a post", "filter_modal.title.status": "Hidlo post",
"follow_recommendations.done": "Wedi gorffen", "follow_recommendations.done": "Wedi gorffen",
"follow_recommendations.heading": "Dilynwch y bobl yr hoffech chi weld eu postiadau! Dyma ambell i awgrymiad.", "follow_recommendations.heading": "Dilynwch y bobl yr hoffech chi weld eu postiadau! Dyma ambell i awgrymiad.",
"follow_recommendations.lead": "Bydd postiadau gan bobl rydych chi'n eu dilyn yn ymddangos mewn trefn amser ar eich ffrwd cartref. Peidiwch â bod ofn gwneud camgymeriadau, gallwch chi ddad-ddilyn pobl yr un mor hawdd unrhyw bryd!", "follow_recommendations.lead": "Bydd postiadau gan bobl rydych chi'n eu dilyn yn ymddangos mewn trefn amser ar eich ffrwd cartref. Peidiwch â bod ofn gwneud camgymeriadau, gallwch chi ddad-ddilyn pobl yr un mor hawdd unrhyw bryd!",
"follow_request.authorize": "Caniatau", "follow_request.authorize": "Caniatau",
"follow_request.reject": "Gwrthod", "follow_request.reject": "Gwrthod",
"follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, oedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.", "follow_requests.unlocked_explanation": "Er nid yw eich cyfrif wedi'i gloi, oedd y staff {domain} yn meddwl efallai hoffech adolygu ceisiadau dilyn o'r cyfrifau rhain wrth law.",
"footer.about": "About", "footer.about": "Ynghylch",
"footer.directory": "Profiles directory", "footer.directory": "Cyfeiriadur proffiliau",
"footer.get_app": "Get the app", "footer.get_app": "Lawrlwytho'r ap",
"footer.invite": "Invite people", "footer.invite": "Gwahodd pobl",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "Bysellau brys",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "Polisi preifatrwydd",
"footer.source_code": "View source code", "footer.source_code": "Gweld y cod ffynhonnell",
"generic.saved": "Wedi'i Gadw", "generic.saved": "Wedi'i Gadw",
"getting_started.heading": "Dechrau", "getting_started.heading": "Dechrau",
"hashtag.column_header.tag_mode.all": "a {additional}", "hashtag.column_header.tag_mode.all": "a {additional}",
@ -286,16 +288,16 @@
"home.show_announcements": "Dangos cyhoeddiadau", "home.show_announcements": "Dangos cyhoeddiadau",
"interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "Gyda chyfrif ar Mastodon, gallwch hybu'r post hwn i'w rannu â'ch dilynwyr.",
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "Gyda chyfrif ar Mastodon, gallwch ymateb i'r post hwn.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "Ar weinydd gwahanol",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "Ar y gweinydd hwn",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Hoffi post {name}",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Dilyn {name}",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "Hybu post {name}",
"interaction_modal.title.reply": "Reply to {name}'s post", "interaction_modal.title.reply": "Ymateb i bost {name}",
"intervals.full.days": "{number, plural, one {# dydd} two {# ddydd} other {# o ddyddiau}}", "intervals.full.days": "{number, plural, one {# dydd} two {# ddydd} other {# o ddyddiau}}",
"intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}", "intervals.full.hours": "{number, plural, one {# awr} other {# o oriau}}",
"intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}", "intervals.full.minutes": "{number, plural, one {# funud} other {# o funudau}}",
@ -338,8 +340,8 @@
"lightbox.expand": "Ehangu blwch gweld delwedd", "lightbox.expand": "Ehangu blwch gweld delwedd",
"lightbox.next": "Nesaf", "lightbox.next": "Nesaf",
"lightbox.previous": "Blaenorol", "lightbox.previous": "Blaenorol",
"limited_account_hint.action": "Show profile anyway", "limited_account_hint.action": "Dangos y proffil beth bynnag",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "Mae'r proffil hwn wedi cael ei guddio gan arolygwyr {domain}.",
"lists.account.add": "Ychwanegwch at restr", "lists.account.add": "Ychwanegwch at restr",
"lists.account.remove": "Dileu o'r rhestr", "lists.account.remove": "Dileu o'r rhestr",
"lists.delete": "Dileu rhestr", "lists.delete": "Dileu rhestr",
@ -358,10 +360,11 @@
"media_gallery.toggle_visible": "Toglo gwelededd", "media_gallery.toggle_visible": "Toglo gwelededd",
"missing_indicator.label": "Heb ei ganfod", "missing_indicator.label": "Heb ei ganfod",
"missing_indicator.sublabel": "Ni ellid canfod yr adnodd hwn", "missing_indicator.sublabel": "Ni ellid canfod yr adnodd hwn",
"moved_to_account_banner.text": "Mae eich cyfrif {disabledAccount} wedi ei analluogi ar hyn y bryd am i chi symud i {movedToAccount}.",
"mute_modal.duration": "Hyd", "mute_modal.duration": "Hyd",
"mute_modal.hide_notifications": "Cuddio hysbysiadau rhag y defnyddiwr hwn?", "mute_modal.hide_notifications": "Cuddio hysbysiadau rhag y defnyddiwr hwn?",
"mute_modal.indefinite": "Amhenodol", "mute_modal.indefinite": "Amhenodol",
"navigation_bar.about": "About", "navigation_bar.about": "Ynghylch",
"navigation_bar.blocks": "Defnyddwyr wedi eu blocio", "navigation_bar.blocks": "Defnyddwyr wedi eu blocio",
"navigation_bar.bookmarks": "Tudalnodau", "navigation_bar.bookmarks": "Tudalnodau",
"navigation_bar.community_timeline": "Ffrwd leol", "navigation_bar.community_timeline": "Ffrwd leol",
@ -372,7 +375,7 @@
"navigation_bar.edit_profile": "Golygu proffil", "navigation_bar.edit_profile": "Golygu proffil",
"navigation_bar.explore": "Archwilio", "navigation_bar.explore": "Archwilio",
"navigation_bar.favourites": "Ffefrynnau", "navigation_bar.favourites": "Ffefrynnau",
"navigation_bar.filters": "Geiriau a dawelwyd", "navigation_bar.filters": "Geiriau a fudwyd",
"navigation_bar.follow_requests": "Ceisiadau dilyn", "navigation_bar.follow_requests": "Ceisiadau dilyn",
"navigation_bar.follows_and_followers": "Dilynion a ddilynwyr", "navigation_bar.follows_and_followers": "Dilynion a ddilynwyr",
"navigation_bar.lists": "Rhestrau", "navigation_bar.lists": "Rhestrau",
@ -382,10 +385,10 @@
"navigation_bar.pins": "Postiadau wedi eu pinio", "navigation_bar.pins": "Postiadau wedi eu pinio",
"navigation_bar.preferences": "Dewisiadau", "navigation_bar.preferences": "Dewisiadau",
"navigation_bar.public_timeline": "Ffrwd y ffederasiwn", "navigation_bar.public_timeline": "Ffrwd y ffederasiwn",
"navigation_bar.search": "Search", "navigation_bar.search": "Chwilio",
"navigation_bar.security": "Diogelwch", "navigation_bar.security": "Diogelwch",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "not_signed_in_indicator.not_signed_in": "Rhaid i chi fewngofnodi i weld yr adnodd hwn.",
"notification.admin.report": "{name} reported {target}", "notification.admin.report": "Adroddodd {name} {target}",
"notification.admin.sign_up": "Cofrestrodd {name}", "notification.admin.sign_up": "Cofrestrodd {name}",
"notification.favourite": "Hoffodd {name} eich post", "notification.favourite": "Hoffodd {name} eich post",
"notification.follow": "Dilynodd {name} chi", "notification.follow": "Dilynodd {name} chi",
@ -404,7 +407,7 @@
"notifications.column_settings.favourite": "Ffefrynnau:", "notifications.column_settings.favourite": "Ffefrynnau:",
"notifications.column_settings.filter_bar.advanced": "Dangos pob categori", "notifications.column_settings.filter_bar.advanced": "Dangos pob categori",
"notifications.column_settings.filter_bar.category": "Bar hidlo", "notifications.column_settings.filter_bar.category": "Bar hidlo",
"notifications.column_settings.filter_bar.show_bar": "Dangos bar hidlo", "notifications.column_settings.filter_bar.show_bar": "Dangos y bar hidlo",
"notifications.column_settings.follow": "Dilynwyr newydd:", "notifications.column_settings.follow": "Dilynwyr newydd:",
"notifications.column_settings.follow_request": "Ceisiadau dilyn newydd:", "notifications.column_settings.follow_request": "Ceisiadau dilyn newydd:",
"notifications.column_settings.mention": "Crybwylliadau:", "notifications.column_settings.mention": "Crybwylliadau:",
@ -418,11 +421,11 @@
"notifications.column_settings.unread_notifications.highlight": "Amlygu hysbysiadau heb eu darllen", "notifications.column_settings.unread_notifications.highlight": "Amlygu hysbysiadau heb eu darllen",
"notifications.column_settings.update": "Golygiadau:", "notifications.column_settings.update": "Golygiadau:",
"notifications.filter.all": "Popeth", "notifications.filter.all": "Popeth",
"notifications.filter.boosts": "Hybiadau", "notifications.filter.boosts": "Hybiau",
"notifications.filter.favourites": "Ffefrynnau", "notifications.filter.favourites": "Ffefrynnau",
"notifications.filter.follows": "Yn dilyn", "notifications.filter.follows": "Yn dilyn",
"notifications.filter.mentions": "Crybwylliadau", "notifications.filter.mentions": "Crybwylliadau",
"notifications.filter.polls": "Canlyniadau pleidlais", "notifications.filter.polls": "Canlyniadau polau",
"notifications.filter.statuses": "Diweddariadau gan bobl rydych chi'n eu dilyn", "notifications.filter.statuses": "Diweddariadau gan bobl rydych chi'n eu dilyn",
"notifications.grant_permission": "Caniatáu.", "notifications.grant_permission": "Caniatáu.",
"notifications.group": "{count} o hysbysiadau", "notifications.group": "{count} o hysbysiadau",
@ -452,8 +455,8 @@
"privacy.public.short": "Cyhoeddus", "privacy.public.short": "Cyhoeddus",
"privacy.unlisted.long": "Gweladwy i bawb, ond wedi optio allan o nodweddion darganfod", "privacy.unlisted.long": "Gweladwy i bawb, ond wedi optio allan o nodweddion darganfod",
"privacy.unlisted.short": "Heb ei restru", "privacy.unlisted.short": "Heb ei restru",
"privacy_policy.last_updated": "Last updated {date}", "privacy_policy.last_updated": "Diweddarwyd ddiwethaf ar {date}",
"privacy_policy.title": "Privacy Policy", "privacy_policy.title": "Polisi preifatrwydd",
"refresh": "Adnewyddu", "refresh": "Adnewyddu",
"regeneration_indicator.label": "Llwytho…", "regeneration_indicator.label": "Llwytho…",
"regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!", "regeneration_indicator.sublabel": "Mae eich ffrwd cartref yn cael ei baratoi!",
@ -491,7 +494,7 @@
"report.reasons.other": "Mae'n rhywbeth arall", "report.reasons.other": "Mae'n rhywbeth arall",
"report.reasons.other_description": "Nid yw'r mater yn ffitio i gategorïau eraill", "report.reasons.other_description": "Nid yw'r mater yn ffitio i gategorïau eraill",
"report.reasons.spam": "Sothach yw e", "report.reasons.spam": "Sothach yw e",
"report.reasons.spam_description": "Cysylltiadau maleisus, ymgysylltu ffug, neu atebion ailadroddus", "report.reasons.spam_description": "Dolenni maleisus, ymgysylltu ffug, neu ymatebion ailadroddus",
"report.reasons.violation": "Mae'n torri rheolau'r gweinydd", "report.reasons.violation": "Mae'n torri rheolau'r gweinydd",
"report.reasons.violation_description": "Rydych yn ymwybodol ei fod yn torri rheolau penodol", "report.reasons.violation_description": "Rydych yn ymwybodol ei fod yn torri rheolau penodol",
"report.rules.subtitle": "Dewiswch bob un sy'n berthnasol", "report.rules.subtitle": "Dewiswch bob un sy'n berthnasol",
@ -525,16 +528,16 @@
"search_results.nothing_found": "Methu dod o hyd i unrhyw beth ar gyfer y termau chwilio hyn", "search_results.nothing_found": "Methu dod o hyd i unrhyw beth ar gyfer y termau chwilio hyn",
"search_results.statuses": "Postiadau", "search_results.statuses": "Postiadau",
"search_results.statuses_fts_disabled": "Nid yw chwilio postiadau yn ôl eu cynnwys wedi'i alluogi ar y gweinydd Mastodon hwn.", "search_results.statuses_fts_disabled": "Nid yw chwilio postiadau yn ôl eu cynnwys wedi'i alluogi ar y gweinydd Mastodon hwn.",
"search_results.title": "Search for {q}", "search_results.title": "Chwilio am {q}",
"search_results.total": "{count, number} {count, plural, zero {canlyniad} one {canlyniad} two {ganlyniad} other {o ganlyniadau}}", "search_results.total": "{count, number} {count, plural, zero {canlyniad} one {canlyniad} two {ganlyniad} other {o ganlyniadau}}",
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
"server_banner.active_users": "active users", "server_banner.active_users": "active users",
"server_banner.administered_by": "Administered by:", "server_banner.administered_by": "Gweinyddir gan:",
"server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", "server_banner.introduction": "Mae {domain} yn rhan o'r rhwydwaith cymdeithasol datganoledig a bwerir gan {mastodon}.",
"server_banner.learn_more": "Learn more", "server_banner.learn_more": "Dysgu mwy",
"server_banner.server_stats": "Server stats:", "server_banner.server_stats": "Ystagedau'r gweinydd:",
"sign_in_banner.create_account": "Create account", "sign_in_banner.create_account": "Creu cyfrif",
"sign_in_banner.sign_in": "Sign in", "sign_in_banner.sign_in": "Mewngofnodi",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
"status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}", "status.admin_account": "Agor rhyngwyneb goruwchwylio ar gyfer @{name}",
"status.admin_status": "Agor y post hwn yn y rhyngwyneb goruwchwylio", "status.admin_status": "Agor y post hwn yn y rhyngwyneb goruwchwylio",
@ -551,9 +554,9 @@
"status.edited_x_times": "Golygwyd {count, plural, one {unwaith} two {dwywaith} other {{count} gwaith}}", "status.edited_x_times": "Golygwyd {count, plural, one {unwaith} two {dwywaith} other {{count} gwaith}}",
"status.embed": "Plannu", "status.embed": "Plannu",
"status.favourite": "Hoffi", "status.favourite": "Hoffi",
"status.filter": "Filter this post", "status.filter": "Hidlo'r post hwn",
"status.filtered": "Wedi'i hidlo", "status.filtered": "Wedi'i hidlo",
"status.hide": "Hide toot", "status.hide": "Cuddio'r post",
"status.history.created": "{name} greuodd {date}", "status.history.created": "{name} greuodd {date}",
"status.history.edited": "{name} olygodd {date}", "status.history.edited": "{name} olygodd {date}",
"status.load_more": "Llwythwch mwy", "status.load_more": "Llwythwch mwy",
@ -578,19 +581,19 @@
"status.report": "Adrodd @{name}", "status.report": "Adrodd @{name}",
"status.sensitive_warning": "Cynnwys sensitif", "status.sensitive_warning": "Cynnwys sensitif",
"status.share": "Rhannu", "status.share": "Rhannu",
"status.show_filter_reason": "Show anyway", "status.show_filter_reason": "Dangos beth bynnag",
"status.show_less": "Dangos llai", "status.show_less": "Dangos llai",
"status.show_less_all": "Dangos llai i bawb", "status.show_less_all": "Dangos llai i bawb",
"status.show_more": "Dangos mwy", "status.show_more": "Dangos mwy",
"status.show_more_all": "Dangos mwy i bawb", "status.show_more_all": "Dangos mwy i bawb",
"status.show_original": "Show original", "status.show_original": "Dangos y gwreiddiol",
"status.translate": "Translate", "status.translate": "Cyfieithu",
"status.translated_from_with": "Translated from {lang} using {provider}", "status.translated_from_with": "Cyfieithwyd o {lang} gan ddefnyddio {provider}",
"status.uncached_media_warning": "Dim ar gael", "status.uncached_media_warning": "Dim ar gael",
"status.unmute_conversation": "Dad-dawelu sgwrs", "status.unmute_conversation": "Dad-dawelu sgwrs",
"status.unpin": "Dadbinio o'r proffil", "status.unpin": "Dadbinio o'r proffil",
"subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", "subscribed_languages.lead": "Dim ond postiadau mewn ieithoedd dethol fydd yn ymddangos yn eich ffrydiau ar ôl y newid. Dewiswch ddim byd i dderbyn postiadau ym mhob iaith.",
"subscribed_languages.save": "Save changes", "subscribed_languages.save": "Cadw'r newidiadau",
"subscribed_languages.target": "Change subscribed languages for {target}", "subscribed_languages.target": "Change subscribed languages for {target}",
"suggestions.dismiss": "Diswyddo", "suggestions.dismiss": "Diswyddo",
"suggestions.header": "Efallai y bydd gennych ddiddordeb mewn…", "suggestions.header": "Efallai y bydd gennych ddiddordeb mewn…",
@ -635,7 +638,7 @@
"upload_modal.preparing_ocr": "Paratoi OCR…", "upload_modal.preparing_ocr": "Paratoi OCR…",
"upload_modal.preview_label": "Rhagolwg ({ratio})", "upload_modal.preview_label": "Rhagolwg ({ratio})",
"upload_progress.label": "Uwchlwytho...", "upload_progress.label": "Uwchlwytho...",
"upload_progress.processing": "Processing…", "upload_progress.processing": "Wrthi'n prosesu…",
"video.close": "Cau fideo", "video.close": "Cau fideo",
"video.download": "Lawrlwytho ffeil", "video.download": "Lawrlwytho ffeil",
"video.exit_fullscreen": "Gadael sgrîn llawn", "video.exit_fullscreen": "Gadael sgrîn llawn",

View File

@ -2,10 +2,8 @@
"about.blocks": "Modererede servere", "about.blocks": "Modererede servere",
"about.contact": "Kontakt:", "about.contact": "Kontakt:",
"about.disclaimer": "Mastodon er gratis, open-source software og et varemærke tilhørende Mastodon gGmbH.", "about.disclaimer": "Mastodon er gratis, open-source software og et varemærke tilhørende Mastodon gGmbH.",
"about.domain_blocks.comment": "Årsag", "about.domain_blocks.no_reason_available": "Begrundelse ikke tilgængelig",
"about.domain_blocks.domain": "Domæne",
"about.domain_blocks.preamble": "Mastodon tillader generelt, at man ser indhold og interagere med brugere fra enhver anden server i fediverset. Disse er undtagelserne, som er implementeret på netop denne server.", "about.domain_blocks.preamble": "Mastodon tillader generelt, at man ser indhold og interagere med brugere fra enhver anden server i fediverset. Disse er undtagelserne, som er implementeret på netop denne server.",
"about.domain_blocks.severity": "Alvorlighed",
"about.domain_blocks.silenced.explanation": "Man vil generelt ikke se profiler og indhold fra denne server, medmindre man udtrykkeligt slå den op eller vælger den ved at følge.", "about.domain_blocks.silenced.explanation": "Man vil generelt ikke se profiler og indhold fra denne server, medmindre man udtrykkeligt slå den op eller vælger den ved at følge.",
"about.domain_blocks.silenced.title": "Begrænset", "about.domain_blocks.silenced.title": "Begrænset",
"about.domain_blocks.suspended.explanation": "Data fra denne server hverken behandles, gemmes eller udveksles, hvilket umuliggør interaktion eller kommunikation med brugere fra denne server.", "about.domain_blocks.suspended.explanation": "Data fra denne server hverken behandles, gemmes eller udveksles, hvilket umuliggør interaktion eller kommunikation med brugere fra denne server.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} Følges} other {{counter} Følges}}", "account.following_counter": "{count, plural, one {{counter} Følges} other {{counter} Følges}}",
"account.follows.empty": "Denne bruger følger ikke nogen endnu.", "account.follows.empty": "Denne bruger følger ikke nogen endnu.",
"account.follows_you": "Følger dig", "account.follows_you": "Følger dig",
"account.go_to_profile": "Gå til profil",
"account.hide_reblogs": "Skjul boosts fra @{name}", "account.hide_reblogs": "Skjul boosts fra @{name}",
"account.joined_short": "Oprettet", "account.joined_short": "Oprettet",
"account.languages": "Skift abonnementssprog", "account.languages": "Skift abonnementssprog",
@ -46,10 +45,11 @@
"account.locked_info": "Denne kontos fortrolighedsstatus er sat til låst. Ejeren bedømmer manuelt, hvem der kan følge vedkommende.", "account.locked_info": "Denne kontos fortrolighedsstatus er sat til låst. Ejeren bedømmer manuelt, hvem der kan følge vedkommende.",
"account.media": "Medier", "account.media": "Medier",
"account.mention": "Nævn @{name}", "account.mention": "Nævn @{name}",
"account.moved_to": "{name} er flyttet til:", "account.moved_to": "{name} har angivet, at vedkommendes nye konto nu er:",
"account.mute": "Skjul @{name}", "account.mute": "Skjul @{name}",
"account.mute_notifications": "Skjul notifikationer fra @{name}", "account.mute_notifications": "Skjul notifikationer fra @{name}",
"account.muted": "Tystnet", "account.muted": "Tystnet",
"account.open_original_page": "Åbn oprindelig side",
"account.posts": "Indlæg", "account.posts": "Indlæg",
"account.posts_with_replies": "Indlæg og svar", "account.posts_with_replies": "Indlæg og svar",
"account.report": "Anmeld @{name}", "account.report": "Anmeld @{name}",
@ -181,6 +181,8 @@
"directory.local": "Kun fra {domain}", "directory.local": "Kun fra {domain}",
"directory.new_arrivals": "Nye ankomster", "directory.new_arrivals": "Nye ankomster",
"directory.recently_active": "Nyligt aktive", "directory.recently_active": "Nyligt aktive",
"disabled_account_banner.account_settings": "Kontoindstillinger",
"disabled_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret.",
"dismissable_banner.community_timeline": "Disse er de seneste offentlige indlæg fra personer med konti hostes af {domain}.", "dismissable_banner.community_timeline": "Disse er de seneste offentlige indlæg fra personer med konti hostes af {domain}.",
"dismissable_banner.dismiss": "Afvis", "dismissable_banner.dismiss": "Afvis",
"dismissable_banner.explore_links": "Der tales lige nu om disse nyhedshistorier af folk på denne og andre servere i det decentraliserede netværk.", "dismissable_banner.explore_links": "Der tales lige nu om disse nyhedshistorier af folk på denne og andre servere i det decentraliserede netværk.",
@ -262,7 +264,7 @@
"footer.about": "Om", "footer.about": "Om",
"footer.directory": "Profiloversigt", "footer.directory": "Profiloversigt",
"footer.get_app": "Hent appen", "footer.get_app": "Hent appen",
"footer.invite": "Invitere personer", "footer.invite": "Invitér personer",
"footer.keyboard_shortcuts": "Tastaturgenveje", "footer.keyboard_shortcuts": "Tastaturgenveje",
"footer.privacy_policy": "Fortrolighedspolitik", "footer.privacy_policy": "Fortrolighedspolitik",
"footer.source_code": "Vis kildekode", "footer.source_code": "Vis kildekode",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "Med en konto på Mastodon kan dette indlæg besvares.", "interaction_modal.description.reply": "Med en konto på Mastodon kan dette indlæg besvares.",
"interaction_modal.on_another_server": "På en anden server", "interaction_modal.on_another_server": "På en anden server",
"interaction_modal.on_this_server": "På denne server", "interaction_modal.on_this_server": "På denne server",
"interaction_modal.other_server_instructions": "Kopiér og indsæt blot denne URL i søgefeltet i den foretrukne app eller webgrænsefladen, hvor man er logget ind.", "interaction_modal.other_server_instructions": "Kopiér og indsæt denne URL i søgefeltet på en Mastodon-app eller webgrænseflade til en Mastodon-server.",
"interaction_modal.preamble": "Da Mastodon er decentraliseret, kan man bruge sin eksisterende konto hostet af en anden Mastodon-server eller kompatibel platform, såfremt man ikke har en konto på denne.", "interaction_modal.preamble": "Da Mastodon er decentraliseret, kan man bruge sin eksisterende konto hostet af en anden Mastodon-server eller kompatibel platform, såfremt man ikke har en konto på denne.",
"interaction_modal.title.favourite": "Gør {name}s indlæg til favorit", "interaction_modal.title.favourite": "Gør {name}s indlæg til favorit",
"interaction_modal.title.follow": "Følg {name}", "interaction_modal.title.follow": "Følg {name}",
@ -339,7 +341,7 @@
"lightbox.next": "Næste", "lightbox.next": "Næste",
"lightbox.previous": "Forrige", "lightbox.previous": "Forrige",
"limited_account_hint.action": "Vis profil alligevel", "limited_account_hint.action": "Vis profil alligevel",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "Denne profil er blevet skjult af {domain}-moderatorerne.",
"lists.account.add": "Føj til liste", "lists.account.add": "Føj til liste",
"lists.account.remove": "Fjern fra liste", "lists.account.remove": "Fjern fra liste",
"lists.delete": "Slet liste", "lists.delete": "Slet liste",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Skjul billede} other {Skjul billeder}}", "media_gallery.toggle_visible": "{number, plural, one {Skjul billede} other {Skjul billeder}}",
"missing_indicator.label": "Ikke fundet", "missing_indicator.label": "Ikke fundet",
"missing_indicator.sublabel": "Denne ressource kunne ikke findes", "missing_indicator.sublabel": "Denne ressource kunne ikke findes",
"moved_to_account_banner.text": "Din konto {disabledAccount} er pt. deaktiveret, da du flyttede til {movedToAccount}.",
"mute_modal.duration": "Varighed", "mute_modal.duration": "Varighed",
"mute_modal.hide_notifications": "Skjul notifikationer fra denne bruger?", "mute_modal.hide_notifications": "Skjul notifikationer fra denne bruger?",
"mute_modal.indefinite": "Tidsubegrænset", "mute_modal.indefinite": "Tidsubegrænset",
@ -435,7 +438,7 @@
"notifications_permission_banner.title": "Gå aldrig glip af noget", "notifications_permission_banner.title": "Gå aldrig glip af noget",
"picture_in_picture.restore": "Indsæt det igen", "picture_in_picture.restore": "Indsæt det igen",
"poll.closed": "Lukket", "poll.closed": "Lukket",
"poll.refresh": "Opdatér", "poll.refresh": "Genindlæs",
"poll.total_people": "{count, plural, one {# person} other {# personer}}", "poll.total_people": "{count, plural, one {# person} other {# personer}}",
"poll.total_votes": "{count, plural, one {# stemme} other {# stemmer}}", "poll.total_votes": "{count, plural, one {# stemme} other {# stemmer}}",
"poll.vote": "Stem", "poll.vote": "Stem",
@ -566,7 +569,7 @@
"status.pin": "Fastgør til profil", "status.pin": "Fastgør til profil",
"status.pinned": "Fastgjort indlæg", "status.pinned": "Fastgjort indlæg",
"status.read_more": "Læs mere", "status.read_more": "Læs mere",
"status.reblog": "Fremhæv", "status.reblog": "Boost",
"status.reblog_private": "Boost med oprindelig synlighed", "status.reblog_private": "Boost med oprindelig synlighed",
"status.reblogged_by": "{name} boostede", "status.reblogged_by": "{name} boostede",
"status.reblogs.empty": "Ingen har endnu boostet dette indlæg. Når nogen gør, vil det fremgå hér.", "status.reblogs.empty": "Ingen har endnu boostet dette indlæg. Når nogen gør, vil det fremgå hér.",
@ -593,7 +596,7 @@
"subscribed_languages.save": "Gem ændringer", "subscribed_languages.save": "Gem ændringer",
"subscribed_languages.target": "Skift abonnementssprog for {target}", "subscribed_languages.target": "Skift abonnementssprog for {target}",
"suggestions.dismiss": "Afvis foreslag", "suggestions.dismiss": "Afvis foreslag",
"suggestions.header": "Du er måske interesseret i…", "suggestions.header": "Du er måske interesseret i …",
"tabs_bar.federated_timeline": "Fælles", "tabs_bar.federated_timeline": "Fælles",
"tabs_bar.home": "Hjem", "tabs_bar.home": "Hjem",
"tabs_bar.local_timeline": "Lokal", "tabs_bar.local_timeline": "Lokal",

View File

@ -2,10 +2,8 @@
"about.blocks": "Moderierte Server", "about.blocks": "Moderierte Server",
"about.contact": "Kontakt:", "about.contact": "Kontakt:",
"about.disclaimer": "Mastodon ist eine freie, quelloffene Software und eine Marke der Mastodon gGmbH.", "about.disclaimer": "Mastodon ist eine freie, quelloffene Software und eine Marke der Mastodon gGmbH.",
"about.domain_blocks.comment": "Begründung", "about.domain_blocks.no_reason_available": "Grund unbekannt",
"about.domain_blocks.domain": "Domain",
"about.domain_blocks.preamble": "Mastodon erlaubt es dir grundsätzlich, alle Inhalte von allen Nutzer*innen auf allen Servern im Fediversum zu sehen und mit ihnen zu interagieren. Für diese Instanz gibt es aber ein paar Ausnahmen.", "about.domain_blocks.preamble": "Mastodon erlaubt es dir grundsätzlich, alle Inhalte von allen Nutzer*innen auf allen Servern im Fediversum zu sehen und mit ihnen zu interagieren. Für diese Instanz gibt es aber ein paar Ausnahmen.",
"about.domain_blocks.severity": "Schweregrad",
"about.domain_blocks.silenced.explanation": "Alle Inhalte dieses Servers sind stumm geschaltet und werden zunächst nicht angezeigt. Du kannst die Profile und anderen Inhalte aber dennoch manuell aufrufen oder Du folgst einer Person dieser Mastodon-Instanz.", "about.domain_blocks.silenced.explanation": "Alle Inhalte dieses Servers sind stumm geschaltet und werden zunächst nicht angezeigt. Du kannst die Profile und anderen Inhalte aber dennoch manuell aufrufen oder Du folgst einer Person dieser Mastodon-Instanz.",
"about.domain_blocks.silenced.title": "Limitiert", "about.domain_blocks.silenced.title": "Limitiert",
"about.domain_blocks.suspended.explanation": "Es werden keine Daten von diesem Server verarbeitet, gespeichert oder ausgetauscht, sodass eine Interaktion oder Kommunikation mit Nutzer*innen dieses Servers nicht möglich ist.", "about.domain_blocks.suspended.explanation": "Es werden keine Daten von diesem Server verarbeitet, gespeichert oder ausgetauscht, sodass eine Interaktion oder Kommunikation mit Nutzer*innen dieses Servers nicht möglich ist.",
@ -39,17 +37,19 @@
"account.following_counter": "{count, plural, one {{counter} Folgt} other {{counter} Folgt}}", "account.following_counter": "{count, plural, one {{counter} Folgt} other {{counter} Folgt}}",
"account.follows.empty": "Dieses Profil folgt noch niemandem.", "account.follows.empty": "Dieses Profil folgt noch niemandem.",
"account.follows_you": "Folgt dir", "account.follows_you": "Folgt dir",
"account.go_to_profile": "Profil öffnen",
"account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen", "account.hide_reblogs": "Geteilte Beiträge von @{name} verbergen",
"account.joined_short": "Beigetreten", "account.joined_short": "Beigetreten",
"account.languages": "Abonnierte Sprachen ändern", "account.languages": "Genutzte Sprachen überarbeiten",
"account.link_verified_on": "Das Profil mit dieser E-Mail-Adresse wurde bereits am {date} bestätigt", "account.link_verified_on": "Das Profil mit dieser E-Mail-Adresse wurde bereits am {date} bestätigt",
"account.locked_info": "Der Privatsphärenstatus dieses Kontos wurde auf „gesperrt“ gesetzt. Die Person bestimmt manuell, wer ihm/ihr folgen darf.", "account.locked_info": "Die Privatsphäre dieses Kontos wurde auf „geschützt“ gesetzt. Die Person bestimmt manuell, wer ihrem Profil folgen darf.",
"account.media": "Medien", "account.media": "Medien",
"account.mention": "@{name} im Beitrag erwähnen", "account.mention": "@{name} im Beitrag erwähnen",
"account.moved_to": "{name} ist umgezogen nach:", "account.moved_to": "{name} hat angegeben, dass dieser der neue Account ist:",
"account.mute": "@{name} stummschalten", "account.mute": "@{name} stummschalten",
"account.mute_notifications": "Benachrichtigungen von @{name} stummschalten", "account.mute_notifications": "Benachrichtigungen von @{name} stummschalten",
"account.muted": "Stummgeschaltet", "account.muted": "Stummgeschaltet",
"account.open_original_page": "Ursprüngliche Seite öffnen",
"account.posts": "Beiträge", "account.posts": "Beiträge",
"account.posts_with_replies": "Beiträge und Antworten", "account.posts_with_replies": "Beiträge und Antworten",
"account.report": "@{name} melden", "account.report": "@{name} melden",
@ -87,15 +87,15 @@
"bundle_column_error.network.title": "Netzwerkfehler", "bundle_column_error.network.title": "Netzwerkfehler",
"bundle_column_error.retry": "Erneut versuchen", "bundle_column_error.retry": "Erneut versuchen",
"bundle_column_error.return": "Zurück zur Startseite", "bundle_column_error.return": "Zurück zur Startseite",
"bundle_column_error.routing.body": "Die angeforderte Seite konnte nicht gefunden werden. Sind Sie sicher, dass die URL in der Adressleiste korrekt ist?", "bundle_column_error.routing.body": "Die angeforderte Seite konnte nicht gefunden werden. Bist du dir sicher, dass die URL in der Adressleiste korrekt ist?",
"bundle_column_error.routing.title": "404", "bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Schließen", "bundle_modal_error.close": "Schließen",
"bundle_modal_error.message": "Etwas ist beim Laden schiefgelaufen.", "bundle_modal_error.message": "Etwas ist beim Laden schiefgelaufen.",
"bundle_modal_error.retry": "Erneut versuchen", "bundle_modal_error.retry": "Erneut versuchen",
"closed_registrations.other_server_instructions": "Da Mastodon dezentralisiert ist, können Sie ein Konto auf einem anderen Server erstellen und trotzdem mit diesem Server interagieren.", "closed_registrations.other_server_instructions": "Da Mastodon dezentralisiert ist, kannst du ein Konto auf einem anderen Server erstellen und trotzdem mit diesem Server interagieren.",
"closed_registrations_modal.description": "Das Anlegen eines Kontos auf {domain} ist derzeit nicht möglich, aber bedenken Sie bitte, dass Sie kein spezielles Konto auf {domain} benötigen, um Mastodon nutzen zu können.", "closed_registrations_modal.description": "Das Anlegen eines Kontos auf {domain} ist derzeit nicht möglich, aber bedenke, dass du kein extra Konto auf {domain} benötigst, um Mastodon nutzen zu können.",
"closed_registrations_modal.find_another_server": "Einen anderen Server auswählen", "closed_registrations_modal.find_another_server": "Einen anderen Server auswählen",
"closed_registrations_modal.preamble": "Mastodon ist dezentralisiert, d.h. unabhängig davon, wo Sie Ihr Konto erstellen, können Sie jedem auf diesem Server folgen und mit ihm interagieren. Sie können ihn sogar selbst hosten!", "closed_registrations_modal.preamble": "Mastodon ist dezentralisiert, das heißt unabhängig davon, wo du dein Konto erstellst, kannst du jedes Konto auf diesem Server folgen und mit dem interagieren. Du kannst auch deinen eigenen Server hosten!",
"closed_registrations_modal.title": "Bei Mastodon registrieren", "closed_registrations_modal.title": "Bei Mastodon registrieren",
"column.about": "Über", "column.about": "Über",
"column.blocks": "Blockierte Profile", "column.blocks": "Blockierte Profile",
@ -111,7 +111,7 @@
"column.mutes": "Stummgeschaltete Profile", "column.mutes": "Stummgeschaltete Profile",
"column.notifications": "Mitteilungen", "column.notifications": "Mitteilungen",
"column.pins": "Angeheftete Beiträge", "column.pins": "Angeheftete Beiträge",
"column.public": "Föderierte Chronik", "column.public": "Föderierte Timeline",
"column_back_button.label": "Zurück", "column_back_button.label": "Zurück",
"column_header.hide_settings": "Einstellungen verbergen", "column_header.hide_settings": "Einstellungen verbergen",
"column_header.moveLeft_settings": "Diese Spalte nach links verschieben", "column_header.moveLeft_settings": "Diese Spalte nach links verschieben",
@ -127,7 +127,7 @@
"compose.language.search": "Sprachen suchen …", "compose.language.search": "Sprachen suchen …",
"compose_form.direct_message_warning_learn_more": "Mehr erfahren", "compose_form.direct_message_warning_learn_more": "Mehr erfahren",
"compose_form.encryption_warning": "Beiträge von Mastodon sind nicht Ende-zu-Ende verschlüsselt. Teile keine senible Informationen über Mastodon.", "compose_form.encryption_warning": "Beiträge von Mastodon sind nicht Ende-zu-Ende verschlüsselt. Teile keine senible Informationen über Mastodon.",
"compose_form.hashtag_warning": "Dieser Beitrag ist über Hashtags nicht zu finden, weil er nicht gelistet ist. Nur öffentliche Beiträge tauchen in den Hashtag-Chroniken auf.", "compose_form.hashtag_warning": "Dieser Beitrag ist über Hashtags nicht zu finden, weil er nicht gelistet ist. Nur öffentliche Beiträge tauchen in den Hashtag-Timelines auf.",
"compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.", "compose_form.lock_disclaimer": "Dein Profil ist nicht {locked}. Wer dir folgen will, kann das jederzeit tun und dann auch deine privaten Beiträge sehen.",
"compose_form.lock_disclaimer.lock": "geschützt", "compose_form.lock_disclaimer.lock": "geschützt",
"compose_form.placeholder": "Was gibt's Neues?", "compose_form.placeholder": "Was gibt's Neues?",
@ -158,7 +158,7 @@
"confirmations.delete_list.message": "Bist du dir sicher, dass du diese Liste permanent löschen möchtest?", "confirmations.delete_list.message": "Bist du dir sicher, dass du diese Liste permanent löschen möchtest?",
"confirmations.discard_edit_media.confirm": "Verwerfen", "confirmations.discard_edit_media.confirm": "Verwerfen",
"confirmations.discard_edit_media.message": "Du hast ungespeicherte Änderungen an der Medienbeschreibung oder der Medienvorschau. Trotzdem verwerfen?", "confirmations.discard_edit_media.message": "Du hast ungespeicherte Änderungen an der Medienbeschreibung oder der Medienvorschau. Trotzdem verwerfen?",
"confirmations.domain_block.confirm": "Domain sperren", "confirmations.domain_block.confirm": "Blocke die ganze Domain",
"confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus. Du wirst den Inhalt von dieser Domain nicht in irgendwelchen öffentlichen Timelines oder den Benachrichtigungen finden. Auch deine Follower von dieser Domain werden entfernt.", "confirmations.domain_block.message": "Bist du dir wirklich sicher, dass du die ganze Domain {domain} blockieren willst? In den meisten Fällen reichen ein paar gezielte Blockierungen oder Stummschaltungen aus. Du wirst den Inhalt von dieser Domain nicht in irgendwelchen öffentlichen Timelines oder den Benachrichtigungen finden. Auch deine Follower von dieser Domain werden entfernt.",
"confirmations.logout.confirm": "Abmelden", "confirmations.logout.confirm": "Abmelden",
"confirmations.logout.message": "Bist du sicher, dass du dich abmelden möchtest?", "confirmations.logout.message": "Bist du sicher, dass du dich abmelden möchtest?",
@ -176,11 +176,13 @@
"conversation.open": "Unterhaltung anzeigen", "conversation.open": "Unterhaltung anzeigen",
"conversation.with": "Mit {names}", "conversation.with": "Mit {names}",
"copypaste.copied": "In die Zwischenablage kopiert", "copypaste.copied": "In die Zwischenablage kopiert",
"copypaste.copy": "In die Zwischenablage kopieren", "copypaste.copy": "Kopieren",
"directory.federated": "Aus dem Fediverse", "directory.federated": "Aus dem Fediverse",
"directory.local": "Nur von der Domain {domain}", "directory.local": "Nur von der Domain {domain}",
"directory.new_arrivals": "Neue Profile", "directory.new_arrivals": "Neue Profile",
"directory.recently_active": "Kürzlich aktiv", "directory.recently_active": "Kürzlich aktiv",
"disabled_account_banner.account_settings": "Kontoeinstellungen",
"disabled_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert.",
"dismissable_banner.community_timeline": "Dies sind die neuesten öffentlichen Beiträge von Personen, deren Konten von {domain} gehostet werden.", "dismissable_banner.community_timeline": "Dies sind die neuesten öffentlichen Beiträge von Personen, deren Konten von {domain} gehostet werden.",
"dismissable_banner.dismiss": "Ablehnen", "dismissable_banner.dismiss": "Ablehnen",
"dismissable_banner.explore_links": "Diese Nachrichten werden gerade von Leuten auf diesem und anderen Servern des dezentralen Netzwerks besprochen.", "dismissable_banner.explore_links": "Diese Nachrichten werden gerade von Leuten auf diesem und anderen Servern des dezentralen Netzwerks besprochen.",
@ -200,7 +202,7 @@
"emoji_button.objects": "Gegenstände", "emoji_button.objects": "Gegenstände",
"emoji_button.people": "Personen", "emoji_button.people": "Personen",
"emoji_button.recent": "Häufig benutzte Emojis", "emoji_button.recent": "Häufig benutzte Emojis",
"emoji_button.search": "Nach Emojis suchen …", "emoji_button.search": "Suchen …",
"emoji_button.search_results": "Suchergebnisse", "emoji_button.search_results": "Suchergebnisse",
"emoji_button.symbols": "Symbole", "emoji_button.symbols": "Symbole",
"emoji_button.travel": "Reisen & Orte", "emoji_button.travel": "Reisen & Orte",
@ -209,7 +211,7 @@
"empty_column.account_unavailable": "Profil nicht verfügbar", "empty_column.account_unavailable": "Profil nicht verfügbar",
"empty_column.blocks": "Du hast bisher keine Profile blockiert.", "empty_column.blocks": "Du hast bisher keine Profile blockiert.",
"empty_column.bookmarked_statuses": "Du hast bis jetzt keine Beiträge als Lesezeichen gespeichert. Wenn du einen Beitrag als Lesezeichen speicherst wird er hier erscheinen.", "empty_column.bookmarked_statuses": "Du hast bis jetzt keine Beiträge als Lesezeichen gespeichert. Wenn du einen Beitrag als Lesezeichen speicherst wird er hier erscheinen.",
"empty_column.community": "Die lokale Chronik ist leer. Schreibe einen öffentlichen Beitrag, um den Stein ins Rollen zu bringen!", "empty_column.community": "Die lokale Timeline ist leer. Schreibe einen öffentlichen Beitrag, um den Stein ins Rollen zu bringen!",
"empty_column.direct": "Du hast noch keine Direktnachrichten. Sobald du eine sendest oder empfängst, wird sie hier zu sehen sein.", "empty_column.direct": "Du hast noch keine Direktnachrichten. Sobald du eine sendest oder empfängst, wird sie hier zu sehen sein.",
"empty_column.domain_blocks": "Du hast noch keine Domains blockiert.", "empty_column.domain_blocks": "Du hast noch keine Domains blockiert.",
"empty_column.explore_statuses": "Momentan ist nichts im Trend. Schau später wieder vorbei!", "empty_column.explore_statuses": "Momentan ist nichts im Trend. Schau später wieder vorbei!",
@ -224,7 +226,7 @@
"empty_column.lists": "Du hast noch keine Listen. Wenn du eine anlegst, wird sie hier angezeigt werden.", "empty_column.lists": "Du hast noch keine Listen. Wenn du eine anlegst, wird sie hier angezeigt werden.",
"empty_column.mutes": "Du hast keine Profile stummgeschaltet.", "empty_column.mutes": "Du hast keine Profile stummgeschaltet.",
"empty_column.notifications": "Du hast noch keine Mitteilungen. Sobald Du mit anderen Personen interagierst, wirst Du hier darüber benachrichtigt.", "empty_column.notifications": "Du hast noch keine Mitteilungen. Sobald Du mit anderen Personen interagierst, wirst Du hier darüber benachrichtigt.",
"empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Servern, um die Zeitleiste aufzufüllen", "empty_column.public": "Hier ist nichts zu sehen! Schreibe etwas öffentlich oder folge Profilen von anderen Servern, um die Timeline aufzufüllen",
"error.unexpected_crash.explanation": "Aufgrund eines Fehlers in unserem Code oder einer Browser-Inkompatibilität konnte diese Seite nicht korrekt angezeigt werden.", "error.unexpected_crash.explanation": "Aufgrund eines Fehlers in unserem Code oder einer Browser-Inkompatibilität konnte diese Seite nicht korrekt angezeigt werden.",
"error.unexpected_crash.explanation_addons": "Diese Seite konnte nicht korrekt angezeigt werden. Dieser Fehler wird wahrscheinlich durch ein Browser-Add-on oder automatische Übersetzungswerkzeuge verursacht.", "error.unexpected_crash.explanation_addons": "Diese Seite konnte nicht korrekt angezeigt werden. Dieser Fehler wird wahrscheinlich durch ein Browser-Add-on oder automatische Übersetzungswerkzeuge verursacht.",
"error.unexpected_crash.next_steps": "Versuche, die Seite zu aktualisieren. Wenn das nicht hilft, kannst du Mastodon über einen anderen Browser oder eine native App verwenden.", "error.unexpected_crash.next_steps": "Versuche, die Seite zu aktualisieren. Wenn das nicht hilft, kannst du Mastodon über einen anderen Browser oder eine native App verwenden.",
@ -244,17 +246,17 @@
"filter_modal.added.review_and_configure": "Um diese Filterkategorie zu überprüfen und weiter zu konfigurieren, gehe zu {settings_link}.", "filter_modal.added.review_and_configure": "Um diese Filterkategorie zu überprüfen und weiter zu konfigurieren, gehe zu {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filtereinstellungen", "filter_modal.added.review_and_configure_title": "Filtereinstellungen",
"filter_modal.added.settings_link": "Einstellungsseite", "filter_modal.added.settings_link": "Einstellungsseite",
"filter_modal.added.short_explanation": "Dieser Post wurde zu folgender Filterkategorie hinzugefügt: {title}.", "filter_modal.added.short_explanation": "Dieser Post wurde folgender Filterkategorie hinzugefügt: {title}.",
"filter_modal.added.title": "Filter hinzugefügt!", "filter_modal.added.title": "Filter hinzugefügt!",
"filter_modal.select_filter.context_mismatch": "gilt nicht für diesen Kontext", "filter_modal.select_filter.context_mismatch": "gilt nicht für diesen Kontext",
"filter_modal.select_filter.expired": "abgelaufen", "filter_modal.select_filter.expired": "abgelaufen",
"filter_modal.select_filter.prompt_new": "Neue Kategorie: {name}", "filter_modal.select_filter.prompt_new": "Neue Kategorie: {name}",
"filter_modal.select_filter.search": "Suchen oder Erstellen", "filter_modal.select_filter.search": "Suchen oder erstellen",
"filter_modal.select_filter.subtitle": "Eine existierende Kategorie benutzen oder eine erstellen", "filter_modal.select_filter.subtitle": "Eine existierende Kategorie benutzen oder eine erstellen",
"filter_modal.select_filter.title": "Diesen Beitrag filtern", "filter_modal.select_filter.title": "Diesen Beitrag filtern",
"filter_modal.title.status": "Einen Beitrag filtern", "filter_modal.title.status": "Einen Beitrag filtern",
"follow_recommendations.done": "Fertig", "follow_recommendations.done": "Fertig",
"follow_recommendations.heading": "Folge Leuten, von denen du Beiträge sehen möchtest! Hier sind einige Vorschläge.", "follow_recommendations.heading": "Folge Leuten, deren Beiträge du sehen möchtest! Hier sind einige Vorschläge.",
"follow_recommendations.lead": "Beiträge von Personen, denen du folgst, werden in chronologischer Reihenfolge auf deiner Startseite angezeigt. Hab keine Angst, Fehler zu machen, du kannst den Leuten jederzeit wieder entfolgen!", "follow_recommendations.lead": "Beiträge von Personen, denen du folgst, werden in chronologischer Reihenfolge auf deiner Startseite angezeigt. Hab keine Angst, Fehler zu machen, du kannst den Leuten jederzeit wieder entfolgen!",
"follow_request.authorize": "Erlauben", "follow_request.authorize": "Erlauben",
"follow_request.reject": "Ablehnen", "follow_request.reject": "Ablehnen",
@ -284,13 +286,13 @@
"home.column_settings.show_replies": "Antworten anzeigen", "home.column_settings.show_replies": "Antworten anzeigen",
"home.hide_announcements": "Ankündigungen verbergen", "home.hide_announcements": "Ankündigungen verbergen",
"home.show_announcements": "Ankündigungen anzeigen", "home.show_announcements": "Ankündigungen anzeigen",
"interaction_modal.description.favourite": "Mit einem Account auf Mastodon können Sie diesen Beitrag favorisieren, um dem Autor mitzuteilen, dass Sie den Beitrag schätzen und ihn für einen späteren Zeitpunkt speichern.", "interaction_modal.description.favourite": "Mit einem Account auf Mastodon kannst du diesen Beitrag favorisieren, um deine Wertschätzung auszudrücken, und ihn für einen späteren Zeitpunkt speichern.",
"interaction_modal.description.follow": "Mit einem Konto auf Mastodon kannst du {name} folgen, um seine Beiträge in deinem Home Feed zu erhalten.", "interaction_modal.description.follow": "Mit einem Konto auf Mastodon kannst du {name} folgen, um seine Beiträge in deinem Home Feed zu erhalten.",
"interaction_modal.description.reblog": "Mit einem Mastodon-Account kannst du die Reichweite dieses Beitrags erhöhen, in dem du ihn mit deinen eigenen Followern teilst.", "interaction_modal.description.reblog": "Mit einem Mastodon-Account kannst du die Reichweite dieses Beitrags erhöhen, in dem du ihn mit deinen eigenen Followern teilst.",
"interaction_modal.description.reply": "Mit einem Account auf Mastodon können Sie auf diesen Beitrag antworten.", "interaction_modal.description.reply": "Mit einem Account auf Mastodon kannst du auf diesen Beitrag antworten.",
"interaction_modal.on_another_server": "Auf einem anderen Server", "interaction_modal.on_another_server": "Auf einem anderen Server",
"interaction_modal.on_this_server": "Auf diesem Server", "interaction_modal.on_this_server": "Auf diesem Server",
"interaction_modal.other_server_instructions": "Kopiere einfach diese URL und füge sie in die Suchleiste deiner Lieblings-App oder in die Weboberfläche, in der du angemeldet bist, ein.", "interaction_modal.other_server_instructions": "Kopiere diese URL und füge sie in das Suchfeld deiner bevorzugten Mastodon-App oder im Webinterface deiner Mastodon-Instanz ein.",
"interaction_modal.preamble": "Da Mastodon dezentralisiert ist, kannst du dein bestehendes Konto auf einem anderen Mastodon-Server oder einer kompatiblen Plattform nutzen, wenn du kein Konto auf dieser Plattform hast.", "interaction_modal.preamble": "Da Mastodon dezentralisiert ist, kannst du dein bestehendes Konto auf einem anderen Mastodon-Server oder einer kompatiblen Plattform nutzen, wenn du kein Konto auf dieser Plattform hast.",
"interaction_modal.title.favourite": "Lieblingsbeitrag von {name}", "interaction_modal.title.favourite": "Lieblingsbeitrag von {name}",
"interaction_modal.title.follow": "Folge {name}", "interaction_modal.title.follow": "Folge {name}",
@ -301,21 +303,21 @@
"intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}", "intervals.full.minutes": "{number, plural, one {# Minute} other {# Minuten}}",
"keyboard_shortcuts.back": "Zurück navigieren", "keyboard_shortcuts.back": "Zurück navigieren",
"keyboard_shortcuts.blocked": "Liste blockierter Profile öffnen", "keyboard_shortcuts.blocked": "Liste blockierter Profile öffnen",
"keyboard_shortcuts.boost": "teilen", "keyboard_shortcuts.boost": "Beitrag teilen",
"keyboard_shortcuts.column": "einen Beitrag in einer der Spalten fokussieren", "keyboard_shortcuts.column": "einen Beitrag in einer der Spalten fokussieren",
"keyboard_shortcuts.compose": "fokussiere das Eingabefeld", "keyboard_shortcuts.compose": "fokussiere das Eingabefeld",
"keyboard_shortcuts.description": "Beschreibung", "keyboard_shortcuts.description": "Beschreibung",
"keyboard_shortcuts.direct": "um die Spalte mit den Direktnachrichten zu öffnen", "keyboard_shortcuts.direct": "um die Spalte mit den Direktnachrichten zu öffnen",
"keyboard_shortcuts.down": "sich in der Liste hinunter bewegen", "keyboard_shortcuts.down": "In der Liste nach unten bewegen",
"keyboard_shortcuts.enter": "Beitrag öffnen", "keyboard_shortcuts.enter": "Beitrag öffnen",
"keyboard_shortcuts.favourite": "favorisieren", "keyboard_shortcuts.favourite": "favorisieren",
"keyboard_shortcuts.favourites": "Favoriten-Liste öffnen", "keyboard_shortcuts.favourites": "Favoriten-Liste öffnen",
"keyboard_shortcuts.federated": "Föderierte Chronik öffnen", "keyboard_shortcuts.federated": "Föderierte Timeline öffnen",
"keyboard_shortcuts.heading": "Tastenkombinationen", "keyboard_shortcuts.heading": "Tastenkombinationen",
"keyboard_shortcuts.home": "Startseite öffnen", "keyboard_shortcuts.home": "Startseite öffnen",
"keyboard_shortcuts.hotkey": "Tastenkürzel", "keyboard_shortcuts.hotkey": "Tastenkürzel",
"keyboard_shortcuts.legend": "diese Übersicht anzeigen", "keyboard_shortcuts.legend": "diese Übersicht anzeigen",
"keyboard_shortcuts.local": "Lokale Chronik öffnen", "keyboard_shortcuts.local": "Lokale Timeline öffnen",
"keyboard_shortcuts.mention": "Profil erwähnen", "keyboard_shortcuts.mention": "Profil erwähnen",
"keyboard_shortcuts.muted": "Liste stummgeschalteter Profile öffnen", "keyboard_shortcuts.muted": "Liste stummgeschalteter Profile öffnen",
"keyboard_shortcuts.my_profile": "Dein Profil öffnen", "keyboard_shortcuts.my_profile": "Dein Profil öffnen",
@ -339,7 +341,7 @@
"lightbox.next": "Weiter", "lightbox.next": "Weiter",
"lightbox.previous": "Zurück", "lightbox.previous": "Zurück",
"limited_account_hint.action": "Profil trotzdem anzeigen", "limited_account_hint.action": "Profil trotzdem anzeigen",
"limited_account_hint.title": "Dieses Profil wurde von den Moderator*innnen der Mastodon-Instanz {domain} ausgeblendet.", "limited_account_hint.title": "Dieses Profil wurde von den Moderator*innen der Mastodon-Instanz {domain} ausgeblendet.",
"lists.account.add": "Zur Liste hinzufügen", "lists.account.add": "Zur Liste hinzufügen",
"lists.account.remove": "Von der Liste entfernen", "lists.account.remove": "Von der Liste entfernen",
"lists.delete": "Liste löschen", "lists.delete": "Liste löschen",
@ -358,13 +360,14 @@
"media_gallery.toggle_visible": "{number, plural, one {Bild verbergen} other {Bilder verbergen}}", "media_gallery.toggle_visible": "{number, plural, one {Bild verbergen} other {Bilder verbergen}}",
"missing_indicator.label": "Nicht gefunden", "missing_indicator.label": "Nicht gefunden",
"missing_indicator.sublabel": "Die Ressource konnte nicht gefunden werden", "missing_indicator.sublabel": "Die Ressource konnte nicht gefunden werden",
"moved_to_account_banner.text": "Dein Konto {disabledAccount} ist derzeit deaktiviert, weil du zu {movedToAccount} umgezogen bist.",
"mute_modal.duration": "Dauer", "mute_modal.duration": "Dauer",
"mute_modal.hide_notifications": "Benachrichtigungen von diesem Profil verbergen?", "mute_modal.hide_notifications": "Benachrichtigungen von diesem Profil verbergen?",
"mute_modal.indefinite": "Unbestimmt", "mute_modal.indefinite": "Unbestimmt",
"navigation_bar.about": "Über", "navigation_bar.about": "Über",
"navigation_bar.blocks": "Blockierte Profile", "navigation_bar.blocks": "Blockierte Profile",
"navigation_bar.bookmarks": "Lesezeichen", "navigation_bar.bookmarks": "Lesezeichen",
"navigation_bar.community_timeline": "Lokale Chronik", "navigation_bar.community_timeline": "Lokale Timeline",
"navigation_bar.compose": "Neuen Beitrag verfassen", "navigation_bar.compose": "Neuen Beitrag verfassen",
"navigation_bar.direct": "Direktnachrichten", "navigation_bar.direct": "Direktnachrichten",
"navigation_bar.discover": "Entdecken", "navigation_bar.discover": "Entdecken",
@ -381,7 +384,7 @@
"navigation_bar.personal": "Persönlich", "navigation_bar.personal": "Persönlich",
"navigation_bar.pins": "Angeheftete Beiträge", "navigation_bar.pins": "Angeheftete Beiträge",
"navigation_bar.preferences": "Einstellungen", "navigation_bar.preferences": "Einstellungen",
"navigation_bar.public_timeline": "Föderierte Chronik", "navigation_bar.public_timeline": "Föderierte Timeline",
"navigation_bar.search": "Suche", "navigation_bar.search": "Suche",
"navigation_bar.security": "Sicherheit", "navigation_bar.security": "Sicherheit",
"not_signed_in_indicator.not_signed_in": "Sie müssen sich anmelden, um diese Funktion zu nutzen.", "not_signed_in_indicator.not_signed_in": "Sie müssen sich anmelden, um diese Funktion zu nutzen.",
@ -457,7 +460,7 @@
"refresh": "Aktualisieren", "refresh": "Aktualisieren",
"regeneration_indicator.label": "Laden…", "regeneration_indicator.label": "Laden…",
"regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!", "regeneration_indicator.sublabel": "Deine Startseite wird gerade vorbereitet!",
"relative_time.days": "{number}d", "relative_time.days": "{number}T",
"relative_time.full.days": "vor {number, plural, one {# Tag} other {# Tagen}}", "relative_time.full.days": "vor {number, plural, one {# Tag} other {# Tagen}}",
"relative_time.full.hours": "vor {number, plural, one {# Stunde} other {# Stunden}}", "relative_time.full.hours": "vor {number, plural, one {# Stunde} other {# Stunden}}",
"relative_time.full.just_now": "gerade eben", "relative_time.full.just_now": "gerade eben",
@ -488,7 +491,7 @@
"report.placeholder": "Zusätzliche Kommentare", "report.placeholder": "Zusätzliche Kommentare",
"report.reasons.dislike": "Das gefällt mir nicht", "report.reasons.dislike": "Das gefällt mir nicht",
"report.reasons.dislike_description": "Es ist etwas, das du nicht sehen willst", "report.reasons.dislike_description": "Es ist etwas, das du nicht sehen willst",
"report.reasons.other": "Da ist was anderes", "report.reasons.other": "Es geht um etwas anderes",
"report.reasons.other_description": "Das Problem passt nicht in die Kategorien", "report.reasons.other_description": "Das Problem passt nicht in die Kategorien",
"report.reasons.spam": "Das ist Spam", "report.reasons.spam": "Das ist Spam",
"report.reasons.spam_description": "Bösartige Links, gefälschtes Engagement oder wiederholte Antworten", "report.reasons.spam_description": "Bösartige Links, gefälschtes Engagement oder wiederholte Antworten",
@ -537,12 +540,12 @@
"sign_in_banner.sign_in": "Einloggen", "sign_in_banner.sign_in": "Einloggen",
"sign_in_banner.text": "Melden Sie sich an, um Profilen oder Hashtags zu folgen, Favoriten, Teilen und Antworten auf Beiträge oder interagieren Sie von Ihrem Konto auf einem anderen Server.", "sign_in_banner.text": "Melden Sie sich an, um Profilen oder Hashtags zu folgen, Favoriten, Teilen und Antworten auf Beiträge oder interagieren Sie von Ihrem Konto auf einem anderen Server.",
"status.admin_account": "Moderationsoberfläche für @{name} öffnen", "status.admin_account": "Moderationsoberfläche für @{name} öffnen",
"status.admin_status": "Öffne Beitrag in der Moderationsoberfläche", "status.admin_status": "Diesen Beitrag in der Moderationsoberfläche öffnen",
"status.block": "@{name} blockieren", "status.block": "@{name} blockieren",
"status.bookmark": "Lesezeichen setzen", "status.bookmark": "Lesezeichen setzen",
"status.cancel_reblog_private": "Teilen des Beitrags rückgängig machen", "status.cancel_reblog_private": "Teilen des Beitrags rückgängig machen",
"status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden", "status.cannot_reblog": "Dieser Beitrag kann nicht geteilt werden",
"status.copy": "Kopiere Link des Beitrags", "status.copy": "Link zum Beitrag kopieren",
"status.delete": "Beitrag löschen", "status.delete": "Beitrag löschen",
"status.detailed_status": "Detaillierte Ansicht der Unterhaltung", "status.detailed_status": "Detaillierte Ansicht der Unterhaltung",
"status.direct": "Direktnachricht an @{name}", "status.direct": "Direktnachricht an @{name}",
@ -565,7 +568,7 @@
"status.open": "Diesen Beitrag öffnen", "status.open": "Diesen Beitrag öffnen",
"status.pin": "Im Profil anheften", "status.pin": "Im Profil anheften",
"status.pinned": "Angehefteter Beitrag", "status.pinned": "Angehefteter Beitrag",
"status.read_more": "Mehr lesen", "status.read_more": "Gesamten Beitrag anschauen",
"status.reblog": "Teilen", "status.reblog": "Teilen",
"status.reblog_private": "Mit der ursprünglichen Zielgruppe teilen", "status.reblog_private": "Mit der ursprünglichen Zielgruppe teilen",
"status.reblogged_by": "{name} teilte", "status.reblogged_by": "{name} teilte",
@ -585,7 +588,7 @@
"status.show_more_all": "Alle Inhaltswarnungen aufklappen", "status.show_more_all": "Alle Inhaltswarnungen aufklappen",
"status.show_original": "Original anzeigen", "status.show_original": "Original anzeigen",
"status.translate": "Übersetzen", "status.translate": "Übersetzen",
"status.translated_from_with": "Ins {lang}e mithilfe von {provider} übersetzt", "status.translated_from_with": "Aus {lang} mittels {provider} übersetzt",
"status.uncached_media_warning": "Nicht verfügbar", "status.uncached_media_warning": "Nicht verfügbar",
"status.unmute_conversation": "Stummschaltung der Unterhaltung aufheben", "status.unmute_conversation": "Stummschaltung der Unterhaltung aufheben",
"status.unpin": "Vom Profil lösen", "status.unpin": "Vom Profil lösen",
@ -594,7 +597,7 @@
"subscribed_languages.target": "Abonnierte Sprachen für {target} ändern", "subscribed_languages.target": "Abonnierte Sprachen für {target} ändern",
"suggestions.dismiss": "Empfehlung ausblenden", "suggestions.dismiss": "Empfehlung ausblenden",
"suggestions.header": "Du bist vielleicht interessiert an…", "suggestions.header": "Du bist vielleicht interessiert an…",
"tabs_bar.federated_timeline": "Vereinigte Timeline", "tabs_bar.federated_timeline": "Föderierte Timeline",
"tabs_bar.home": "Startseite", "tabs_bar.home": "Startseite",
"tabs_bar.local_timeline": "Lokale Timeline", "tabs_bar.local_timeline": "Lokale Timeline",
"tabs_bar.notifications": "Mitteilungen", "tabs_bar.notifications": "Mitteilungen",
@ -635,7 +638,7 @@
"upload_modal.preparing_ocr": "Vorbereitung von OCR…", "upload_modal.preparing_ocr": "Vorbereitung von OCR…",
"upload_modal.preview_label": "Vorschau ({ratio})", "upload_modal.preview_label": "Vorschau ({ratio})",
"upload_progress.label": "Wird hochgeladen …", "upload_progress.label": "Wird hochgeladen …",
"upload_progress.processing": "Wird verarbeitet …", "upload_progress.processing": "Wird verarbeitet…",
"video.close": "Video schließen", "video.close": "Video schließen",
"video.download": "Datei herunterladen", "video.download": "Datei herunterladen",
"video.exit_fullscreen": "Vollbild verlassen", "video.exit_fullscreen": "Vollbild verlassen",

View File

@ -682,6 +682,10 @@
{ {
"defaultMessage": "Filter this post", "defaultMessage": "Filter this post",
"id": "status.filter" "id": "status.filter"
},
{
"defaultMessage": "Open original page",
"id": "account.open_original_page"
} }
], ],
"path": "app/javascript/mastodon/components/status_action_bar.json" "path": "app/javascript/mastodon/components/status_action_bar.json"
@ -887,16 +891,8 @@
"id": "about.domain_blocks.preamble" "id": "about.domain_blocks.preamble"
}, },
{ {
"defaultMessage": "Domain", "defaultMessage": "Reason not available",
"id": "about.domain_blocks.domain" "id": "about.domain_blocks.no_reason_available"
},
{
"defaultMessage": "Severity",
"id": "about.domain_blocks.severity"
},
{
"defaultMessage": "Reason",
"id": "about.domain_blocks.comment"
}, },
{ {
"defaultMessage": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "defaultMessage": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
@ -951,8 +947,12 @@
{ {
"descriptors": [ "descriptors": [
{ {
"defaultMessage": "{name} has moved to:", "defaultMessage": "{name} has indicated that their new account is now:",
"id": "account.moved_to" "id": "account.moved_to"
},
{
"defaultMessage": "Go to profile",
"id": "account.go_to_profile"
} }
], ],
"path": "app/javascript/mastodon/features/account_timeline/components/moved_note.json" "path": "app/javascript/mastodon/features/account_timeline/components/moved_note.json"
@ -1183,6 +1183,10 @@
"defaultMessage": "Change subscribed languages", "defaultMessage": "Change subscribed languages",
"id": "account.languages" "id": "account.languages"
}, },
{
"defaultMessage": "Open original page",
"id": "account.open_original_page"
},
{ {
"defaultMessage": "Follows you", "defaultMessage": "Follows you",
"id": "account.follows_you" "id": "account.follows_you"
@ -2599,7 +2603,7 @@
"id": "interaction_modal.on_another_server" "id": "interaction_modal.on_another_server"
}, },
{ {
"defaultMessage": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "defaultMessage": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"id": "interaction_modal.other_server_instructions" "id": "interaction_modal.other_server_instructions"
} }
], ],
@ -3594,6 +3598,10 @@
{ {
"defaultMessage": "Unblock @{name}", "defaultMessage": "Unblock @{name}",
"id": "account.unblock" "id": "account.unblock"
},
{
"defaultMessage": "Open original page",
"id": "account.open_original_page"
} }
], ],
"path": "app/javascript/mastodon/features/status/components/action_bar.json" "path": "app/javascript/mastodon/features/status/components/action_bar.json"
@ -3836,6 +3844,31 @@
], ],
"path": "app/javascript/mastodon/features/ui/components/confirmation_modal.json" "path": "app/javascript/mastodon/features/ui/components/confirmation_modal.json"
}, },
{
"descriptors": [
{
"defaultMessage": "Are you sure you want to log out?",
"id": "confirmations.logout.message"
},
{
"defaultMessage": "Log out",
"id": "confirmations.logout.confirm"
},
{
"defaultMessage": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"id": "moved_to_account_banner.text"
},
{
"defaultMessage": "Your account {disabledAccount} is currently disabled.",
"id": "disabled_account_banner.text"
},
{
"defaultMessage": "Account settings",
"id": "disabled_account_banner.account_settings"
}
],
"path": "app/javascript/mastodon/features/ui/components/disabled_account_banner.json"
},
{ {
"descriptors": [ "descriptors": [
{ {
@ -3969,6 +4002,15 @@
], ],
"path": "app/javascript/mastodon/features/ui/components/header.json" "path": "app/javascript/mastodon/features/ui/components/header.json"
}, },
{
"descriptors": [
{
"defaultMessage": "Close",
"id": "lightbox.close"
}
],
"path": "app/javascript/mastodon/features/ui/components/image_modal.json"
},
{ {
"descriptors": [ "descriptors": [
{ {

View File

@ -2,10 +2,8 @@
"about.blocks": "Moderated servers", "about.blocks": "Moderated servers",
"about.contact": "Επικοινωνία:", "about.contact": "Επικοινωνία:",
"about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.", "about.disclaimer": "Το Mastodon είναι ελεύθερο λογισμικό ανοιχτού κώδικα και εμπορικό σήμα της Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Αιτιολογία μη διαθέσιμη",
"about.domain_blocks.domain": "Τομέας (Domain)",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Σοβαρότητα",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, other {{counter} Ακολουθεί}}", "account.following_counter": "{count, plural, other {{counter} Ακολουθεί}}",
"account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.", "account.follows.empty": "Αυτός ο χρήστης δεν ακολουθεί κανέναν ακόμα.",
"account.follows_you": "Σε ακολουθεί", "account.follows_you": "Σε ακολουθεί",
"account.go_to_profile": "Μετάβαση στο προφίλ",
"account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}", "account.hide_reblogs": "Απόκρυψη προωθήσεων από @{name}",
"account.joined_short": "Joined", "account.joined_short": "Joined",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
@ -46,10 +45,11 @@
"account.locked_info": "Η κατάσταση απορρήτου αυτού του λογαριασμού είναι κλειδωμένη. Ο ιδιοκτήτης επιβεβαιώνει χειροκίνητα ποιος μπορεί να τον ακολουθήσει.", "account.locked_info": "Η κατάσταση απορρήτου αυτού του λογαριασμού είναι κλειδωμένη. Ο ιδιοκτήτης επιβεβαιώνει χειροκίνητα ποιος μπορεί να τον ακολουθήσει.",
"account.media": "Πολυμέσα", "account.media": "Πολυμέσα",
"account.mention": "Ανάφερε @{name}", "account.mention": "Ανάφερε @{name}",
"account.moved_to": "{name} μεταφέρθηκε στο:", "account.moved_to": "Ο/Η {name} έχει υποδείξει ότι ο νέος λογαριασμός του/της είναι τώρα:",
"account.mute": "Σώπασε @{name}", "account.mute": "Σώπασε @{name}",
"account.mute_notifications": "Σώπασε τις ειδοποιήσεις από @{name}", "account.mute_notifications": "Σώπασε τις ειδοποιήσεις από @{name}",
"account.muted": "Αποσιωπημένος/η", "account.muted": "Αποσιωπημένος/η",
"account.open_original_page": "Open original page",
"account.posts": "Τουτ", "account.posts": "Τουτ",
"account.posts_with_replies": "Τουτ και απαντήσεις", "account.posts_with_replies": "Τουτ και απαντήσεις",
"account.report": "Κατάγγειλε @{name}", "account.report": "Κατάγγειλε @{name}",
@ -181,6 +181,8 @@
"directory.local": "Μόνο από {domain}", "directory.local": "Μόνο από {domain}",
"directory.new_arrivals": "Νέες αφίξεις", "directory.new_arrivals": "Νέες αφίξεις",
"directory.recently_active": "Πρόσφατα ενεργοί", "directory.recently_active": "Πρόσφατα ενεργοί",
"disabled_account_banner.account_settings": "Ρυθμίσεις λογαριασμού",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Παράβλεψη", "dismissable_banner.dismiss": "Παράβλεψη",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή", "interaction_modal.on_another_server": "Σε διαφορετικό διακομιστή",
"interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή", "interaction_modal.on_this_server": "Σε αυτόν τον διακομιστή",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Αντιγράψτε και επικολλήστε αυτήν τη διεύθυνση URL στο πεδίο αναζήτησης της αγαπημένης σας εφαρμογής Mastodon ή στο web interface του διακομιστή σας Mastodon.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "Εναλλαγή ορατότητας", "media_gallery.toggle_visible": "Εναλλαγή ορατότητας",
"missing_indicator.label": "Δε βρέθηκε", "missing_indicator.label": "Δε βρέθηκε",
"missing_indicator.sublabel": "Αδύνατη η εύρεση αυτού του πόρου", "missing_indicator.sublabel": "Αδύνατη η εύρεση αυτού του πόρου",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Διάρκεια", "mute_modal.duration": "Διάρκεια",
"mute_modal.hide_notifications": "Απόκρυψη ειδοποιήσεων αυτού του χρήστη;", "mute_modal.hide_notifications": "Απόκρυψη ειδοποιήσεων αυτού του χρήστη;",
"mute_modal.indefinite": "Αόριστη", "mute_modal.indefinite": "Αόριστη",

View File

@ -2,16 +2,14 @@
"about.blocks": "Moderated servers", "about.blocks": "Moderated servers",
"about.contact": "Contact:", "about.contact": "Contact:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Domain", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the Fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Severity",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
"about.domain_blocks.suspended.title": "Suspended", "about.domain_blocks.suspended.title": "Suspended",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "This information has not been made available on this server.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Decentralised social media powered by {mastodon}",
"about.rules": "Server rules", "about.rules": "Server rules",
"account.account_note_header": "Note", "account.account_note_header": "Note",
"account.add_or_remove_from_list": "Add or Remove from lists", "account.add_or_remove_from_list": "Add or Remove from lists",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.follows.empty": "This user doesn't follow anyone yet.", "account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Follows you", "account.follows_you": "Follows you",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "Hide boosts from @{name}",
"account.joined_short": "Joined", "account.joined_short": "Joined",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
@ -46,10 +45,11 @@
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mention @{name}", "account.mention": "Mention @{name}",
"account.moved_to": "{name} has moved to:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted", "account.muted": "Muted",
"account.open_original_page": "Open original page",
"account.posts": "Posts", "account.posts": "Posts",
"account.posts_with_replies": "Posts and replies", "account.posts_with_replies": "Posts and replies",
"account.report": "Report @{name}", "account.report": "Report @{name}",
@ -65,7 +65,7 @@
"account.unmute": "Unmute @{name}", "account.unmute": "Unmute @{name}",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "Unmute notifications from @{name}",
"account.unmute_short": "Unmute", "account.unmute_short": "Unmute",
"account_note.placeholder": "Click to add a note", "account_note.placeholder": "Click to add note",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "admin.dashboard.daily_retention": "User retention rate by day after sign-up",
"admin.dashboard.monthly_retention": "User retention rate by month after sign-up", "admin.dashboard.monthly_retention": "User retention rate by month after sign-up",
"admin.dashboard.retention.average": "Average", "admin.dashboard.retention.average": "Average",
@ -92,10 +92,10 @@
"bundle_modal_error.close": "Close", "bundle_modal_error.close": "Close",
"bundle_modal_error.message": "Something went wrong while loading this component.", "bundle_modal_error.message": "Something went wrong while loading this component.",
"bundle_modal_error.retry": "Try again", "bundle_modal_error.retry": "Try again",
"closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", "closed_registrations.other_server_instructions": "Since Mastodon is decentralised, you can create an account on another server and still interact with this one.",
"closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
"closed_registrations_modal.find_another_server": "Find another server", "closed_registrations_modal.find_another_server": "Find another server",
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.preamble": "Mastodon is decentralised, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
"closed_registrations_modal.title": "Signing up on Mastodon", "closed_registrations_modal.title": "Signing up on Mastodon",
"column.about": "About", "column.about": "About",
"column.blocks": "Blocked users", "column.blocks": "Blocked users",
@ -110,7 +110,7 @@
"column.lists": "Lists", "column.lists": "Lists",
"column.mutes": "Muted users", "column.mutes": "Muted users",
"column.notifications": "Notifications", "column.notifications": "Notifications",
"column.pins": "Pinned post", "column.pins": "Pinned posts",
"column.public": "Federated timeline", "column.public": "Federated timeline",
"column_back_button.label": "Back", "column_back_button.label": "Back",
"column_header.hide_settings": "Hide settings", "column_header.hide_settings": "Hide settings",
@ -121,16 +121,16 @@
"column_header.unpin": "Unpin", "column_header.unpin": "Unpin",
"column_subheading.settings": "Settings", "column_subheading.settings": "Settings",
"community.column_settings.local_only": "Local only", "community.column_settings.local_only": "Local only",
"community.column_settings.media_only": "Media only", "community.column_settings.media_only": "Media Only",
"community.column_settings.remote_only": "Remote only", "community.column_settings.remote_only": "Remote only",
"compose.language.change": "Change language", "compose.language.change": "Change language",
"compose.language.search": "Search languages...", "compose.language.search": "Search languages...",
"compose_form.direct_message_warning_learn_more": "Learn more", "compose_form.direct_message_warning_learn_more": "Learn more",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any sensitive information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "locked",
"compose_form.placeholder": "What is on your mind?", "compose_form.placeholder": "What's on your mind?",
"compose_form.poll.add_option": "Add a choice", "compose_form.poll.add_option": "Add a choice",
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Poll duration",
"compose_form.poll.option_placeholder": "Choice {number}", "compose_form.poll.option_placeholder": "Choice {number}",
@ -143,8 +143,8 @@
"compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}", "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
"compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}", "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
"compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.marked": "Remove content warning",
"compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler.unmarked": "Add content warning",
"compose_form.spoiler_placeholder": "Write your warning here", "compose_form.spoiler_placeholder": "Write your warning here",
"confirmation_modal.cancel": "Cancel", "confirmation_modal.cancel": "Cancel",
"confirmations.block.block_and_report": "Block & Report", "confirmations.block.block_and_report": "Block & Report",
@ -153,7 +153,7 @@
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Withdraw request",
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
"confirmations.delete.confirm": "Delete", "confirmations.delete.confirm": "Delete",
"confirmations.delete.message": "Are you sure you want to delete this status?", "confirmations.delete.message": "Are you sure you want to delete this post?",
"confirmations.delete_list.confirm": "Delete", "confirmations.delete_list.confirm": "Delete",
"confirmations.delete_list.message": "Are you sure you want to permanently delete this list?", "confirmations.delete_list.message": "Are you sure you want to permanently delete this list?",
"confirmations.discard_edit_media.confirm": "Discard", "confirmations.discard_edit_media.confirm": "Discard",
@ -181,6 +181,8 @@
"directory.local": "From {domain} only", "directory.local": "From {domain} only",
"directory.new_arrivals": "New arrivals", "directory.new_arrivals": "New arrivals",
"directory.recently_active": "Recently active", "directory.recently_active": "Recently active",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -205,7 +207,7 @@
"emoji_button.symbols": "Symbols", "emoji_button.symbols": "Symbols",
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "Travel & Places",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "Account suspended",
"empty_column.account_timeline": "No posts found", "empty_column.account_timeline": "No posts here!",
"empty_column.account_unavailable": "Profile unavailable", "empty_column.account_unavailable": "Profile unavailable",
"empty_column.blocks": "You haven't blocked any users yet.", "empty_column.blocks": "You haven't blocked any users yet.",
"empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.", "empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "On this server",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
"missing_indicator.label": "Not found", "missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found", "missing_indicator.sublabel": "This resource could not be found",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Duration", "mute_modal.duration": "Duration",
"mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.hide_notifications": "Hide notifications from this user?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Indefinite",

View File

@ -2,10 +2,8 @@
"about.blocks": "Moderated servers", "about.blocks": "Moderated servers",
"about.contact": "Contact:", "about.contact": "Contact:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Domain",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Severity",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}",
"account.follows.empty": "This user doesn't follow anyone yet.", "account.follows.empty": "This user doesn't follow anyone yet.",
"account.follows_you": "Follows you", "account.follows_you": "Follows you",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "Hide boosts from @{name}", "account.hide_reblogs": "Hide boosts from @{name}",
"account.joined_short": "Joined", "account.joined_short": "Joined",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
@ -50,6 +49,7 @@
"account.mute": "Mute @{name}", "account.mute": "Mute @{name}",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Mute notifications from @{name}",
"account.muted": "Muted", "account.muted": "Muted",
"account.open_original_page": "Open original page",
"account.posts": "Doots", "account.posts": "Doots",
"account.posts_with_replies": "Doots and replies", "account.posts_with_replies": "Doots and replies",
"account.report": "Report @{name}", "account.report": "Report @{name}",
@ -181,6 +181,8 @@
"directory.local": "From {domain} only", "directory.local": "From {domain} only",
"directory.new_arrivals": "New arrivals", "directory.new_arrivals": "New arrivals",
"directory.recently_active": "Recently active", "directory.recently_active": "Recently active",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public doots from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public doots from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this doot.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this doot.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "On this server",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s doot", "interaction_modal.title.favourite": "Favourite {name}'s doot",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
"missing_indicator.label": "Not found", "missing_indicator.label": "Not found",
"missing_indicator.sublabel": "This resource could not be found", "missing_indicator.sublabel": "This resource could not be found",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Duration", "mute_modal.duration": "Duration",
"mute_modal.hide_notifications": "Hide notifications from this user?", "mute_modal.hide_notifications": "Hide notifications from this user?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Indefinite",

View File

@ -2,14 +2,12 @@
"about.blocks": "Moderigitaj serviloj", "about.blocks": "Moderigitaj serviloj",
"about.contact": "Kontakto:", "about.contact": "Kontakto:",
"about.disclaimer": "Mastodon estas libera, malfermitkoda programaro kaj varmarko de la firmao Mastodon gGmbH.", "about.disclaimer": "Mastodon estas libera, malfermitkoda programaro kaj varmarko de la firmao Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Kialo ne disponebla",
"about.domain_blocks.domain": "Domain", "about.domain_blocks.preamble": "Mastodono ebligas vidi enhavojn el uzantoj kaj komuniki kun ilin el aliaj serviloj el la Fediverso. Estas la limigoj deciditaj por tiu ĉi servilo.",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.silenced.explanation": "Vi ne ĝenerale vidos profilojn kaj enhavojn de ĉi tiu servilo, krom se vi eksplice trovas aŭ estas permesita de via sekvato.",
"about.domain_blocks.severity": "Graveco", "about.domain_blocks.silenced.title": "Limigita",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
"about.domain_blocks.suspended.title": "Suspended", "about.domain_blocks.suspended.title": "Suspendita",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "This information has not been made available on this server.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Decentralized social media powered by {mastodon}",
"about.rules": "Reguloj de la servilo", "about.rules": "Reguloj de la servilo",
@ -28,8 +26,8 @@
"account.edit_profile": "Redakti la profilon", "account.edit_profile": "Redakti la profilon",
"account.enable_notifications": "Sciigi min, kiam @{name} mesaĝas", "account.enable_notifications": "Sciigi min, kiam @{name} mesaĝas",
"account.endorse": "Rekomendi ĉe via profilo", "account.endorse": "Rekomendi ĉe via profilo",
"account.featured_tags.last_status_at": "Last post on {date}", "account.featured_tags.last_status_at": "Lasta afîŝo je {date}",
"account.featured_tags.last_status_never": "No posts", "account.featured_tags.last_status_never": "Neniuj afiŝoj",
"account.featured_tags.title": "{name}'s featured hashtags", "account.featured_tags.title": "{name}'s featured hashtags",
"account.follow": "Sekvi", "account.follow": "Sekvi",
"account.followers": "Sekvantoj", "account.followers": "Sekvantoj",
@ -39,17 +37,19 @@
"account.following_counter": "{count, plural, one {{counter} Sekvado} other {{counter} Sekvadoj}}", "account.following_counter": "{count, plural, one {{counter} Sekvado} other {{counter} Sekvadoj}}",
"account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.", "account.follows.empty": "La uzanto ankoraŭ ne sekvas iun ajn.",
"account.follows_you": "Sekvas vin", "account.follows_you": "Sekvas vin",
"account.go_to_profile": "Iri al profilo",
"account.hide_reblogs": "Kaŝi la plusendojn de @{name}", "account.hide_reblogs": "Kaŝi la plusendojn de @{name}",
"account.joined_short": "Joined", "account.joined_short": "Aliĝis",
"account.languages": "Change subscribed languages", "account.languages": "Ŝanĝi elekton de abonitaj lingvoj",
"account.link_verified_on": "La posedanto de tiu ligilo estis kontrolita je {date}", "account.link_verified_on": "La posedanto de tiu ligilo estis kontrolita je {date}",
"account.locked_info": "La privateco de tiu konto estas elektita kiel fermita. La posedanto povas mane akcepti tiun, kiu povas sekvi rin.", "account.locked_info": "La privateco de tiu konto estas elektita kiel fermita. La posedanto povas mane akcepti tiun, kiu povas sekvi rin.",
"account.media": "Aŭdovidaĵoj", "account.media": "Aŭdovidaĵoj",
"account.mention": "Mencii @{name}", "account.mention": "Mencii @{name}",
"account.moved_to": "{name} moviĝis al:", "account.moved_to": "{name} indikis, ke ria nova konto estas nun:",
"account.mute": "Silentigi @{name}", "account.mute": "Silentigi @{name}",
"account.mute_notifications": "Silentigi la sciigojn de @{name}", "account.mute_notifications": "Silentigi la sciigojn de @{name}",
"account.muted": "Silentigita", "account.muted": "Silentigita",
"account.open_original_page": "Malfermi originan paĝon",
"account.posts": "Mesaĝoj", "account.posts": "Mesaĝoj",
"account.posts_with_replies": "Mesaĝoj kaj respondoj", "account.posts_with_replies": "Mesaĝoj kaj respondoj",
"account.report": "Raporti @{name}", "account.report": "Raporti @{name}",
@ -80,13 +80,13 @@
"audio.hide": "Kaŝi aŭdion", "audio.hide": "Kaŝi aŭdion",
"autosuggest_hashtag.per_week": "{count} semajne", "autosuggest_hashtag.per_week": "{count} semajne",
"boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje", "boost_modal.combo": "Vi povas premi {combo} por preterpasi sekvafoje",
"bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.copy_stacktrace": "Kopii la raporto de error",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
"bundle_column_error.error.title": "Oh, no!", "bundle_column_error.error.title": "Ho, ne!",
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
"bundle_column_error.network.title": "Network error", "bundle_column_error.network.title": "Eraro de reto",
"bundle_column_error.retry": "Provu refoje", "bundle_column_error.retry": "Provu refoje",
"bundle_column_error.return": "Go back home", "bundle_column_error.return": "Reveni al la hejmo",
"bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
"bundle_column_error.routing.title": "404", "bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Fermi", "bundle_modal_error.close": "Fermi",
@ -94,10 +94,10 @@
"bundle_modal_error.retry": "Provu refoje", "bundle_modal_error.retry": "Provu refoje",
"closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.", "closed_registrations.other_server_instructions": "Since Mastodon is decentralized, you can create an account on another server and still interact with this one.",
"closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.", "closed_registrations_modal.description": "Creating an account on {domain} is currently not possible, but please keep in mind that you do not need an account specifically on {domain} to use Mastodon.",
"closed_registrations_modal.find_another_server": "Find another server", "closed_registrations_modal.find_another_server": "Trovi alian servilon",
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
"closed_registrations_modal.title": "Signing up on Mastodon", "closed_registrations_modal.title": "Krei konton en Mastodon",
"column.about": "About", "column.about": "Pri",
"column.blocks": "Blokitaj uzantoj", "column.blocks": "Blokitaj uzantoj",
"column.bookmarks": "Legosignoj", "column.bookmarks": "Legosignoj",
"column.community": "Loka templinio", "column.community": "Loka templinio",
@ -150,8 +150,8 @@
"confirmations.block.block_and_report": "Bloki kaj raporti", "confirmations.block.block_and_report": "Bloki kaj raporti",
"confirmations.block.confirm": "Bloki", "confirmations.block.confirm": "Bloki",
"confirmations.block.message": "Ĉu vi certas, ke vi volas bloki {name}?", "confirmations.block.message": "Ĉu vi certas, ke vi volas bloki {name}?",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Eksigi peton",
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.cancel_follow_request.message": "Ĉu vi certas ke vi volas eksigi vian peton por sekvi {name}?",
"confirmations.delete.confirm": "Forigi", "confirmations.delete.confirm": "Forigi",
"confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun mesaĝon?", "confirmations.delete.message": "Ĉu vi certas, ke vi volas forigi ĉi tiun mesaĝon?",
"confirmations.delete_list.confirm": "Forigi", "confirmations.delete_list.confirm": "Forigi",
@ -181,8 +181,10 @@
"directory.local": "Nur de {domain}", "directory.local": "Nur de {domain}",
"directory.new_arrivals": "Novaj alvenoj", "directory.new_arrivals": "Novaj alvenoj",
"directory.recently_active": "Lastatempe aktiva", "directory.recently_active": "Lastatempe aktiva",
"disabled_account_banner.account_settings": "Konto-agordoj",
"disabled_account_banner.text": "Via konto {disabledAccount} estas nune malvalidigita.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Eksigi",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
"dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
@ -238,21 +240,21 @@
"explore.trending_statuses": "Afiŝoj", "explore.trending_statuses": "Afiŝoj",
"explore.trending_tags": "Kradvortoj", "explore.trending_tags": "Kradvortoj",
"filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
"filter_modal.added.context_mismatch_title": "Context mismatch!", "filter_modal.added.context_mismatch_title": "Ne kongruas la kunteksto!",
"filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
"filter_modal.added.expired_title": "Expired filter!", "filter_modal.added.expired_title": "Eksvalida filtrilo!",
"filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filtrilopcioj", "filter_modal.added.review_and_configure_title": "Filtrilopcioj",
"filter_modal.added.settings_link": "opciopaĝo", "filter_modal.added.settings_link": "opciopaĝo",
"filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
"filter_modal.added.title": "Filter added!", "filter_modal.added.title": "Filtrilo aldonita!",
"filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.context_mismatch": "does not apply to this context",
"filter_modal.select_filter.expired": "eksvalidiĝinta", "filter_modal.select_filter.expired": "eksvalidiĝinta",
"filter_modal.select_filter.prompt_new": "Nova klaso: {name}", "filter_modal.select_filter.prompt_new": "Nova klaso: {name}",
"filter_modal.select_filter.search": "Serĉi aŭ krei", "filter_modal.select_filter.search": "Serĉi aŭ krei",
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.subtitle": "Use an existing category or create a new one",
"filter_modal.select_filter.title": "Filtri ĉi afiŝo", "filter_modal.select_filter.title": "Filtri ĉi tiun afiŝon",
"filter_modal.title.status": "Filter a post", "filter_modal.title.status": "Filtri mesaĝon",
"follow_recommendations.done": "Farita", "follow_recommendations.done": "Farita",
"follow_recommendations.heading": "Sekvi la personojn kies mesaĝojn vi volas vidi! Jen iom da sugestoj.", "follow_recommendations.heading": "Sekvi la personojn kies mesaĝojn vi volas vidi! Jen iom da sugestoj.",
"follow_recommendations.lead": "La mesaĝoj de personoj kiujn vi sekvas, aperos laŭ kronologia ordo en via hejma templinio. Ne timu erari, vi povas ĉesi sekvi facile iam ajn!", "follow_recommendations.lead": "La mesaĝoj de personoj kiujn vi sekvas, aperos laŭ kronologia ordo en via hejma templinio. Ne timu erari, vi povas ĉesi sekvi facile iam ajn!",
@ -260,11 +262,11 @@
"follow_request.reject": "Rifuzi", "follow_request.reject": "Rifuzi",
"follow_requests.unlocked_explanation": "Kvankam via konto ne estas ŝlosita, la teamo de {domain} pensas, ke vi eble volas permane kontroli la demandojn de sekvado de ĉi tiuj kontoj.", "follow_requests.unlocked_explanation": "Kvankam via konto ne estas ŝlosita, la teamo de {domain} pensas, ke vi eble volas permane kontroli la demandojn de sekvado de ĉi tiuj kontoj.",
"footer.about": "Pri", "footer.about": "Pri",
"footer.directory": "Profiles directory", "footer.directory": "Profilujo",
"footer.get_app": "Akiru la Programon", "footer.get_app": "Akiru la Programon",
"footer.invite": "Inviti homojn", "footer.invite": "Inviti homojn",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "Fulmoklavoj",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "Politiko de privateco",
"footer.source_code": "Montri fontkodon", "footer.source_code": "Montri fontkodon",
"generic.saved": "Konservita", "generic.saved": "Konservita",
"getting_started.heading": "Por komenci", "getting_started.heading": "Por komenci",
@ -288,14 +290,14 @@
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "En alia servilo",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "En ĉi tiu servilo",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Aldoni afiŝon de {name} al la preferaĵoj",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Sekvi {name}",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "Suprenigi la afiŝon de {name}",
"interaction_modal.title.reply": "Reply to {name}'s post", "interaction_modal.title.reply": "Respondi al la afiŝo de {name}",
"intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}", "intervals.full.days": "{number, plural, one {# tago} other {# tagoj}}",
"intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}", "intervals.full.hours": "{number, plural, one {# horo} other {# horoj}}",
"intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}", "intervals.full.minutes": "{number, plural, one {# minuto} other {# minutoj}}",
@ -308,8 +310,8 @@
"keyboard_shortcuts.direct": "malfermi la kolumnon de rektaj mesaĝoj", "keyboard_shortcuts.direct": "malfermi la kolumnon de rektaj mesaĝoj",
"keyboard_shortcuts.down": "iri suben en la listo", "keyboard_shortcuts.down": "iri suben en la listo",
"keyboard_shortcuts.enter": "malfermi mesaĝon", "keyboard_shortcuts.enter": "malfermi mesaĝon",
"keyboard_shortcuts.favourite": "Aldoni la mesaĝon al preferaĵoj", "keyboard_shortcuts.favourite": "Aldoni la mesaĝon al la preferaĵoj",
"keyboard_shortcuts.favourites": "Malfermi la liston de preferaĵoj", "keyboard_shortcuts.favourites": "Malfermi la liston de la preferaĵoj",
"keyboard_shortcuts.federated": "Malfermi la frataran templinion", "keyboard_shortcuts.federated": "Malfermi la frataran templinion",
"keyboard_shortcuts.heading": "Klavaraj mallongigoj", "keyboard_shortcuts.heading": "Klavaraj mallongigoj",
"keyboard_shortcuts.home": "Malfermi la hejman templinion", "keyboard_shortcuts.home": "Malfermi la hejman templinion",
@ -358,10 +360,11 @@
"media_gallery.toggle_visible": "{number, plural, one {Kaŝi la bildon} other {Kaŝi la bildojn}}", "media_gallery.toggle_visible": "{number, plural, one {Kaŝi la bildon} other {Kaŝi la bildojn}}",
"missing_indicator.label": "Ne trovita", "missing_indicator.label": "Ne trovita",
"missing_indicator.sublabel": "Ĉi tiu elemento ne estis trovita", "missing_indicator.sublabel": "Ĉi tiu elemento ne estis trovita",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Daŭro", "mute_modal.duration": "Daŭro",
"mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn de ĉi tiu uzanto?", "mute_modal.hide_notifications": "Ĉu vi volas kaŝi la sciigojn de ĉi tiu uzanto?",
"mute_modal.indefinite": "Nedifinita", "mute_modal.indefinite": "Nedifinita",
"navigation_bar.about": "About", "navigation_bar.about": "Pri",
"navigation_bar.blocks": "Blokitaj uzantoj", "navigation_bar.blocks": "Blokitaj uzantoj",
"navigation_bar.bookmarks": "Legosignoj", "navigation_bar.bookmarks": "Legosignoj",
"navigation_bar.community_timeline": "Loka templinio", "navigation_bar.community_timeline": "Loka templinio",
@ -382,11 +385,11 @@
"navigation_bar.pins": "Alpinglitaj mesaĝoj", "navigation_bar.pins": "Alpinglitaj mesaĝoj",
"navigation_bar.preferences": "Preferoj", "navigation_bar.preferences": "Preferoj",
"navigation_bar.public_timeline": "Fratara templinio", "navigation_bar.public_timeline": "Fratara templinio",
"navigation_bar.search": "Search", "navigation_bar.search": "Serĉi",
"navigation_bar.security": "Sekureco", "navigation_bar.security": "Sekureco",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
"notification.admin.report": "{name} raportis {target}", "notification.admin.report": "{name} raportis {target}",
"notification.admin.sign_up": "{name} registris", "notification.admin.sign_up": "{name} kreis konton",
"notification.favourite": "{name} aldonis vian mesaĝon al siaj preferaĵoj", "notification.favourite": "{name} aldonis vian mesaĝon al siaj preferaĵoj",
"notification.follow": "{name} eksekvis vin", "notification.follow": "{name} eksekvis vin",
"notification.follow_request": "{name} petis sekvi vin", "notification.follow_request": "{name} petis sekvi vin",
@ -453,7 +456,7 @@
"privacy.unlisted.long": "Videbla por ĉiuj, sed ekskluzive de la funkcio de esploro", "privacy.unlisted.long": "Videbla por ĉiuj, sed ekskluzive de la funkcio de esploro",
"privacy.unlisted.short": "Nelistigita", "privacy.unlisted.short": "Nelistigita",
"privacy_policy.last_updated": "Last updated {date}", "privacy_policy.last_updated": "Last updated {date}",
"privacy_policy.title": "Privacy Policy", "privacy_policy.title": "Politiko de privateco",
"refresh": "Refreŝigu", "refresh": "Refreŝigu",
"regeneration_indicator.label": "Ŝargado…", "regeneration_indicator.label": "Ŝargado…",
"regeneration_indicator.sublabel": "Via abonfluo estas preparata!", "regeneration_indicator.sublabel": "Via abonfluo estas preparata!",
@ -461,8 +464,8 @@
"relative_time.full.days": "antaŭ {number, plural, one {# tago} other {# tagoj}}", "relative_time.full.days": "antaŭ {number, plural, one {# tago} other {# tagoj}}",
"relative_time.full.hours": "antaŭ {number, plural, one {# horo} other {# horoj}}", "relative_time.full.hours": "antaŭ {number, plural, one {# horo} other {# horoj}}",
"relative_time.full.just_now": "ĵus nun", "relative_time.full.just_now": "ĵus nun",
"relative_time.full.minutes": "{number, plural, one {# minute} other {# minutes}} ago", "relative_time.full.minutes": "antaŭ {number, plural, one {# minuto} other {# minutoj}}",
"relative_time.full.seconds": "{number, plural, one {# second} other {# seconds}} ago", "relative_time.full.seconds": "antaŭ {number, plural, one {# sekundo} other {# sekundoj}}",
"relative_time.hours": "{number}h", "relative_time.hours": "{number}h",
"relative_time.just_now": "nun", "relative_time.just_now": "nun",
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
@ -473,7 +476,7 @@
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
"report.categories.other": "Aliaj", "report.categories.other": "Aliaj",
"report.categories.spam": "Trudmesaĝo", "report.categories.spam": "Trudmesaĝo",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "Enhavo malobservas unu aŭ plurajn servilajn regulojn",
"report.category.subtitle": "Elektu la plej bonan kongruon", "report.category.subtitle": "Elektu la plej bonan kongruon",
"report.category.title": "Diru al ni kio okazas pri ĉi tiu {type}", "report.category.title": "Diru al ni kio okazas pri ĉi tiu {type}",
"report.category.title_account": "profilo", "report.category.title_account": "profilo",
@ -525,15 +528,15 @@
"search_results.nothing_found": "Povis trovi nenion por ĉi tiuj serĉaj terminoj", "search_results.nothing_found": "Povis trovi nenion por ĉi tiuj serĉaj terminoj",
"search_results.statuses": "Mesaĝoj", "search_results.statuses": "Mesaĝoj",
"search_results.statuses_fts_disabled": "Serĉi mesaĝojn laŭ enhavo ne estas ebligita en ĉi tiu Mastodon-servilo.", "search_results.statuses_fts_disabled": "Serĉi mesaĝojn laŭ enhavo ne estas ebligita en ĉi tiu Mastodon-servilo.",
"search_results.title": "Search for {q}", "search_results.title": "Serĉ-rezultoj por {q}",
"search_results.total": "{count, number} {count, plural, one {rezulto} other {rezultoj}}", "search_results.total": "{count, number} {count, plural, one {rezulto} other {rezultoj}}",
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
"server_banner.active_users": "active users", "server_banner.active_users": "active users",
"server_banner.administered_by": "Administered by:", "server_banner.administered_by": "Administrata de:",
"server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
"server_banner.learn_more": "Learn more", "server_banner.learn_more": "Learn more",
"server_banner.server_stats": "Server stats:", "server_banner.server_stats": "Statistikoj de la servilo:",
"sign_in_banner.create_account": "Create account", "sign_in_banner.create_account": "Krei konton",
"sign_in_banner.sign_in": "Sign in", "sign_in_banner.sign_in": "Sign in",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
"status.admin_account": "Malfermi la kontrolan interfacon por @{name}", "status.admin_account": "Malfermi la kontrolan interfacon por @{name}",
@ -551,7 +554,7 @@
"status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}", "status.edited_x_times": "Redactita {count, plural, one {{count} fojon} other {{count} fojojn}}",
"status.embed": "Enkorpigi", "status.embed": "Enkorpigi",
"status.favourite": "Aldoni al viaj preferaĵoj", "status.favourite": "Aldoni al viaj preferaĵoj",
"status.filter": "Filtri ĉi afiŝo", "status.filter": "Filtri ĉi tiun afiŝon",
"status.filtered": "Filtrita", "status.filtered": "Filtrita",
"status.hide": "Kaŝi la mesaĝon", "status.hide": "Kaŝi la mesaĝon",
"status.history.created": "{name} kreis {date}", "status.history.created": "{name} kreis {date}",
@ -584,13 +587,13 @@
"status.show_more": "Montri pli", "status.show_more": "Montri pli",
"status.show_more_all": "Montri pli ĉiun", "status.show_more_all": "Montri pli ĉiun",
"status.show_original": "Show original", "status.show_original": "Show original",
"status.translate": "Translate", "status.translate": "Traduki",
"status.translated_from_with": "Translated from {lang} using {provider}", "status.translated_from_with": "Tradukita el {lang} per {provider}",
"status.uncached_media_warning": "Nedisponebla", "status.uncached_media_warning": "Nedisponebla",
"status.unmute_conversation": "Malsilentigi la konversacion", "status.unmute_conversation": "Malsilentigi la konversacion",
"status.unpin": "Depingli de profilo", "status.unpin": "Depingli de profilo",
"subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
"subscribed_languages.save": "Save changes", "subscribed_languages.save": "Konservi ŝanĝojn",
"subscribed_languages.target": "Change subscribed languages for {target}", "subscribed_languages.target": "Change subscribed languages for {target}",
"suggestions.dismiss": "Forigi la proponon", "suggestions.dismiss": "Forigi la proponon",
"suggestions.header": "Vi povus interesiĝi pri…", "suggestions.header": "Vi povus interesiĝi pri…",
@ -607,7 +610,7 @@
"timeline_hint.resources.followers": "Sekvantoj", "timeline_hint.resources.followers": "Sekvantoj",
"timeline_hint.resources.follows": "Sekvatoj", "timeline_hint.resources.follows": "Sekvatoj",
"timeline_hint.resources.statuses": "Pli malnovaj mesaĝoj", "timeline_hint.resources.statuses": "Pli malnovaj mesaĝoj",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.counter_by_accounts": "{count, plural, one {{counter} persono} other {{counter} personoj}} dum la pasinta{days, plural, one { tago} other {j {days} tagoj}}",
"trends.trending_now": "Nunaj furoraĵoj", "trends.trending_now": "Nunaj furoraĵoj",
"ui.beforeunload": "Via malneto perdiĝos se vi eliras de Mastodon.", "ui.beforeunload": "Via malneto perdiĝos se vi eliras de Mastodon.",
"units.short.billion": "{count}Md", "units.short.billion": "{count}Md",

View File

@ -2,10 +2,8 @@
"about.blocks": "Servidores moderados", "about.blocks": "Servidores moderados",
"about.contact": "Contacto:", "about.contact": "Contacto:",
"about.disclaimer": "Mastodon es software libre y de código abierto y una marca comercial de Mastodon gGmbH.", "about.disclaimer": "Mastodon es software libre y de código abierto y una marca comercial de Mastodon gGmbH.",
"about.domain_blocks.comment": "Motivo", "about.domain_blocks.no_reason_available": "Motivo no disponible",
"about.domain_blocks.domain": "Dominio",
"about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.", "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.",
"about.domain_blocks.severity": "Gravedad",
"about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busqués explícitamente o sigás alguna cuenta.", "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busqués explícitamente o sigás alguna cuenta.",
"about.domain_blocks.silenced.title": "Limitados", "about.domain_blocks.silenced.title": "Limitados",
"about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.", "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, other {{counter} Siguiendo}}", "account.following_counter": "{count, plural, other {{counter} Siguiendo}}",
"account.follows.empty": "Todavía este usuario no sigue a nadie.", "account.follows.empty": "Todavía este usuario no sigue a nadie.",
"account.follows_you": "Te sigue", "account.follows_you": "Te sigue",
"account.go_to_profile": "Ir al perfil",
"account.hide_reblogs": "Ocultar adhesiones de @{name}", "account.hide_reblogs": "Ocultar adhesiones de @{name}",
"account.joined_short": "En este servidor desde", "account.joined_short": "En este servidor desde",
"account.languages": "Cambiar idiomas suscritos", "account.languages": "Cambiar idiomas suscritos",
@ -46,12 +45,13 @@
"account.locked_info": "Esta cuenta es privada. El propietario manualmente revisa quién puede seguirle.", "account.locked_info": "Esta cuenta es privada. El propietario manualmente revisa quién puede seguirle.",
"account.media": "Medios", "account.media": "Medios",
"account.mention": "Mencionar a @{name}", "account.mention": "Mencionar a @{name}",
"account.moved_to": "{name} se ha mudó a:", "account.moved_to": "{name} indicó que su nueva cuenta ahora es:",
"account.mute": "Silenciar a @{name}", "account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Silenciar notificaciones de @{name}", "account.mute_notifications": "Silenciar notificaciones de @{name}",
"account.muted": "Silenciado", "account.muted": "Silenciado",
"account.open_original_page": "Abrir página original",
"account.posts": "Mensajes", "account.posts": "Mensajes",
"account.posts_with_replies": "Mensajes y respuestas públicas", "account.posts_with_replies": "Mnsjs y resp. públicas",
"account.report": "Denunciar a @{name}", "account.report": "Denunciar a @{name}",
"account.requested": "Esperando aprobación. Hacé clic para cancelar la solicitud de seguimiento", "account.requested": "Esperando aprobación. Hacé clic para cancelar la solicitud de seguimiento",
"account.share": "Compartir el perfil de @{name}", "account.share": "Compartir el perfil de @{name}",
@ -181,6 +181,8 @@
"directory.local": "Sólo de {domain}", "directory.local": "Sólo de {domain}",
"directory.new_arrivals": "Recién llegados", "directory.new_arrivals": "Recién llegados",
"directory.recently_active": "Recientemente activos", "directory.recently_active": "Recientemente activos",
"disabled_account_banner.account_settings": "Config. de la cuenta",
"disabled_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada.",
"dismissable_banner.community_timeline": "Estos son los mensajes públicos más recientes de cuentas alojadas en {domain}.", "dismissable_banner.community_timeline": "Estos son los mensajes públicos más recientes de cuentas alojadas en {domain}.",
"dismissable_banner.dismiss": "Descartar", "dismissable_banner.dismiss": "Descartar",
"dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada ahora mismo.", "dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada ahora mismo.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "Con una cuenta en Mastodon, podés responder a este mensaje.", "interaction_modal.description.reply": "Con una cuenta en Mastodon, podés responder a este mensaje.",
"interaction_modal.on_another_server": "En un servidor diferente", "interaction_modal.on_another_server": "En un servidor diferente",
"interaction_modal.on_this_server": "En este servidor", "interaction_modal.on_this_server": "En este servidor",
"interaction_modal.other_server_instructions": "Simplemente copiá y pegá esta dirección web en la barra de búsqueda de tu aplicación favorita o en la interface web en donde hayás iniciado sesión.", "interaction_modal.other_server_instructions": "Copiá y pegá esta dirección web en la barra de búsqueda de tu aplicación favorita de Mastodon, o en la interface web de tu servidor de Mastodon.",
"interaction_modal.preamble": "Ya que Mastodon es descentralizado, podés usar tu cuenta existente alojada por otro servidor Mastodon (u otra plataforma compatible, si no tenés una cuenta en ésta).", "interaction_modal.preamble": "Ya que Mastodon es descentralizado, podés usar tu cuenta existente alojada por otro servidor Mastodon (u otra plataforma compatible, si no tenés una cuenta en ésta).",
"interaction_modal.title.favourite": "Marcar como favorito el mensaje de {name}", "interaction_modal.title.favourite": "Marcar como favorito el mensaje de {name}",
"interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.follow": "Seguir a {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "Ocultar {number, plural, one {imagen} other {imágenes}}", "media_gallery.toggle_visible": "Ocultar {number, plural, one {imagen} other {imágenes}}",
"missing_indicator.label": "No se encontró", "missing_indicator.label": "No se encontró",
"missing_indicator.sublabel": "No se encontró este recurso", "missing_indicator.sublabel": "No se encontró este recurso",
"moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te mudaste a {movedToAccount}.",
"mute_modal.duration": "Duración", "mute_modal.duration": "Duración",
"mute_modal.hide_notifications": "¿Querés ocultar las notificaciones de este usuario?", "mute_modal.hide_notifications": "¿Querés ocultar las notificaciones de este usuario?",
"mute_modal.indefinite": "Indefinida", "mute_modal.indefinite": "Indefinida",
@ -611,8 +614,8 @@
"trends.trending_now": "Tendencia ahora", "trends.trending_now": "Tendencia ahora",
"ui.beforeunload": "Tu borrador se perderá si abandonás Mastodon.", "ui.beforeunload": "Tu borrador se perderá si abandonás Mastodon.",
"units.short.billion": "{count}MM", "units.short.billion": "{count}MM",
"units.short.million": "{count}M", "units.short.million": "{count} M",
"units.short.thousand": "{count}mil", "units.short.thousand": "{count} mil",
"upload_area.title": "Para subir, arrastrá y soltá", "upload_area.title": "Para subir, arrastrá y soltá",
"upload_button.label": "Agregá imágenes, o un archivo de audio o video", "upload_button.label": "Agregá imágenes, o un archivo de audio o video",
"upload_error.limit": "Se excedió el límite de subida de archivos.", "upload_error.limit": "Se excedió el límite de subida de archivos.",

View File

@ -1,11 +1,9 @@
{ {
"about.blocks": "Servidores moderados", "about.blocks": "Servidores moderados",
"about.contact": "Contacto:", "about.contact": "Contacto:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon es software de código abierto, y una marca comercial de Mastodon gGmbH.",
"about.domain_blocks.comment": "Razón", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Dominio",
"about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.", "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.",
"about.domain_blocks.severity": "Gravedad",
"about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busques explícitamente o sigas alguna cuenta.", "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busques explícitamente o sigas alguna cuenta.",
"about.domain_blocks.silenced.title": "Limitado", "about.domain_blocks.silenced.title": "Limitado",
"about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.", "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, other {{counter} Siguiendo}}", "account.following_counter": "{count, plural, other {{counter} Siguiendo}}",
"account.follows.empty": "Este usuario todavía no sigue a nadie.", "account.follows.empty": "Este usuario todavía no sigue a nadie.",
"account.follows_you": "Te sigue", "account.follows_you": "Te sigue",
"account.go_to_profile": "Ir al perfil",
"account.hide_reblogs": "Ocultar retoots de @{name}", "account.hide_reblogs": "Ocultar retoots de @{name}",
"account.joined_short": "Se unió", "account.joined_short": "Se unió",
"account.languages": "Cambiar idiomas suscritos", "account.languages": "Cambiar idiomas suscritos",
@ -46,10 +45,11 @@
"account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.", "account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
"account.media": "Multimedia", "account.media": "Multimedia",
"account.mention": "Mencionar @{name}", "account.mention": "Mencionar @{name}",
"account.moved_to": "{name} se ha mudado a:", "account.moved_to": "{name} ha indicado que su nueva cuenta es ahora:",
"account.mute": "Silenciar a @{name}", "account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Silenciar notificaciones de @{name}", "account.mute_notifications": "Silenciar notificaciones de @{name}",
"account.muted": "Silenciado", "account.muted": "Silenciado",
"account.open_original_page": "Open original page",
"account.posts": "Publicaciones", "account.posts": "Publicaciones",
"account.posts_with_replies": "Publicaciones y respuestas", "account.posts_with_replies": "Publicaciones y respuestas",
"account.report": "Reportar a @{name}", "account.report": "Reportar a @{name}",
@ -181,6 +181,8 @@
"directory.local": "Sólo de {domain}", "directory.local": "Sólo de {domain}",
"directory.new_arrivals": "Recién llegados", "directory.new_arrivals": "Recién llegados",
"directory.recently_active": "Recientemente activo", "directory.recently_active": "Recientemente activo",
"disabled_account_banner.account_settings": "Ajustes de la cuenta",
"disabled_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada.",
"dismissable_banner.community_timeline": "Estas son las publicaciones públicas más recientes de personas cuyas cuentas están alojadas en {domain}.", "dismissable_banner.community_timeline": "Estas son las publicaciones públicas más recientes de personas cuyas cuentas están alojadas en {domain}.",
"dismissable_banner.dismiss": "Descartar", "dismissable_banner.dismiss": "Descartar",
"dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada en este momento.", "dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada en este momento.",
@ -259,13 +261,13 @@
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
"follow_request.reject": "Rechazar", "follow_request.reject": "Rechazar",
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.", "follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.",
"footer.about": "About", "footer.about": "Acerca de",
"footer.directory": "Profiles directory", "footer.directory": "Directorio de perfiles",
"footer.get_app": "Get the app", "footer.get_app": "Obtener la aplicación",
"footer.invite": "Invite people", "footer.invite": "Invitar gente",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "Atajos de teclado",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "Política de privacidad",
"footer.source_code": "View source code", "footer.source_code": "Ver código fuente",
"generic.saved": "Guardado", "generic.saved": "Guardado",
"getting_started.heading": "Primeros pasos", "getting_started.heading": "Primeros pasos",
"hashtag.column_header.tag_mode.all": "y {additional}", "hashtag.column_header.tag_mode.all": "y {additional}",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.", "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.",
"interaction_modal.on_another_server": "En un servidor diferente", "interaction_modal.on_another_server": "En un servidor diferente",
"interaction_modal.on_this_server": "En este servidor", "interaction_modal.on_this_server": "En este servidor",
"interaction_modal.other_server_instructions": "Simplemente copia y pega esta URL en la barra de búsqueda de tu aplicación favorita o en la interfaz web donde hayas iniciado sesión.", "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.",
"interaction_modal.preamble": "Ya que Mastodon es descentralizado, puedes usar tu cuenta existente alojada en otro servidor Mastodon o plataforma compatible si no tienes una cuenta en este servidor.", "interaction_modal.preamble": "Ya que Mastodon es descentralizado, puedes usar tu cuenta existente alojada en otro servidor Mastodon o plataforma compatible si no tienes una cuenta en este servidor.",
"interaction_modal.title.favourite": "Marcar como favorita la publicación de {name}", "interaction_modal.title.favourite": "Marcar como favorita la publicación de {name}",
"interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.follow": "Seguir a {name}",
@ -339,7 +341,7 @@
"lightbox.next": "Siguiente", "lightbox.next": "Siguiente",
"lightbox.previous": "Anterior", "lightbox.previous": "Anterior",
"limited_account_hint.action": "Mostrar perfil de todos modos", "limited_account_hint.action": "Mostrar perfil de todos modos",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "Este perfil ha sido ocultado por los moderadores de {domain}.",
"lists.account.add": "Añadir a lista", "lists.account.add": "Añadir a lista",
"lists.account.remove": "Quitar de lista", "lists.account.remove": "Quitar de lista",
"lists.delete": "Borrar lista", "lists.delete": "Borrar lista",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "Cambiar visibilidad", "media_gallery.toggle_visible": "Cambiar visibilidad",
"missing_indicator.label": "No encontrado", "missing_indicator.label": "No encontrado",
"missing_indicator.sublabel": "No se encontró este recurso", "missing_indicator.sublabel": "No se encontró este recurso",
"moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.",
"mute_modal.duration": "Duración", "mute_modal.duration": "Duración",
"mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?", "mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?",
"mute_modal.indefinite": "Indefinida", "mute_modal.indefinite": "Indefinida",
@ -512,7 +515,7 @@
"report_notification.categories.violation": "Infracción de regla", "report_notification.categories.violation": "Infracción de regla",
"report_notification.open": "Abrir informe", "report_notification.open": "Abrir informe",
"search.placeholder": "Buscar", "search.placeholder": "Buscar",
"search.search_or_paste": "Search or paste URL", "search.search_or_paste": "Buscar o pegar URL",
"search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.search_format": "Formato de búsqueda avanzada",
"search_popout.tips.full_text": "Búsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.", "search_popout.tips.full_text": "Búsquedas de texto recuperan posts que has escrito, marcado como favoritos, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.",
"search_popout.tips.hashtag": "etiqueta", "search_popout.tips.hashtag": "etiqueta",
@ -635,7 +638,7 @@
"upload_modal.preparing_ocr": "Preparando OCR…", "upload_modal.preparing_ocr": "Preparando OCR…",
"upload_modal.preview_label": "Vista previa ({ratio})", "upload_modal.preview_label": "Vista previa ({ratio})",
"upload_progress.label": "Subiendo…", "upload_progress.label": "Subiendo…",
"upload_progress.processing": "Processing…", "upload_progress.processing": "Procesando…",
"video.close": "Cerrar video", "video.close": "Cerrar video",
"video.download": "Descargar archivo", "video.download": "Descargar archivo",
"video.exit_fullscreen": "Salir de pantalla completa", "video.exit_fullscreen": "Salir de pantalla completa",

View File

@ -1,11 +1,9 @@
{ {
"about.blocks": "Servidores moderados", "about.blocks": "Servidores moderados",
"about.contact": "Contacto:", "about.contact": "Contacto:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon es software de código abierto, y una marca comercial de Mastodon gGmbH.",
"about.domain_blocks.comment": "Razón", "about.domain_blocks.no_reason_available": "Razón no disponible",
"about.domain_blocks.domain": "Dominio",
"about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.", "about.domain_blocks.preamble": "Mastodon normalmente te permite ver el contenido e interactuar con los usuarios de cualquier otro servidor en el fediverso. Estas son las excepciones que se han hecho en este servidor en particular.",
"about.domain_blocks.severity": "Gravedad",
"about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busques explícitamente o sigas alguna cuenta.", "about.domain_blocks.silenced.explanation": "Normalmente no verás perfiles y contenido de este servidor, a menos que lo busques explícitamente o sigas alguna cuenta.",
"about.domain_blocks.silenced.title": "Limitado", "about.domain_blocks.silenced.title": "Limitado",
"about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.", "about.domain_blocks.suspended.explanation": "Ningún dato de este servidor será procesado, almacenado o intercambiado, haciendo imposible cualquier interacción o comunicación con los usuarios de este servidor.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, other {{counter} Siguiendo}}", "account.following_counter": "{count, plural, other {{counter} Siguiendo}}",
"account.follows.empty": "Este usuario todavía no sigue a nadie.", "account.follows.empty": "Este usuario todavía no sigue a nadie.",
"account.follows_you": "Te sigue", "account.follows_you": "Te sigue",
"account.go_to_profile": "Ir al perfil",
"account.hide_reblogs": "Ocultar retoots de @{name}", "account.hide_reblogs": "Ocultar retoots de @{name}",
"account.joined_short": "Se unió", "account.joined_short": "Se unió",
"account.languages": "Cambiar idiomas suscritos", "account.languages": "Cambiar idiomas suscritos",
@ -46,10 +45,11 @@
"account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.", "account.locked_info": "El estado de privacidad de esta cuenta està configurado como bloqueado. El proprietario debe revisar manualmente quien puede seguirle.",
"account.media": "Multimedia", "account.media": "Multimedia",
"account.mention": "Mencionar a @{name}", "account.mention": "Mencionar a @{name}",
"account.moved_to": "{name} se ha mudado a:", "account.moved_to": "{name} ha indicado que su nueva cuenta es ahora:",
"account.mute": "Silenciar a @{name}", "account.mute": "Silenciar a @{name}",
"account.mute_notifications": "Silenciar notificaciones de @{name}", "account.mute_notifications": "Silenciar notificaciones de @{name}",
"account.muted": "Silenciado", "account.muted": "Silenciado",
"account.open_original_page": "Abrir página original",
"account.posts": "Publicaciones", "account.posts": "Publicaciones",
"account.posts_with_replies": "Publicaciones y respuestas", "account.posts_with_replies": "Publicaciones y respuestas",
"account.report": "Reportar a @{name}", "account.report": "Reportar a @{name}",
@ -181,6 +181,8 @@
"directory.local": "Sólo de {domain}", "directory.local": "Sólo de {domain}",
"directory.new_arrivals": "Recién llegados", "directory.new_arrivals": "Recién llegados",
"directory.recently_active": "Recientemente activo", "directory.recently_active": "Recientemente activo",
"disabled_account_banner.account_settings": "Ajustes de la cuenta",
"disabled_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada.",
"dismissable_banner.community_timeline": "Estas son las publicaciones públicas más recientes de personas cuyas cuentas están alojadas en {domain}.", "dismissable_banner.community_timeline": "Estas son las publicaciones públicas más recientes de personas cuyas cuentas están alojadas en {domain}.",
"dismissable_banner.dismiss": "Descartar", "dismissable_banner.dismiss": "Descartar",
"dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada en este momento.", "dismissable_banner.explore_links": "Estas noticias están siendo discutidas por personas en este y otros servidores de la red descentralizada en este momento.",
@ -259,13 +261,13 @@
"follow_request.authorize": "Autorizar", "follow_request.authorize": "Autorizar",
"follow_request.reject": "Rechazar", "follow_request.reject": "Rechazar",
"follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.", "follow_requests.unlocked_explanation": "A pesar de que tu cuenta no es privada, el personal de {domain} ha pensado que quizás deberías revisar manualmente las solicitudes de seguimiento de estas cuentas.",
"footer.about": "About", "footer.about": "Acerca de",
"footer.directory": "Profiles directory", "footer.directory": "Directorio de perfiles",
"footer.get_app": "Get the app", "footer.get_app": "Obtener la aplicación",
"footer.invite": "Invite people", "footer.invite": "Invitar gente",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "Atajos de teclado",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "Política de privacidad",
"footer.source_code": "View source code", "footer.source_code": "Ver código fuente",
"generic.saved": "Guardado", "generic.saved": "Guardado",
"getting_started.heading": "Primeros pasos", "getting_started.heading": "Primeros pasos",
"hashtag.column_header.tag_mode.all": "y {additional}", "hashtag.column_header.tag_mode.all": "y {additional}",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.", "interaction_modal.description.reply": "Con una cuenta en Mastodon, puedes responder a esta publicación.",
"interaction_modal.on_another_server": "En un servidor diferente", "interaction_modal.on_another_server": "En un servidor diferente",
"interaction_modal.on_this_server": "En este servidor", "interaction_modal.on_this_server": "En este servidor",
"interaction_modal.other_server_instructions": "Simplemente copia y pega esta URL en la barra de búsqueda de tu aplicación favorita o en la interfaz web donde hayas iniciado sesión.", "interaction_modal.other_server_instructions": "Copia y pega esta URL en la barra de búsqueda de tu aplicación Mastodon favorita o la interfaz web de tu servidor Mastodon.",
"interaction_modal.preamble": "Ya que Mastodon es descentralizado, puedes usar tu cuenta existente alojada en otro servidor Mastodon o plataforma compatible si no tienes una cuenta en este servidor.", "interaction_modal.preamble": "Ya que Mastodon es descentralizado, puedes usar tu cuenta existente alojada en otro servidor Mastodon o plataforma compatible si no tienes una cuenta en este servidor.",
"interaction_modal.title.favourite": "Marcar como favorita la publicación de {name}", "interaction_modal.title.favourite": "Marcar como favorita la publicación de {name}",
"interaction_modal.title.follow": "Seguir a {name}", "interaction_modal.title.follow": "Seguir a {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "Cambiar visibilidad", "media_gallery.toggle_visible": "Cambiar visibilidad",
"missing_indicator.label": "No encontrado", "missing_indicator.label": "No encontrado",
"missing_indicator.sublabel": "No se encontró este recurso", "missing_indicator.sublabel": "No se encontró este recurso",
"moved_to_account_banner.text": "Tu cuenta {disabledAccount} está actualmente deshabilitada porque te has mudado a {movedToAccount}.",
"mute_modal.duration": "Duración", "mute_modal.duration": "Duración",
"mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?", "mute_modal.hide_notifications": "Ocultar notificaciones de este usuario?",
"mute_modal.indefinite": "Indefinida", "mute_modal.indefinite": "Indefinida",
@ -498,7 +501,7 @@
"report.rules.title": "¿Qué normas se están violando?", "report.rules.title": "¿Qué normas se están violando?",
"report.statuses.subtitle": "Selecciona todos los que correspondan", "report.statuses.subtitle": "Selecciona todos los que correspondan",
"report.statuses.title": "¿Hay alguna publicación que respalde este informe?", "report.statuses.title": "¿Hay alguna publicación que respalde este informe?",
"report.submit": "Publicar", "report.submit": "Enviar",
"report.target": "Reportando", "report.target": "Reportando",
"report.thanks.take_action": "Aquí están tus opciones para controlar lo que ves en Mastodon:", "report.thanks.take_action": "Aquí están tus opciones para controlar lo que ves en Mastodon:",
"report.thanks.take_action_actionable": "Mientras revisamos esto, puedes tomar medidas contra @{name}:", "report.thanks.take_action_actionable": "Mientras revisamos esto, puedes tomar medidas contra @{name}:",
@ -512,7 +515,7 @@
"report_notification.categories.violation": "Infracción de regla", "report_notification.categories.violation": "Infracción de regla",
"report_notification.open": "Abrir informe", "report_notification.open": "Abrir informe",
"search.placeholder": "Buscar", "search.placeholder": "Buscar",
"search.search_or_paste": "Search or paste URL", "search.search_or_paste": "Buscar o pegar URL",
"search_popout.search_format": "Formato de búsqueda avanzada", "search_popout.search_format": "Formato de búsqueda avanzada",
"search_popout.tips.full_text": "Las búsquedas de texto recuperan publicaciones que has escrito, marcado como favoritas, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.", "search_popout.tips.full_text": "Las búsquedas de texto recuperan publicaciones que has escrito, marcado como favoritas, retooteado o en los que has sido mencionado, así como usuarios, nombres y hashtags.",
"search_popout.tips.hashtag": "etiqueta", "search_popout.tips.hashtag": "etiqueta",
@ -567,7 +570,7 @@
"status.pinned": "Publicación fijada", "status.pinned": "Publicación fijada",
"status.read_more": "Leer más", "status.read_more": "Leer más",
"status.reblog": "Retootear", "status.reblog": "Retootear",
"status.reblog_private": "Implusar a la audiencia original", "status.reblog_private": "Impulsar a la audiencia original",
"status.reblogged_by": "Retooteado por {name}", "status.reblogged_by": "Retooteado por {name}",
"status.reblogs.empty": "Nadie retooteó este toot todavía. Cuando alguien lo haga, aparecerá aquí.", "status.reblogs.empty": "Nadie retooteó este toot todavía. Cuando alguien lo haga, aparecerá aquí.",
"status.redraft": "Borrar y volver a borrador", "status.redraft": "Borrar y volver a borrador",
@ -635,7 +638,7 @@
"upload_modal.preparing_ocr": "Preparando OCR…", "upload_modal.preparing_ocr": "Preparando OCR…",
"upload_modal.preview_label": "Vista previa ({ratio})", "upload_modal.preview_label": "Vista previa ({ratio})",
"upload_progress.label": "Subiendo…", "upload_progress.label": "Subiendo…",
"upload_progress.processing": "Processing…", "upload_progress.processing": "Procesando…",
"video.close": "Cerrar video", "video.close": "Cerrar video",
"video.download": "Descargar archivo", "video.download": "Descargar archivo",
"video.exit_fullscreen": "Salir de pantalla completa", "video.exit_fullscreen": "Salir de pantalla completa",

View File

@ -2,10 +2,8 @@
"about.blocks": "Moderated servers", "about.blocks": "Moderated servers",
"about.contact": "Contact:", "about.contact": "Contact:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Domain",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.",
"about.domain_blocks.severity": "Severity",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.silenced.title": "Limited",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} jälgitav} other {{counter} jälgitavat}}", "account.following_counter": "{count, plural, one {{counter} jälgitav} other {{counter} jälgitavat}}",
"account.follows.empty": "See kasutaja ei jälgi veel kedagi.", "account.follows.empty": "See kasutaja ei jälgi veel kedagi.",
"account.follows_you": "Jälgib Teid", "account.follows_you": "Jälgib Teid",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "Peida upitused kasutajalt @{name}", "account.hide_reblogs": "Peida upitused kasutajalt @{name}",
"account.joined_short": "Joined", "account.joined_short": "Joined",
"account.languages": "Change subscribed languages", "account.languages": "Change subscribed languages",
@ -46,10 +45,11 @@
"account.locked_info": "Selle konto privaatsussätteks on lukustatud. Omanik vaatab manuaalselt üle, kes teda jägida saab.", "account.locked_info": "Selle konto privaatsussätteks on lukustatud. Omanik vaatab manuaalselt üle, kes teda jägida saab.",
"account.media": "Meedia", "account.media": "Meedia",
"account.mention": "Maini @{name}'i", "account.mention": "Maini @{name}'i",
"account.moved_to": "{name} on kolinud:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "Vaigista @{name}", "account.mute": "Vaigista @{name}",
"account.mute_notifications": "Vaigista teated kasutajalt @{name}", "account.mute_notifications": "Vaigista teated kasutajalt @{name}",
"account.muted": "Vaigistatud", "account.muted": "Vaigistatud",
"account.open_original_page": "Open original page",
"account.posts": "Postitused", "account.posts": "Postitused",
"account.posts_with_replies": "Postitused ja vastused", "account.posts_with_replies": "Postitused ja vastused",
"account.report": "Raporteeri @{name}", "account.report": "Raporteeri @{name}",
@ -181,6 +181,8 @@
"directory.local": "Ainult domeenilt {domain}", "directory.local": "Ainult domeenilt {domain}",
"directory.new_arrivals": "Uustulijad", "directory.new_arrivals": "Uustulijad",
"directory.recently_active": "Hiljuti aktiivne", "directory.recently_active": "Hiljuti aktiivne",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Dismiss",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "On this server",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Follow {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Varja pilt} other {Varja pildid}}", "media_gallery.toggle_visible": "{number, plural, one {Varja pilt} other {Varja pildid}}",
"missing_indicator.label": "Ei leitud", "missing_indicator.label": "Ei leitud",
"missing_indicator.sublabel": "Seda ressurssi ei leitud", "missing_indicator.sublabel": "Seda ressurssi ei leitud",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Duration", "mute_modal.duration": "Duration",
"mute_modal.hide_notifications": "Kas peita teated sellelt kasutajalt?", "mute_modal.hide_notifications": "Kas peita teated sellelt kasutajalt?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Indefinite",

View File

@ -2,10 +2,8 @@
"about.blocks": "Moderatutako zerbitzariak", "about.blocks": "Moderatutako zerbitzariak",
"about.contact": "Kontaktua:", "about.contact": "Kontaktua:",
"about.disclaimer": "Mastodon software libre eta kode irekikoa da, eta Mastodon gGmbH-ren marka erregistratua.", "about.disclaimer": "Mastodon software libre eta kode irekikoa da, eta Mastodon gGmbH-ren marka erregistratua.",
"about.domain_blocks.comment": "Arrazoia", "about.domain_blocks.no_reason_available": "Arrazoia ez dago eskuragarri",
"about.domain_blocks.domain": "Domeinua",
"about.domain_blocks.preamble": "Mastodonek orokorrean aukera ematen dizu fedibertsoko beste zerbitzarietako erabiltzaileen edukia ikusi eta haiekin komunikatzeko. Zerbitzari zehatz honi ezarritako salbuespenak hauek dira.", "about.domain_blocks.preamble": "Mastodonek orokorrean aukera ematen dizu fedibertsoko beste zerbitzarietako erabiltzaileen edukia ikusi eta haiekin komunikatzeko. Zerbitzari zehatz honi ezarritako salbuespenak hauek dira.",
"about.domain_blocks.severity": "Larritasuna",
"about.domain_blocks.silenced.explanation": "Orokorrean ez duzu zerbitzari honetako profil eta edukirik ikusiko. Profilak jarraitzen badituzu edo edukia esplizituki bilatzen baduzu bai.", "about.domain_blocks.silenced.explanation": "Orokorrean ez duzu zerbitzari honetako profil eta edukirik ikusiko. Profilak jarraitzen badituzu edo edukia esplizituki bilatzen baduzu bai.",
"about.domain_blocks.silenced.title": "Mugatua", "about.domain_blocks.silenced.title": "Mugatua",
"about.domain_blocks.suspended.explanation": "Ez da zerbitzari honetako daturik prozesatuko, gordeko, edo partekatuko, zerbitzari honetako erabiltzaileekin komunikatzea ezinezkoa eginez.", "about.domain_blocks.suspended.explanation": "Ez da zerbitzari honetako daturik prozesatuko, gordeko, edo partekatuko, zerbitzari honetako erabiltzaileekin komunikatzea ezinezkoa eginez.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} jarraitzen} other {{counter} jarraitzen}}", "account.following_counter": "{count, plural, one {{counter} jarraitzen} other {{counter} jarraitzen}}",
"account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.", "account.follows.empty": "Erabiltzaile honek ez du inor jarraitzen oraindik.",
"account.follows_you": "Jarraitzen dizu", "account.follows_you": "Jarraitzen dizu",
"account.go_to_profile": "Joan profilera",
"account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak", "account.hide_reblogs": "Ezkutatu @{name}(r)en bultzadak",
"account.joined_short": "Elkartuta", "account.joined_short": "Elkartuta",
"account.languages": "Aldatu harpidetutako hizkuntzak", "account.languages": "Aldatu harpidetutako hizkuntzak",
@ -46,10 +45,11 @@
"account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.", "account.locked_info": "Kontu honen pribatutasun egoera blokeatuta gisa ezarri da. Jabeak eskuz erabakitzen du nork jarraitu diezaioken.",
"account.media": "Multimedia", "account.media": "Multimedia",
"account.mention": "Aipatu @{name}", "account.mention": "Aipatu @{name}",
"account.moved_to": "{name} hona migratu da:", "account.moved_to": "{name} erabiltzaileak adierazi du bere kontu berria hau dela:",
"account.mute": "Mututu @{name}", "account.mute": "Mututu @{name}",
"account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak", "account.mute_notifications": "Mututu @{name}(r)en jakinarazpenak",
"account.muted": "Mutututa", "account.muted": "Mutututa",
"account.open_original_page": "Ireki jatorrizko orria",
"account.posts": "Bidalketa", "account.posts": "Bidalketa",
"account.posts_with_replies": "Bidalketak eta erantzunak", "account.posts_with_replies": "Bidalketak eta erantzunak",
"account.report": "Salatu @{name}", "account.report": "Salatu @{name}",
@ -181,6 +181,8 @@
"directory.local": "{domain} domeinukoak soilik", "directory.local": "{domain} domeinukoak soilik",
"directory.new_arrivals": "Iritsi berriak", "directory.new_arrivals": "Iritsi berriak",
"directory.recently_active": "Duela gutxi aktibo", "directory.recently_active": "Duela gutxi aktibo",
"disabled_account_banner.account_settings": "Kontuaren ezarpenak",
"disabled_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan.",
"dismissable_banner.community_timeline": "Hauek dira {domain} zerbitzarian ostatatutako kontuen bidalketa publiko berrienak.", "dismissable_banner.community_timeline": "Hauek dira {domain} zerbitzarian ostatatutako kontuen bidalketa publiko berrienak.",
"dismissable_banner.dismiss": "Baztertu", "dismissable_banner.dismiss": "Baztertu",
"dismissable_banner.explore_links": "Albiste hauei buruz hitz egiten ari da jendea orain zerbitzari honetan eta sare deszentralizatuko besteetan.", "dismissable_banner.explore_links": "Albiste hauei buruz hitz egiten ari da jendea orain zerbitzari honetan eta sare deszentralizatuko besteetan.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "Mastodon kontu batekin bidalketa honi erantzun diezaiokezu.", "interaction_modal.description.reply": "Mastodon kontu batekin bidalketa honi erantzun diezaiokezu.",
"interaction_modal.on_another_server": "Beste zerbitzari batean", "interaction_modal.on_another_server": "Beste zerbitzari batean",
"interaction_modal.on_this_server": "Zerbitzari honetan", "interaction_modal.on_this_server": "Zerbitzari honetan",
"interaction_modal.other_server_instructions": "Kopiatu eta itsatsi URL hau zure aplikazio gogokoenaren bilaketa-barran edo saioa hasita daukazun web interfazean.", "interaction_modal.other_server_instructions": "Kopiatu eta itsatsi URL hau zure Mastodon aplikazio gogokoenaren edo zure Mastodon zerbitzariaren web interfazeko bilaketa eremuan.",
"interaction_modal.preamble": "Mastodon deszentralizatua denez, zerbitzari honetan konturik ez badaukazu, beste Mastodon zerbitzari batean edo bateragarria den plataforma batean ostatatutako kontua erabil dezakezu.", "interaction_modal.preamble": "Mastodon deszentralizatua denez, zerbitzari honetan konturik ez badaukazu, beste Mastodon zerbitzari batean edo bateragarria den plataforma batean ostatatutako kontua erabil dezakezu.",
"interaction_modal.title.favourite": "Egin gogoko {name}(r)en bidalketa", "interaction_modal.title.favourite": "Egin gogoko {name}(r)en bidalketa",
"interaction_modal.title.follow": "Jarraitu {name}", "interaction_modal.title.follow": "Jarraitu {name}",
@ -339,7 +341,7 @@
"lightbox.next": "Hurrengoa", "lightbox.next": "Hurrengoa",
"lightbox.previous": "Aurrekoa", "lightbox.previous": "Aurrekoa",
"limited_account_hint.action": "Erakutsi profila hala ere", "limited_account_hint.action": "Erakutsi profila hala ere",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "Profil hau ezkutatu egin dute {domain} zerbitzariko moderatzaileek.",
"lists.account.add": "Gehitu zerrendara", "lists.account.add": "Gehitu zerrendara",
"lists.account.remove": "Kendu zerrendatik", "lists.account.remove": "Kendu zerrendatik",
"lists.delete": "Ezabatu zerrenda", "lists.delete": "Ezabatu zerrenda",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "Txandakatu ikusgaitasuna", "media_gallery.toggle_visible": "Txandakatu ikusgaitasuna",
"missing_indicator.label": "Ez aurkitua", "missing_indicator.label": "Ez aurkitua",
"missing_indicator.sublabel": "Baliabide hau ezin izan da aurkitu", "missing_indicator.sublabel": "Baliabide hau ezin izan da aurkitu",
"moved_to_account_banner.text": "Zure {disabledAccount} kontua desgaituta dago une honetan, {movedToAccount} kontura aldatu zinelako.",
"mute_modal.duration": "Iraupena", "mute_modal.duration": "Iraupena",
"mute_modal.hide_notifications": "Ezkutatu erabiltzaile honen jakinarazpenak?", "mute_modal.hide_notifications": "Ezkutatu erabiltzaile honen jakinarazpenak?",
"mute_modal.indefinite": "Zehaztu gabe", "mute_modal.indefinite": "Zehaztu gabe",

View File

@ -2,10 +2,8 @@
"about.blocks": "کارسازهای نظارت شده", "about.blocks": "کارسازهای نظارت شده",
"about.contact": "تماس:", "about.contact": "تماس:",
"about.disclaimer": "ماستودون نرم‌افزار آزاد، متن باز و یک شرکت غیر انتفاعی با مسئولیت محدود طبق قوانین آلمان است.", "about.disclaimer": "ماستودون نرم‌افزار آزاد، متن باز و یک شرکت غیر انتفاعی با مسئولیت محدود طبق قوانین آلمان است.",
"about.domain_blocks.comment": "دلیل", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "دامنه",
"about.domain_blocks.preamble": "ماستودون عموماً می‌گذارد محتوا را از از هر کارساز دیگری در دنیای شبکه‌های اجتماعی غیرمتمرکز دیده و با آنان برهم‌کنش داشته باشید. این‌ها استثناهایی هستند که روی این کارساز خاص وضع شده‌اند.", "about.domain_blocks.preamble": "ماستودون عموماً می‌گذارد محتوا را از از هر کارساز دیگری در دنیای شبکه‌های اجتماعی غیرمتمرکز دیده و با آنان برهم‌کنش داشته باشید. این‌ها استثناهایی هستند که روی این کارساز خاص وضع شده‌اند.",
"about.domain_blocks.severity": "شدت",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "محدود", "about.domain_blocks.silenced.title": "محدود",
"about.domain_blocks.suspended.explanation": "هیچ داده‌ای از این کارساز پردازش، ذخیره یا مبادله نخواهد شد، که هرگونه برهم‌کنش یا ارتباط با کاربران این کارساز را غیرممکن خواهد کرد.", "about.domain_blocks.suspended.explanation": "هیچ داده‌ای از این کارساز پردازش، ذخیره یا مبادله نخواهد شد، که هرگونه برهم‌کنش یا ارتباط با کاربران این کارساز را غیرممکن خواهد کرد.",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} پی‌گرفته} other {{counter} پی‌گرفته}}", "account.following_counter": "{count, plural, one {{counter} پی‌گرفته} other {{counter} پی‌گرفته}}",
"account.follows.empty": "این کاربر هنوز پی‌گیر کسی نیست.", "account.follows.empty": "این کاربر هنوز پی‌گیر کسی نیست.",
"account.follows_you": "پی می‌گیردتان", "account.follows_you": "پی می‌گیردتان",
"account.go_to_profile": "Go to profile",
"account.hide_reblogs": "نهفتن تقویت‌های @{name}", "account.hide_reblogs": "نهفتن تقویت‌های @{name}",
"account.joined_short": "پیوسته", "account.joined_short": "پیوسته",
"account.languages": "تغییر زبان‌های مشترک شده", "account.languages": "تغییر زبان‌های مشترک شده",
@ -46,10 +45,11 @@
"account.locked_info": "این حساب خصوصی است. صاحبش تصمیم می‌گیرد که چه کسی پی‌گیرش باشد.", "account.locked_info": "این حساب خصوصی است. صاحبش تصمیم می‌گیرد که چه کسی پی‌گیرش باشد.",
"account.media": "رسانه", "account.media": "رسانه",
"account.mention": "نام‌بردن از @{name}", "account.mention": "نام‌بردن از @{name}",
"account.moved_to": "{name} منتقل شده به:", "account.moved_to": "{name} has indicated that their new account is now:",
"account.mute": "خموشاندن @{name}", "account.mute": "خموشاندن @{name}",
"account.mute_notifications": "خموشاندن آگاهی‌های @{name}", "account.mute_notifications": "خموشاندن آگاهی‌های @{name}",
"account.muted": "خموش", "account.muted": "خموش",
"account.open_original_page": "Open original page",
"account.posts": "فرسته", "account.posts": "فرسته",
"account.posts_with_replies": "فرسته‌ها و پاسخ‌ها", "account.posts_with_replies": "فرسته‌ها و پاسخ‌ها",
"account.report": "گزارش @{name}", "account.report": "گزارش @{name}",
@ -181,6 +181,8 @@
"directory.local": "تنها از {domain}", "directory.local": "تنها از {domain}",
"directory.new_arrivals": "تازه‌واردان", "directory.new_arrivals": "تازه‌واردان",
"directory.recently_active": "کاربران فعال اخیر", "directory.recently_active": "کاربران فعال اخیر",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "دور انداختن", "dismissable_banner.dismiss": "دور انداختن",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "روی کارسازی دیگر", "interaction_modal.on_another_server": "روی کارسازی دیگر",
"interaction_modal.on_this_server": "روی این کارساز", "interaction_modal.on_this_server": "روی این کارساز",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "از آن‌جا که ماستودون نامتمرکز است، می‌توانید در صورت نداشتن حساب روی این کارساز، از حساب موجود خودتان که روی کارساز ماستودون یا بن‌سازهٔ سازگار دیگری میزبانی می‌شود استفاده کنید.", "interaction_modal.preamble": "از آن‌جا که ماستودون نامتمرکز است، می‌توانید در صورت نداشتن حساب روی این کارساز، از حساب موجود خودتان که روی کارساز ماستودون یا بن‌سازهٔ سازگار دیگری میزبانی می‌شود استفاده کنید.",
"interaction_modal.title.favourite": "فرسته‌های برگزیدهٔ {name}", "interaction_modal.title.favourite": "فرسته‌های برگزیدهٔ {name}",
"interaction_modal.title.follow": "پیگیری {name}", "interaction_modal.title.follow": "پیگیری {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {نهفتن تصویر} other {نهفتن تصاویر}}", "media_gallery.toggle_visible": "{number, plural, one {نهفتن تصویر} other {نهفتن تصاویر}}",
"missing_indicator.label": "پیدا نشد", "missing_indicator.label": "پیدا نشد",
"missing_indicator.sublabel": "این منبع پیدا نشد", "missing_indicator.sublabel": "این منبع پیدا نشد",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "مدت زمان", "mute_modal.duration": "مدت زمان",
"mute_modal.hide_notifications": "نهفتن آگاهی‌ها از این کاربر؟", "mute_modal.hide_notifications": "نهفتن آگاهی‌ها از این کاربر؟",
"mute_modal.indefinite": "نامعلوم", "mute_modal.indefinite": "نامعلوم",

View File

@ -1,11 +1,9 @@
{ {
"about.blocks": "Moderoidut palvelimet", "about.blocks": "Moderoidut palvelimet",
"about.contact": "Yhteystiedot:", "about.contact": "Yhteystiedot:",
"about.disclaimer": "Mastodon on ilmainen avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.", "about.disclaimer": "Mastodon on vapaa avoimen lähdekoodin ohjelmisto ja Mastodon gGmbH:n tavaramerkki.",
"about.domain_blocks.comment": "Syy", "about.domain_blocks.no_reason_available": "Syy ei saatavilla",
"about.domain_blocks.domain": "Verkkotunnus",
"about.domain_blocks.preamble": "Mastodonin avulla voit yleensä tarkastella sisältöä ja olla vuorovaikutuksessa käyttäjien kanssa millä tahansa muulla palvelimella fediversessä. Nämä ovat poikkeuksia, jotka on tehty tälle palvelimelle.", "about.domain_blocks.preamble": "Mastodonin avulla voit yleensä tarkastella sisältöä ja olla vuorovaikutuksessa käyttäjien kanssa millä tahansa muulla palvelimella fediversessä. Nämä ovat poikkeuksia, jotka on tehty tälle palvelimelle.",
"about.domain_blocks.severity": "Vakavuus",
"about.domain_blocks.silenced.explanation": "Et yleensä näe profiileja ja sisältöä tältä palvelimelta, ellet nimenomaisesti etsi tai valitse sitä seuraamalla.", "about.domain_blocks.silenced.explanation": "Et yleensä näe profiileja ja sisältöä tältä palvelimelta, ellet nimenomaisesti etsi tai valitse sitä seuraamalla.",
"about.domain_blocks.silenced.title": "Rajoitettu", "about.domain_blocks.silenced.title": "Rajoitettu",
"about.domain_blocks.suspended.explanation": "Tämän palvelimen tietoja ei käsitellä, tallenneta tai vaihdeta, mikä tekee käyttäjän kanssa vuorovaikutuksen tai yhteydenpidon mahdottomaksi tällä palvelimella.", "about.domain_blocks.suspended.explanation": "Tämän palvelimen tietoja ei käsitellä, tallenneta tai vaihdeta, mikä tekee käyttäjän kanssa vuorovaikutuksen tai yhteydenpidon mahdottomaksi tällä palvelimella.",
@ -18,7 +16,7 @@
"account.badges.bot": "Botti", "account.badges.bot": "Botti",
"account.badges.group": "Ryhmä", "account.badges.group": "Ryhmä",
"account.block": "Estä @{name}", "account.block": "Estä @{name}",
"account.block_domain": "Piilota kaikki sisältö verkkotunnuksesta {domain}", "account.block_domain": "Estä verkkotunnus {domain}",
"account.blocked": "Estetty", "account.blocked": "Estetty",
"account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella", "account.browse_more_on_origin_server": "Selaile lisää alkuperäisellä palvelimella",
"account.cancel_follow_request": "Peruuta seurantapyyntö", "account.cancel_follow_request": "Peruuta seurantapyyntö",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} seuraa} other {{counter} seuraa}}", "account.following_counter": "{count, plural, one {{counter} seuraa} other {{counter} seuraa}}",
"account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.", "account.follows.empty": "Tämä käyttäjä ei vielä seuraa ketään.",
"account.follows_you": "Seuraa sinua", "account.follows_you": "Seuraa sinua",
"account.go_to_profile": "Mene profiiliin",
"account.hide_reblogs": "Piilota buustaukset käyttäjältä @{name}", "account.hide_reblogs": "Piilota buustaukset käyttäjältä @{name}",
"account.joined_short": "Liittynyt", "account.joined_short": "Liittynyt",
"account.languages": "Vaihda tilattuja kieliä", "account.languages": "Vaihda tilattuja kieliä",
@ -46,10 +45,11 @@
"account.locked_info": "Tämän tilin yksityisyyden tila on asetettu lukituksi. Omistaja arvioi manuaalisesti, kuka voi seurata niitä.", "account.locked_info": "Tämän tilin yksityisyyden tila on asetettu lukituksi. Omistaja arvioi manuaalisesti, kuka voi seurata niitä.",
"account.media": "Media", "account.media": "Media",
"account.mention": "Mainitse @{name}", "account.mention": "Mainitse @{name}",
"account.moved_to": "{name} on muuttanut:", "account.moved_to": "{name} on ilmoittanut uudeksi tilikseen",
"account.mute": "Mykistä @{name}", "account.mute": "Mykistä @{name}",
"account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}", "account.mute_notifications": "Mykistä ilmoitukset käyttäjältä @{name}",
"account.muted": "Mykistetty", "account.muted": "Mykistetty",
"account.open_original_page": "Avaa alkuperäinen sivu",
"account.posts": "Viestit", "account.posts": "Viestit",
"account.posts_with_replies": "Viestit ja vastaukset", "account.posts_with_replies": "Viestit ja vastaukset",
"account.report": "Raportoi @{name}", "account.report": "Raportoi @{name}",
@ -163,7 +163,7 @@
"confirmations.logout.confirm": "Kirjaudu ulos", "confirmations.logout.confirm": "Kirjaudu ulos",
"confirmations.logout.message": "Oletko varma, että haluat kirjautua ulos?", "confirmations.logout.message": "Oletko varma, että haluat kirjautua ulos?",
"confirmations.mute.confirm": "Mykistä", "confirmations.mute.confirm": "Mykistä",
"confirmations.mute.explanation": "Tämä piilottaa heidän julkaisut ja julkaisut, joissa heidät mainitaan, mutta sallii edelleen heidän nähdä julkaisusi ja seurata sinua.", "confirmations.mute.explanation": "Tämä toiminto piilottaa heidän julkaisunsa sinulta mukaan lukien ne, joissa heidät mainitaan sallien heidän yhä nähdä julkaisusi ja seurata sinua.",
"confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?", "confirmations.mute.message": "Haluatko varmasti mykistää käyttäjän {name}?",
"confirmations.redraft.confirm": "Poista & palauta muokattavaksi", "confirmations.redraft.confirm": "Poista & palauta muokattavaksi",
"confirmations.redraft.message": "Oletko varma että haluat poistaa tämän julkaisun ja tehdä siitä uuden luonnoksen? Suosikit ja buustaukset menetään, alkuperäisen julkaisusi vastaukset jäävät orvoiksi.", "confirmations.redraft.message": "Oletko varma että haluat poistaa tämän julkaisun ja tehdä siitä uuden luonnoksen? Suosikit ja buustaukset menetään, alkuperäisen julkaisusi vastaukset jäävät orvoiksi.",
@ -181,6 +181,8 @@
"directory.local": "Vain palvelimelta {domain}", "directory.local": "Vain palvelimelta {domain}",
"directory.new_arrivals": "Äskettäin saapuneet", "directory.new_arrivals": "Äskettäin saapuneet",
"directory.recently_active": "Hiljattain aktiiviset", "directory.recently_active": "Hiljattain aktiiviset",
"disabled_account_banner.account_settings": "Tilin asetukset",
"disabled_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä.",
"dismissable_banner.community_timeline": "Nämä ovat uusimmat julkiset viestit ihmisiltä, joiden tilejä isännöi {domain}.", "dismissable_banner.community_timeline": "Nämä ovat uusimmat julkiset viestit ihmisiltä, joiden tilejä isännöi {domain}.",
"dismissable_banner.dismiss": "Hylkää", "dismissable_banner.dismiss": "Hylkää",
"dismissable_banner.explore_links": "Näistä uutisista puhuvat ihmiset juuri nyt tällä ja muilla hajautetun verkon palvelimilla.", "dismissable_banner.explore_links": "Näistä uutisista puhuvat ihmiset juuri nyt tällä ja muilla hajautetun verkon palvelimilla.",
@ -290,7 +292,7 @@
"interaction_modal.description.reply": "Kun sinulla on tili Mastodonissa, voit vastata tähän viestiin.", "interaction_modal.description.reply": "Kun sinulla on tili Mastodonissa, voit vastata tähän viestiin.",
"interaction_modal.on_another_server": "Toisella palvelimella", "interaction_modal.on_another_server": "Toisella palvelimella",
"interaction_modal.on_this_server": "Tällä palvelimella", "interaction_modal.on_this_server": "Tällä palvelimella",
"interaction_modal.other_server_instructions": "Yksinkertaisesti kopioi ja liitä tämä URL-osoite suosikki sovelluksen tai web-käyttöliittymän hakupalkkiin, jossa olet kirjautunut sisään.", "interaction_modal.other_server_instructions": "Kopioi ja liitä tämä URL-osoite käyttämäsi Mastodon-sovelluksen hakukenttään tai Mastodon-palvelimen web-käyttöliittymään.",
"interaction_modal.preamble": "Koska Mastodon on hajautettu, voit käyttää toisen Mastodon-palvelimen tai yhteensopivan alustan ylläpitämää tiliäsi, jos sinulla ei ole tiliä tällä palvelimella.", "interaction_modal.preamble": "Koska Mastodon on hajautettu, voit käyttää toisen Mastodon-palvelimen tai yhteensopivan alustan ylläpitämää tiliäsi, jos sinulla ei ole tiliä tällä palvelimella.",
"interaction_modal.title.favourite": "Suosikin {name} viesti", "interaction_modal.title.favourite": "Suosikin {name} viesti",
"interaction_modal.title.follow": "Seuraa {name}", "interaction_modal.title.follow": "Seuraa {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Piilota kuva} other {Piilota kuvat}}", "media_gallery.toggle_visible": "{number, plural, one {Piilota kuva} other {Piilota kuvat}}",
"missing_indicator.label": "Ei löytynyt", "missing_indicator.label": "Ei löytynyt",
"missing_indicator.sublabel": "Tätä resurssia ei löytynyt", "missing_indicator.sublabel": "Tätä resurssia ei löytynyt",
"moved_to_account_banner.text": "Tilisi {disabledAccount} on tällä hetkellä poissa käytöstä, koska teit siirron tiliin {movedToAccount}.",
"mute_modal.duration": "Kesto", "mute_modal.duration": "Kesto",
"mute_modal.hide_notifications": "Piilota tältä käyttäjältä tulevat ilmoitukset?", "mute_modal.hide_notifications": "Piilota tältä käyttäjältä tulevat ilmoitukset?",
"mute_modal.indefinite": "Ikuisesti", "mute_modal.indefinite": "Ikuisesti",

View File

@ -2,19 +2,17 @@
"about.blocks": "Serveurs modérés", "about.blocks": "Serveurs modérés",
"about.contact": "Contact :", "about.contact": "Contact :",
"about.disclaimer": "Mastodon est un logiciel libre, open-source et une marque déposée de Mastodon gGmbH.", "about.disclaimer": "Mastodon est un logiciel libre, open-source et une marque déposée de Mastodon gGmbH.",
"about.domain_blocks.comment": "Motif :", "about.domain_blocks.no_reason_available": "Raison non disponible",
"about.domain_blocks.domain": "Domaine",
"about.domain_blocks.preamble": "Mastodon vous permet généralement de visualiser le contenu et d'interagir avec les utilisateurs de n'importe quel autre serveur dans le fédiverse. Voici les exceptions qui ont été faites sur ce serveur en particulier.", "about.domain_blocks.preamble": "Mastodon vous permet généralement de visualiser le contenu et d'interagir avec les utilisateurs de n'importe quel autre serveur dans le fédiverse. Voici les exceptions qui ont été faites sur ce serveur en particulier.",
"about.domain_blocks.severity": "Sévérité",
"about.domain_blocks.silenced.explanation": "Vous ne verrez généralement pas les profils et le contenu de ce serveur, à moins que vous ne les recherchiez explicitement ou que vous ne choisissiez de les suivre.", "about.domain_blocks.silenced.explanation": "Vous ne verrez généralement pas les profils et le contenu de ce serveur, à moins que vous ne les recherchiez explicitement ou que vous ne choisissiez de les suivre.",
"about.domain_blocks.silenced.title": "Limité", "about.domain_blocks.silenced.title": "Limité",
"about.domain_blocks.suspended.explanation": "Aucune donnée de ce serveur ne sera traitée, enregistrée ou échangée, rendant impossible toute interaction ou communication avec les utilisateurs de ce serveur.", "about.domain_blocks.suspended.explanation": "Aucune donnée de ce serveur ne sera traitée, enregistrée ou échangée, rendant impossible toute interaction ou communication avec les utilisateurs de ce serveur.",
"about.domain_blocks.suspended.title": "Suspendu", "about.domain_blocks.suspended.title": "Suspendu",
"about.not_available": "Cette information n'a pas été rendue disponibles sur ce serveur.", "about.not_available": "Cette information n'a pas été rendue disponible sur ce serveur.",
"about.powered_by": "Réseau social décentralisé propulsé par {mastodon}", "about.powered_by": "Réseau social décentralisé propulsé par {mastodon}",
"about.rules": "Règles du serveur", "about.rules": "Règles du serveur",
"account.account_note_header": "Note", "account.account_note_header": "Note",
"account.add_or_remove_from_list": "Ajouter ou enlever des listes", "account.add_or_remove_from_list": "Ajouter ou retirer des listes",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Groupe", "account.badges.group": "Groupe",
"account.block": "Bloquer @{name}", "account.block": "Bloquer @{name}",
@ -23,7 +21,7 @@
"account.browse_more_on_origin_server": "Parcourir davantage sur le profil original", "account.browse_more_on_origin_server": "Parcourir davantage sur le profil original",
"account.cancel_follow_request": "Retirer la demande dabonnement", "account.cancel_follow_request": "Retirer la demande dabonnement",
"account.direct": "Envoyer un message direct à @{name}", "account.direct": "Envoyer un message direct à @{name}",
"account.disable_notifications": "Ne plus me notifier quand @{name} publie", "account.disable_notifications": "Ne plus me notifier quand @{name} publie quelque chose",
"account.domain_blocked": "Domaine bloqué", "account.domain_blocked": "Domaine bloqué",
"account.edit_profile": "Modifier le profil", "account.edit_profile": "Modifier le profil",
"account.enable_notifications": "Me notifier quand @{name} publie quelque chose", "account.enable_notifications": "Me notifier quand @{name} publie quelque chose",
@ -39,6 +37,7 @@
"account.following_counter": "{count, plural, one {{counter} Abonnement} other {{counter} Abonnements}}", "account.following_counter": "{count, plural, one {{counter} Abonnement} other {{counter} Abonnements}}",
"account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour linstant.", "account.follows.empty": "Cet·te utilisateur·rice ne suit personne pour linstant.",
"account.follows_you": "Vous suit", "account.follows_you": "Vous suit",
"account.go_to_profile": "Voir le profil",
"account.hide_reblogs": "Masquer les partages de @{name}", "account.hide_reblogs": "Masquer les partages de @{name}",
"account.joined_short": "Ici depuis", "account.joined_short": "Ici depuis",
"account.languages": "Changer les langues abonnées", "account.languages": "Changer les langues abonnées",
@ -46,10 +45,11 @@
"account.locked_info": "Ce compte est privé. Son ou sa propriétaire approuve manuellement qui peut le suivre.", "account.locked_info": "Ce compte est privé. Son ou sa propriétaire approuve manuellement qui peut le suivre.",
"account.media": "Médias", "account.media": "Médias",
"account.mention": "Mentionner @{name}", "account.mention": "Mentionner @{name}",
"account.moved_to": "{name} a déménagé vers:", "account.moved_to": "{name} a indiqué que son nouveau compte est tmaintenant  :",
"account.mute": "Masquer @{name}", "account.mute": "Masquer @{name}",
"account.mute_notifications": "Masquer les notifications de @{name}", "account.mute_notifications": "Masquer les notifications de @{name}",
"account.muted": "Masqué·e", "account.muted": "Masqué·e",
"account.open_original_page": "Ouvrir la page d'origine",
"account.posts": "Messages", "account.posts": "Messages",
"account.posts_with_replies": "Messages et réponses", "account.posts_with_replies": "Messages et réponses",
"account.report": "Signaler @{name}", "account.report": "Signaler @{name}",
@ -181,12 +181,14 @@
"directory.local": "De {domain} seulement", "directory.local": "De {domain} seulement",
"directory.new_arrivals": "Inscrit·e·s récemment", "directory.new_arrivals": "Inscrit·e·s récemment",
"directory.recently_active": "Actif·ve·s récemment", "directory.recently_active": "Actif·ve·s récemment",
"disabled_account_banner.account_settings": "Paramètres du compte",
"disabled_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé.",
"dismissable_banner.community_timeline": "Voici les messages publics les plus récents des personnes dont les comptes sont hébergés par {domain}.", "dismissable_banner.community_timeline": "Voici les messages publics les plus récents des personnes dont les comptes sont hébergés par {domain}.",
"dismissable_banner.dismiss": "Rejeter", "dismissable_banner.dismiss": "Rejeter",
"dismissable_banner.explore_links": "Ces nouvelles sont actuellement en cours de discussion par des personnes sur d'autres serveurs du réseau décentralisé ainsi que sur celui-ci.", "dismissable_banner.explore_links": "Ces nouvelles sont actuellement en cours de discussion par des personnes sur d'autres serveurs du réseau décentralisé ainsi que sur celui-ci.",
"dismissable_banner.explore_statuses": "Ces publications depuis les serveurs du réseau décentralisé, dont celui-ci, sont actuellement en train de gagner de l'ampleur sur ce serveur.", "dismissable_banner.explore_statuses": "Ces publications depuis les serveurs du réseau décentralisé, dont celui-ci, sont actuellement en train de gagner de l'ampleur sur ce serveur.",
"dismissable_banner.explore_tags": "Ces hashtags sont actuellement en train de gagner de l'ampleur parmi les personnes sur les serveurs du réseau décentralisé dont celui-ci.", "dismissable_banner.explore_tags": "Ces hashtags sont actuellement en train de gagner de l'ampleur parmi les personnes sur les serveurs du réseau décentralisé dont celui-ci.",
"dismissable_banner.public_timeline": "Ce sont les publications publiques les plus récentes des personnes sur les serveurs du réseau décentralisé dont ce serveur que celui-ci connaît.", "dismissable_banner.public_timeline": "Voici les publications publiques les plus récentes des personnes de ce serveur et des autres du réseau décentralisé que ce serveur connait.",
"embed.instructions": "Intégrez ce message à votre site en copiant le code ci-dessous.", "embed.instructions": "Intégrez ce message à votre site en copiant le code ci-dessous.",
"embed.preview": "Il apparaîtra comme cela:", "embed.preview": "Il apparaîtra comme cela:",
"emoji_button.activity": "Activités", "emoji_button.activity": "Activités",
@ -286,11 +288,11 @@
"home.show_announcements": "Afficher les annonces", "home.show_announcements": "Afficher les annonces",
"interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter ce post aux favoris pour informer l'auteur que vous l'appréciez et le sauvegarder pour plus tard.", "interaction_modal.description.favourite": "Avec un compte Mastodon, vous pouvez ajouter ce post aux favoris pour informer l'auteur que vous l'appréciez et le sauvegarder pour plus tard.",
"interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs posts dans votre fil d'actualité.", "interaction_modal.description.follow": "Avec un compte Mastodon, vous pouvez suivre {name} et recevoir leurs posts dans votre fil d'actualité.",
"interaction_modal.description.reblog": "Avec un compte sur Mastodon, vous pouvez booster ce message pour le partager avec vos propres abonné·e·s.", "interaction_modal.description.reblog": "Avec un compte sur Mastodon, vous pouvez booster ce message pour le partager avec vos propres abonnés.",
"interaction_modal.description.reply": "Avec un compte sur Mastodon, vous pouvez répondre à ce message.", "interaction_modal.description.reply": "Avec un compte sur Mastodon, vous pouvez répondre à ce message.",
"interaction_modal.on_another_server": "Sur un autre serveur", "interaction_modal.on_another_server": "Sur un autre serveur",
"interaction_modal.on_this_server": "Sur ce serveur", "interaction_modal.on_this_server": "Sur ce serveur",
"interaction_modal.other_server_instructions": "Copiez et collez simplement cette URL dans la barre de recherche de votre application préférée ou dans linterface web où vous êtes connecté.", "interaction_modal.other_server_instructions": "Copiez et collez cette URL dans le champ de recherche de votre application Mastodon préférée ou l'interface web de votre serveur Mastodon.",
"interaction_modal.preamble": "Puisque Mastodon est décentralisé, vous pouvez utiliser votre compte existant hébergé par un autre serveur Mastodon ou une plateforme compatible si vous n'avez pas de compte sur celui-ci.", "interaction_modal.preamble": "Puisque Mastodon est décentralisé, vous pouvez utiliser votre compte existant hébergé par un autre serveur Mastodon ou une plateforme compatible si vous n'avez pas de compte sur celui-ci.",
"interaction_modal.title.favourite": "Ajouter de post de {name} aux favoris", "interaction_modal.title.favourite": "Ajouter de post de {name} aux favoris",
"interaction_modal.title.follow": "Suivre {name}", "interaction_modal.title.follow": "Suivre {name}",
@ -358,6 +360,7 @@
"media_gallery.toggle_visible": "{number, plural, one {Cacher limage} other {Cacher les images}}", "media_gallery.toggle_visible": "{number, plural, one {Cacher limage} other {Cacher les images}}",
"missing_indicator.label": "Non trouvé", "missing_indicator.label": "Non trouvé",
"missing_indicator.sublabel": "Ressource introuvable", "missing_indicator.sublabel": "Ressource introuvable",
"moved_to_account_banner.text": "Votre compte {disabledAccount} est actuellement désactivé parce que vous avez déplacé vers {movedToAccount}.",
"mute_modal.duration": "Durée", "mute_modal.duration": "Durée",
"mute_modal.hide_notifications": "Masquer les notifications de cette personne?", "mute_modal.hide_notifications": "Masquer les notifications de cette personne?",
"mute_modal.indefinite": "Indéfinie", "mute_modal.indefinite": "Indéfinie",
@ -374,7 +377,7 @@
"navigation_bar.favourites": "Favoris", "navigation_bar.favourites": "Favoris",
"navigation_bar.filters": "Mots masqués", "navigation_bar.filters": "Mots masqués",
"navigation_bar.follow_requests": "Demandes dabonnement", "navigation_bar.follow_requests": "Demandes dabonnement",
"navigation_bar.follows_and_followers": "Abonnements et abonné⋅e·s", "navigation_bar.follows_and_followers": "Abonnements et abonnés",
"navigation_bar.lists": "Listes", "navigation_bar.lists": "Listes",
"navigation_bar.logout": "Déconnexion", "navigation_bar.logout": "Déconnexion",
"navigation_bar.mutes": "Comptes masqués", "navigation_bar.mutes": "Comptes masqués",
@ -446,8 +449,8 @@
"privacy.change": "Ajuster la confidentialité du message", "privacy.change": "Ajuster la confidentialité du message",
"privacy.direct.long": "Visible uniquement par les comptes mentionnés", "privacy.direct.long": "Visible uniquement par les comptes mentionnés",
"privacy.direct.short": "Personnes mentionnées uniquement", "privacy.direct.short": "Personnes mentionnées uniquement",
"privacy.private.long": "Visible uniquement par vos abonné·e·s", "privacy.private.long": "Visible uniquement par vos abonnés",
"privacy.private.short": "Abonné·e·s uniquement", "privacy.private.short": "Abonnés uniquement",
"privacy.public.long": "Visible pour tous", "privacy.public.long": "Visible pour tous",
"privacy.public.short": "Public", "privacy.public.short": "Public",
"privacy.unlisted.long": "Visible pour tous, mais sans fonctionnalités de découverte", "privacy.unlisted.long": "Visible pour tous, mais sans fonctionnalités de découverte",
@ -528,7 +531,7 @@
"search_results.title": "Rechercher {q}", "search_results.title": "Rechercher {q}",
"search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}", "search_results.total": "{count, number} {count, plural, one {résultat} other {résultats}}",
"server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Utilisateur·rice·s Actifs·ives Mensuellement)", "server_banner.about_active_users": "Personnes utilisant ce serveur au cours des 30 derniers jours (Utilisateur·rice·s Actifs·ives Mensuellement)",
"server_banner.active_users": "Utilisateur·rice·s actif·ve·s", "server_banner.active_users": "Utilisateurs actifs",
"server_banner.administered_by": "Administré par :", "server_banner.administered_by": "Administré par :",
"server_banner.introduction": "{domain} fait partie du réseau social décentralisé propulsé par {mastodon}.", "server_banner.introduction": "{domain} fait partie du réseau social décentralisé propulsé par {mastodon}.",
"server_banner.learn_more": "En savoir plus", "server_banner.learn_more": "En savoir plus",
@ -606,7 +609,7 @@
"timeline_hint.remote_resource_not_displayed": "{resource} des autres serveurs ne sont pas affichés.", "timeline_hint.remote_resource_not_displayed": "{resource} des autres serveurs ne sont pas affichés.",
"timeline_hint.resources.followers": "Les abonnés", "timeline_hint.resources.followers": "Les abonnés",
"timeline_hint.resources.follows": "Les abonnements", "timeline_hint.resources.follows": "Les abonnements",
"timeline_hint.resources.statuses": "Messages plus anciens", "timeline_hint.resources.statuses": "Les messages plus anciens",
"trends.counter_by_accounts": "{count, plural, one {{counter} personne} other {{counter} personnes}} au cours {days, plural, one {des dernières 24h} other {des {days} derniers jours}}", "trends.counter_by_accounts": "{count, plural, one {{counter} personne} other {{counter} personnes}} au cours {days, plural, one {des dernières 24h} other {des {days} derniers jours}}",
"trends.trending_now": "Tendance en ce moment", "trends.trending_now": "Tendance en ce moment",
"ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.", "ui.beforeunload": "Votre brouillon sera perdu si vous quittez Mastodon.",

View File

@ -1,70 +1,70 @@
{ {
"about.blocks": "Moderated servers", "about.blocks": "Moderearre servers",
"about.contact": "Contact:", "about.contact": "Kontakt:",
"about.disclaimer": "Mastodon is free, open-source software, and a trademark of Mastodon gGmbH.", "about.disclaimer": "Mastodon is frije, iepenboarnesoftware en in hannelsmerk fan Mastodon gGmbH.",
"about.domain_blocks.comment": "Reason", "about.domain_blocks.no_reason_available": "Reason not available",
"about.domain_blocks.domain": "Domain", "about.domain_blocks.preamble": "Yn it algemien kinsto mei Mastodon berjochten ûntfange fan, en ynteraksje hawwe mei brûkers fan elke server yn de fediverse. Dit binne de útsûnderingen dyt op dizze spesifike server jilde.",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.silenced.explanation": "Yn it algemien sjochsto gjin berjochten en accounts fan dizze server, útsein do berjochten eksplisyt opsikest of derfoar kiest om in account fan dizze server te folgjen.",
"about.domain_blocks.severity": "Severity", "about.domain_blocks.silenced.title": "Beheind",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.", "about.domain_blocks.suspended.explanation": "Der wurde gjin gegevens fan dizze server ferwurke, bewarre of útwiksele, wat ynteraksje of kommunikaasje mei brûkers fan dizze server ûnmooglik makket.",
"about.domain_blocks.silenced.title": "Limited", "about.domain_blocks.suspended.title": "Utsteld",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.not_available": "Dizze ynformaasje is troch dizze server net iepenbier makke.",
"about.domain_blocks.suspended.title": "Suspended", "about.powered_by": "Desintralisearre sosjale media, mooglik makke troch {mastodon}",
"about.not_available": "This information has not been made available on this server.", "about.rules": "Serverrigels",
"about.powered_by": "Decentralized social media powered by {mastodon}", "account.account_note_header": "Opmerking",
"about.rules": "Server rules", "account.add_or_remove_from_list": "Tafoegje of fuortsmite fan listen út",
"account.account_note_header": "Note",
"account.add_or_remove_from_list": "Add or Remove from lists",
"account.badges.bot": "Bot", "account.badges.bot": "Bot",
"account.badges.group": "Groep", "account.badges.group": "Groep",
"account.block": "Block @{name}", "account.block": "@{name} blokkearje",
"account.block_domain": "Block domain {domain}", "account.block_domain": "Domein {domain} blokkearje",
"account.blocked": "Blocked", "account.blocked": "Blokkearre",
"account.browse_more_on_origin_server": "Browse more on the original profile", "account.browse_more_on_origin_server": "Mear op it orizjinele profyl besjen",
"account.cancel_follow_request": "Withdraw follow request", "account.cancel_follow_request": "Folchfersyk annulearje",
"account.direct": "Direct message @{name}", "account.direct": "@{name} in direkt berjocht stjoere",
"account.disable_notifications": "Stop notifying me when @{name} posts", "account.disable_notifications": "Jou gjin melding mear wannear @{name} in berjocht pleatst",
"account.domain_blocked": "Domein blokkearre", "account.domain_blocked": "Domein blokkearre",
"account.edit_profile": "Profyl oanpasse", "account.edit_profile": "Profyl bewurkje",
"account.enable_notifications": "Notify me when @{name} posts", "account.enable_notifications": "Jou in melding mear wannear @{name} in berjocht pleatst",
"account.endorse": "Feature on profile", "account.endorse": "Op profyl werjaan",
"account.featured_tags.last_status_at": "Last post on {date}", "account.featured_tags.last_status_at": "Lêste berjocht op {date}",
"account.featured_tags.last_status_never": "No posts", "account.featured_tags.last_status_never": "Gjin berjochten",
"account.featured_tags.title": "{name}'s featured hashtags", "account.featured_tags.title": "Utljochte hashtags fan {name}",
"account.follow": "Folgje", "account.follow": "Folgje",
"account.followers": "Folgers", "account.followers": "Folgers",
"account.followers.empty": "No one follows this user yet.", "account.followers.empty": "Noch net ien folget dizze brûker.",
"account.followers_counter": "{count, plural, one {{counter} Follower} other {{counter} Followers}}", "account.followers_counter": "{count, plural, one {{counter} folger} other {{counter} folgers}}",
"account.following": "Folget", "account.following": "Folgjend",
"account.following_counter": "{count, plural, one {{counter} Following} other {{counter} Following}}", "account.following_counter": "{count, plural, one {{counter} folgjend} other {{counter} folgjend}}",
"account.follows.empty": "This user doesn't follow anyone yet.", "account.follows.empty": "Dizze brûker folget noch net ien.",
"account.follows_you": "Folget dy", "account.follows_you": "Folget dy",
"account.hide_reblogs": "Hide boosts from @{name}", "account.go_to_profile": "Go to profile",
"account.joined_short": "Joined", "account.hide_reblogs": "Boosts fan @{name} ferstopje",
"account.languages": "Change subscribed languages", "account.joined_short": "Registrearre op",
"account.link_verified_on": "Ownership of this link was checked on {date}", "account.languages": "Toande talen wizigje",
"account.locked_info": "This account privacy status is set to locked. The owner manually reviews who can follow them.", "account.link_verified_on": "Eigendom fan dizze keppeling is kontrolearre op {date}",
"account.locked_info": "De privacysteat fan dizze account is op beskoattele set. De eigener bepaalt hânmjittich wat dyjinge folgje kin.",
"account.media": "Media", "account.media": "Media",
"account.mention": "Fermeld @{name}", "account.mention": "@{name} fermelde",
"account.moved_to": "{name} has moved to:", "account.moved_to": "{name} is ferhuze net:",
"account.mute": "Mute @{name}", "account.mute": "@{name} negearje",
"account.mute_notifications": "Mute notifications from @{name}", "account.mute_notifications": "Meldingen fan @{name} negearje",
"account.muted": "Muted", "account.muted": "Negearre",
"account.posts": "Posts", "account.open_original_page": "Open original page",
"account.posts_with_replies": "Posts and replies", "account.posts": "Berjochten",
"account.report": "Report @{name}", "account.posts_with_replies": "Berjochten en reaksjes",
"account.requested": "Awaiting approval. Click to cancel follow request", "account.report": "@{name} rapportearje",
"account.share": "Share @{name}'s profile", "account.requested": "Wacht op goedkarring. Klik om it folchfersyk te annulearjen",
"account.show_reblogs": "Show boosts from @{name}", "account.share": "Profyl fan @{name} diele",
"account.statuses_counter": "{count, plural, one {{counter} Post} other {{counter} Posts}}", "account.show_reblogs": "Boosts fan @{name} toane",
"account.unblock": "Unblock @{name}", "account.statuses_counter": "{count, plural, one {{counter} berjocht} other {{counter} berjochten}}",
"account.unblock_domain": "Unblock domain {domain}", "account.unblock": "@{name} deblokkearje",
"account.unblock_short": "Unblock", "account.unblock_domain": "Domein {domain} deblokkearje",
"account.unendorse": "Don't feature on profile", "account.unblock_short": "Deblokkearje",
"account.unendorse": "Net op profyl werjaan",
"account.unfollow": "Net mear folgje", "account.unfollow": "Net mear folgje",
"account.unmute": "Unmute @{name}", "account.unmute": "@{name} net langer negearje",
"account.unmute_notifications": "Unmute notifications from @{name}", "account.unmute_notifications": "Unmute notifications from @{name}",
"account.unmute_short": "Net mear negearre", "account.unmute_short": "Net mear negearje",
"account_note.placeholder": "Click to add a note", "account_note.placeholder": "Click to add a note",
"admin.dashboard.daily_retention": "User retention rate by day after sign-up", "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.monthly_retention": "User retention rate by month after sign-up",
@ -74,19 +74,19 @@
"alert.rate_limited.message": "Please retry after {retry_time, time, medium}.", "alert.rate_limited.message": "Please retry after {retry_time, time, medium}.",
"alert.rate_limited.title": "Rate limited", "alert.rate_limited.title": "Rate limited",
"alert.unexpected.message": "An unexpected error occurred.", "alert.unexpected.message": "An unexpected error occurred.",
"alert.unexpected.title": "Oops!", "alert.unexpected.title": "Oepsy!",
"announcement.announcement": "Announcement", "announcement.announcement": "Meidieling",
"attachments_list.unprocessed": "(net ferwurke)", "attachments_list.unprocessed": "(net ferwurke)",
"audio.hide": "Hide audio", "audio.hide": "Audio ferstopje",
"autosuggest_hashtag.per_week": "{count} per week", "autosuggest_hashtag.per_week": "{count} yn e wike",
"boost_modal.combo": "You can press {combo} to skip this next time", "boost_modal.combo": "You can press {combo} to skip this next time",
"bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.copy_stacktrace": "Copy error report",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
"bundle_column_error.error.title": "Oh, no!", "bundle_column_error.error.title": "Oh nee!",
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
"bundle_column_error.network.title": "Network error", "bundle_column_error.network.title": "Netwurkflater",
"bundle_column_error.retry": "Try again", "bundle_column_error.retry": "Opnij probearje",
"bundle_column_error.return": "Go back home", "bundle_column_error.return": "Tebek nei startside",
"bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?", "bundle_column_error.routing.body": "The requested page could not be found. Are you sure the URL in the address bar is correct?",
"bundle_column_error.routing.title": "404", "bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Slute", "bundle_modal_error.close": "Slute",
@ -97,117 +97,119 @@
"closed_registrations_modal.find_another_server": "Find another server", "closed_registrations_modal.find_another_server": "Find another server",
"closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!", "closed_registrations_modal.preamble": "Mastodon is decentralized, so no matter where you create your account, you will be able to follow and interact with anyone on this server. You can even self-host it!",
"closed_registrations_modal.title": "Signing up on Mastodon", "closed_registrations_modal.title": "Signing up on Mastodon",
"column.about": "About", "column.about": "Oer",
"column.blocks": "Blokkearre brûkers", "column.blocks": "Blokkearre brûkers",
"column.bookmarks": "Blêdwizers", "column.bookmarks": "Blêdwizers",
"column.community": "Local timeline", "column.community": "Lokale tiidline",
"column.direct": "Direct messages", "column.direct": "Direkte berjochten",
"column.directory": "Browse profiles", "column.directory": "Profilen trochsykje",
"column.domain_blocks": "Blokkeare domeinen", "column.domain_blocks": "Blokkeare domeinen",
"column.favourites": "Favoriten", "column.favourites": "Favoriten",
"column.follow_requests": "Follow requests", "column.follow_requests": "Folchfersiken",
"column.home": "Home", "column.home": "Startside",
"column.lists": "Listen", "column.lists": "Listen",
"column.mutes": "Negearre brûkers", "column.mutes": "Negearre brûkers",
"column.notifications": "Notifikaasjes", "column.notifications": "Meldingen",
"column.pins": "Fêstsette berjochten", "column.pins": "Fêstsette berjochten",
"column.public": "Federated timeline", "column.public": "Globale tiidline",
"column_back_button.label": "Werom", "column_back_button.label": "Werom",
"column_header.hide_settings": "Ynstellings ferbergje", "column_header.hide_settings": "Ynstellingen ferstopje",
"column_header.moveLeft_settings": "Kolom nei links ferpleatse", "column_header.moveLeft_settings": "Kolom nei links ferpleatse",
"column_header.moveRight_settings": "Kolom nei rjochts ferpleatse", "column_header.moveRight_settings": "Kolom nei rjochts ferpleatse",
"column_header.pin": "Fêstsette", "column_header.pin": "Fêstsette",
"column_header.show_settings": "Ynstellings sjen litte", "column_header.show_settings": "Ynstellingen toane",
"column_header.unpin": "Los helje", "column_header.unpin": "Los helje",
"column_subheading.settings": "Ynstellings", "column_subheading.settings": "Ynstellingen",
"community.column_settings.local_only": "Allinnich lokaal", "community.column_settings.local_only": "Allinnich lokaal",
"community.column_settings.media_only": "Allinnich media", "community.column_settings.media_only": "Allinnich media",
"community.column_settings.remote_only": "Allinnich oare tsjinners", "community.column_settings.remote_only": "Allinnich oare servers",
"compose.language.change": "Fan taal feroarje", "compose.language.change": "Taal wizigje",
"compose.language.search": "Talen sykje...", "compose.language.search": "Talen sykje",
"compose_form.direct_message_warning_learn_more": "Lês mear", "compose_form.direct_message_warning_learn_more": "Mear ynfo",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
"compose_form.lock_disclaimer.lock": "locked", "compose_form.lock_disclaimer.lock": "beskoattele",
"compose_form.placeholder": "Wat wolst kwyt?", "compose_form.placeholder": "Wat wolsto kwyt?",
"compose_form.poll.add_option": "Add a choice", "compose_form.poll.add_option": "Kar tafoegje",
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Doer fan de poll",
"compose_form.poll.option_placeholder": "Choice {number}", "compose_form.poll.option_placeholder": "Keuze {number}",
"compose_form.poll.remove_option": "Remove this choice", "compose_form.poll.remove_option": "Dizze kar fuortsmite",
"compose_form.poll.switch_to_multiple": "Change poll to allow multiple choices", "compose_form.poll.switch_to_multiple": "Poll wizigje om meardere karren ta te stean",
"compose_form.poll.switch_to_single": "Change poll to allow for a single choice", "compose_form.poll.switch_to_single": "Change poll to allow for a single choice",
"compose_form.publish": "Publisearje", "compose_form.publish": "Publisearje",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "Wizigingen bewarje",
"compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}", "compose_form.sensitive.hide": "{count, plural, one {Media as gefoelich markearje} other {Media as gefoelich markearje}}",
"compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}", "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
"compose_form.spoiler.marked": "Ynhâldswarskôging fuortsmite", "compose_form.spoiler.marked": "Ynhâldswarskôging fuortsmite",
"compose_form.spoiler.unmarked": "Ynhâldswarskôging tafoegje", "compose_form.spoiler.unmarked": "Ynhâldswarskôging tafoegje",
"compose_form.spoiler_placeholder": "Write your warning here", "compose_form.spoiler_placeholder": "Write your warning here",
"confirmation_modal.cancel": "Ofbrekke", "confirmation_modal.cancel": "Annulearje",
"confirmations.block.block_and_report": "Blokkearre & Oanjaan", "confirmations.block.block_and_report": "Blokkearje en rapportearje",
"confirmations.block.confirm": "Blokkearre", "confirmations.block.confirm": "Blokkearje",
"confirmations.block.message": "Wolle jo {name} werklik blokkearre?", "confirmations.block.message": "Bisto wis datsto {name} blokkearje wolst?",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Withdraw request",
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?",
"confirmations.delete.confirm": "Fuortsmite", "confirmations.delete.confirm": "Fuortsmite",
"confirmations.delete.message": "Wolle jo dit berjocht werklik fuortsmite?", "confirmations.delete.message": "Bisto wis datsto dit berjocht fuortsmite wolst?",
"confirmations.delete_list.confirm": "Fuortsmite", "confirmations.delete_list.confirm": "Fuortsmite",
"confirmations.delete_list.message": "Wolle jo dizze list werklik foar ivich fuortsmite?", "confirmations.delete_list.message": "Bisto wis datsto dizze list foar permanint fuortsmite wolst?",
"confirmations.discard_edit_media.confirm": "Discard", "confirmations.discard_edit_media.confirm": "Fuortsmite",
"confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?", "confirmations.discard_edit_media.message": "You have unsaved changes to the media description or preview, discard them anyway?",
"confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.confirm": "Hide entire domain",
"confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.", "confirmations.domain_block.message": "Are you really, really sure you want to block the entire {domain}? In most cases a few targeted blocks or mutes are sufficient and preferable. You will not see content from that domain in any public timelines or your notifications. Your followers from that domain will be removed.",
"confirmations.logout.confirm": "Log out", "confirmations.logout.confirm": "Ofmelde",
"confirmations.logout.message": "Wolle jo werklik útlogge?", "confirmations.logout.message": "Bisto wis datsto ôfmelde wolst?",
"confirmations.mute.confirm": "Negearre", "confirmations.mute.confirm": "Negearje",
"confirmations.mute.explanation": "Dit sil berjochten fan harren ûnsichtber meitsje en berjochen wêr se yn fermeld wurde, mar se sille jo berjochten noch immen sjen kinne en jo folgje kinne.", "confirmations.mute.explanation": "Dit sil berjochten fan harren en berjochten wêrt se yn fermeld wurden ûnsichtber meitsje, mar se sille dyn berjochten noch hieltyd sjen kinne en dy folgje kinne.",
"confirmations.mute.message": "Wolle jo {name} werklik negearre?", "confirmations.mute.message": "Bisto wis datsto {name} negearje wolst?",
"confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.confirm": "Fuortsmite en opnij opstelle",
"confirmations.redraft.message": "Wolle jo dit berjocht werklik fuortsmite en opnij opstelle? Favoriten en boosts geane dan ferlern, en reaksjes op it oarspronklike berjocht reitsje jo kwyt.", "confirmations.redraft.message": "Wolsto dit berjocht wurklik fuortsmite en opnij opstelle? Favoriten en boosts geane dan ferlern en reaksjes op it oarspronklike berjocht rekkesto kwyt.",
"confirmations.reply.confirm": "Reagearre", "confirmations.reply.confirm": "Reagearje",
"confirmations.reply.message": "Troch no te reagearjen sil it berjocht wat jo no oan it skriuwen binne oerskreaun wurde. Wolle jo troch gean?", "confirmations.reply.message": "Troch no te reagearjen sil it berjocht watsto no oan it skriuwen binne oerskreaun wurde. Wolsto trochgean?",
"confirmations.unfollow.confirm": "Net mear folgje", "confirmations.unfollow.confirm": "Net mear folgje",
"confirmations.unfollow.message": "Wolle jo {name} werklik net mear folgje?", "confirmations.unfollow.message": "Bisto wis datsto {name} net mear folgje wolst?",
"conversation.delete": "Petear fuortsmite", "conversation.delete": "Petear fuortsmite",
"conversation.mark_as_read": "As lêzen oanmurkje", "conversation.mark_as_read": "As lêzen markearje",
"conversation.open": "Petear besjen", "conversation.open": "Petear toane",
"conversation.with": "Mei {names}", "conversation.with": "Mei {names}",
"copypaste.copied": "Copied", "copypaste.copied": "Kopiearre",
"copypaste.copy": "Copy", "copypaste.copy": "Kopiearje",
"directory.federated": "From known fediverse", "directory.federated": "Fediverse (wat bekend is)",
"directory.local": "From {domain} only", "directory.local": "Allinnich fan {domain}",
"directory.new_arrivals": "New arrivals", "directory.new_arrivals": "Nije accounts",
"directory.recently_active": "Resintlik warber", "directory.recently_active": "Resint aktyf",
"disabled_account_banner.account_settings": "Account settings",
"disabled_account_banner.text": "Your account {disabledAccount} is currently disabled.",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.",
"dismissable_banner.dismiss": "Dismiss", "dismissable_banner.dismiss": "Slute",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
"dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
"dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
"embed.instructions": "Embed this status on your website by copying the code below.", "embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:", "embed.preview": "Here is what it will look like:",
"emoji_button.activity": "Activity", "emoji_button.activity": "Aktiviteiten",
"emoji_button.clear": "Clear", "emoji_button.clear": "Wiskje",
"emoji_button.custom": "Custom", "emoji_button.custom": "Oanpast",
"emoji_button.flags": "Flags", "emoji_button.flags": "Flaggen",
"emoji_button.food": "Food & Drink", "emoji_button.food": "Iten en drinken",
"emoji_button.label": "Insert emoji", "emoji_button.label": "Emoji tafoegje",
"emoji_button.nature": "Nature", "emoji_button.nature": "Natuer",
"emoji_button.not_found": "No matching emojis found", "emoji_button.not_found": "No matching emojis found",
"emoji_button.objects": "Objects", "emoji_button.objects": "Objekten",
"emoji_button.people": "People", "emoji_button.people": "Minsken",
"emoji_button.recent": "Frequently used", "emoji_button.recent": "Faaks brûkt",
"emoji_button.search": "Search...", "emoji_button.search": "Sykje…",
"emoji_button.search_results": "Search results", "emoji_button.search_results": "Sykresultaten",
"emoji_button.symbols": "Symbols", "emoji_button.symbols": "Symboalen",
"emoji_button.travel": "Travel & Places", "emoji_button.travel": "Reizgje en lokaasjes",
"empty_column.account_suspended": "Account suspended", "empty_column.account_suspended": "Account beskoattele",
"empty_column.account_timeline": "Gjin berjochten hjir!", "empty_column.account_timeline": "Hjir binne gjin berjochten!",
"empty_column.account_unavailable": "Profyl net beskikber", "empty_column.account_unavailable": "Profyl net beskikber",
"empty_column.blocks": "Jo hawwe noch gjin brûkers blokkearre.", "empty_column.blocks": "Do hast noch gjin brûkers blokkearre.",
"empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.", "empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
@ -222,17 +224,17 @@
"empty_column.home.suggestions": "Suggestjes besjen", "empty_column.home.suggestions": "Suggestjes besjen",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
"empty_column.mutes": "Jo hawwe noch gjin brûkers negearre.", "empty_column.mutes": "Do hast noch gjin brûkers negearre.",
"empty_column.notifications": "Jo hawwe noch gjin notifikaasjes. Ynteraksjes mei oare minsken sjogge jo hjir.", "empty_column.notifications": "Do hast noch gjin meldingen. Ynteraksjes mei oare minsken sjochsto hjir.",
"empty_column.public": "Der is hjir neat! Skriuw eat publyklik, of folgje sels brûkers fan oare tsjinners om it hjir te foljen", "empty_column.public": "Der is hjir neat! Skriuw eat publyklik, of folgje sels brûkers fan oare servers om it hjir te foljen",
"error.unexpected_crash.explanation": "Troch in bug in ús koade as in probleem mei de komptabiliteit fan jo browser, koe dizze side net sjen litten wurde.", "error.unexpected_crash.explanation": "Troch in bug in ús koade of in probleem mei de komptabiliteit fan jo browser, koe dizze side net toand wurde.",
"error.unexpected_crash.explanation_addons": "Dizze side kin net goed sjen litten wurde. Dit probleem komt faaks troch in browser útwreiding of ark foar automatysk oersetten.", "error.unexpected_crash.explanation_addons": "Dizze side kin net goed toand wurde. Dit probleem komt faaks troch in browserútwreiding of ark foar automatysk oersetten.",
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
"errors.unexpected_crash.report_issue": "Technysk probleem oanjaan", "errors.unexpected_crash.report_issue": "Technysk probleem melde",
"explore.search_results": "Search results", "explore.search_results": "Sykresultaten",
"explore.suggested_follows": "Foar jo", "explore.suggested_follows": "Foar dy",
"explore.title": "Ferkenne", "explore.title": "Ferkenne",
"explore.trending_links": "Nijs", "explore.trending_links": "Nijs",
"explore.trending_statuses": "Berjochten", "explore.trending_statuses": "Berjochten",
@ -242,32 +244,32 @@
"filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
"filter_modal.added.expired_title": "Expired filter!", "filter_modal.added.expired_title": "Expired filter!",
"filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filter settings", "filter_modal.added.review_and_configure_title": "Filterynstellingen",
"filter_modal.added.settings_link": "settings page", "filter_modal.added.settings_link": "ynstellingenside",
"filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
"filter_modal.added.title": "Filter added!", "filter_modal.added.title": "Filter tafoege!",
"filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.context_mismatch": "does not apply to this context",
"filter_modal.select_filter.expired": "expired", "filter_modal.select_filter.expired": "ferrûn",
"filter_modal.select_filter.prompt_new": "New category: {name}", "filter_modal.select_filter.prompt_new": "Nije kategory: {name}",
"filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.search": "Sykje of tafoegje",
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.subtitle": "In besteande kategory brûke of in nije oanmeitsje",
"filter_modal.select_filter.title": "Filter this post", "filter_modal.select_filter.title": "Dit berjocht filterje",
"filter_modal.title.status": "Filter a post", "filter_modal.title.status": "In berjocht filterje",
"follow_recommendations.done": "Klear", "follow_recommendations.done": "Klear",
"follow_recommendations.heading": "Folgje minsken wer as jo graach berjochten fan sjen wolle! Hjir binne wat suggestjes.", "follow_recommendations.heading": "Folgje minsken dêrtsto graach berjochten fan sjen wolst! Hjir binne wat suggestjes.",
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", "follow_recommendations.lead": "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": "Goedkarre", "follow_request.authorize": "Goedkarre",
"follow_request.reject": "Ofkarre", "follow_request.reject": "Wegerje",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.",
"footer.about": "About", "footer.about": "Oer",
"footer.directory": "Profiles directory", "footer.directory": "Profylmap",
"footer.get_app": "Get the app", "footer.get_app": "App downloade",
"footer.invite": "Invite people", "footer.invite": "Minsken útnûgje",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "Fluchtoetsen",
"footer.privacy_policy": "Privacy policy", "footer.privacy_policy": "Privacybelied",
"footer.source_code": "View source code", "footer.source_code": "Boarnekoade besjen",
"generic.saved": "Bewarre", "generic.saved": "Bewarre",
"getting_started.heading": "Utein sette", "getting_started.heading": "Uteinsette",
"hashtag.column_header.tag_mode.all": "en {additional}", "hashtag.column_header.tag_mode.all": "en {additional}",
"hashtag.column_header.tag_mode.any": "of {additional}", "hashtag.column_header.tag_mode.any": "of {additional}",
"hashtag.column_header.tag_mode.none": "sûnder {additional}", "hashtag.column_header.tag_mode.none": "sûnder {additional}",
@ -279,21 +281,21 @@
"hashtag.column_settings.tag_toggle": "Include additional tags in this column", "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.follow": "Follow hashtag", "hashtag.follow": "Follow hashtag",
"hashtag.unfollow": "Unfollow hashtag", "hashtag.unfollow": "Unfollow hashtag",
"home.column_settings.basic": "Basic", "home.column_settings.basic": "Algemien",
"home.column_settings.show_reblogs": "Show boosts", "home.column_settings.show_reblogs": "Boosts toane",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Reaksjes toane",
"home.hide_announcements": "Hide announcements", "home.hide_announcements": "Meidielingen ferstopje",
"home.show_announcements": "Show announcements", "home.show_announcements": "Meidielingen toane",
"interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "On a different server", "interaction_modal.on_another_server": "On a different server",
"interaction_modal.on_this_server": "On this server", "interaction_modal.on_this_server": "Op dizze server",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "{name} folgje",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "Boost {name}'s post",
"interaction_modal.title.reply": "Reply to {name}'s post", "interaction_modal.title.reply": "Reply to {name}'s post",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
@ -301,128 +303,129 @@
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"keyboard_shortcuts.back": "to navigate back", "keyboard_shortcuts.back": "to navigate back",
"keyboard_shortcuts.blocked": "to open blocked users list", "keyboard_shortcuts.blocked": "to open blocked users list",
"keyboard_shortcuts.boost": "to boost", "keyboard_shortcuts.boost": "Berjocht booste",
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "to focus a status in one of the columns",
"keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.compose": "to focus the compose textarea",
"keyboard_shortcuts.description": "Description", "keyboard_shortcuts.description": "Omskriuwing",
"keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.down": "to move down in the list",
"keyboard_shortcuts.enter": "to open status", "keyboard_shortcuts.enter": "Berjocht iepenje",
"keyboard_shortcuts.favourite": "to favourite", "keyboard_shortcuts.favourite": "As favoryt markearje",
"keyboard_shortcuts.favourites": "to open favourites list", "keyboard_shortcuts.favourites": "to open favourites list",
"keyboard_shortcuts.federated": "to open federated timeline", "keyboard_shortcuts.federated": "to open federated timeline",
"keyboard_shortcuts.heading": "Keyboard Shortcuts", "keyboard_shortcuts.heading": "Fluchtoetsen",
"keyboard_shortcuts.home": "to open home timeline", "keyboard_shortcuts.home": "Starttiidline toane",
"keyboard_shortcuts.hotkey": "Hotkey", "keyboard_shortcuts.hotkey": "Fluchtoets",
"keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.local": "to open local timeline", "keyboard_shortcuts.local": "to open local timeline",
"keyboard_shortcuts.mention": "Skriuwer beneame", "keyboard_shortcuts.mention": "Skriuwer fermelde",
"keyboard_shortcuts.muted": "to open muted users list", "keyboard_shortcuts.muted": "to open muted users list",
"keyboard_shortcuts.my_profile": "Jo profyl iepenje", "keyboard_shortcuts.my_profile": "Dyn profyl iepenje",
"keyboard_shortcuts.notifications": "Notifikaasjes sjen litte", "keyboard_shortcuts.notifications": "Meldingen toane",
"keyboard_shortcuts.open_media": "Media iepenje", "keyboard_shortcuts.open_media": "Media iepenje",
"keyboard_shortcuts.pinned": "Fêstsette berjochten sjen litte", "keyboard_shortcuts.pinned": "Fêstsette berjochten toane",
"keyboard_shortcuts.profile": "Profyl fan skriuwer iepenje", "keyboard_shortcuts.profile": "Skriuwersprofyl iepenje",
"keyboard_shortcuts.reply": "Berjocht beäntwurdzje", "keyboard_shortcuts.reply": "Berjocht beäntwurdzje",
"keyboard_shortcuts.requests": "Folgfersiken sjen litte", "keyboard_shortcuts.requests": "Folchfersiken toane",
"keyboard_shortcuts.search": "to focus search", "keyboard_shortcuts.search": "to focus search",
"keyboard_shortcuts.spoilers": "CW fjild ferstopje/sjen litte", "keyboard_shortcuts.spoilers": "CW-fjild ferstopje/toane",
"keyboard_shortcuts.start": "\"Útein sette\" iepenje", "keyboard_shortcuts.start": "Uteinsette iepenje",
"keyboard_shortcuts.toggle_hidden": "Tekst efter CW fjild ferstopje/sjen litte", "keyboard_shortcuts.toggle_hidden": "Tekst efter CW-fjild ferstopje/toane",
"keyboard_shortcuts.toggle_sensitivity": "Media ferstopje/sjen litte", "keyboard_shortcuts.toggle_sensitivity": "Media ferstopje/toane",
"keyboard_shortcuts.toot": "Nij berjocht skriuwe", "keyboard_shortcuts.toot": "Nij berjocht skriuwe",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "Nei boppe yn list ferpleatse", "keyboard_shortcuts.up": "Nei boppe yn list ferpleatse",
"lightbox.close": "Slute", "lightbox.close": "Slute",
"lightbox.compress": "Compress image view box", "lightbox.compress": "Compress image view box",
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
"lightbox.next": "Fierder", "lightbox.next": "Folgjende",
"lightbox.previous": "Werom", "lightbox.previous": "Foarige",
"limited_account_hint.action": "Profyl dochs besjen", "limited_account_hint.action": "Profyl dochs besjen",
"limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.", "limited_account_hint.title": "This profile has been hidden by the moderators of {domain}.",
"lists.account.add": "Oan list tafoegje", "lists.account.add": "Oan list tafoegje",
"lists.account.remove": "Ut list wei smite", "lists.account.remove": "Ut list fuortsmite",
"lists.delete": "List fuortsmite", "lists.delete": "List fuortsmite",
"lists.edit": "Edit list", "lists.edit": "Edit list",
"lists.edit.submit": "Titel feroarje", "lists.edit.submit": "Titel wizigje",
"lists.new.create": "Add list", "lists.new.create": "Add list",
"lists.new.title_placeholder": "Nije list titel", "lists.new.title_placeholder": "Nije listtitel",
"lists.replies_policy.followed": "Elke folge brûker", "lists.replies_policy.followed": "Elke folge brûker",
"lists.replies_policy.list": "Leden fan de list", "lists.replies_policy.list": "Leden fan de list",
"lists.replies_policy.none": "Net ien", "lists.replies_policy.none": "Net ien",
"lists.replies_policy.title": "Reaksjes sjen litte oan:", "lists.replies_policy.title": "Reaksjes toane oan:",
"lists.search": "Search among people you follow", "lists.search": "Search among people you follow",
"lists.subheading": "Jo listen", "lists.subheading": "Dyn listen",
"load_pending": "{count, plural, one {# new item} other {# new items}}", "load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "Loading...", "loading_indicator.label": "Loading...",
"media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
"missing_indicator.label": "Net fûn", "missing_indicator.label": "Net fûn",
"missing_indicator.sublabel": "This resource could not be found", "missing_indicator.sublabel": "This resource could not be found",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Duration", "mute_modal.duration": "Duration",
"mute_modal.hide_notifications": "Notifikaasjes fan dizze brûker ferstopje?", "mute_modal.hide_notifications": "Meldingen fan dizze brûker ferstopje?",
"mute_modal.indefinite": "Indefinite", "mute_modal.indefinite": "Indefinite",
"navigation_bar.about": "About", "navigation_bar.about": "About",
"navigation_bar.blocks": "Blokkearre brûkers", "navigation_bar.blocks": "Blokkearre brûkers",
"navigation_bar.bookmarks": "Blêdwiizers", "navigation_bar.bookmarks": "Blêdwizers",
"navigation_bar.community_timeline": "Local timeline", "navigation_bar.community_timeline": "Local timeline",
"navigation_bar.compose": "Compose new post", "navigation_bar.compose": "Nij berjocht skriuwe",
"navigation_bar.direct": "Direct messages", "navigation_bar.direct": "Direkte berjochten",
"navigation_bar.discover": "Untdekke", "navigation_bar.discover": "Untdekke",
"navigation_bar.domain_blocks": "Blokkearre domeinen", "navigation_bar.domain_blocks": "Blokkearre domeinen",
"navigation_bar.edit_profile": "Edit profile", "navigation_bar.edit_profile": "Profyl bewurkje",
"navigation_bar.explore": "Explore", "navigation_bar.explore": "Ferkenne",
"navigation_bar.favourites": "Favoriten", "navigation_bar.favourites": "Favoriten",
"navigation_bar.filters": "Negearre wurden", "navigation_bar.filters": "Negearre wurden",
"navigation_bar.follow_requests": "Folgfersiken", "navigation_bar.follow_requests": "Folchfersiken",
"navigation_bar.follows_and_followers": "Folgers en folgjenden", "navigation_bar.follows_and_followers": "Folgers en folgjenden",
"navigation_bar.lists": "Listen", "navigation_bar.lists": "Listen",
"navigation_bar.logout": "Utlogge", "navigation_bar.logout": "Ofmelde",
"navigation_bar.mutes": "Negearre brûkers", "navigation_bar.mutes": "Negearre brûkers",
"navigation_bar.personal": "Persoanlik", "navigation_bar.personal": "Persoanlik",
"navigation_bar.pins": "Fêstsette berjochten", "navigation_bar.pins": "Fêstsette berjochten",
"navigation_bar.preferences": "Foarkarren", "navigation_bar.preferences": "Foarkarren",
"navigation_bar.public_timeline": "Federated timeline", "navigation_bar.public_timeline": "Globale tiidline",
"navigation_bar.search": "Search", "navigation_bar.search": "Sykje",
"navigation_bar.security": "Security", "navigation_bar.security": "Befeiliging",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "not_signed_in_indicator.not_signed_in": "Do moatst oanmelde om tagong ta dizze ynformaasje te krijen.",
"notification.admin.report": "{name} reported {target}", "notification.admin.report": "{name} hat {target} rapportearre",
"notification.admin.sign_up": "{name} hat harren ynskreaun", "notification.admin.sign_up": "{name} hat harren registrearre",
"notification.favourite": "{name} hat jo berjocht as favoryt markearre", "notification.favourite": "{name} hat dyn berjocht as favoryt markearre",
"notification.follow": "{name} folget jo", "notification.follow": "{name} folget dy",
"notification.follow_request": "{name} hat jo in folgfersyk stjoerd", "notification.follow_request": "{name} hat dy in folchfersyk stjoerd",
"notification.mention": "{name} hat jo fermeld", "notification.mention": "{name} hat dy fermeld",
"notification.own_poll": "Jo poll is beëinige", "notification.own_poll": "Dyn poll is beëinige",
"notification.poll": "In poll wêr jo yn stimt ha is beëinige", "notification.poll": "In poll wêrtsto yn stimd hast is beëinige",
"notification.reblog": "{name} hat jo berjocht boost", "notification.reblog": "{name} hat dyn berjocht boost",
"notification.status": "{name} hat in berjocht pleatst", "notification.status": "{name} hat in berjocht pleatst",
"notification.update": "{name} hat in berjocht feroare", "notification.update": "{name} hat in berjocht bewurke",
"notifications.clear": "Notifikaasjes leegje", "notifications.clear": "Meldingen wiskje",
"notifications.clear_confirmation": "Wolle jo al jo notifikaasjes werklik foar ivich fuortsmite?", "notifications.clear_confirmation": "Bisto wis datsto al dyn meldingen permanint fuortsmite wolst?",
"notifications.column_settings.admin.report": "New reports:", "notifications.column_settings.admin.report": "Nije rapportaazjes:",
"notifications.column_settings.admin.sign_up": "Nije ynskriuwingen:", "notifications.column_settings.admin.sign_up": "Nije registraasjes:",
"notifications.column_settings.alert": "Desktop notifikaasjes", "notifications.column_settings.alert": "Desktopmeldingen",
"notifications.column_settings.favourite": "Favoriten:", "notifications.column_settings.favourite": "Favoriten:",
"notifications.column_settings.filter_bar.advanced": "Alle kategorien sjen litte", "notifications.column_settings.filter_bar.advanced": "Alle kategoryen toane",
"notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.filter_bar.category": "Flugge filterbalke",
"notifications.column_settings.filter_bar.show_bar": "Show filter bar", "notifications.column_settings.filter_bar.show_bar": "Filterbalke toane",
"notifications.column_settings.follow": "Nije folgers:", "notifications.column_settings.follow": "Nije folgers:",
"notifications.column_settings.follow_request": "New follow requests:", "notifications.column_settings.follow_request": "Nij folchfersyk:",
"notifications.column_settings.mention": "Fermeldingen:", "notifications.column_settings.mention": "Fermeldingen:",
"notifications.column_settings.poll": "Poll results:", "notifications.column_settings.poll": "Pollresultaten:",
"notifications.column_settings.push": "Push notifications", "notifications.column_settings.push": "Pushmeldingen",
"notifications.column_settings.reblog": "Boosts:", "notifications.column_settings.reblog": "Boosts:",
"notifications.column_settings.show": "Show in column", "notifications.column_settings.show": "Yn kolom toane",
"notifications.column_settings.sound": "Play sound", "notifications.column_settings.sound": "Lûd ôfspylje",
"notifications.column_settings.status": "New posts:", "notifications.column_settings.status": "Nije berjochten:",
"notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.category": "Net lêzen meldingen",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.unread_notifications.highlight": "Net lêzen meldingen markearje",
"notifications.column_settings.update": "Edits:", "notifications.column_settings.update": "Bewurkingen:",
"notifications.filter.all": "All", "notifications.filter.all": "Alle",
"notifications.filter.boosts": "Boosts", "notifications.filter.boosts": "Boosts",
"notifications.filter.favourites": "Favourites", "notifications.filter.favourites": "Favoriten",
"notifications.filter.follows": "Follows", "notifications.filter.follows": "Folget",
"notifications.filter.mentions": "Fermeldingen", "notifications.filter.mentions": "Fermeldingen",
"notifications.filter.polls": "Poll results", "notifications.filter.polls": "Pollresultaten",
"notifications.filter.statuses": "Updates from people you follow", "notifications.filter.statuses": "Updates from people you follow",
"notifications.grant_permission": "Grant permission.", "notifications.grant_permission": "Grant permission.",
"notifications.group": "{count} notifications", "notifications.group": "{count} notifications",
@ -434,16 +437,16 @@
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.", "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
"notifications_permission_banner.title": "Never miss a thing", "notifications_permission_banner.title": "Never miss a thing",
"picture_in_picture.restore": "Put it back", "picture_in_picture.restore": "Put it back",
"poll.closed": "Closed", "poll.closed": "Sluten",
"poll.refresh": "Refresh", "poll.refresh": "Ferfarskje",
"poll.total_people": "{count, plural, one {# persoan} other {# minsken}}", "poll.total_people": "{count, plural, one {# persoan} other {# persoanen}}",
"poll.total_votes": "{count, plural, one {# stim} other {# stimmen}}", "poll.total_votes": "{count, plural, one {# stim} other {# stimmen}}",
"poll.vote": "Stim", "poll.vote": "Stimme",
"poll.voted": "Jo hawwe hjir op stimt", "poll.voted": "Do hast hjir op stimd",
"poll.votes": "{votes, plural, one {# stim} other {# stimmen}}", "poll.votes": "{votes, plural, one {# stim} other {# stimmen}}",
"poll_button.add_poll": "In poll tafoegje", "poll_button.add_poll": "Poll tafoegje",
"poll_button.remove_poll": "Poll fuortsmite", "poll_button.remove_poll": "Poll fuortsmite",
"privacy.change": "Adjust status privacy", "privacy.change": "Sichtberheid fan berjocht oanpasse",
"privacy.direct.long": "Allinnich sichtber foar fermelde brûkers", "privacy.direct.long": "Allinnich sichtber foar fermelde brûkers",
"privacy.direct.short": "Allinnich fermelde minsken", "privacy.direct.short": "Allinnich fermelde minsken",
"privacy.private.long": "Allinnich sichtber foar folgers", "privacy.private.long": "Allinnich sichtber foar folgers",
@ -455,12 +458,12 @@
"privacy_policy.last_updated": "Last updated {date}", "privacy_policy.last_updated": "Last updated {date}",
"privacy_policy.title": "Privacy Policy", "privacy_policy.title": "Privacy Policy",
"refresh": "Fernije", "refresh": "Fernije",
"regeneration_indicator.label": "Loading…", "regeneration_indicator.label": "Lade…",
"regeneration_indicator.sublabel": "Your home feed is being prepared!", "regeneration_indicator.sublabel": "Your home feed is being prepared!",
"relative_time.days": "{number}d", "relative_time.days": "{number}d",
"relative_time.full.days": "{number, plural, one {# dei} other {# dagen}} lyn", "relative_time.full.days": "{number, plural, one {# dei} other {# dagen}} lyn",
"relative_time.full.hours": "{number, plural, one {# oere} other {# oeren}} lyn", "relative_time.full.hours": "{number, plural, one {# oere} other {# oeren}} lyn",
"relative_time.full.just_now": "no krekt", "relative_time.full.just_now": "sakrekt",
"relative_time.full.minutes": "{number, plural, one {# minút} other {# minuten}} lyn", "relative_time.full.minutes": "{number, plural, one {# minút} other {# minuten}} lyn",
"relative_time.full.seconds": "{number, plural, one {# sekonde} other {# sekonden}} lyn", "relative_time.full.seconds": "{number, plural, one {# sekonde} other {# sekonden}} lyn",
"relative_time.hours": "{number}o", "relative_time.hours": "{number}o",
@ -468,26 +471,26 @@
"relative_time.minutes": "{number}m", "relative_time.minutes": "{number}m",
"relative_time.seconds": "{number}s", "relative_time.seconds": "{number}s",
"relative_time.today": "hjoed", "relative_time.today": "hjoed",
"reply_indicator.cancel": "Ofbrekke", "reply_indicator.cancel": "Annulearje",
"report.block": "Blokkearre", "report.block": "Blokkearje",
"report.block_explanation": "Jo sille harren berjochten net sjen kinne. Se sille jo berjochten net sjen kinne en jo net folgje kinne. Se sille wol sjen kinne dat se blokkearre binne.", "report.block_explanation": "Do silst harren berjochten net sjen kinne. Se sille dyn berjochten net sjen kinne en do net folgje kinne. Se sille wol sjen kinne dat se blokkearre binne.",
"report.categories.other": "Other", "report.categories.other": "Oars",
"report.categories.spam": "Spam", "report.categories.spam": "Spam",
"report.categories.violation": "Ynhâld ferbrekt ien of mear tsjinner regels", "report.categories.violation": "De ynhâld oertrêdet ien of mear serverrigels",
"report.category.subtitle": "Selektearje wat it bêst past", "report.category.subtitle": "Selektearje wat it bêste past",
"report.category.title": "Fertel ús wat der mei dit {type} oan de hân is", "report.category.title": "Fertel ús wat der mei dit {type} oan de hân is",
"report.category.title_account": "profyl", "report.category.title_account": "profyl",
"report.category.title_status": "berjocht", "report.category.title_status": "berjocht",
"report.close": "Klear", "report.close": "Klear",
"report.comment.title": "Tinke jo dat wy noch mear witte moatte?", "report.comment.title": "Tinksto dat wy noch mear witte moatte?",
"report.forward": "Troch stjoere nei {target}", "report.forward": "Nei {target} trochstjoere",
"report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?", "report.forward_hint": "The account is from another server. Send an anonymized copy of the report there as well?",
"report.mute": "Negearre", "report.mute": "Negearje",
"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": "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": "Fierder", "report.next": "Folgjende",
"report.placeholder": "Type or paste additional comments", "report.placeholder": "Type or paste additional comments",
"report.reasons.dislike": "Ik fyn der neat oan", "report.reasons.dislike": "Ik fyn der neat oan",
"report.reasons.dislike_description": "It is net eat wat jo sjen wolle", "report.reasons.dislike_description": "It is net eat watsto sjen wolst",
"report.reasons.other": "It is wat oars", "report.reasons.other": "It is wat oars",
"report.reasons.other_description": "It probleem stiet der net tusken", "report.reasons.other_description": "It probleem stiet der net tusken",
"report.reasons.spam": "It's spam", "report.reasons.spam": "It's spam",
@ -523,92 +526,92 @@
"search_results.all": "All", "search_results.all": "All",
"search_results.hashtags": "Hashtags", "search_results.hashtags": "Hashtags",
"search_results.nothing_found": "Could not find anything for these search terms", "search_results.nothing_found": "Could not find anything for these search terms",
"search_results.statuses": "Posts", "search_results.statuses": "Berjochten",
"search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.", "search_results.statuses_fts_disabled": "Searching posts by their content is not enabled on this Mastodon server.",
"search_results.title": "Search for {q}", "search_results.title": "Nei {q} sykje",
"search_results.total": "{count, number} {count, plural, one {result} other {results}}", "search_results.total": "{count, number} {count, plural, one {result} other {results}}",
"server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)", "server_banner.about_active_users": "People using this server during the last 30 days (Monthly Active Users)",
"server_banner.active_users": "active users", "server_banner.active_users": "warbere brûkers",
"server_banner.administered_by": "Administered by:", "server_banner.administered_by": "Beheard troch:",
"server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.", "server_banner.introduction": "{domain} is part of the decentralized social network powered by {mastodon}.",
"server_banner.learn_more": "Learn more", "server_banner.learn_more": "Mear ynfo",
"server_banner.server_stats": "Server stats:", "server_banner.server_stats": "Serverstatistiken:",
"sign_in_banner.create_account": "Create account", "sign_in_banner.create_account": "Account registrearje",
"sign_in_banner.sign_in": "Sign in", "sign_in_banner.sign_in": "Oanmelde",
"sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.", "sign_in_banner.text": "Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.",
"status.admin_account": "Open moderation interface for @{name}", "status.admin_account": "Open moderation interface for @{name}",
"status.admin_status": "Open this status in the moderation interface", "status.admin_status": "Open this status in the moderation interface",
"status.block": "Block @{name}", "status.block": "@{name} blokkearje",
"status.bookmark": "Bookmark", "status.bookmark": "Blêdwizer tafoegje",
"status.cancel_reblog_private": "Unboost", "status.cancel_reblog_private": "Net langer booste",
"status.cannot_reblog": "This post cannot be boosted", "status.cannot_reblog": "This post cannot be boosted",
"status.copy": "Copy link to status", "status.copy": "Copy link to status",
"status.delete": "Delete", "status.delete": "Fuortsmite",
"status.detailed_status": "Detaillearre oersjoch fan petear", "status.detailed_status": "Detaillearre petearoersjoch",
"status.direct": "Direct message @{name}", "status.direct": "Direct message @{name}",
"status.edit": "Edit", "status.edit": "Bewurkje",
"status.edited": "Edited {date}", "status.edited": "Bewurke op {date}",
"status.edited_x_times": "{count, plural, one {{count} kear} other {{count} kearen}} bewurke", "status.edited_x_times": "{count, plural, one {{count} kear} other {{count} kearen}} bewurke",
"status.embed": "Ynslute", "status.embed": "Ynslute",
"status.favourite": "Favorite", "status.favourite": "Favoryt",
"status.filter": "Filter this post", "status.filter": "Dit berjocht filterje",
"status.filtered": "Filtere", "status.filtered": "Filtere",
"status.hide": "Hide toot", "status.hide": "Berjocht ferstopje",
"status.history.created": "{name} makke dit {date}", "status.history.created": "{name} makke dit {date}",
"status.history.edited": "{name} feroare dit {date}", "status.history.edited": "{name} bewurke dit {date}",
"status.load_more": "Load more", "status.load_more": "Mear lade",
"status.media_hidden": "Media ferstoppe", "status.media_hidden": "Media ferstoppe",
"status.mention": "Fermeld @{name}", "status.mention": "@{name} fermelde",
"status.more": "Mear", "status.more": "Mear",
"status.mute": "Negearje @{name}", "status.mute": "@{name} negearje",
"status.mute_conversation": "Petear negearre", "status.mute_conversation": "Petear negearje",
"status.open": "Dit berjocht útflappe", "status.open": "Dit berjocht útklappe",
"status.pin": "Op profyl fêstsette", "status.pin": "Op profylside fêstsette",
"status.pinned": "Fêstset berjocht", "status.pinned": "Fêstset berjocht",
"status.read_more": "Lês mear", "status.read_more": "Mear ynfo",
"status.reblog": "Boost", "status.reblog": "Booste",
"status.reblog_private": "Boost with original visibility", "status.reblog_private": "Boost with original visibility",
"status.reblogged_by": "{name} hat boost", "status.reblogged_by": "{name} hat boost",
"status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.", "status.reblogs.empty": "No one has boosted this post yet. When someone does, they will show up here.",
"status.redraft": "Fuortsmite en opnij opstelle", "status.redraft": "Fuortsmite en opnij opstelle",
"status.remove_bookmark": "Remove bookmark", "status.remove_bookmark": "Blêdwizer fuortsmite",
"status.replied_to": "Replied to {name}", "status.replied_to": "Antwurde op {name}",
"status.reply": "Reagearre", "status.reply": "Beäntwurdzje",
"status.replyAll": "Op elkenien reagearre", "status.replyAll": "Alle beäntwurdzje",
"status.report": "Jou @{name} oan", "status.report": "@{name} rapportearje",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Gefoelige ynhâld",
"status.share": "Diele", "status.share": "Diele",
"status.show_filter_reason": "Show anyway", "status.show_filter_reason": "Dochs toane",
"status.show_less": "Minder sjen litte", "status.show_less": "Minder toane",
"status.show_less_all": "Foar alles minder sjen litte", "status.show_less_all": "Alles minder toane",
"status.show_more": "Mear sjen litte", "status.show_more": "Mear toane",
"status.show_more_all": "Foar alles mear sjen litte", "status.show_more_all": "Alles mear toane",
"status.show_original": "Show original", "status.show_original": "Orizjineel besjen",
"status.translate": "Translate", "status.translate": "Oersette",
"status.translated_from_with": "Translated from {lang} using {provider}", "status.translated_from_with": "Fan {lang} út oersetten mei {provider}",
"status.uncached_media_warning": "Net beskikber", "status.uncached_media_warning": "Net beskikber",
"status.unmute_conversation": "Petear net mear negearre", "status.unmute_conversation": "Petear net mear negearje",
"status.unpin": "Unpin from profile", "status.unpin": "Fan profylside losmeitsje",
"subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.", "subscribed_languages.lead": "Only posts in selected languages will appear on your home and list timelines after the change. Select none to receive posts in all languages.",
"subscribed_languages.save": "Save changes", "subscribed_languages.save": "Save changes",
"subscribed_languages.target": "Change subscribed languages for {target}", "subscribed_languages.target": "Change subscribed languages for {target}",
"suggestions.dismiss": "Dismiss suggestion", "suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…", "suggestions.header": "You might be interested in…",
"tabs_bar.federated_timeline": "Federated", "tabs_bar.federated_timeline": "Federated",
"tabs_bar.home": "Home", "tabs_bar.home": "Startside",
"tabs_bar.local_timeline": "Local", "tabs_bar.local_timeline": "Lokaal",
"tabs_bar.notifications": "Notifikaasjes", "tabs_bar.notifications": "Meldingen",
"time_remaining.days": "{number, plural, one {# dei} other {# dagen}} te gean", "time_remaining.days": "{number, plural, one {# dei} other {# dagen}} te gean",
"time_remaining.hours": "{number, plural, one {# oere} other {# oeren}} te gean", "time_remaining.hours": "{number, plural, one {# oere} other {# oeren}} te gean",
"time_remaining.minutes": "{number, plural, one {# minút} other {# minuten}} te gean", "time_remaining.minutes": "{number, plural, one {# minút} other {# minuten}} te gean",
"time_remaining.moments": "Noch krekt even te gean", "time_remaining.moments": "Noch krekt efkes te gean",
"time_remaining.seconds": "{number, plural, one {# sekonde} other {# sekonden}} te gean", "time_remaining.seconds": "{number, plural, one {# sekonde} other {# sekonden}} te gean",
"timeline_hint.remote_resource_not_displayed": "{resource} fan oare tsjinners wurde net sjen litten.", "timeline_hint.remote_resource_not_displayed": "{resource} fan oare servers wurde net toand.",
"timeline_hint.resources.followers": "Folgers", "timeline_hint.resources.followers": "Folgers",
"timeline_hint.resources.follows": "Follows", "timeline_hint.resources.follows": "Folgjend",
"timeline_hint.resources.statuses": "Aldere berjochten", "timeline_hint.resources.statuses": "Aldere berjochten",
"trends.counter_by_accounts": "{count, plural, one {{counter} person} other {{counter} people}} in the past {days, plural, one {day} other {{days} days}}", "trends.counter_by_accounts": "{count, plural, one {{counter} persoan} other {{counter} persoanen}} {days, plural, one {de ôfrûne dei} other {de ôfrûne {days} dagen}}",
"trends.trending_now": "Trending now", "trends.trending_now": "Aktuele trends",
"ui.beforeunload": "Your draft will be lost if you leave Mastodon.", "ui.beforeunload": "Your draft will be lost if you leave Mastodon.",
"units.short.billion": "{count}B", "units.short.billion": "{count}B",
"units.short.million": "{count}M", "units.short.million": "{count}M",
@ -640,10 +643,10 @@
"video.download": "Download file", "video.download": "Download file",
"video.exit_fullscreen": "Exit full screen", "video.exit_fullscreen": "Exit full screen",
"video.expand": "Expand video", "video.expand": "Expand video",
"video.fullscreen": "Full screen", "video.fullscreen": "Folslein skerm",
"video.hide": "Hide video", "video.hide": "Fideo ferstopje",
"video.mute": "Mute sound", "video.mute": "Lûd dôvje",
"video.pause": "Pause", "video.pause": "Skoft",
"video.play": "Play", "video.play": "Ofspylje",
"video.unmute": "Unmute sound" "video.unmute": "Lûd oan"
} }

View File

@ -2,22 +2,20 @@
"about.blocks": "Freastalaithe faoi stiúir", "about.blocks": "Freastalaithe faoi stiúir",
"about.contact": "Teagmháil:", "about.contact": "Teagmháil:",
"about.disclaimer": "Bogearra foinse oscailte saor in aisce is ea Mastodon, agus is le Mastodon gGmbH an trádmharc.", "about.disclaimer": "Bogearra foinse oscailte saor in aisce is ea Mastodon, agus is le Mastodon gGmbH an trádmharc.",
"about.domain_blocks.comment": "Fáth", "about.domain_blocks.no_reason_available": "Níl an fáth ar fáil",
"about.domain_blocks.domain": "Fearann", "about.domain_blocks.preamble": "Go hiondúil, tugann Mastadán cead duit a bheith ag plé le húsáideoirí as freastalaí ar bith eile sa chomhchruinne agus a gcuid inneachair a fheiceáil. Seo iad na heisceachtaí a rinneadh ar an bhfreastalaí áirithe seo.",
"about.domain_blocks.preamble": "Mastodon generally allows you to view content from and interact with users from any other server in the fediverse. These are the exceptions that have been made on this particular server.", "about.domain_blocks.silenced.explanation": "Go hiondúil ní fheicfidh tú próifílí ná inneachar ón bhfreastalaí seo, ach amháin má bhíonn tú á lorg nó má ghlacann tú lena leanúint d'aon ghnó.",
"about.domain_blocks.severity": "Déine",
"about.domain_blocks.silenced.explanation": "You will generally not see profiles and content from this server, unless you explicitly look it up or opt into it by following.",
"about.domain_blocks.silenced.title": "Teoranta", "about.domain_blocks.silenced.title": "Teoranta",
"about.domain_blocks.suspended.explanation": "No data from this server will be processed, stored or exchanged, making any interaction or communication with users from this server impossible.", "about.domain_blocks.suspended.explanation": "Ní dhéanfar aon sonra ón fhreastalaí seo a phróiseáil, a stóráil ná a mhalartú, rud a fhágann nach féidir aon teagmháil ná aon chumarsáid a dhéanamh le húsáideoirí ón fhreastalaí seo.",
"about.domain_blocks.suspended.title": "Ar fionraí", "about.domain_blocks.suspended.title": "Ar fionraí",
"about.not_available": "This information has not been made available on this server.", "about.not_available": "Níor cuireadh an t-eolas seo ar fáil ar an bhfreastalaí seo.",
"about.powered_by": "Decentralized social media powered by {mastodon}", "about.powered_by": "Meáin shóisialta díláraithe faoi chumhacht {mastodon}",
"about.rules": "Rialacha an fhreastalaí", "about.rules": "Rialacha an fhreastalaí",
"account.account_note_header": "Nóta", "account.account_note_header": "Nóta",
"account.add_or_remove_from_list": "Cuir Le nó Bain De na liostaí", "account.add_or_remove_from_list": "Cuir Le nó Bain De na liostaí",
"account.badges.bot": "Bota", "account.badges.bot": "Bota",
"account.badges.group": "Grúpa", "account.badges.group": "Grúpa",
"account.block": "Bac @{name}", "account.block": "Déan cosc ar @{name}",
"account.block_domain": "Bac ainm fearainn {domain}", "account.block_domain": "Bac ainm fearainn {domain}",
"account.blocked": "Bactha", "account.blocked": "Bactha",
"account.browse_more_on_origin_server": "Brabhsáil níos mó ar an phróifíl bhunaidh", "account.browse_more_on_origin_server": "Brabhsáil níos mó ar an phróifíl bhunaidh",
@ -39,17 +37,19 @@
"account.following_counter": "{count, plural, one {Ag leanúint cúntas amháin} other {Ag leanúint {counter} cúntas}}", "account.following_counter": "{count, plural, one {Ag leanúint cúntas amháin} other {Ag leanúint {counter} cúntas}}",
"account.follows.empty": "Ní leanann an t-úsáideoir seo duine ar bith fós.", "account.follows.empty": "Ní leanann an t-úsáideoir seo duine ar bith fós.",
"account.follows_you": "Do do leanúint", "account.follows_you": "Do do leanúint",
"account.go_to_profile": "Téigh go dtí próifíl",
"account.hide_reblogs": "Folaigh athphostálacha ó @{name}", "account.hide_reblogs": "Folaigh athphostálacha ó @{name}",
"account.joined_short": "Chuaigh i", "account.joined_short": "Cláraithe",
"account.languages": "Change subscribed languages", "account.languages": "Athraigh teangacha foscríofa",
"account.link_verified_on": "Ownership of this link was checked on {date}", "account.link_verified_on": "Seiceáladh úinéireacht an naisc seo ar {date}",
"account.locked_info": "Tá an socrú príobháideachais don cuntas seo curtha go 'faoi ghlas'. Déanann an t-úinéir léirmheas ar cén daoine atá ceadaithe an cuntas leanúint.", "account.locked_info": "Tá an socrú príobháideachais don cuntas seo curtha go 'faoi ghlas'. Déanann an t-úinéir léirmheas ar cén daoine atá ceadaithe an cuntas leanúint.",
"account.media": "Ábhair", "account.media": "Ábhair",
"account.mention": "Luaigh @{name}", "account.mention": "Luaigh @{name}",
"account.moved_to": "Tá {name} bogtha go:", "account.moved_to": "Tá tugtha le fios ag {name} gurb é an cuntas nua atá acu ná:",
"account.mute": "Balbhaigh @{name}", "account.mute": "Balbhaigh @{name}",
"account.mute_notifications": "Balbhaigh fógraí ó @{name}", "account.mute_notifications": "Balbhaigh fógraí ó @{name}",
"account.muted": "Balbhaithe", "account.muted": "Balbhaithe",
"account.open_original_page": "Oscail an leathanach bunaidh",
"account.posts": "Postálacha", "account.posts": "Postálacha",
"account.posts_with_replies": "Postálacha agus freagraí", "account.posts_with_replies": "Postálacha agus freagraí",
"account.report": "Tuairiscigh @{name}", "account.report": "Tuairiscigh @{name}",
@ -76,11 +76,11 @@
"alert.unexpected.message": "Tharla earráid gan choinne.", "alert.unexpected.message": "Tharla earráid gan choinne.",
"alert.unexpected.title": "Hiúps!", "alert.unexpected.title": "Hiúps!",
"announcement.announcement": "Fógra", "announcement.announcement": "Fógra",
"attachments_list.unprocessed": "(unprocessed)", "attachments_list.unprocessed": "(neamhphróiseáilte)",
"audio.hide": "Cuir fuaim i bhfolach", "audio.hide": "Cuir fuaim i bhfolach",
"autosuggest_hashtag.per_week": "{count} sa seachtain", "autosuggest_hashtag.per_week": "{count} sa seachtain",
"boost_modal.combo": "Is féidir leat brúigh {combo} chun é seo a scipeáil an chéad uair eile", "boost_modal.combo": "Is féidir leat brúigh {combo} chun é seo a scipeáil an chéad uair eile",
"bundle_column_error.copy_stacktrace": "Copy error report", "bundle_column_error.copy_stacktrace": "Cóipeáil tuairisc earráide",
"bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.", "bundle_column_error.error.body": "The requested page could not be rendered. It could be due to a bug in our code, or a browser compatibility issue.",
"bundle_column_error.error.title": "Ná habair!", "bundle_column_error.error.title": "Ná habair!",
"bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.", "bundle_column_error.network.body": "There was an error when trying to load this page. This could be due to a temporary problem with your internet connection or this server.",
@ -103,9 +103,9 @@
"column.community": "Amlíne áitiúil", "column.community": "Amlíne áitiúil",
"column.direct": "Teachtaireachtaí dhíreacha", "column.direct": "Teachtaireachtaí dhíreacha",
"column.directory": "Brabhsáil próifílí", "column.directory": "Brabhsáil próifílí",
"column.domain_blocks": "Blocked domains", "column.domain_blocks": "Fearainn bhactha",
"column.favourites": "Roghanna", "column.favourites": "Roghanna",
"column.follow_requests": "Follow requests", "column.follow_requests": "Iarratais leanúnaí",
"column.home": "Baile", "column.home": "Baile",
"column.lists": "Liostaí", "column.lists": "Liostaí",
"column.mutes": "Úsáideoirí balbhaithe", "column.mutes": "Úsáideoirí balbhaithe",
@ -114,81 +114,83 @@
"column.public": "Amlíne cónaidhmithe", "column.public": "Amlíne cónaidhmithe",
"column_back_button.label": "Siar", "column_back_button.label": "Siar",
"column_header.hide_settings": "Folaigh socruithe", "column_header.hide_settings": "Folaigh socruithe",
"column_header.moveLeft_settings": "Move column to the left", "column_header.moveLeft_settings": "Bog an colún ar chlé",
"column_header.moveRight_settings": "Move column to the right", "column_header.moveRight_settings": "Bog an colún ar dheis",
"column_header.pin": "Greamaigh", "column_header.pin": "Greamaigh",
"column_header.show_settings": "Taispeáin socruithe", "column_header.show_settings": "Taispeáin socruithe",
"column_header.unpin": "Díghreamaigh", "column_header.unpin": "Díghreamaigh",
"column_subheading.settings": "Socruithe", "column_subheading.settings": "Socruithe",
"community.column_settings.local_only": "Áitiúil amháin", "community.column_settings.local_only": "Áitiúil amháin",
"community.column_settings.media_only": "Media only", "community.column_settings.media_only": "Meáin Amháin",
"community.column_settings.remote_only": "Remote only", "community.column_settings.remote_only": "Cian amháin",
"compose.language.change": "Athraigh teanga", "compose.language.change": "Athraigh teanga",
"compose.language.search": "Cuardaigh teangacha...", "compose.language.search": "Cuardaigh teangacha...",
"compose_form.direct_message_warning_learn_more": "Tuilleadh eolais", "compose_form.direct_message_warning_learn_more": "Tuilleadh eolais",
"compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.", "compose_form.encryption_warning": "Posts on Mastodon are not end-to-end encrypted. Do not share any dangerous information over Mastodon.",
"compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.", "compose_form.hashtag_warning": "This post won't be listed under any hashtag as it is unlisted. Only public posts can be searched by hashtag.",
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.", "compose_form.lock_disclaimer": "Níl an cuntas seo {locked}. Féadfaidh duine ar bith tú a leanúint agus na postálacha atá dírithe agat ar do lucht leanúna amháin a fheiceáil.",
"compose_form.lock_disclaimer.lock": "faoi ghlas", "compose_form.lock_disclaimer.lock": "faoi ghlas",
"compose_form.placeholder": "Cad atá ag tarlú?", "compose_form.placeholder": "Cad atá ag tarlú?",
"compose_form.poll.add_option": "Cuir rogha isteach", "compose_form.poll.add_option": "Cuir rogha isteach",
"compose_form.poll.duration": "Poll duration", "compose_form.poll.duration": "Achar suirbhéanna",
"compose_form.poll.option_placeholder": "Rogha {number}", "compose_form.poll.option_placeholder": "Rogha {number}",
"compose_form.poll.remove_option": "Bain an rogha seo", "compose_form.poll.remove_option": "Bain an rogha seo",
"compose_form.poll.switch_to_multiple": "Athraigh suirbhé chun cead a thabhairt do ilrogha", "compose_form.poll.switch_to_multiple": "Athraigh suirbhé chun cead a thabhairt do ilrogha",
"compose_form.poll.switch_to_single": "Athraigh suirbhé chun cead a thabhairt do rogha amháin", "compose_form.poll.switch_to_single": "Athraigh suirbhé chun cead a thabhairt do rogha amháin",
"compose_form.publish": "Foilsigh", "compose_form.publish": "Foilsigh",
"compose_form.publish_loud": "{publish}!", "compose_form.publish_loud": "{publish}!",
"compose_form.save_changes": "Save changes", "compose_form.save_changes": "Sábháil",
"compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}", "compose_form.sensitive.hide": "{count, plural, one {Mark media as sensitive} other {Mark media as sensitive}}",
"compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}", "compose_form.sensitive.marked": "{count, plural, one {Media is marked as sensitive} other {Media is marked as sensitive}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}", "compose_form.sensitive.unmarked": "{count, plural, one {Media is not marked as sensitive} other {Media is not marked as sensitive}}",
"compose_form.spoiler.marked": "Text is hidden behind warning", "compose_form.spoiler.marked": "Bain rabhadh ábhair",
"compose_form.spoiler.unmarked": "Text is not hidden", "compose_form.spoiler.unmarked": "Cuir rabhadh ábhair",
"compose_form.spoiler_placeholder": "Write your warning here", "compose_form.spoiler_placeholder": "Scríobh do rabhadh anseo",
"confirmation_modal.cancel": "Cealaigh", "confirmation_modal.cancel": "Cealaigh",
"confirmations.block.block_and_report": "Bac ⁊ Tuairiscigh", "confirmations.block.block_and_report": "Bac ⁊ Tuairiscigh",
"confirmations.block.confirm": "Bac", "confirmations.block.confirm": "Bac",
"confirmations.block.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhac?", "confirmations.block.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhac?",
"confirmations.cancel_follow_request.confirm": "Withdraw request", "confirmations.cancel_follow_request.confirm": "Éirigh as iarratas",
"confirmations.cancel_follow_request.message": "Are you sure you want to withdraw your request to follow {name}?", "confirmations.cancel_follow_request.message": "An bhfuil tú cinnte gur mhaith leat éirigh as an iarratas leanta {name}?",
"confirmations.delete.confirm": "Scrios", "confirmations.delete.confirm": "Scrios",
"confirmations.delete.message": "An bhfuil tú cinnte gur mhaith leat an phostáil seo a scriosadh?", "confirmations.delete.message": "An bhfuil tú cinnte gur mhaith leat an phostáil seo a scriosadh?",
"confirmations.delete_list.confirm": "Scrios", "confirmations.delete_list.confirm": "Scrios",
"confirmations.delete_list.message": "An bhfuil tú cinnte gur mhaith leat an liosta seo a scriosadh go buan?", "confirmations.delete_list.message": "An bhfuil tú cinnte gur mhaith leat an liosta seo a scriosadh go buan?",
"confirmations.discard_edit_media.confirm": "Faigh réidh de", "confirmations.discard_edit_media.confirm": "Faigh réidh de",
"confirmations.discard_edit_media.message": "Tá athruithe neamhshlánaithe don tuarascáil gné nó réamhamharc agat, faigh réidh dóibh ar aon nós?", "confirmations.discard_edit_media.message": "Tá athruithe neamhshlánaithe don tuarascáil gné nó réamhamharc agat, faigh réidh dóibh ar aon nós?",
"confirmations.domain_block.confirm": "Hide entire domain", "confirmations.domain_block.confirm": "Bac fearann go hiomlán",
"confirmations.domain_block.message": "An bhfuil tú iontach cinnte gur mhaith leat bac an t-ainm fearainn {domain} in iomlán? I bhformhór na gcásanna, is leor agus is fearr cúpla baic a cur i bhfeidhm nó cúpla úsáideoirí a balbhú. Ní fheicfidh tú ábhair ón t-ainm fearainn sin in amlíne ar bith, nó i d'fhógraí. Scaoilfear do leantóirí ón ainm fearainn sin.", "confirmations.domain_block.message": "An bhfuil tú iontach cinnte gur mhaith leat bac an t-ainm fearainn {domain} in iomlán? I bhformhór na gcásanna, is leor agus is fearr cúpla baic a cur i bhfeidhm nó cúpla úsáideoirí a balbhú. Ní fheicfidh tú ábhair ón t-ainm fearainn sin in amlíne ar bith, nó i d'fhógraí. Scaoilfear do leantóirí ón ainm fearainn sin.",
"confirmations.logout.confirm": "Logáil amach", "confirmations.logout.confirm": "Logáil amach",
"confirmations.logout.message": "An bhfuil tú cinnte gur mhaith leat logáil amach?", "confirmations.logout.message": "An bhfuil tú cinnte gur mhaith leat logáil amach?",
"confirmations.mute.confirm": "Balbhaigh", "confirmations.mute.confirm": "Balbhaigh",
"confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.", "confirmations.mute.explanation": "This will hide posts from them and posts mentioning them, but it will still allow them to see your posts and follow you.",
"confirmations.mute.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhalbhú?", "confirmations.mute.message": "An bhfuil tú cinnte gur mhaith leat {name} a bhalbhú?",
"confirmations.redraft.confirm": "Delete & redraft", "confirmations.redraft.confirm": "Scrios ⁊ athdhréachtaigh",
"confirmations.redraft.message": "An bhfuil tú cinnte gur mhaith leat an phostáil sin a scriosadh agus athdhréachtú? Beidh roghanna agus treisithe caillte, agus beidh freagraí ar an bpostáil bhunúsach ina ndílleachtaí.", "confirmations.redraft.message": "An bhfuil tú cinnte gur mhaith leat an phostáil sin a scriosadh agus athdhréachtú? Beidh roghanna agus treisithe caillte, agus beidh freagraí ar an bpostáil bhunúsach ina ndílleachtaí.",
"confirmations.reply.confirm": "Freagair", "confirmations.reply.confirm": "Freagair",
"confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?", "confirmations.reply.message": "Replying now will overwrite the message you are currently composing. Are you sure you want to proceed?",
"confirmations.unfollow.confirm": "Ná lean", "confirmations.unfollow.confirm": "Ná lean",
"confirmations.unfollow.message": "Are you sure you want to unfollow {name}?", "confirmations.unfollow.message": "An bhfuil tú cinnte gur mhaith leat {name} a dhíleanúint?",
"conversation.delete": "Delete conversation", "conversation.delete": "Scrios comhrá",
"conversation.mark_as_read": "Marcáil mar léite", "conversation.mark_as_read": "Marcáil mar léite",
"conversation.open": "View conversation", "conversation.open": "Féach ar comhrá",
"conversation.with": "With {names}", "conversation.with": "Le {names}",
"copypaste.copied": "Copied", "copypaste.copied": "Cóipeáilte",
"copypaste.copy": "Cóipeáil", "copypaste.copy": "Cóipeáil",
"directory.federated": "From known fediverse", "directory.federated": "Ó chomhchruinne aitheanta",
"directory.local": "Ó {domain} amháin", "directory.local": "Ó {domain} amháin",
"directory.new_arrivals": "Daoine atá tar éis teacht", "directory.new_arrivals": "Daoine atá tar éis teacht",
"directory.recently_active": "Daoine gníomhacha le déanaí", "directory.recently_active": "Daoine gníomhacha le déanaí",
"dismissable_banner.community_timeline": "These are the most recent public posts from people whose accounts are hosted by {domain}.", "disabled_account_banner.account_settings": "Socruithe cuntais",
"dismissable_banner.dismiss": "Dismiss", "disabled_account_banner.text": "Tá do chuntas {disabledAccount} díchumasaithe faoi láthair.",
"dismissable_banner.community_timeline": "Seo iad na postála is déanaí ó dhaoine le cuntais ar {domain}.",
"dismissable_banner.dismiss": "Diúltaigh",
"dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_links": "These news stories are being talked about by people on this and other servers of the decentralized network right now.",
"dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.", "dismissable_banner.explore_statuses": "These posts from this and other servers in the decentralized network are gaining traction on this server right now.",
"dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.", "dismissable_banner.explore_tags": "These hashtags are gaining traction among people on this and other servers of the decentralized network right now.",
"dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.", "dismissable_banner.public_timeline": "These are the most recent public posts from people on this and other servers of the decentralized network that this server knows about.",
"embed.instructions": "Embed this status on your website by copying the code below.", "embed.instructions": "Embed this status on your website by copying the code below.",
"embed.preview": "Here is what it will look like:", "embed.preview": "Seo an chuma a bheidh air:",
"emoji_button.activity": "Gníomhaíocht", "emoji_button.activity": "Gníomhaíocht",
"emoji_button.clear": "Glan", "emoji_button.clear": "Glan",
"emoji_button.custom": "Saincheaptha", "emoji_button.custom": "Saincheaptha",
@ -196,10 +198,10 @@
"emoji_button.food": "Bia ⁊ Ól", "emoji_button.food": "Bia ⁊ Ól",
"emoji_button.label": "Cuir emoji isteach", "emoji_button.label": "Cuir emoji isteach",
"emoji_button.nature": "Nádur", "emoji_button.nature": "Nádur",
"emoji_button.not_found": "No matching emojis found", "emoji_button.not_found": "Ní bhfuarthas an cineál emoji sin",
"emoji_button.objects": "Objects", "emoji_button.objects": "Rudaí",
"emoji_button.people": "Daoine", "emoji_button.people": "Daoine",
"emoji_button.recent": "Frequently used", "emoji_button.recent": "Úsáidte go minic",
"emoji_button.search": "Cuardaigh...", "emoji_button.search": "Cuardaigh...",
"emoji_button.search_results": "Torthaí cuardaigh", "emoji_button.search_results": "Torthaí cuardaigh",
"emoji_button.symbols": "Comharthaí", "emoji_button.symbols": "Comharthaí",
@ -207,19 +209,19 @@
"empty_column.account_suspended": "Cuntas ar fionraí", "empty_column.account_suspended": "Cuntas ar fionraí",
"empty_column.account_timeline": "Níl postálacha ar bith anseo!", "empty_column.account_timeline": "Níl postálacha ar bith anseo!",
"empty_column.account_unavailable": "Níl an phróifíl ar fáil", "empty_column.account_unavailable": "Níl an phróifíl ar fáil",
"empty_column.blocks": "You haven't blocked any users yet.", "empty_column.blocks": "Níl aon úsáideoir bactha agat fós.",
"empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.", "empty_column.bookmarked_statuses": "You don't have any bookmarked posts yet. When you bookmark one, it will show up here.",
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!", "empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
"empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.", "empty_column.direct": "You don't have any direct messages yet. When you send or receive one, it will show up here.",
"empty_column.domain_blocks": "There are no blocked domains yet.", "empty_column.domain_blocks": "Níl aon fearainn bhactha ann go fóill.",
"empty_column.explore_statuses": "Nothing is trending right now. Check back later!", "empty_column.explore_statuses": "Níl rud ar bith ag treochtáil faoi láthair. Tar ar ais ar ball!",
"empty_column.favourited_statuses": "Níor roghnaigh tú postáil ar bith fós. Nuair a roghnaigh tú ceann, beidh sí le feiceáil anseo.", "empty_column.favourited_statuses": "Níor roghnaigh tú postáil ar bith fós. Nuair a roghnaigh tú ceann, beidh sí le feiceáil anseo.",
"empty_column.favourites": "Níor roghnaigh éinne an phostáil seo fós. Nuair a roghnaigh duine éigin, beidh siad le feiceáil anseo.", "empty_column.favourites": "Níor roghnaigh éinne an phostáil seo fós. Nuair a roghnaigh duine éigin, beidh siad le feiceáil anseo.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.", "empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.", "empty_column.follow_requests": "You don't have any follow requests yet. When you receive one, it will show up here.",
"empty_column.hashtag": "There is nothing in this hashtag yet.", "empty_column.hashtag": "Níl rud ar bith faoin haischlib seo go fóill.",
"empty_column.home": "Your home timeline is empty! Follow more people to fill it up. {suggestions}", "empty_column.home": "Tá d'amlíne baile folamh! B'fhiú duit cúpla duine eile a leanúint lena líonadh! {suggestions}",
"empty_column.home.suggestions": "See some suggestions", "empty_column.home.suggestions": "Féach ar roinnt moltaí",
"empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.", "empty_column.list": "There is nothing in this list yet. When members of this list post new statuses, they will appear here.",
"empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.", "empty_column.lists": "You don't have any lists yet. When you create one, it will show up here.",
"empty_column.mutes": "Níl aon úsáideoir balbhaithe agat fós.", "empty_column.mutes": "Níl aon úsáideoir balbhaithe agat fós.",
@ -230,7 +232,7 @@
"error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps": "Try refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.", "error.unexpected_crash.next_steps_addons": "Try disabling them and refreshing the page. If that does not help, you may still be able to use Mastodon through a different browser or native app.",
"errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard", "errors.unexpected_crash.copy_stacktrace": "Copy stacktrace to clipboard",
"errors.unexpected_crash.report_issue": "Report issue", "errors.unexpected_crash.report_issue": "Tuairiscigh deacracht",
"explore.search_results": "Torthaí cuardaigh", "explore.search_results": "Torthaí cuardaigh",
"explore.suggested_follows": "Duitse", "explore.suggested_follows": "Duitse",
"explore.title": "Féach thart", "explore.title": "Féach thart",
@ -240,83 +242,83 @@
"filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.", "filter_modal.added.context_mismatch_explanation": "This filter category does not apply to the context in which you have accessed this post. If you want the post to be filtered in this context too, you will have to edit the filter.",
"filter_modal.added.context_mismatch_title": "Context mismatch!", "filter_modal.added.context_mismatch_title": "Context mismatch!",
"filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.", "filter_modal.added.expired_explanation": "This filter category has expired, you will need to change the expiration date for it to apply.",
"filter_modal.added.expired_title": "Expired filter!", "filter_modal.added.expired_title": "Scagaire as feidhm!",
"filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.", "filter_modal.added.review_and_configure": "To review and further configure this filter category, go to the {settings_link}.",
"filter_modal.added.review_and_configure_title": "Filter settings", "filter_modal.added.review_and_configure_title": "Socruithe scagtha",
"filter_modal.added.settings_link": "leathan socruithe", "filter_modal.added.settings_link": "leathan socruithe",
"filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.", "filter_modal.added.short_explanation": "This post has been added to the following filter category: {title}.",
"filter_modal.added.title": "Filter added!", "filter_modal.added.title": "Scagaire curtha leis!",
"filter_modal.select_filter.context_mismatch": "does not apply to this context", "filter_modal.select_filter.context_mismatch": "ní bhaineann sé leis an gcomhthéacs seo",
"filter_modal.select_filter.expired": "expired", "filter_modal.select_filter.expired": "as feidhm",
"filter_modal.select_filter.prompt_new": "Catagóir nua: {name}", "filter_modal.select_filter.prompt_new": "Catagóir nua: {name}",
"filter_modal.select_filter.search": "Search or create", "filter_modal.select_filter.search": "Cuardaigh nó cruthaigh",
"filter_modal.select_filter.subtitle": "Use an existing category or create a new one", "filter_modal.select_filter.subtitle": "Bain úsáid as catagóir reatha nó cruthaigh ceann nua",
"filter_modal.select_filter.title": "Filter this post", "filter_modal.select_filter.title": "Déan scagadh ar an bpostáil seo",
"filter_modal.title.status": "Filter a post", "filter_modal.title.status": "Déan scagadh ar phostáil",
"follow_recommendations.done": "Déanta", "follow_recommendations.done": "Déanta",
"follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.", "follow_recommendations.heading": "Follow people you'd like to see posts from! Here are some suggestions.",
"follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!", "follow_recommendations.lead": "Posts from people you follow will show up in chronological order on your home feed. Don't be afraid to make mistakes, you can unfollow people just as easily any time!",
"follow_request.authorize": "Ceadaigh", "follow_request.authorize": "Ceadaigh",
"follow_request.reject": "Diúltaigh", "follow_request.reject": "Diúltaigh",
"follow_requests.unlocked_explanation": "Even though your account is not locked, the {domain} staff thought you might want to review follow requests from these accounts manually.", "follow_requests.unlocked_explanation": "Cé nach bhfuil do chuntas faoi ghlas, cheap foireann {domain} gur mhaith leat súil siar ar iarratais leanúnaí as na cuntais seo.",
"footer.about": "Maidir le", "footer.about": "Maidir le",
"footer.directory": "Profiles directory", "footer.directory": "Eolaire próifílí",
"footer.get_app": "Faigh an aip", "footer.get_app": "Faigh an aip",
"footer.invite": "Invite people", "footer.invite": "Tabhair cuireadh do dhaoine",
"footer.keyboard_shortcuts": "Keyboard shortcuts", "footer.keyboard_shortcuts": "Aicearraí méarchláir",
"footer.privacy_policy": "Polasaí príobháideachais", "footer.privacy_policy": "Polasaí príobháideachais",
"footer.source_code": "View source code", "footer.source_code": "Féach ar an gcód foinseach",
"generic.saved": "Saved", "generic.saved": "Sábháilte",
"getting_started.heading": "Getting started", "getting_started.heading": "Getting started",
"hashtag.column_header.tag_mode.all": "agus {additional}", "hashtag.column_header.tag_mode.all": "agus {additional}",
"hashtag.column_header.tag_mode.any": "nó {additional}", "hashtag.column_header.tag_mode.any": "nó {additional}",
"hashtag.column_header.tag_mode.none": "gan {additional}", "hashtag.column_header.tag_mode.none": "gan {additional}",
"hashtag.column_settings.select.no_options_message": "No suggestions found", "hashtag.column_settings.select.no_options_message": "No suggestions found",
"hashtag.column_settings.select.placeholder": "Enter hashtags…", "hashtag.column_settings.select.placeholder": "Iontráil haischlibeanna…",
"hashtag.column_settings.tag_mode.all": "All of these", "hashtag.column_settings.tag_mode.all": "Iad seo go léir",
"hashtag.column_settings.tag_mode.any": "Any of these", "hashtag.column_settings.tag_mode.any": "Any of these",
"hashtag.column_settings.tag_mode.none": "None of these", "hashtag.column_settings.tag_mode.none": "None of these",
"hashtag.column_settings.tag_toggle": "Include additional tags in this column", "hashtag.column_settings.tag_toggle": "Include additional tags in this column",
"hashtag.follow": "Follow hashtag", "hashtag.follow": "Lean haischlib",
"hashtag.unfollow": "Unfollow hashtag", "hashtag.unfollow": "Ná lean haischlib",
"home.column_settings.basic": "Bunúsach", "home.column_settings.basic": "Bunúsach",
"home.column_settings.show_reblogs": "Taispeáin treisithe", "home.column_settings.show_reblogs": "Taispeáin treisithe",
"home.column_settings.show_replies": "Show replies", "home.column_settings.show_replies": "Taispeán freagraí",
"home.hide_announcements": "Hide announcements", "home.hide_announcements": "Cuir fógraí i bhfolach",
"home.show_announcements": "Show announcements", "home.show_announcements": "Taispeáin fógraí",
"interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.", "interaction_modal.description.favourite": "With an account on Mastodon, you can favourite this post to let the author know you appreciate it and save it for later.",
"interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.", "interaction_modal.description.follow": "With an account on Mastodon, you can follow {name} to receive their posts in your home feed.",
"interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.", "interaction_modal.description.reblog": "With an account on Mastodon, you can boost this post to share it with your own followers.",
"interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.", "interaction_modal.description.reply": "With an account on Mastodon, you can respond to this post.",
"interaction_modal.on_another_server": "Ar freastalaí eile", "interaction_modal.on_another_server": "Ar freastalaí eile",
"interaction_modal.on_this_server": "Ar an freastalaí seo", "interaction_modal.on_this_server": "Ar an freastalaí seo",
"interaction_modal.other_server_instructions": "Simply copy and paste this URL into the search bar of your favourite app or the web interface where you are signed in.", "interaction_modal.other_server_instructions": "Copy and paste this URL into the search field of your favourite Mastodon app or the web interface of your Mastodon server.",
"interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.", "interaction_modal.preamble": "Since Mastodon is decentralized, you can use your existing account hosted by another Mastodon server or compatible platform if you don't have an account on this one.",
"interaction_modal.title.favourite": "Favourite {name}'s post", "interaction_modal.title.favourite": "Favourite {name}'s post",
"interaction_modal.title.follow": "Follow {name}", "interaction_modal.title.follow": "Lean {name}",
"interaction_modal.title.reblog": "Boost {name}'s post", "interaction_modal.title.reblog": "Cuir postáil {name} chun cinn",
"interaction_modal.title.reply": "Reply to {name}'s post", "interaction_modal.title.reply": "Freagair postáil {name}",
"intervals.full.days": "{number, plural, one {# day} other {# days}}", "intervals.full.days": "{number, plural, one {# day} other {# days}}",
"intervals.full.hours": "{number, plural, one {# hour} other {# hours}}", "intervals.full.hours": "{number, plural, one {# hour} other {# hours}}",
"intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}", "intervals.full.minutes": "{number, plural, one {# minute} other {# minutes}}",
"keyboard_shortcuts.back": "to navigate back", "keyboard_shortcuts.back": "to navigate back",
"keyboard_shortcuts.blocked": "to open blocked users list", "keyboard_shortcuts.blocked": "Oscail liosta na n-úsáideoirí bactha",
"keyboard_shortcuts.boost": "Treisigh postáil", "keyboard_shortcuts.boost": "Treisigh postáil",
"keyboard_shortcuts.column": "to focus a status in one of the columns", "keyboard_shortcuts.column": "to focus a status in one of the columns",
"keyboard_shortcuts.compose": "to focus the compose textarea", "keyboard_shortcuts.compose": "to focus the compose textarea",
"keyboard_shortcuts.description": "Cuntas", "keyboard_shortcuts.description": "Cuntas",
"keyboard_shortcuts.direct": "to open direct messages column", "keyboard_shortcuts.direct": "to open direct messages column",
"keyboard_shortcuts.down": "to move down in the list", "keyboard_shortcuts.down": "Bog síos ar an liosta",
"keyboard_shortcuts.enter": "Oscail postáil", "keyboard_shortcuts.enter": "Oscail postáil",
"keyboard_shortcuts.favourite": "Roghnaigh postáil", "keyboard_shortcuts.favourite": "Roghnaigh postáil",
"keyboard_shortcuts.favourites": "Oscail liosta roghanna", "keyboard_shortcuts.favourites": "Oscail liosta roghanna",
"keyboard_shortcuts.federated": "to open federated timeline", "keyboard_shortcuts.federated": "Oscail amlíne cónaidhmithe",
"keyboard_shortcuts.heading": "Keyboard Shortcuts", "keyboard_shortcuts.heading": "Aicearraí méarchláir",
"keyboard_shortcuts.home": "to open home timeline", "keyboard_shortcuts.home": "to open home timeline",
"keyboard_shortcuts.hotkey": "Hotkey", "keyboard_shortcuts.hotkey": "Eochair aicearra",
"keyboard_shortcuts.legend": "to display this legend", "keyboard_shortcuts.legend": "to display this legend",
"keyboard_shortcuts.local": "Oscail an amlíne áitiúil", "keyboard_shortcuts.local": "Oscail an amlíne áitiúil",
"keyboard_shortcuts.mention": "to mention author", "keyboard_shortcuts.mention": "Luaigh údar",
"keyboard_shortcuts.muted": "Oscail liosta na n-úsáideoirí balbhaithe", "keyboard_shortcuts.muted": "Oscail liosta na n-úsáideoirí balbhaithe",
"keyboard_shortcuts.my_profile": "Oscail do phróifíl", "keyboard_shortcuts.my_profile": "Oscail do phróifíl",
"keyboard_shortcuts.notifications": "to open notifications column", "keyboard_shortcuts.notifications": "to open notifications column",
@ -324,15 +326,15 @@
"keyboard_shortcuts.pinned": "to open pinned posts list", "keyboard_shortcuts.pinned": "to open pinned posts list",
"keyboard_shortcuts.profile": "Oscail próifíl an t-údar", "keyboard_shortcuts.profile": "Oscail próifíl an t-údar",
"keyboard_shortcuts.reply": "Freagair ar phostáil", "keyboard_shortcuts.reply": "Freagair ar phostáil",
"keyboard_shortcuts.requests": "to open follow requests list", "keyboard_shortcuts.requests": "Oscail liosta iarratas leanúnaí",
"keyboard_shortcuts.search": "to focus search", "keyboard_shortcuts.search": "to focus search",
"keyboard_shortcuts.spoilers": "to show/hide CW field", "keyboard_shortcuts.spoilers": "to show/hide CW field",
"keyboard_shortcuts.start": "to open \"get started\" column", "keyboard_shortcuts.start": "to open \"get started\" column",
"keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW", "keyboard_shortcuts.toggle_hidden": "to show/hide text behind CW",
"keyboard_shortcuts.toggle_sensitivity": "to show/hide media", "keyboard_shortcuts.toggle_sensitivity": "Taispeáin / cuir i bhfolach meáin",
"keyboard_shortcuts.toot": "Cuir tús le postáil nua", "keyboard_shortcuts.toot": "Cuir tús le postáil nua",
"keyboard_shortcuts.unfocus": "to un-focus compose textarea/search", "keyboard_shortcuts.unfocus": "to un-focus compose textarea/search",
"keyboard_shortcuts.up": "to move up in the list", "keyboard_shortcuts.up": "Bog suas ar an liosta",
"lightbox.close": "Dún", "lightbox.close": "Dún",
"lightbox.compress": "Compress image view box", "lightbox.compress": "Compress image view box",
"lightbox.expand": "Expand image view box", "lightbox.expand": "Expand image view box",
@ -348,27 +350,28 @@
"lists.new.create": "Cruthaigh liosta", "lists.new.create": "Cruthaigh liosta",
"lists.new.title_placeholder": "New list title", "lists.new.title_placeholder": "New list title",
"lists.replies_policy.followed": "Any followed user", "lists.replies_policy.followed": "Any followed user",
"lists.replies_policy.list": "Members of the list", "lists.replies_policy.list": "Baill an liosta",
"lists.replies_policy.none": "Duine ar bith", "lists.replies_policy.none": "Duine ar bith",
"lists.replies_policy.title": "Show replies to:", "lists.replies_policy.title": "Taispeáin freagraí:",
"lists.search": "Search among people you follow", "lists.search": "Cuardaigh i measc daoine atá á leanúint agat",
"lists.subheading": "Do liostaí", "lists.subheading": "Do liostaí",
"load_pending": "{count, plural, one {# new item} other {# new items}}", "load_pending": "{count, plural, one {# new item} other {# new items}}",
"loading_indicator.label": "Ag lódáil...", "loading_indicator.label": "Ag lódáil...",
"media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}", "media_gallery.toggle_visible": "{number, plural, one {Hide image} other {Hide images}}",
"missing_indicator.label": "Níor aimsíodh é", "missing_indicator.label": "Níor aimsíodh é",
"missing_indicator.sublabel": "This resource could not be found", "missing_indicator.sublabel": "This resource could not be found",
"moved_to_account_banner.text": "Your account {disabledAccount} is currently disabled because you moved to {movedToAccount}.",
"mute_modal.duration": "Tréimhse", "mute_modal.duration": "Tréimhse",
"mute_modal.hide_notifications": "Cuir póstalacha ón t-úsáideoir seo i bhfolach?", "mute_modal.hide_notifications": "Cuir póstalacha ón t-úsáideoir seo i bhfolach?",
"mute_modal.indefinite": "Gan téarma", "mute_modal.indefinite": "Gan téarma",
"navigation_bar.about": "Maidir le", "navigation_bar.about": "Maidir le",
"navigation_bar.blocks": "Blocked users", "navigation_bar.blocks": "Cuntais bhactha",
"navigation_bar.bookmarks": "Leabharmharcanna", "navigation_bar.bookmarks": "Leabharmharcanna",
"navigation_bar.community_timeline": "Amlíne áitiúil", "navigation_bar.community_timeline": "Amlíne áitiúil",
"navigation_bar.compose": "Cum postáil nua", "navigation_bar.compose": "Cum postáil nua",
"navigation_bar.direct": "Teachtaireachtaí dhíreacha", "navigation_bar.direct": "Teachtaireachtaí dhíreacha",
"navigation_bar.discover": "Faigh amach", "navigation_bar.discover": "Faigh amach",
"navigation_bar.domain_blocks": "Hidden domains", "navigation_bar.domain_blocks": "Fearainn bhactha",
"navigation_bar.edit_profile": "Cuir an phróifíl in eagar", "navigation_bar.edit_profile": "Cuir an phróifíl in eagar",
"navigation_bar.explore": "Féach thart", "navigation_bar.explore": "Féach thart",
"navigation_bar.favourites": "Roghanna", "navigation_bar.favourites": "Roghanna",
@ -385,18 +388,18 @@
"navigation_bar.search": "Cuardaigh", "navigation_bar.search": "Cuardaigh",
"navigation_bar.security": "Slándáil", "navigation_bar.security": "Slándáil",
"not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.", "not_signed_in_indicator.not_signed_in": "You need to sign in to access this resource.",
"notification.admin.report": "{name} reported {target}", "notification.admin.report": "Tuairiscigh {name} {target}",
"notification.admin.sign_up": "{name} signed up", "notification.admin.sign_up": "Chláraigh {name}",
"notification.favourite": "Roghnaigh {name} do phostáil", "notification.favourite": "Roghnaigh {name} do phostáil",
"notification.follow": "Lean {name} thú", "notification.follow": "Lean {name} thú",
"notification.follow_request": "D'iarr {name} ort do chuntas a leanúint", "notification.follow_request": "D'iarr {name} ort do chuntas a leanúint",
"notification.mention": "{name} mentioned you", "notification.mention": "Luaigh {name} tú",
"notification.own_poll": "Your poll has ended", "notification.own_poll": "Your poll has ended",
"notification.poll": "A poll you have voted in has ended", "notification.poll": "A poll you have voted in has ended",
"notification.reblog": "Threisigh {name} do phostáil", "notification.reblog": "Threisigh {name} do phostáil",
"notification.status": "Phostáil {name} díreach", "notification.status": "Phostáil {name} díreach",
"notification.update": "Chuir {name} postáil in eagar", "notification.update": "Chuir {name} postáil in eagar",
"notifications.clear": "Clear notifications", "notifications.clear": "Glan fógraí",
"notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?", "notifications.clear_confirmation": "Are you sure you want to permanently clear all your notifications?",
"notifications.column_settings.admin.report": "Tuairiscí nua:", "notifications.column_settings.admin.report": "Tuairiscí nua:",
"notifications.column_settings.admin.sign_up": "New sign-ups:", "notifications.column_settings.admin.sign_up": "New sign-ups:",
@ -404,33 +407,33 @@
"notifications.column_settings.favourite": "Roghanna:", "notifications.column_settings.favourite": "Roghanna:",
"notifications.column_settings.filter_bar.advanced": "Display all categories", "notifications.column_settings.filter_bar.advanced": "Display all categories",
"notifications.column_settings.filter_bar.category": "Quick filter bar", "notifications.column_settings.filter_bar.category": "Quick filter bar",
"notifications.column_settings.filter_bar.show_bar": "Show filter bar", "notifications.column_settings.filter_bar.show_bar": "Taispeáin barra scagaire",
"notifications.column_settings.follow": "Leantóirí nua:", "notifications.column_settings.follow": "Leantóirí nua:",
"notifications.column_settings.follow_request": "Iarratais leanúnaí nua:", "notifications.column_settings.follow_request": "Iarratais leanúnaí nua:",
"notifications.column_settings.mention": "Mentions:", "notifications.column_settings.mention": "Tráchtanna:",
"notifications.column_settings.poll": "Poll results:", "notifications.column_settings.poll": "Torthaí suirbhéanna:",
"notifications.column_settings.push": "Push notifications", "notifications.column_settings.push": "Brúfhógraí",
"notifications.column_settings.reblog": "Treisithe:", "notifications.column_settings.reblog": "Treisithe:",
"notifications.column_settings.show": "Show in column", "notifications.column_settings.show": "Taispeáin i gcolún",
"notifications.column_settings.sound": "Play sound", "notifications.column_settings.sound": "Seinn an fhuaim",
"notifications.column_settings.status": "Postálacha nua:", "notifications.column_settings.status": "Postálacha nua:",
"notifications.column_settings.unread_notifications.category": "Unread notifications", "notifications.column_settings.unread_notifications.category": "Brúfhógraí neamhléite",
"notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications", "notifications.column_settings.unread_notifications.highlight": "Highlight unread notifications",
"notifications.column_settings.update": "Eagair:", "notifications.column_settings.update": "Eagair:",
"notifications.filter.all": "Uile", "notifications.filter.all": "Uile",
"notifications.filter.boosts": "Treisithe", "notifications.filter.boosts": "Treisithe",
"notifications.filter.favourites": "Roghanna", "notifications.filter.favourites": "Roghanna",
"notifications.filter.follows": "Ag leanúint", "notifications.filter.follows": "Ag leanúint",
"notifications.filter.mentions": "Mentions", "notifications.filter.mentions": "Tráchtanna",
"notifications.filter.polls": "Poll results", "notifications.filter.polls": "Torthaí suirbhéanna",
"notifications.filter.statuses": "Updates from people you follow", "notifications.filter.statuses": "Updates from people you follow",
"notifications.grant_permission": "Grant permission.", "notifications.grant_permission": "Tabhair cead.",
"notifications.group": "{count} notifications", "notifications.group": "{count} fógraí",
"notifications.mark_as_read": "Mark every notification as read", "notifications.mark_as_read": "Mark every notification as read",
"notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request", "notifications.permission_denied": "Desktop notifications are unavailable due to previously denied browser permissions request",
"notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before", "notifications.permission_denied_alert": "Desktop notifications can't be enabled, as browser permission has been denied before",
"notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.", "notifications.permission_required": "Desktop notifications are unavailable because the required permission has not been granted.",
"notifications_permission_banner.enable": "Enable desktop notifications", "notifications_permission_banner.enable": "Ceadaigh fógraí ar an deasc",
"notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.", "notifications_permission_banner.how_to_control": "To receive notifications when Mastodon isn't open, enable desktop notifications. You can control precisely which types of interactions generate desktop notifications through the {icon} button above once they're enabled.",
"notifications_permission_banner.title": "Never miss a thing", "notifications_permission_banner.title": "Never miss a thing",
"picture_in_picture.restore": "Cuir é ar ais", "picture_in_picture.restore": "Cuir é ar ais",
@ -441,14 +444,14 @@
"poll.vote": "Vótáil", "poll.vote": "Vótáil",
"poll.voted": "You voted for this answer", "poll.voted": "You voted for this answer",
"poll.votes": "{votes, plural, one {# vote} other {# votes}}", "poll.votes": "{votes, plural, one {# vote} other {# votes}}",
"poll_button.add_poll": "Add a poll", "poll_button.add_poll": "Cruthaigh suirbhé",
"poll_button.remove_poll": "Remove poll", "poll_button.remove_poll": "Bain suirbhé",
"privacy.change": "Adjust status privacy", "privacy.change": "Adjust status privacy",
"privacy.direct.long": "Visible for mentioned users only", "privacy.direct.long": "Visible for mentioned users only",
"privacy.direct.short": "Direct", "privacy.direct.short": "Direct",
"privacy.private.long": "Sofheicthe do Leantóirí amháin", "privacy.private.long": "Sofheicthe do Leantóirí amháin",
"privacy.private.short": "Followers-only", "privacy.private.short": "Leantóirí amháin",
"privacy.public.long": "Visible for all", "privacy.public.long": "Infheicthe do chách",
"privacy.public.short": "Poiblí", "privacy.public.short": "Poiblí",
"privacy.unlisted.long": "Visible for all, but opted-out of discovery features", "privacy.unlisted.long": "Visible for all, but opted-out of discovery features",
"privacy.unlisted.short": "Neamhliostaithe", "privacy.unlisted.short": "Neamhliostaithe",
@ -473,7 +476,7 @@
"report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.", "report.block_explanation": "You will not see their posts. They will not be able to see your posts or follow you. They will be able to tell that they are blocked.",
"report.categories.other": "Eile", "report.categories.other": "Eile",
"report.categories.spam": "Turscar", "report.categories.spam": "Turscar",
"report.categories.violation": "Content violates one or more server rules", "report.categories.violation": "Sáraíonn ábhar riail freastalaí amháin nó níos mó",
"report.category.subtitle": "Roghnaigh an toradh is fearr", "report.category.subtitle": "Roghnaigh an toradh is fearr",
"report.category.title": "Tell us what's going on with this {type}", "report.category.title": "Tell us what's going on with this {type}",
"report.category.title_account": "próifíl", "report.category.title_account": "próifíl",
@ -498,18 +501,18 @@
"report.rules.title": "Which rules are being violated?", "report.rules.title": "Which rules are being violated?",
"report.statuses.subtitle": "Select all that apply", "report.statuses.subtitle": "Select all that apply",
"report.statuses.title": "Are there any posts that back up this report?", "report.statuses.title": "Are there any posts that back up this report?",
"report.submit": "Submit report", "report.submit": "Cuir isteach",
"report.target": "Report {target}", "report.target": "Ag tuairisciú {target}",
"report.thanks.take_action": "Here are your options for controlling what you see on Mastodon:", "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_actionable": "While we review this, you can take action against @{name}:",
"report.thanks.title": "Don't want to see this?", "report.thanks.title": "Don't want to see this?",
"report.thanks.title_actionable": "Thanks for reporting, we'll look into this.", "report.thanks.title_actionable": "Thanks for reporting, we'll look into this.",
"report.unfollow": "Unfollow @{name}", "report.unfollow": "Ná lean @{name}",
"report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.", "report.unfollow_explanation": "You are following this account. To not see their posts in your home feed anymore, unfollow them.",
"report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached", "report_notification.attached_statuses": "{count, plural, one {{count} post} other {{count} posts}} attached",
"report_notification.categories.other": "Eile", "report_notification.categories.other": "Eile",
"report_notification.categories.spam": "Turscar", "report_notification.categories.spam": "Turscar",
"report_notification.categories.violation": "Rule violation", "report_notification.categories.violation": "Sárú rialach",
"report_notification.open": "Oscail tuairisc", "report_notification.open": "Oscail tuairisc",
"search.placeholder": "Cuardaigh", "search.placeholder": "Cuardaigh",
"search.search_or_paste": "Search or paste URL", "search.search_or_paste": "Search or paste URL",
@ -553,7 +556,7 @@
"status.favourite": "Rogha", "status.favourite": "Rogha",
"status.filter": "Filter this post", "status.filter": "Filter this post",
"status.filtered": "Filtered", "status.filtered": "Filtered",
"status.hide": "Hide toot", "status.hide": "Cuir postáil i bhfolach",
"status.history.created": "{name} created {date}", "status.history.created": "{name} created {date}",
"status.history.edited": "Curtha in eagar ag {name} in {date}", "status.history.edited": "Curtha in eagar ag {name} in {date}",
"status.load_more": "Lódáil a thuilleadh", "status.load_more": "Lódáil a thuilleadh",
@ -570,20 +573,20 @@
"status.reblog_private": "Treisigh le léargas bunúsach", "status.reblog_private": "Treisigh le léargas bunúsach",
"status.reblogged_by": "Treisithe ag {name}", "status.reblogged_by": "Treisithe ag {name}",
"status.reblogs.empty": "Níor threisigh éinne an phostáil seo fós. Nuair a threisigh duine éigin, beidh siad le feiceáil anseo.", "status.reblogs.empty": "Níor threisigh éinne an phostáil seo fós. Nuair a threisigh duine éigin, beidh siad le feiceáil anseo.",
"status.redraft": "Delete & re-draft", "status.redraft": "Scrios ⁊ athdhréachtaigh",
"status.remove_bookmark": "Remove bookmark", "status.remove_bookmark": "Remove bookmark",
"status.replied_to": "Replied to {name}", "status.replied_to": "Replied to {name}",
"status.reply": "Freagair", "status.reply": "Freagair",
"status.replyAll": "Reply to thread", "status.replyAll": "Freagair le snáithe",
"status.report": "Tuairiscigh @{name}", "status.report": "Tuairiscigh @{name}",
"status.sensitive_warning": "Sensitive content", "status.sensitive_warning": "Ábhar íogair",
"status.share": "Comhroinn", "status.share": "Comhroinn",
"status.show_filter_reason": "Show anyway", "status.show_filter_reason": "Taispeáin ar aon nós",
"status.show_less": "Show less", "status.show_less": "Taispeáin níos lú",
"status.show_less_all": "Show less for all", "status.show_less_all": "Taispeáin níos lú d'uile",
"status.show_more": "Show more", "status.show_more": "Taispeáin níos mó",
"status.show_more_all": "Show more for all", "status.show_more_all": "Taispeáin níos mó d'uile",
"status.show_original": "Show original", "status.show_original": "Taispeáin bunchóip",
"status.translate": "Aistrigh", "status.translate": "Aistrigh",
"status.translated_from_with": "D'Aistrigh ón {lang} ag úsáid {provider}", "status.translated_from_with": "D'Aistrigh ón {lang} ag úsáid {provider}",
"status.uncached_media_warning": "Ní ar fáil", "status.uncached_media_warning": "Ní ar fáil",
@ -594,7 +597,7 @@
"subscribed_languages.target": "Change subscribed languages for {target}", "subscribed_languages.target": "Change subscribed languages for {target}",
"suggestions.dismiss": "Dismiss suggestion", "suggestions.dismiss": "Dismiss suggestion",
"suggestions.header": "You might be interested in…", "suggestions.header": "You might be interested in…",
"tabs_bar.federated_timeline": "Federated", "tabs_bar.federated_timeline": "Cónasctha",
"tabs_bar.home": "Baile", "tabs_bar.home": "Baile",
"tabs_bar.local_timeline": "Áitiúil", "tabs_bar.local_timeline": "Áitiúil",
"tabs_bar.notifications": "Fógraí", "tabs_bar.notifications": "Fógraí",
@ -613,7 +616,7 @@
"units.short.billion": "{count}B", "units.short.billion": "{count}B",
"units.short.million": "{count}M", "units.short.million": "{count}M",
"units.short.thousand": "{count}K", "units.short.thousand": "{count}K",
"upload_area.title": "Drag & drop to upload", "upload_area.title": "Tarraing ⁊ scaoil chun uaslódáil",
"upload_button.label": "Add images, a video or an audio file", "upload_button.label": "Add images, a video or an audio file",
"upload_error.limit": "File upload limit exceeded.", "upload_error.limit": "File upload limit exceeded.",
"upload_error.poll": "File upload not allowed with polls.", "upload_error.poll": "File upload not allowed with polls.",
@ -640,7 +643,7 @@
"video.download": "Íoslódáil comhad", "video.download": "Íoslódáil comhad",
"video.exit_fullscreen": "Exit full screen", "video.exit_fullscreen": "Exit full screen",
"video.expand": "Leath físeán", "video.expand": "Leath físeán",
"video.fullscreen": "Full screen", "video.fullscreen": "Lánscáileán",
"video.hide": "Cuir físeán i bhfolach", "video.hide": "Cuir físeán i bhfolach",
"video.mute": "Ciúnaigh fuaim", "video.mute": "Ciúnaigh fuaim",
"video.pause": "Cuir ar sos", "video.pause": "Cuir ar sos",

Some files were not shown because too many files have changed in this diff Show More